idw – Informationsdienst Wissenschaft

Nachrichten, Termine, Experten

Grafik: idw-Logo
Science Video Project
idw-Abo

idw-News App:

AppStore

Google Play Store



Instanz:
Teilen: 
26.06.2025 13:47

Der stärkere Input überlebt: Open-Source-Fuzzer mit evolutionärem Algorithmus generiert individualisierte Inputs

Eva Michely Unternehmenskommunikation
CISPA Helmholtz Center for Information Security

    Das Prinzip vom Überleben des Stärkeren, von Charles Darwin im 19. Jahrhundert beschrieben, ist auf das Testen von Software angewandt worden: FANDANGO, ein neuer Open-Source-Fuzzer, nutzt einen evolutionären Algorithmus, um automatisiert hochwertige Testeingaben zu produzieren, die zuvor definierten Anforderungen entsprechen. FANDANGO bringt das sprachbasierte Testen um einen entscheidenden Schritt voran: Der Fuzzer verwendet ein iteratives Verfahren, das der biologischen Evolution nachempfunden ist, um individuell angepasste Eingaben zu liefern, die sowohl Syntax als auch Semantik abdecken. FANDANGO wurde von Forschern des CISPA Helmholtz-Zentrums für Informationssicherheit entwickelt.

    In den vergangenen zehn Jahren sind Fuzzer zu den gängigsten Tools für das Testen von
    Softwaresicherheit und -robustheit geworden. Sie generieren zufällige Testeingaben, speisen diese in Anwendungen ein und helfen so dabei, unerwünschtes Programmverhalten wie Fehler und Schwachstellen aufzudecken. Mit FANDANGO haben die CISPA-Forscher José Antonio Zamudio Amaya und Professor Dr. Andreas Zeller einen bioinspirierten Algorithmus in das Software-Fuzzing eingeführt. Dem Vorbild der biologischen Evolution folgend, führt ihr Algorithmus einen Prozess der Mutation und Selektion aus, um Testeingaben zu erzeugen, die den Anforderungen des Testers genau entsprechen. Zamudio erläutert: „Der evolutionäre Algorithmus ist recht einfach. Wir beginnen mit einer Population von Eingaben, die aus den Spezifikationen des Programms stammen. Dann machen wir zwei Dinge: Erstens mutieren wir diese Eingaben, um verschiedene Veränderungen auszulösen, und zweitens kreuzen wir diese Eingaben, d. h. wir kombinieren Teile von zwei Eingaben, um Nachkommen zu erzeugen. Wir wiederholen diesen Prozess und bewerten bei jeder Wiederholung die Qualität der Eingaben hinsichtlich ihrer Übereinstimmung mit den Anforderungen des Testers.“ Dieser
    Prozess führt zu gültigen Testeingaben, die speziell darauf zugeschnitten sind, bestimmte
    Teile des Programms zu untersuchen.

    FANDANGO bietet volle Kontrolle über Test-Inputs

    FANDANGO ist das erste Fuzzing-Tool, das Softwaretestern die volle Kontrolle über die
    Eigenschaften der von ihnen generierten Testeingaben verleiht. Zeller erklärt: „Im Gegensatz zu einem normalen Fuzzer erzeugt Fandango Eingaben, die unter der Kontrolle des Testers stehen, da wir davon ausgehen, dass die Tester a) wissen, wie eine typische Eingabe aussieht, und b) in der Regel eine Vorstellung davon haben, wo typische Fehler auftreten könnten. Sie sind diejenigen mit dem Fachwissen, und wir möchten, dass sie dieses Fachwissen beim Testen eines Programms nutzen können.“ Mit FANDANGO können die Tester nicht nur die Syntax der Eingabe, also die gewünschte Struktur, bestimmen, sondern auch die Semantik der Eingabe, also ihre Bedeutung und spezifischen Eigenschaften.

    Um die Vorteile von FANDANGO für das Testen von Software zu veranschaulichen, nutzt Zeller das Beispiel eines Online-Shops für maßgefertigte Möbel, in dem Kunden individuelle Werte für Höhe, Länge und Tiefe eingeben müssen, um die Größe eines Möbelstücks bestimmen. „In diesem Fall“, erklärt Zeller, „wäre es interessant zu sehen, was das Programm macht, wenn ich beispielsweise sage: ‚Dieses Möbelstück soll eine Länge von weniger als null oder eine Sitzfläche von einem Quadratkilometer haben.‘ Mit unserem evolutionären Algorithmus könnte FANDANGO automatisch Werte für alle diese einzelnen Felder – Höhe, Länge, Tiefe – berechnen, die die Anforderung dieser immensen Fläche von einem Quadratkilometer genau erfüllen würden.“

    Feedback erwünscht: FANDANGO ist auf GitHub verfügbar

    Um Softwaretester und Programmierer von ihrer Forschung profitieren zu lassen, haben
    Zamudio und Zeller FANDANGO auf GitHub zur Verfügung gestellt. Das Programm ist Open Source und wird in Form eines einfachen Befehlszeilentools samt Tutorials und umfangreicher Dokumentation bereitgestellt. Um ihren Fuzzer noch weiter zu verbessern, bitten die beiden CISPA-Forscher auch um Feedback. „Ich bin schon sehr gespannt darauf, wie die Leute FANDANGO nutzen und welche Verbesserungsvorschläge sie haben. Ich habe bereits mit Leuten aus verschiedenen Unternehmen gesprochen. Die Vorstellung, dass sie die Kontrolle darüber haben, was getestet werden soll, und die Ergebnisse einer Berechnung überprüfen können, ist für sie ein echter Vorteil“, sagt Zeller. Die CISPA-Forschung zu FANDANGO wird am 27. Juni 2025 auf dem International Symposium on Software Testing and Analysis (ISSTA) in Trondheim, Norwegen, vorgestellt.


    Wissenschaftliche Ansprechpartner:

    Prof. Dr. Andreas Zeller und José Antonio Zamudio Amaya
    CISPA Helmholtz-Zentrum für Informationssicherheit
    Stuhlsatzenhaus 5
    66123 Saarbrücken
    zeller@cispa.de / jose.zamudio@cispa.de


    Originalpublikation:

    José Antonio Zamudio Amaya, Marius Smytzek, and Andreas Zeller. 2025. FANDANGO:
    Evolving Language-Based Testing. DOI: https://dl.acm.org/doi/10.1145/3728915


    Weitere Informationen:

    https://fandango-fuzzer.github.io/ FANDANGO 1.0 ist jetzt auf GitHub verfügbar.


    Bilder

    Die CISPA-Forscher Prof. Dr. Andreas Zeller (Erster von rechts) und José Antonio Zamudio Amaya (Dritter von rechts) mit dem ganzen FANDANGO-Team
    Die CISPA-Forscher Prof. Dr. Andreas Zeller (Erster von rechts) und José Antonio Zamudio Amaya (Drit ...

    Copyright: CISPA


    Merkmale dieser Pressemitteilung:
    Journalisten, Studierende, Wissenschaftler
    Informationstechnik
    überregional
    Forschungsergebnisse, Wissenschaftliche Publikationen
    Deutsch


     

    Die CISPA-Forscher Prof. Dr. Andreas Zeller (Erster von rechts) und José Antonio Zamudio Amaya (Dritter von rechts) mit dem ganzen FANDANGO-Team


    Zum Download

    x

    Hilfe

    Die Suche / Erweiterte Suche im idw-Archiv
    Verknüpfungen

    Sie können Suchbegriffe mit und, oder und / oder nicht verknüpfen, z. B. Philo nicht logie.

    Klammern

    Verknüpfungen können Sie mit Klammern voneinander trennen, z. B. (Philo nicht logie) oder (Psycho und logie).

    Wortgruppen

    Zusammenhängende Worte werden als Wortgruppe gesucht, wenn Sie sie in Anführungsstriche setzen, z. B. „Bundesrepublik Deutschland“.

    Auswahlkriterien

    Die Erweiterte Suche können Sie auch nutzen, ohne Suchbegriffe einzugeben. Sie orientiert sich dann an den Kriterien, die Sie ausgewählt haben (z. B. nach dem Land oder dem Sachgebiet).

    Haben Sie in einer Kategorie kein Kriterium ausgewählt, wird die gesamte Kategorie durchsucht (z.B. alle Sachgebiete oder alle Länder).