• IT-Karriere:
  • Services:

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.

Stellenmarkt
  1. ARZ Haan AG, Stuttgart, Nürnberg, München
  2. J. Bauer GmbH & Co. KG, Wasserburg/Inn

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


Anzeige
Mobile-Angebote
  1. 819€ (Ebay Plus - Bestpreis)
  2. 189,99€ (Bestpreis)
  3. (u. a. Galaxy S21 mit Galaxy Buds Pro In-Ears und Galaxy Smart Tag für 849€)
  4. 189€ (Bestpreis)

Folgen Sie uns
       


Apple Macbook Air M1 - Test

Kann das Notebook mit völlig neuem und eigens entwickeltem System-on-a-Chip überzeugen? Wir sind überrascht, wie sehr das der Fall ist.

Apple Macbook Air M1 - Test Video aufrufen
    •  /