Verbesserung von Poweranalyse-basiertem Reverse Engineering mit Hilfe von Fuzzing
Abschlussarbeit (Bachelor)
Authors
Diepold, Simon
Referee
Kargel, FrankVan der Heijden, Rens Wouter
Faculties
Fakultät für Ingenieurwissenschaften, Informatik und PsychologieInstitutions
Institut für Verteilte SystemeExternal cooperations
SCHUTZWERK GmbHAbstract
Ein Mikrocontroller verbraucht beim Ausführen von unterschiedlichen Maschineninstruktionen unterschiedlich viel Strom, weil verschiedene Teilnetze des Chips aktiv sind. Die Aktivitätsdauer dieser Teilnetzte variiert ebenfalls pro Instruktion. Dabei entsteht für unterschiedliche Instruktionen ein charakteristisches Muster auf der Stromverbrauchskurve, die in dieser Arbeit als Templates bezeichnet werden. Solche Templates wurden für ausgewählte Instruktionen exemplarisch aufgenommen, um ein Programm anhand seines Stromverbrauches rekonstruieren zu können. Die Templates wurden hierfür in drei Klassen unterteilt und qualitativ untersucht. Zwischen den Templates der unterschiedlichen Instruktionsklassen wurde eine gut ausgeprägte Trennschärfe im Vergleich zu den Templates innerhalb einer Klasse festgestellt. Durch Korrelation von Sprunginstruktionen konnte der gemessene Stromverlauf in Ausführungsblöcke unterteilt und in einem Programmflussgraphen modelliert werden. Damit möglichst große Teile eines Programms analysiert werden können, wurde ein Fuzzer entwickelt, der versucht eine größtmögliche Zahl an Programmpfaden auszulösen und somit die Codeabdeckung der Analyse zu steigern. Mit dem Programmflussgraphen als Feedbackinformation war es möglich, dass der Fuzzer in den getesteten Fällen eine bessere Codeabdeckung als ein rein zufallsbasierter Fuzzer erzielen konnte.
Date created
2019
Funding information
SecForCars / BMBF [16KIS0797]
Subject Headings
Computersicherheit [GND]Eingebettetes System [GND]
Seitenkanalattacke [GND]
Reverse Engineering [GND]
Data protection [LCSH]
Embedded computer systems [LCSH]
Reverse engineering [LCSH]
Electronic data processing [LCSH]
Keywords
IT-Sicherheit; Eingebettete Systeme; Power Analyse; SeitenkanalangriffDewey Decimal Group
DDC 004 / Data processing & computer scienceDDC 620 / Engineering & allied operations
Metadata
Show full item recordCitation example
Diepold, Simon (2020): Verbesserung von Poweranalyse-basiertem Reverse Engineering mit Hilfe von Fuzzing. Open Access Repositorium der Universität Ulm. http://dx.doi.org/10.18725/OPARU-28984