Linux Magazin germany

Alles durchprobiert

Es war eine dunkle und stürmische Nacht. Bart Miller – am Ende unseres Themenschwerpunkts finden Sie ein Interview mit ihm – arbeitete zu Hause und war per 1200-Baud-Modem mit dem Großrechner der Universität Wisconsin verbunden. Doch mit jedem Donnern ging etwas schief: Die Blitzeinschläge störten die Datenübertragung über die Telefonleitung und verstümmelten einzelne Zeichen, sodass Miller immer wieder von vorn beginnen musste.

Dabei fiel ihm auf, wie viele Programme mit gestörten Daten nicht zurechtkamen – sie stürzten ab oder hängten sich auf oder stellten unkontrolliert die Arbeit ein. Sollten die Programme nicht sehr viel besser mit ungültigen oder gestörten Eingaben klarkommen? Miller beschloss, diese Frage von seinen Studenten untersuchen zu lassen, und gab ihnen eine entsprechende Programmieraufgabe. Diese Nacht im Herbst 1988 gilt als die Geburtsstunde des Fuzz Testing, des heute mit Abstand wichtigsten Verfahrens, Programme auf Robustheit zu testen und auf Sicherheitslücken zu prüfen. Was Fuzzing ist, lässt sich direkt aus Bart Millers Programmieraufgabe herauslesen: „Das Ziel dieses Projekts ist es, die Robustheit verschiedener Unix-Hilfsprogramme zu prüfen, wenn sie einen unvorhersehbaren Eingabestrom erhalten. Als Erstes bauen Sie einen Fuzz-Generator. Das ist ein Programm, das eine zufällige Folge von Zeichen erzeugt. Dann nehmen Sie diesen Fuzz-Generator und benutzen ihn, um möglichst viele der Unix-Hilfsprogramme anzugreifen, jeweils mit dem Ziel, sie zu zerstören.“

Diese Programmieraufgabe fasst die Grundidee des Fuzzings zusammen: Man erzeugt automatisch zufällige Eingaben, prüft, ob die damit beschickten Programme dann unvorhergesehene Dinge tun, und wiederholt diese beiden Schritte sehr oft und sehr schnell.

Dabei nutzen Fuzzer verschiedene Techniken, um Fehler zu finden. Reine Zufallseingaben lassen sich einfach generieren und finden Fehler in der Eingabeverarbeitung wie etwa Pufferüberläufe. Modellbasierte Fuzzer verwenden Grammatiken und andere Sprachmodelle, um gültige und

You’re reading a preview, subscribe to read more.

More from Linux Magazin germany

Linux Magazin germany2 min read
Neues Auf Der Heft-DVD
In eigener Sache: DELUG-DVD Neben dem Linux-Magazin ohne DVD gibt es die DELUG-Ausgabe mit einem speziell zusammengestellten Datenträger. Gebündelt unter einer HTML-Oberfläche enthält er Programme und Tools, die wir in der jeweiligen Ausgabe testen.
Linux Magazin germany1 min read
It Profi Markt
Sie fragen sich, wo Sie maßgeschneiderte Linux-Systeme sowie kompetente Ansprechpartner zu Open-Source-Themen finden? Der IT-Profimarkt weist Ihnen hier als zuverlässiges Nachschlagewerk den richtigen Weg. Die im Folgenden gelisteten Unternehmen besc
Linux Magazin germany2 min read
Kurznachrichten
DietPi 8.1: Die Distribution DietPi verwandelt SBCs wie den Raspberry Pi in einen flexiblen Server. Neu: Die neue Version verbessert die hauseigenen Anwendungen. Darüber hinaus gibt es jetzt ein Image für Odroid N2(+), das den Linux-Kernel 5.10 verwe

Related Books & Audiobooks