Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να αποτρέψει Buffer Υπέρβαση & υπερχειλίσεις

Διακοπή υπερχειλίσεις βοηθά στην πρόληψη κολλάει το πρόγραμμα και οι χάκερ από την απελευθέρωση κακόβουλο κώδικα που μπορεί να υπονομεύσει ένα σύστημα υπολογιστή . Η υπερχείλιση είναι όταν ένα πρόγραμμα πραγματοποιεί εγγραφή δεδομένων σε ένα buffer , συνήθως ένα string ή έναν πίνακα , και υπερβαίνει το μήκος του buffer , γράφοντας κώδικα στο παρακείμενο μνήμη . Πρόληψη υπερχειλίσεις επιτυγχάνεται με τη χρήση των βιβλιοθηκών προγραμματισμού που υποστηρίζουν buffer προστασία , έχοντας εκτελέσιμο χώρος προστασίας και την επιλογή γλωσσών προγραμματισμού που διαθέτουν ελέγχου ορίων . Οδηγίες
Η 1

Επιλέξτε μια γλώσσα προγραμματισμού που έχει ενσωματωμένη ελέγχους προκειμένου να αποφευχθεί εγγραφή δεδομένων έξω από τα όρια ενός ρυθμιστικού . Γλώσσες όπως η C και C + + έλλειψη ενσωματωμένο όριο ελέγχου. Το NET Framework και Java . Περιβάλλοντα δύναμη ελέγχου ορίων . Ερμηνεύθηκε γλώσσες έχουν προστασία από υπερχειλίσεις buffer . 2

Επιλέξτε βιβλιοθήκες και τις λειτουργίες που έχουν buffer διαχείρισης και ελέγχου ορίων . Ο συχνότερα χρησιμοποιούμενες λειτουργίες C " strcpy " , " scanf " και " παίρνει " είναι ιδιαίτερα ευάλωτα σε buffer υπερχειλίσεις . Ασφαλέστερες εναλλακτικές λύσεις περιλαμβάνουν την « strncpy " και " strncat » λειτουργίες , οι οποίες απορρίπτουν τα δεδομένα που υπερβαίνουν το καθορισμένο μήκος . Πρέπει ακόμη να ληφθεί μέριμνα ώστε να καθορίσετε το σωστό μέγεθος του buffer . Ένα παράδειγμα από μια ασφαλέστερη εναλλακτική λύση στη βιβλιοθήκη σειρά C είναι η ελεύθερη downloadable " The Better String Βιβλιοθήκη . "
Εικόνων 3

Εγκατάσταση εκτελέσιμο χώρος προστασίας add- ons για να βοηθήσει στην πρόληψη υπερχειλίσεις buffer . Κωδικός προσπαθεί να εκτελέσει από τη στοίβα ή σωρό προκαλέσει μια εξαίρεση. Εκτελέσιμο χώρος προστασίας χρησιμοποιεί το " No eXecute " ( NX bit) για να επισημάνετε τις περιοχές της μνήμης ως μη εκτελέσιμες . Παραδείγματα των εκτελέσιμων πακέτων προστασίας χώρο για Unix περιλαμβάνουν OpenWall , Exec Shield και Pax . Πρόσθετα για Windows περιλαμβάνουν StackDefender και BufferShield . Δεδομένου ότι το Windows XP Service Pack 2 , Windows προσφέρει Αποτροπή εκτέλεσης δεδομένων ( DEP ) , παρέχει κάποια προστασία από υπερχείλιση .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα