Open Source: Google-Fuzzing für Python freigegeben

Google stellt die selbst entwickelte Fuzzing-Engine Atheris als Open Source zur Verfügung.

Artikel veröffentlicht am , Mike Wobker
Googles Fuzzing-Engine Atheris hilft bei der Fehlersuche.
Googles Fuzzing-Engine Atheris hilft bei der Fehlersuche. (Bild: Tobias Költzsch/Golem.de)

Google hat nun die Entwicklung einer eigenen Fuzzing-Engine abgeschlossen und diese unter dem Namen Atheris veröffentlicht. Mit dem sogenannten Fuzzing werden Programme mit Eingaben gefüttert, um dadurch unerwartet auftretende Fehler zu finden. Diese automatisierte Methode eignet sich daher gut, um Schwachstellen aufzudecken, die von Entwicklern eventuell vorher nicht bedacht wurden. Besonders gut werden dabei Korrumpierungen des Speichers erkannt, die sich letztendlich auch als Sicherheitslücken ausnutzen lassen könnten.

Atheris ist dazu geeignet, Fehler in Python-Code und nativen Erweiterungen zu finden. Dabei wird nicht nur eine Eingabe simuliert, sondern auch die Reaktion des Programmcodes verfolgt und ungewöhnliches beziehungsweise auffälliges Verhalten aufgezeichnet. Die Stärke von Atheris liegt laugt Google im differenzierten Fuzzing. Hierbei werden zwei Bibliotheken, die eigentlich dasselbe Verhalten zeigen sollten, auf Unterschiede geprüft.

Auch mit Erweiterungen nutzbar

Im Anwendungsbeispiel von Google werden die Pakete idna und libidn2 angeführt, die beide internationale Domain-Namen decodieren und auflösen. Nach der Prüfung mit Atheris zeigt sich allerdings, dass diese zu teils unterschiedlichen Ergebnissen kommen. Auch um herauszufinden, wie sich ein Code richtig verhalten sollte, ist Atheris geeignet.

Außerdem arbeitet Atheris auch mit nativen Python-Erweiterungen wie libFuzzer zusammen, wodurch sich fehlerhafte Speicherbelegungen erkennen lassen. Die Nutzung in Verbindung mit dem Clang Adress Sanitizer und Undefinded Behaviour Sanitizer ist ebenfalls möglich, sofern native Erweiterungen verwendet werden.

Google empfiehlt zudem dringend den Einsatz von Python 3.3+, da sich hiermit beim Fuzzing deutlich bessere Ergebnisse erzielen lassen. Als Minimum wird Python 2.7 angegeben.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Solarenergie
Berlin fördert Balkonkraftwerke mit bis zu 500 Euro

Neben anderen Städten und Bundesländern unterstützt nun auch Berlin die Anschaffung von kleinen Solaranlagen. Jedoch nicht für alle Bürger.

Solarenergie: Berlin fördert Balkonkraftwerke mit bis zu 500 Euro
Artikel
  1. Der Herr der Ringe: Lego bringt Bruchtal aus 6.100 Teilen und mit 15 Figuren
    Der Herr der Ringe
    Lego bringt Bruchtal aus 6.100 Teilen und mit 15 Figuren

    Die gesamte Gemeinschaft des Ringes versammelt sich in den Hallen von Bruchtal, das als Lego-Diorama Herr-der-Ringe-Fans erfreuen kann.

  2. Navigation und GPS: Google Maps baut 3D-Städte und Inneneinrichtungen mit KI
    Navigation und GPS
    Google Maps baut 3D-Städte und Inneneinrichtungen mit KI

    Google Maps wird mit diversen neuen Funktionen ausgestattet - etwa mit Navigation per Augmented Reality oder 3D-Modellen bekannter Städte.

  3. Stress reduzieren: Runter mit der Hasskappe!
    Stress reduzieren
    Runter mit der Hasskappe!

    Viele ITler stehen unter enormen Stress und ruinieren sich damit die Gesundheit und den Spaß an der Arbeit - und anderen den Tag. Psychologen empfehlen als Lösung: mit Affirmationen die eigenen Gedanken umprogrammieren.
    Ein Bericht von Marc Favre

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Powercolor RX 7900 XTX 1.119€ • WSV-Finale bei MediaMarkt • Samsung 980 Pro 2TB (PS5-komp.) 174,99€ • MSI RTX 4080 1.349€ • Samsung 55" 4K QLED Curved Gaming-Monitor -25% • Asus RX 7900 XT 939,90€ • DAMN-Deals: AMD CPUs zu Tiefstpreisen • PCGH Cyber Week nur bis 9.2. [Werbung]
    •  /