Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει η υπερχείλιση buffer;
Μια υπερχείλιση buffer συμβαίνει όταν πληκτρολογήσετε περισσότερα δεδομένα σε ένα buffer από ό, τι μπορεί να κρατήσει. Τα πλεονάζοντα δεδομένα εγγράφονται στην παρακείμενη μνήμη, αντικαθιστώντας το περιεχόμενο της συγκεκριμένης θέσης και προκαλώντας απρόβλεπτα αποτελέσματα σε ένα πρόγραμμα. Οι υπερχείλιση buffer συμβαίνει όταν υπάρχει ακατάλληλη επικύρωση (δεν υπάρχουν όρια πριν από τα γραπτά δεδομένα. Θεωρείται ένα σφάλμα ή αδυναμία στο λογισμικό
Η Techopedia εξηγεί την υπερχείλιση buffer
Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν ένα σφάλμα υπερχείλισης buffer εισάγοντας κώδικα που είναι ειδικά σχεδιασμένος για να προκαλέσει υπερχείλιση του buffer με το αρχικό τμήμα ενός συνόλου δεδομένων και έπειτα να γράψει τα υπόλοιπα δεδομένα στη διεύθυνση μνήμης δίπλα στο buffer υπερχείλισης. Τα δεδομένα υπερχείλισης ενδέχεται να περιέχουν εκτελέσιμο κώδικα ο οποίος επιτρέπει στους επιτιθέμενους να εκτελούν μεγαλύτερα και πιο εξελιγμένα προγράμματα ή να παρέχουν πρόσβαση στο σύστημα.
Οι υπερχείλιση buffer είναι ένα από τα χειρότερα σφάλματα που μπορεί να εκμεταλλευτεί ένας εισβολέας, κυρίως επειδή είναι πολύ δύσκολο να βρεθεί και να διορθωθεί, ειδικά αν το λογισμικό αποτελείται από εκατομμύρια γραμμές κώδικα. Ακόμα και οι διορθώσεις για αυτά τα σφάλματα είναι πολύ περίπλοκες και επιρρεπείς σε σφάλματα. Αυτός είναι ο λόγος για τον οποίο είναι πραγματικά σχεδόν αδύνατο να αφαιρέσετε πλήρως αυτό το είδος σφάλματος.
Παρόλο που όλοι οι προγραμματιστές γνωρίζουν τη δυνητική απειλή υπερχείλισης buffer στα προγράμματά τους, εξακολουθούν να υπάρχουν πολλές απειλές υπερχείλισης buffer τόσο στο νέο όσο και στο παλιό λογισμικό, ανεξάρτητα από τον αριθμό των διορθώσεων που έχουν ήδη εκτελεστεί.
