Kollaborative Code- und Ähnlichkeitsanalyse

MinHash-based Code Relationship & Investigation Toolkit (MCRIT)

Die Analyse von Schadsoftware ist eine zentrale Aufgabe der Cyberabwehr. Dabei müssen Informationen über Funktionalität, Schadenspotenzial und mögliche Tätergruppen schnell erschlossen und eingegrenzt werden. Verfahren zur Erkennung und Bewertung von Codeähnlichkeit sind hierfür essenziell. Am Fraunhofer FKIE wurde dazu im Rahmen mehrjähriger Forschung das MinHash-based Code Relationship & Investigation Toolkit (MCRIT) entwickelt. Das Werkzeug unterstützt Zusammenarbeit, überwindet bisherige Analysegrenzen in Ermittlungen und wird in enger Kooperation mit der Bundespolizei (BPol) in realen Fällen erprobt und weiterentwickelt. Anhand konkreter Fallstudien werden gemeinsam mit der BPol typische Einsatzszenarien und der Mehrwert von MCRIT vorgestellt.

Cybercrime in Deutschland – Zahlen und Herausforderungen

Das Bundeskriminalamt (BKA) verzeichnet im Bundeslagebild 2022 mehr als 130.000 Fälle von Cybercrime. Die Bitkom beziffert die dadurch entstandenen Schäden auf 203 Milliarden Euro. In nahezu allen Vorfällen kommt Schadsoftware zum Einsatz, deren Entwicklung aufwendig ist und die daher in mehreren Operationen oder Kampagnen wiederverwendet wird. Zahlreiche Fallbeispiele belegen, dass Malware-Entwickler dazu neigen, Quellcode ganz oder teilweise zu recyceln und charakteristische Designentscheidungen über Projekte hinweg beizubehalten. Diese Eigenheiten dienen als wertvolle Spuren zur Identifikation von Urhebern oder Tätern. Die zentrale Herausforderung: Schadsoftware liegt typischerweise nur als Binärcode vor.

 

Forschungsgrundlage: Malpedia und Code-Ähnlichkeitsanalyse

Im Rahmen einer im Juli 2022 an der Universität Bonn abgeschlossenen Promotion wurden diese technischen Herausforderungen systematisch untersucht. Als Grundlage diente der Datensatz Malpedia, der Schadsoftware aus rund 15 Jahren enthält, für Detailanalysen aufbereitet ist und heute in Industrie sowie Strafverfolgung als wichtige Referenz gilt. Bestehende Methoden zur Code-Ähnlichkeitsbewertung ermöglichen in der Praxis meist nur direkte 1:1‑Vergleiche zwischen Programmen – bei großen Datenmengen ein ineffizientes Vorgehen, dass zudem voraussetzt, dass mögliche Vergleichsobjekte bereits bekannt sind.

 

MCRIT – Effiziente Erkennung von Zusammenhängen in Malware

Zur Lösung dieser Einschränkungen wurde das MinHash-based Code Relationship & Investigation Toolkit (MCRIT) entwickelt und erfolgreich evaluiert. MCRIT vergleicht ein gegebenes Programm hocheffizient mit einer gesamten Datenbank von Schadprogrammen wie Malpedia und macht so bislang unbekannte Verbindungen zwischen Schadsoftware und Tätern sichtbar. In Zusammenarbeit mit Strafverfolgungsbehörden kam MCRIT bereits in mehreren Ermittlungsverfahren zur Täteridentifizierung zum Einsatz. Eine prototypische Implementierung wurde im April 2023 auf der Konferenz Botconf vorgestellt und als Open Source veröffentlicht.

Verarbeitung von Binärcode zu für Code-Ähnlichkeit verwertbare Darstellungen.
Fallstudie BumbleBee, Clustering von Versionen und Ableitung von Entwicklungshistorie.

Zielsetzung und Ansatz

Das MinHash-based Code Relationship & Investigation Toolkit (MCRIT) wurde entwickelt, um Code-Sharing und die Nutzung von Drittanbieter-Bibliotheken in Schadsoftware systematisch sichtbar zu machen. Im Mittelpunkt stehen die effiziente Auswertung großer Datenkorpora wie Malpedia, ein verlässliches und interpretierbares Ähnlichkeitsmaß sowie die Skalierbarkeit auf viele Millionen Funktionen.

 

