Detection of Cryptographic Functions in Binaries - Evaluation of the Tool CryptoHunt

Bachelor-Studiengang IT Security

Stefan Schweighofer, BSc

Betreuer: Dipl.-Ing. Patrick Kochberger, Bsc

Ausgangslage

Über die letzten Jahre hinweg stieg die Popularität von „Ransomware“ im Malware Bereich stark an, was zur Folge hatte, dass auch die Zahl der Betroffenen zugenommen hat. „Ransomware“ ist eine Kategorie von Malware, welche Daten von Betroffenen mit kryptographischen Verfahren verschlüsselt und anschließend Lösegeld für die Entschlüsselung fordert.

Zudem stehen Malware-Analystinnen und -Analysten oft vor der Herausforderung, dass eine Vielzahl an unterschiedlichen Programmen untersucht werden müssen. Dies bedeutet, dass die Entwicklung von entsprechenden Gegenmaßnahmen gegen unbekannte Arten von „Ransomware“ einige Zeit in Anspruch nehmen kann und eine zum Teil automatisierte Analysemethode von großer Wichtigkeit ist.

Eines der automatisierten Analyseprogramme, welches über die letzten Jahre in diesem Bereich entwickelt wurde, ist „CryptoHunt“. Mit „CryptoHunt“ ist es möglich über unbekannte Programme zu urteilen und festzustellen, ob ein unbekanntes Programm eine kryptographische Funktion benutzt und um welche es sich handelt.

Diese Arbeit beschäftigt sich mit dem Programm „CryptoHunt“ und versucht dieses in einer Testumgebung zu evaluieren.

Ziel

Das Ziel dieser Arbeit ist es, festzustellen wie gut „CryptoHunt“ bestimmte kryptographische Funktionen in Binärprogrammen erkennen kann. Dabei wird die Testumgebung in der „CryptoHunt“ ursprünglich getestet wurde nachgestellt und eine neue Testumgebung mit neuen Software Versionen aufgebaut.

Die Ergebnisse aus beiden Testumgebungen sollen anschließend verglichen werden, um festzustellen, ob es Unterschiede gibt und wie die Ergebnisse im Vergleich zu den Tests von „CryptoHunt“ aussehen.

Ergebnis

Beide Testumgebungen wurden erfolgreich aufgebaut und die darauf aufbauenden Tests wurden mit unterschiedlichen kryptographischen Algorithmen durchgeführt.

Abschließend wurde ein großer Vergleich zwischen den Ergebnissen der Tests erstellt, wobei einige Unterschiede zwischen den Testumgebungen festgestellt werden konnten.

Zudem stellte sich durch die Ergebnisse heraus, dass „CryptoHunt“ gut in bestimmten Situationen funktioniert, aber dass es auch noch zu einigen Herausforderungen bei der Erkennung von kryptographischen Funktionen kommen kann.