Επίθεση με υπερχείλιση προσωρινής μνήμης

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση


Κατά την επίθεση με υπερχείλιση προσωρινής μνήμης (αγγλ. buffer overflow), οι εισβολείς εισβάλουν σε συστήματα χωρίς να χρειάζεται να κάνουν login. Χρησιμοποιούν ένα πρόγραμμα που ήδη υπάρχει στον υπολογιστή και τρέχει στο σύστημα και του δίνουν να εκτελέσει ένα κομμάτι εντολών.

Το πετυχαίνουν αυτό, φτιάχνοντας ένα μεγάλο τμήμα από χαρακτήρες που περιέχει τις εντολές που θέλουν να εκτελεστούν και το εισάγουν σαν παράμετρο εισόδου στο πρόγραμμα.

Κανονικά το πρόγραμμα δεν εκτελεί τον κώδικα που περνά σαν παράμετρος, αν όμως το μήκος του κειμένου είναι μεγαλύτερο από το μήκος που έχει δοθεί σαν χώρος (buffer) για το πέρασμα της παραμέτρου, τότε μέρος του περνά στον χώρο του εκτελέσιμου προγράμματος. Ο χώρος για τα δεδομένα εισόδου των προγραμμάτων βρίσκεται επάνω από τον χώρο που λέγεται process stack, που είναι το τμήμα της μνήμης που το πρόγραμμα κρατά τα δεδομένα και τον κώδικα για τον χειρισμό αυτών των δεδομένων. Κάθε φορά που το πρόγραμμα εκτελεί μια λειτουργία (function) για να επιστρέψει στο αρχικό σημείο, βρίσκει τη διεύθυνση που πρέπει να επιστρέψει στο χώρο του prοcess stack με αποτέλεσμα να εκτελεστεί ο κώδικας σε αυτή την περιοχή και μάλιστα με ό,τι προνόμια έχει το πρόγραμμα (θα μπορούσε δηλαδή να είναι προνόμια root access).

Πηγές[Επεξεργασία | επεξεργασία κώδικα]

  • Κομνηνός Θεόδωρος, Σπυράκης Παύλος. Ασφάλεια δικτύων και υπολογιστικών συστημάτων, αναχαιτίστε τους εισβολείς. Ελληνικά Γράμματα. ISBN 960-406-225-5.