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

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

Πώς να σταματήσει C Buffer Υπέρβαση

Ρυθμιστικό υπερχειλίσεις προκαλέσει απροσδόκητη συμπεριφορά του προγράμματος , ως αποτέλεσμα της ανάρμοστα αντικατάσταση μνήμης . Ένα ρυθμιστικό είναι ένα συνεχόμενο μπλοκ της μνήμης ενός σταθερού μεγέθους, που χρησιμοποιούνται για την αποθήκευση δεδομένων , όπως μια σειρά χαρακτήρων. Η γλώσσα προγραμματισμού C σας επιτρέπει να γράψετε όλα τα δεδομένα στο buffer , ακόμη και αν είναι πολύ large.In Εκτός από την συντριβή το πρόγραμμά σας , οι επιτιθέμενοι μπορούν να χρησιμοποιήσουν υπερχειλίσεις buffer για να εκτελέσουν κακόβουλο κώδικα σε συστήματα που εκτελούν το πρόγραμμά σας . Παρ 'όλες τις προσπάθειες για την προστασία από την υπερχείλιση buffer εκμεταλλεύεται , εξακολουθεί να είναι μια ευρέως αξιοποιηθεί επίθεση vector.In C , υπερχειλίσεις buffer μπορεί να μετριαστεί ακολουθώντας τις βέλτιστες πρακτικές για την ασφαλή κωδικοποίηση . Οδηγίες
Η 1

Αποφύγετε την strcpy λειτουργίες C βιβλιοθήκη , strcat , sprtinf , vsprintf , παίρνει και scanf . Αυτές οι λειτουργίες είναι ασφαλή και δεν επιτελούν όρια έλεγχο πριν από την εγγραφή εισροή ή την ανάγνωση από ένα ρυθμιστικό , με αποτέλεσμα την υπερχείλιση buffer . Όρια ελέγχου είναι μια μέθοδος που χρησιμοποιούν υπό όρους δηλώσεις - όπως και αν , στη συνέχεια, - . Για να ελέγξετε αν μια λειτουργία ανάγνωσης ή εγγραφής είναι εντός του ορίου του ρυθμιστικού 2

ακυρώνει κώδικα εκτελείται από τη στοίβα . Η στοίβα είναι εκεί όπου η μνήμη , όπως ρυθμιστικά αποθηκεύονται ενώ η εφαρμογή σας εκτελεί . Κακόβουλο κώδικα εκτελείται από το γράψιμο στη στοίβα , όπου στη συνέχεια εκτελέστηκαν. Παρά το γεγονός ότι η εφαρμογή μπορεί να είναι δύσκολο , κάποια έκδοση του Linux και Gnu C Compiler ( GCC) είναι διαθέσιμα που μπορεί να αποτρέψει αυτό .
Εικόνων 3

Χρησιμοποιήστε ένα compilar που θα ελέγξει για πιθανές συνθήκες υπερχείλισης buffer . Επεκτάσεις και τα μπαλώματα είναι διαθέσιμα για μεταγλωττιστές C , όπως η C , που σας προειδοποιεί όταν χρησιμοποιείτε μη ασφαλή λειτουργία και να προσπαθήσει να εκτελέσει τον έλεγχο όρια στον κώδικά σας .
Η

4 Χρησιμοποιήστε τα δωρεάν προγράμματα όπως το Stack Shield και στοίβα Φρουρά για τον εντοπισμό και την προστασία από υπερχείλιση buffer . ( Δείτε Πόρων . )
Η
εικόνων

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

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