SIGS DATACOM Fachinformationen für IT-Professionals

German Testing Day 2020

Die unabhängige Konferenz zu Software-Qualität
Frankfurt am Main, 06. - 07. Mai 2020

Sessionsdetails

Vortrag: GTD 4.1
Datum: Do, 07.05.2020
Uhrzeit: 10:35 - 11:10

Usable Fuzzing - Fuzz Testing für Jedermann!

Uhrzeit: 10:35 - 11:10
Vortrag: GTD 4.1

 

In den letzten Jahren haben moderne Fuzz Testing Techniken sehr an Popularität gewonnen. Mit Fuzzing wurden bereits 4000 Bugs im Chrome Browser gefunden. Allerdings ist das große Problem der aktuellen Fuzzer wie AFL, libFuzzer und hongFuzz, dass sie so komplex sind, dass sie sehr spezielle Security Expertise benötigen und deswegen außerhalb von großen Firmen wie Google, Microsoft, Facebook und ähnlichen kaum zum Einsatz kommen. In diesem Vortrag wird eine wissenschaftliche Studie vorgestellt in der aktuelle Probleme von Fuzzern vorgestellt werden sowie Lösungsansätze die Fuzzing für alle Tester ermöglichen.

Zielpublikum: Tester, Entwickler, Testmanager, Projektleiter, Entscheider
Vorraussetzungen: Grundlegende Programmierkenntnisse
Schwierigkeitsgrad: Basic

Extended Abstract:
Die Komplexität moderner Software wächst ständig und folglich wächst auch der Aufwand für Tests ständig mit. Testing ist essentiell um die Qualität und Sicherheit der Software zu gewährleisten. In den letzten Jahren haben moderne Fuzzing Techniken in Industrie und Akademia sehr an Popularität gewonnen. Bei Google wurden in 2019 die meisten Schwachstellen durch fuzzing gefunden[1]. Mit Fuzzing wurden bereits 4000 Bugs im Chrome Browser gefunden. Im Gegenteil zu statische Code Analyse hat Fuzzing den großen Vorteil, dass alle gefundenen Bugs tatsächliche Bugs und keine False Positives sind. Allerdings ist das große Problem der aktuellen Fuzzer wie AFL, libFuzzer und hongFuzz, dass sie so komplex sind, dass sie sehr spezielle Security Expertise benötigen und deswegen außerhalb von großen Firmen wie Google, Microsoft, Facebook und ähnlichen kaum zum Einsatz kommen. In diesem Vortrag wird eine wissenschaftliche Studie die in Kollaboration mit der Arbeitsgruppe 'Usable Security And Privacy' der Uni Bonn durchgeführt wurde vorgestellt. Die Studie zeigt Benutzbarkeitsprobleme von aktuellen Fuzzern und erklärt warum der Einsatz bisher nicht weiter verbreitet ist. Darauf aufbauend werden Techniken vorgestellt mit denen Fuzzing  benutzerfreundlicher und effektiver gestaltet werden können. Das Ziel dabei ist, Fuzzing im Softwareentwicklungs- und Testingprozess zu integrieren und automatisieren, sodass ohne besondere Expertise Schwachstellen früh gefunden werden können. Zentrale Inhalte sind:

  • Semi-automatisierte Generierung von Fuzz Tests
  • Buildsystem-agnostisches Kompilieren von Code für Fuzzing
  • Structure-aware fuzzing um tiefe Bugs zu finden
  • Automatisches Testing von Netzwerkschnittstellen
  • Unassisted Fuzzing von REST APIs
  • Integration von Fuzzing in CI/CD
  • Intuitive Monitoring und Analyse von gefundenen Bugs.

Der Vortrag wird zeigen wie mit diesen Techniken Tests deren Einrichtung bisher erhebliche Expertise und Zeit benötigten, innerhalb von wenigen Minuten erstellt werden können und so Fuzzing ein Werkzeug für alle Tester werden kann.

 

  • Semi-automatisierte Generierung von Fuzz Tests
  • Buildsystem-agnostisches Kompilieren von Code für Fuzzing
  • Structure-aware fuzzing um tiefe Bugs zu finden
  • Automatisches Testing von Netzwerkschnittstellen
  • Unassisted Fuzzing von REST APIs
  • Integration von Fuzzing in CI/CD
  • Intuitive Monitoring und Analyse von gefundenen Bugs.

Der Vortrag wird zeigen wie mit diesen Techniken Tests deren Einrichtung bisher erhebliche Expertise und Zeit benötigten, innerhalb von wenigen Minuten erstellt werden können und so Fuzzing ein Werkzeug für alle Tester werden kann.