Technische Grundlage

Methodisch setzt MCRIT auf kompakte Repräsentationen von Funktionen, die deutlich kleiner sind als der ursprüngliche Code. Aus den Binärprogrammen werden charakteristische Merkmale abgeleitet – etwa typische Instruktionsfolgen und strukturelle Kennzahlen. Diese werden normalisiert, zusammengefasst und mittels Hashverfahren so aufbereitet, dass auch unscharfe Ähnlichkeiten erkannt werden. Die Suche erfolgt über Hash-Tabellen und sogenannte Locality-Sensitive-Hashing-Verfahren (LSH), sodass eine Funktion hocheffizient gegen eine große Datenbank von Schadprogrammen abgeglichen werden kann. Aktuell konzentriert sich MCRIT auf Vergleiche innerhalb gleicher Architektur- und Bittiefe.

 

Praxisanwendung und Ergebnisdarstellung

Für die Praxis bedeutet das: Analystinnen und Analysten können beliebige Basic Blocks, Funktionen oder ganze Samples als Anfrage stellen und erhalten eine gewichtete Übersicht, mit welchen Malware-Familien wie viele Übereinstimmungen bestehen. Dabei lassen sich eindeutig einer Familie zuzuordnende Funktionen von weitverbreitetem Bibliothekscode unterscheiden – so wird deutlich, welche Programmteile tatsächlich »familientypisch« sind und besondere Beachtung verdienen.

 

Einsatzzwecke und erweiterte Funktionen

Auf dieser Basis unterstützt MCRIT eine Reihe von Anwendungsszenarien:

  • Identifikation von Malware-Familien und -Versionen
  • Abgrenzung von Bibliothekscode und intrinsischem Code
  • Clustering großer Samplemengen
  • Spurengenerierung – etwa zu bislang unbekannten Verbindungen zwischen Familien
  • Label-Übertragung zwischen Werkzeugen und Samples für weitergehende, KI‑gestützte Analysen

Mit dem Analysemodus LinkHunt werden darüber hinaus zusammenhängende Funktionsgruppen innerhalb eines Samples identifiziert und hervorgehoben, wenn sie gemeinsam mit einer bekannten Familie übereinstimmen. Dies liefert zusätzliche Anhaltspunkte zu Urheberschaft und Funktionsumfang der untersuchten Schadsoftware.

Architekturübergreifende Ähnlichkeitssuche

Perspektivisch wird MCRIT in Richtung einer umfassenden Plattform für codebasierte Schadsoftware-Analyse ausgebaut. Ein zentrales Ziel ist die Ausweitung der Ähnlichkeitssuche auf architektur- und bitness-übergreifende Vergleiche, um etwa Desktop‑, Mobile‑ und IoT‑Malware konsistent erfassen zu können. Neben den bestehenden MinHash-basierten Verfahren kommen neue Ansätze wie Code‑Embeddings und weitere lernbasierte Techniken zur Ähnlichkeitsbewertung zum Einsatz – für robuste Ergebnisse selbst bei stark variierendem oder angepasstem Code.

 

Integration in bestehende Analyse- und Ermittlungsumgebungen

Ein weiterer Schwerpunkt liegt auf der engeren Einbindung in vorhandene Analyse‑ und Ermittlungsumgebungen. Über Plugin-Schnittstellen lässt sich MCRIT künftig einfacher mit gängigen Analysewerkzeugen, Sandboxes oder Reverse-Engineering-Tools koppeln, sodass Ähnlichkeitsinformationen direkt dort verfügbar sind, wo tagtäglich gearbeitet wird. Darauf aufbauend dient MCRIT als Indexschicht für KI-gestützte Verfahren:

  • Automatisierte Funktionsklassifikation
  • Semantisches Tagging von Fähigkeiten
  • Erkennung neuer Taktiken und Techniken (TTPs)

Diese Verfahren können so gezielt auf relevante Codebereiche angewendet werden.

 

Technische Skalierung

Bereits verfügbare Docker-Deployments werden durch gezielte Datenbankoptimierungen und verbesserte Speicherstrategien ergänzt, um auch sehr große Datenbestände performant zu verarbeiten. Langfristig ist MCRIT als skalierbare, stabil betriebene Infrastruktur konzipiert – einsetzbar in Forschung, bei Strafverfolgungsbehörden und in der Industrie.