Fuzzing

Was ist Fuzzing?

Nicht immer haben Datenverlust und der damit verbundene Missbrauch etwas mit dem wachsenden Know-how von Hackern zu tun. Oft sind diese Sicherheitslücken bereits im unternehmenseigenen IT-System angelegt. Das klassische Beispiel hierfür sind Fehler in der Programmierung von benötigter Software. Fuzzing hilft, solche Fehler zu entdecken und auszumerzen.

Komplexität als Risikofaktor

Kein Programm ist wirklich sicher, so die Annahme, auf der diese noch recht junge Form von Sicherheitsüberprüfung basiert. Je komplexer eine Software aufgebaut wird, umso mehr steigt das Risiko, dass ein Leck vorhanden ist, durch das sensible Daten rutschen, die von unberechtigten Personen gelesen und auf unbefugte Art und Weise genutzt werden können. Das Fuzzing ist eine ausgeklügelte Methode, mit der solche Sicherheitslücken aufgespürt werden können: Indem eine Software mit unzähligen Daten nahezu überschüttet wird, kann deren Belastbarkeit auf die Probe gestellt werden: Kommt es zu einem Absturz des Programms, ist dies mit hoher Wahrscheinlichkeit das Zeichen dafür, dass in der Programmierung ein Fehler vorhanden sein dürfte.

Der Absturz und seine Folgen

Viele Anwender schätzen die möglichen Konsequenzen eines solchen Absturzes im Ausmaß noch nicht richtig ein. Ein Programmabsturz bedeutet weit mehr als eine Funktionseinschränkung für den Augenblick, die das Arbeiten ineffizienter und langwieriger macht. Der Absturz ist gleichzeitig auch eine virtuelle Einladung für Hacker, da ein System im Augenblick eines Absturzes besonders leicht zu übernehmen ist. Weiß ein Angreifer, mit welchen Mitteln ein Programm gestört werden kann, hat er gleichzeitig die Handhabe, die darin befindlichen relevanten Daten zu übernehmen. Dadurch, dass Fuzzing offenlegt, mit welchen Eingaben eine Software zum Ausfall führen kann, erhalten Programmierer und Nutzer gegenüber kriminellen Eindringlingen einen deutlichen Wissensvorsprung, der mit zielführender Handlungsfähigkeit verbunden ist.

Quellcode nicht unbedingt nötig

Das Fuzzing bringt einen entscheidenden Vorteil mit sich: In den Check auf Belastbarkeit eines Systems, beziehungsweise Fehler in dessen Programmierung, braucht weder der Quellcode noch die Binärprogrammierung einbezogen zu werden. So ist das Fuzzing auch eine große Hilfe, wenn ein Internet-Server in Sachen Sicherheit untersucht werden soll. Doch auch das Vorhandensein eines Quelltextes schafft nicht unbedingt Komfort, wenn man sich die Menge von manuell zu überprüfenden Daten ansieht. Auch die Tools, die bei den meisten Programmvarianten zur Verfügung stehen, bringen auf lange Sicht nicht weiter, da sie Programmierfehler in der Regel nicht im gewünschten, nämlich vollständigen Umfang, entdecken können. Fuzzing bringt dem Anwender in dieser Hinsicht also zwei Vorzüge auf einmal: Es macht manuelle und sehr aufwendige Untersuchung überflüssig und führt nicht selten zur lückenlosen Fehlerdetektion, indem Abstürze des Systems provoziert werden.

Reduktion für mehr Erfolg

Der Haken an der Fuzzing-Methode ist die Zeitdauer, die es oft in Anspruch nehmen würde, alle Formen von Dateneingaben im Hinblick auf einen möglichen Programmabsturz zu testen. Hier gestaltet sich die Methode dann als besonders intensiv, wenn vorab eine gründliche Analyse des Programms erfolgt, wo Fehler am ehesten zu erwarten sind. So können die Eingaben in ihrem Umfang zielgerichtet reduziert werden und der Ablauf ist deutlich kürzer. Für das Fuzzing gibt es mehrere Möglichkeiten, die bedarfsgerecht auszuwählen und einzusetzen sind. Beispiele hierfür sind die Verwendung eines Debuggers, spezielle Tools für die Leak-Detektion oder die gezielte CPU-Überlastung.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte