conference logo
Easterhegg 2019

Playlist "Easterhegg 2019"

Black-Box Live Protocol Fuzzing

Timo Ramsauer

Ohne viel Aufwand ganze IoT Systeme testen. Das verspricht Black-Box Live Protocol Fuzzing. Der Fuzzer hängt sich in die Kommunikation und ändert diese auf dem Weg um Schwachstellen aufzudecken.

Fuzzing ist eine automatische Testmethode. Eine hohe Anzahl an Tests wird automatisch generiert und an ein Zielsystem geschickt. Fuzzing sollte Teil eines Zuverlässigkeitstests sein. Gerade für IoT-Geråte liegt oft kein Quellcode vor und Binaries sind nur schwer zu extrahieren. Weiterhin kann mit begrenztem Aufwand oft nur auf die Netzwerkschnittstellen zugegriffen werden. Dieser Talk stellt einen Black-box Fuzzer vor, welcher Netwerkverkehr zwischen zwei oder mehr Systemen veråndert. Er basiert darauf, dass das Protokoll bekannt ist um bessere Testfålle zu generieren. Der Fuzzer muss allerdings nicht selber das Protokoll beherschen, sondern verlåsst sich darauf, dass die zu testenden Systeme ausreichend Traffic generieren. Um die Datenfelder aus den Paketen zu extrahieren wird Scapy genutzt, sodass viele Protokolle out of the box unterstüzt werden. Das Fuzzing selber wird von general-purpose Fuzzern wie Radamsa unterstützt.