Suche nach Pufferüberlauf ist ein wichtiger Bestandteil der Gewährleistung , dass Ihr Programm zum Schutz vor Angriffen und der zufälligen Abstürze ist . Ein Pufferüberlauf tritt auf, wenn Daten in einem String-oder Array ohne Überprüfung von Grenzen eingesetzt und der Eingang Länge größer als der Puffer es versucht, in zu kopieren ist . Finding Orte, an denen Buffer Overflows auftreten kann, ist durch die Suche nach unsichere Funktionen wie " bekommt ", analysiert die Grenzen Überprüfung auf Funktionen wie " strncpy " und gründlich Testen Sie Ihr Programm mit verschiedenen Arten von Eingang. Anleitung
1
Suche Ihres Programms Code für gefährliche Funktionen wie " bekommt ", " scanf ", " strcpy ", " strcat ", " sprintf " und " strlen ". Diese Funktionen fehlt jede eingebaute Grenzen Kontrolle und sind nur dann sinnvoll, wenn 100 Prozent des Programms Benutzer vertrauenswürdig sind und gelegentliche Abstürze können toleriert werden. Geben Bereichsüberprüfung Sie durch Prüfen , dass der Eingang Länge nicht größer ist als die Länge des Puffers zur Verfügung .
2
Untersuchen keine Anrufe zu Bereichsüberprüfung Funktionen wie " strncpy ", " strncat " und " snprintf . " Stellen Sie sicher, dass das Ende des Eingabe-Arrays ein Null-Byte empfängt . Falsche Bereichsüberprüfung können , um fehlende Null-Bytes oder einer nach dem Ende des Arrays platziert führen . Bei der Kombination von Saiten , stellen Sie sicher , dass die Grenzen Kontrolle der gesamten Länge der Zeichenfolge minus die Zeichenfolge bereits bestehenden Inhalt , um mit der gesamten Länge der Zeichenfolge als die Grenzen überprüfen Gegensatz verwendet .
3
-Test Ihr Programm durch Eingabe außergewöhnlich große Eingänge und sehen, ob es abstürzt, beschädigt wird oder zeigt ungewöhnliche Aktivitäten . Notieren Sie sich die Anschrift der Abstürze zu sehen, ob es mit dem Ihr Programm verarbeitet die eingegebenen Daten entspricht . Programme wie Raue Auditing Tool für Sicherheit, auch bekannt als " RATS " scannen Sie den Code und Flagge Orten, die möglicherweise anfällig für Buffer Overflows sind .