Werkzeuge zur Codeanalyse: Sicherheits- oder Hackertools?

Obwohl Entwickler inzwischen über ein gestiegenes Sicherheitsbewusstsein verfügen, passieren bei der Softwareentwicklung immer wieder Fehler, die dazu führen, dass Anwendungen von außen angreifbar sind. Der „Faktor Mensch“ führt dazu, dass es keine fehlerfreie Software gibt. Während Abstürze und Memory-Leaks ärgerlich und zuweilen auch teuer sind, bedeuten Sicherheitslücken, dass Cyberkriminelle den Firmenserver für ihre Zwecke nutzen.

Viele Softwareentwicklungsunternehmen versuchen heutzutage, das Problem durch Fuzzing in den Griff zu bekommen. Fuzzing funktioniert immer noch nach einer Art Zufallsprinzip. Es ist nahezu zwei Jahrzehnte alte Technik für Software-Tests. Hierfür werden mittels Tools automatisch zufällige Daten erzeugt, die über Eingabeschnittstellen eines Programms verarbeitet werden, also etwa durch das Öffnen einer Datei, deren Datenformat das jeweilige Programm unterstützt.

Fuzzing wird in Software-Entwicklungsprojekten meist im Rahmen eines Black-Box-Tests durchgeführt, um neue Software auf Fehleranfälligkeit zu prüfen und um eventuelle Sicherheitslücken aufzuspüren. Bekanntere Tools aus der IT-Welt sind etwa AxMan, FTP Stress Fuzzer oder File Fuzz.

Das gängige Prinzip ist das folgende: Verursacht das Programm bei bestimmten Daten ein Problem, etwa einen Systemabsturz, so lässt sich darauf aufbauend, anhand von White-Box-Tests, die Ursache erforschen und die Fehlerquelle eingrenzen. Wird beispielsweise ein Browser von einer Website mit einer JPEG-Datei beliefert, die bewusst ein ungültiges Format hat, beobachtet man, wie der Browser darauf reagiert.

Im Idealfall untersucht der Browser die Datei und verweigert die Anzeige. Im schlimmsten Fall lässt sich durch das ungültige JPEG-Bild Code auf dem Rechner des Betrachters ausführen. Bei zufällig generierten ungültigen Daten endet es meist in einem Absturz, da die Bytes, die möglicherweise die Rücksprungadresse eines Unterprogramms überschreiben, zu keiner sinnvollen Programmablauffolge führen. Gezielt manipulierte Bilder können hingegen einen Zugang zum Rechner schaffen.

Unternehmen setzen auf dieses Analyse- und Testverfahren, weil es als relativ preisgünstig gilt. Open-Source-Lösungen sind kostenlos verfügbar. Das Aufsetzen eines automatisierten Tests geschieht schnell und benötigt wenig Aufmerksamkeit durch einen Tester. Der Wettbewerb auf dem Markt ist oft so groß, dass zeit- und kostenintensivere Alternativen zum Prinzip „Trial and Error“ nicht in Frage kommen. Oftmals wird Fuzzing erst unmittelbar in der Testphase vor dem Launch eines neuen Produkts eingesetzt.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Apple meldet Rekordumsatz im vierten Fiskalquartal

Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…

2 Tagen ago

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

2 Tagen ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

3 Tagen ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

3 Tagen ago

Telekom nennt Termin für 2G-Ende

Zum 30. Juni 2028 soll das 2G-Netz komplett abgeschaltet werden und den Weg für schnellere…

3 Tagen ago

Alphabet übertrifft die Erwartungen im dritten Quartal

Gewinn und Umsatz legen deutlich zu. Zum Wachstum tragen auch die Sparten Cloud und Abonnements…

3 Tagen ago