Skip to main content

Was ist Fuzz -Tests?

Fuzz -Test oder Fuzzing ist eine Methode, um zu überprüfen, wie ein Computerprogramm oder ein System auf verschiedene, manchmal zufällige Eingaben und Informationen reagiert.Der Prozess beinhaltet die Generierung einer Datenart, die innerhalb bestimmter Einschränkungen vollständig zufällig oder zufällig ist, und dann diese Daten in das Programm zu füttern, um zu testen, wie unerwartete Informationen umgehen.Die grundlegendste Form des Fuzz -Tests besteht darin, eine zufällige Folge von Schlüsselpressen oder Zeichen an das Programm zu senden und zu überprüfen, ob sie sie korrekt verarbeitet.Eine komplexere Version des Fuzz -Tests verwendet strukturierte Daten, die dann zufällig manipuliert und an das Programm gesendet werden.Die Daten können das Programm als Systemereignisse, Tastatureingaben, Mock -Netzwerksignale oder sogar als Dateien erreichen, die geladen werden sollen.

Es gibt verschiedene Teile eines Computerprogramms, die mit einem Fuzz -Generator getestet werden können.Die grafische Benutzeroberfläche (GUI) kann getestet werden, indem eine Abfolge von zufälligen Maus- und Tastaturereignissen erstellt und überprüft wird, ob die GUI die Eingabe ohne Absturz, Einfrieren oder Ausführen einer unerwarteten Aufgabe verarbeiten kann.Netzwerkprotokolle können getestet werden, indem der Fuzz -Generator die Teile eines gültigen Datenpakets zufällig ändern und dann sicherstellen kann, dass das Protokoll weiterhin funktionieren kann, nachdem sie missgebildete Daten empfangen haben.Die grundlegenden Eingabelemente von nahezu jedem Programm können auf ihre Fähigkeit überprüft werden, Fehler zu widerstehen, z.

Die Computersicherheitsbranche kann Fuzz -Tests verwenden, um sicherzustellen, dass in bestimmten Systemen keine offensichtlichen Sicherheitslöcher vorhanden sind.Dies kann durch die Verwendung eines Fuzz -Generators erfolgen, der zum Testen der Computersicherheit entwickelt wurde.Diese Programme versuchen, System -Schlüsselwörter, bekannte Standardadministratorkennwörter, Funktionen in den Bibliotheken zu verwenden, die das Programm verwendet, und zufällige Aufrufe an Systemfunktionen, um festzustellen, wie das Programm reagiertBestimmte Bereiche oder sogar nur bestimmte Arten von Eingaben testen.Dies bedeutet, dass ein Programm nur gültige Befehle gesendet hat, aber es könnte in einer unsinnigen Reihenfolge sein.Es gibt komplexere Fuzz -Testprogramme, die Elemente des Zielprogramms aufnehmen und sie manipulieren, um Situationen zu erstellen, die böswillig ausgenutzt werden könnten.Dies kann das Ändern der Reihenfolge von Prozessen, die Ausbildung, Änderungen der Berechtigungen oder Änderungen von Kerndaten und Bibliotheksdateien umfassen.

Das Endergebnis von Fuzz -Tests besteht darinunerwartete Situation.Wenn sie zusammen mit Profilerstellung und Analyse -Software verwendet werden, kann es auch Speicherlecks in Bereichen des Programms wie Fehlerbehandlung oder Leistungs Engpässen erkennen.Bei Computersicherheit können gefährliche Probleme wie Überläufe, die ein System gefährden können, mit dem richtigen Setup gefangen werden.Fuzz -Tests können jedoch nicht als alleinige Methode des Softwaretests verwendet werden und muss Teil eines größeren Prozess der Qualitätssicherung und Software -Inspektion sein.