Δικτύωση

* Γνώση Υπολογιστών >> Δικτύωση >> Ασφάλεια Δικτύων

Πώς να αποτρέψει επιθέσεις Buffer Overflow

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

Γράψτε κωδικό ασφαλείας για να αποτρέψει τις επιθέσεις υπερχείλισης . Στο 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 ( ) .
Η
εικόνων

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

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