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

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

Οι επιπτώσεις της υπερχειλίσεις & Format Χορδές για Ροής Προγράμματος

Ακόμα και οι πιο λιτό πτυχές ενός προγράμματος μπορεί να συνιστά απειλή για την ασφάλεια . Βασικές εισόδου του χρήστη μπορεί να βραχυκυκλώσει εσωτερικό κώδικα ενός προγράμματος με διάφορους τρόπους . Η είσοδος μπορεί να χρησιμοποιήσει τη λειτουργία των λειτουργιών εκτύπωσης για την πρόσβαση της ροής του προγράμματος ελέγχου από επιτακτικούς τα όρια της συνάρτησης . Ή , μπορεί να υπερβεί τα όρια ρυθμιστικό τίθενται από τον προγραμματιστή για να επηρεάσουν τα δεδομένα εκτός του προγραμματιστή - καθορισμένο χώρο του . Είτε έτσι είτε αλλιώς , η είσοδος του χρήστη επηρεάζει τον τρόπο το πρόγραμμα εκτελεί , πιθανώς προς κακόβουλους σκοπούς . Μορφή Χορδές
Η

μορφοποίηση χορδές σε C και C + + αποτελούν μέρος των λειτουργιών εισόδου και εξόδου . Το string format περιέχει δεδομένα σε δεδομένα εξόδου στην οθόνη . Χορδές μορφή έχει δύο κύριες συνιστώσες . Η πρώτη είναι η βασική σειρά για να εκτυπώσετε , το οποίο περιέχει τους χαρακτήρες και τα σημεία στίξης . Η δεύτερη συνιστώσα περιλαμβάνει ειδικό χαρακτήρα σημειώνονται με ποσοστό σημάδια που χρησιμεύουν ως σύμβολα κράτησης θέσης για μεταβλητών δεδομένων . Αυτά τα σύμβολα υπάρχουν στο string, και αντικαθίστανται κατά τη διάρκεια της εξόδου από τις αξίες που πραγματοποιήθηκε στις μεταβλητές . Το ακόλουθο παράδειγμα απεικονίζει μια βασική δήλωση printf με ένα string format :

char x = " c" ? Int y = 10 ?

Printf ( " Χαρακτήρες εκτύπωσης % c και Decimals % d " ? , x , y) ?
εικόνων Format Επιθέσεις String
Η

Η ανασφάλεια των χορδών μορφή έγκειται στον τρόπο με τα σύμβολα που ενσωματώνονται στις παραπομπή σειρά άλλα μέρη του προγράμματος . Για παράδειγμα , ένας εισβολέας εισαγωγή δεδομένων σε μια μεταβλητή που χρησιμοποιείται σε ένα string format μπορεί να εισφέρει τα σύμβολα που επιτρέπουν την πρόσβαση σε άλλα πλαίσια της εκτέλεσης του προγράμματος . Με τον τρόπο αυτό , ο εισβολέας μπορεί να τροποποιήσει τις τιμές σε μεταβλητές εκτός του πεδίου εφαρμογής της λειτουργίας εκτύπωσης . Επιπλέον , ο εισβολέας θα μπορούσε ενδεχομένως να έχει πρόσβαση στη μνήμη τιμές που αντιπροσωπεύουν τη θέση των λειτουργιών. Ο εισβολέας θα μπορούσε στη συνέχεια να αλλάξετε αυτήν την τιμή να επισημάνω μια διαφορετική λειτουργία , αλλάζοντας τη ροή της εκτέλεσης και ουσιαστικά αεροπειρατεία του προγράμματος .

Η είσοδος Buffers
Η

εισόδου προσκρουστήρες είναι οι χώροι αποθήκευσης των δεδομένων που δημιουργούνται από τον προγραμματιστή να συγκρατήσει δεδομένα που εισάγει ο χρήστης . Τις περισσότερες φορές , ρυθμιστικά εισόδου χειρίζονται την είσοδο του χρήστη του ημερολογίου στα ονόματα και τους κωδικούς πρόσβασης . Ειδικά για την γλώσσα προγραμματισμού C , η οποία δεν περιλαμβάνουν τη μητρική χειρισμό χορδών , υπάρχουν ρυθμιστικά εισόδου, όπως συστοιχίες των χαρακτήρων με ένα καθορισμένο μέγεθος . Στην περίπτωση αυτή , εναπόκειται στον προγραμματιστή να διαθέσει τα δεδομένα για την είσοδο του χρήστη .
Εικόνων Buffer Overflow
Η

Ένας εισβολέας θα μπορούσε να επωφεληθεί από τους περιορισμούς αυτών των ρυθμιστικών από πλημμύρες με δεδομένα . Στο απλούστερο παράδειγμα , μια σειρά από χαρακτήρες που σήμαινε να κρατήσει ένα ημερολόγιο στο όνομα θα μπορούσε να έχει 20 χώρο που διατίθεται , αλλά ένας εισβολέας δίνει πάνω από είκοσι χαρακτήρες για την επεξεργασία . Στην περίπτωση αυτή, οι επιπλέον χαρακτήρες αντικαταστήσετε θέσεις μνήμης αμέσως μετά τη συστοιχία . Αυτές οι θέσεις μνήμης ενδεχομένως να κρατήσει στοιχεία σχετικά με την εκτέλεση του προγράμματος, όπως η υπό όρους μεταβλητές για τις δηλώσεις ελέγχου ροής ή αναφορές στις λειτουργίες στη στοίβα . Όπως η μορφή επίθεσης χορδών, αυτό επιτρέπει ουσιαστικά ο εισβολέας να επισκιάσουν το πρόγραμμα .
Η
εικόνων

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

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