Skip to main content

Τι είναι ένας δείκτης που κρέμεται;

Ένας δείκτης που κρέμεται είναι ένα ελάττωμα προγραμματισμού που εμφανίζεται σε αντικειμενοστραφή κωδικοποίηση όταν ένα αντικείμενο δείκτη δείχνει ένα άλλο αντικείμενο που δεν υπάρχει πλέον.Σε αυτή την περίπτωση, ένας δείκτης δεν είναι δείκτης ποντικιού, αλλά ένα αντικείμενο δείκτη που προορίζεται να στείλει το χρήστη σε άλλο αντικείμενο.Αυτό το ελάττωμα δημιουργεί λεπτές σφάλματα που μπορούν να γίνουν χειρότερα με το χρόνο και επίσης παρουσιάζουν ένα πρόβλημα ασφάλειας που οι εξειδικευμένοι χάκερ μπορούν να επιτεθούν.Ένας δείκτης που κουνάει συμβαίνει όταν ένας προγραμματιστής σβήνει το αντικείμενο που υποδεικνύεται, αλλά δεν διαγράφει τον ίδιο τον δείκτη.Η παρουσία του δείκτη τοποθετείται κάπου στο πρόγραμμα, συνήθως σε ένα μενού, και οδηγεί το χρήστη σε άλλο αντικείμενο.Για παράδειγμα, εάν ο χρήστης επισημάνει μια ενότητα ενός μενού, ένα άλλο μενού mdash;ένα αναπτυσσόμενο mdash;εμφανίζεται.Αυτό επιτρέπει στον προγραμματιστή να ρυθμίσει διάφορα αντικείμενα σε ένα τμήμα χωρίς να συγκεντρώνει το τμήμα.

Το σφάλμα του δείκτη κρέμονται όταν ένας προγραμματιστής σβήνει το αντικείμενο που υποδεικνύεται.Εάν ο προγραμματιστής διαγράψει επίσης την παρουσία του δείκτη, δεν θα υπάρξει πρόβλημα.Εάν ο προγραμματιστής ξεχάσει και διατηρεί τον δείκτη στην κωδικοποίηση, αυτό δημιουργεί έναν δείκτη που κρέμεται και παρουσιάζει τόσο ζητήματα ποιότητας όσο και ασφάλειας.Αυτό οφείλεται στο γεγονός ότι το πρόγραμμα δεν ξέρει πώς να ενεργεί, επειδή λέγεται να κάνει κάτι, αλλά δεν μπορεί επειδή το αντικείμενο έχει φύγει.Αυτή η πράξη δημιουργεί τυχαίο κώδικα ή επιδεινώνει τον κώδικα σε μικρούς, λεπτούς τρόπους που είναι δύσκολο να ανιχνευθούν.Αυτά τα σφάλματα μπορεί να είναι τόσο μικρά όσο και να κάνουν το πρόγραμμα να κινείται λίγο πιο αργή, αλλά μπορεί τελικά να κάνει το πρόγραμμα mdash;και ακόμη και ο υπολογιστής mdash;μη λειτουργικά.

Τα περισσότερα προγράμματα με δείκτες που κουνάει θα λειτουργούν αρχικά και μπορεί να συνεχίσουν να εργάζονται για μήνες ή και χρόνια πριν τα λάθη γίνουν προφανή.Ακόμη και τα προγράμματα που κάνουν υπολογισμούς, πράγμα που σημαίνει ότι ο δείκτης κουνουπιών είναι στον τύπο, μπορεί να εξακολουθεί να είναι σε θέση να κάνει απλούς υπολογισμούς.Αυτός είναι ένας από τους λόγους για τους οποίους η εύρεση των δεικτών που μπορεί να είναι τόσο δύσκολη, μέχρι το 2007, ο δείκτης που κουνάει μόνο δημιούργησε θέματα ασφαλείας στη θεωρία.Το Watchfire Στη συνέχεια, η εταιρεία λογισμικού έκανε ένα πρόγραμμα που έδειξε πώς μπορούν να αξιοποιηθούν οι δείκτες που κουνιστούν, καθιστώντας πραγματικότητα τον κίνδυνο ασφαλείας.Οι χάκερ είναι σε θέση να διεισδύσουν σε ένα πρόγραμμα μέσω αυτού του σφάλματος και μπορούν να εισαγάγουν τον δικό τους κώδικα στο ελάττωμα του προγράμματος.