Γράψτε κωδικό ασφαλείας για να αποτρέψει τις επιθέσεις υπερχείλισης . Στο C , υπάρχει ένας αριθμός των ευάλωτων λειτουργίες που οι χάκερ μπορούν να εκμεταλλευτούν υπερπλήρωσης προσκρουστήρες . Ελαχιστοποιήστε τη χρήση του strcpy ( ) , strcat ( ) , sprintf ( ) και vsprintf ( ) , τα οποία δεν εκτελούν τα όρια ελέγχου . Αν είναι δυνατόν , αποφύγετε τη χρήση gets ( ) , η οποία δεν διευκρινίζει πόσοι χαρακτήρες θα πρέπει να διαβάσει και έτσι αφήνει τον κωδικό σας ευάλωτο . Εάν χρησιμοποιείτε scanf ( ) , φροντίστε να καθορίσετε ένα πλάτος για τη μορφή του % s για να αποφευχθούν οι υπερβάσεις . 2
Ελέγξτε για να δείτε αν μπορείτε να χρησιμοποιήσετε τραμπολίνα για την αποφυγή υπερχείλισης buffer. Από υπερχείλιση συμβαίνει στα ράφια της μνήμης και όχι στον κώδικα , η απλούστερη λύση θα ήταν να εμποδίζουν στοίβες σας από την εκτέλεση οποιασδήποτε κωδικό εισάγοντας ένα μικρό κομμάτι του κώδικα για την απαγόρευση αυτών των ενεργειών . Αυτό είναι δυνατό σε Linux , αλλά είναι πολύ δύσκολο. Μόνο λίγοι μεταγλωττιστές χρησιμοποιούν τα μικρά κομμάτια του κώδικα που ονομάζεται τραμπολίνα , τα οποία λειτουργούν ως ένα εμπόδιο μεταξύ του κώδικα καλώντας μια λειτουργία και την ίδια τη λειτουργία . Έτσι , αν το κακόβουλο κώδικα προσπαθεί να παρακάμψετε μια ζώνη , το τραμπολίνο μπορεί να παρεμποδίσει και να ακυρώσουν τις προσπάθειες του χάκερ .
Εικόνων 3
Εφαρμογή εργαλεία μεταγλώττισης για να σας δώσει προειδοποιήσεις όταν χρησιμοποιείτε τον κωδικό που σας αφήνει ευάλωτο σε επίθεση . Μερικά από αυτά τα εργαλεία θα δημιουργήσουν εκτελέσιμο κώδικα που απαγορεύει την πρόσβαση σε ξένους από παράνομες διευθύνσεις και θα κλείσει κώδικα που επιχειρεί τέτοια εκτέλεση . Προϊόντα όπως StackShield και StackGuard είναι μια μεγάλη βοήθεια . StackSheild θα ελέγχει την διεύθυνση επιστροφής μιας συνάρτησης και τερματίζουν σε περίπτωση παρατυπίας . StackGuard τοποθετεί ένα καναρίνι λέξη για τη διεύθυνση επιστροφής και έλεγχοι για να δούμε αν αυτή η λέξη έχει αλλάξει , τον τερματισμό της λειτουργίας όταν έχει .
Η 4
Εγκατάσταση εργαλεία όπως libsafe για να ελέγξετε την ασφάλεια σε μια δυναμική κίνηση - time περιβάλλον . Libsafe τρέχει σε Linux και ελέγχει την πλησιέστερη διεύθυνση επιστροφής από ένα πλαίσιο στοίβας , τότε διασφαλίζει ότι η διεύθυνση δεν έχει αντικατασταθεί . Libsafe θα αντικαταστήσει επίσης τις μη ασφαλείς λειτουργίες, όπως η gets ( ) , strcpy ( ) και scanf ( ) .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα