Automated Malware Analysis with Language Explanation for Consumers
Amplec ist ein Projekt, das eine zentrale Frage beantwortete: „Wie können wir Ergebnisse aus der Malware-Analyse für Analysten - und in der Folge auch für Endnutzer - leichter zugänglich und effizienter verwertbar machen?“ Das Projekt war Teil meiner Bachelorarbeit und wurde von Prof. Dr. Roland Hellmann an der Hochschule Aalen betreut. Für die Arbeit und das Projekt erhielt ich die Note 1,1 (Sehr Gut).
Das Projekt entstand in Zusammenarbeit mit dem Threat Intelligence Team der Deutschen Telekom Security GmbH.
Zum GitHub-RepositoryFunktionen #
-
Automatisierte Interpretation Nutzt ein LLM, um Malware-Analyseergebnisse in natürlicher Sprache zu interpretieren und zu erklären.
-
Nutzerinteraktion über Prompts Bietet vordefinierte Prompts an, damit Nutzer schnell relevante Interpretationen auswählen können.
-
Dynamische Datenverarbeitung Geht mit sich verändernden Daten aus der Malware-Analyse um und passt sich neuen Bedrohungen und Änderungen in der Pipeline an.
-
Systemintegration Lässt sich mithilfe von APIs (Python, Flask) nahtlos in bestehende Systeme einbinden.
-
Optionale erweiterte Funktionen
- Retrieval Augmented Generation (RAG): Fügt Kontext aus externen Datenquellen hinzu.
- Function Calling: Ermöglicht es dem LLM, weitere Analyseprozesse auszulösen.
- Offenes Prompting: Erlaubt Nutzern, eigene Prompts zu erstellen und so mehr Flexibilität zu gewinnen.
Überblick über die Implementierung #
-
Architektur
- Drei Hauptkomponenten: das Karton-Malware-Analyse-System, das LLM und ein Webinterface/eine API.
- Das LLM interpretiert die Analyseergebnisse und kommuniziert mit dem Webinterface.
-
Kommunikation zwischen Systemen Die verschiedenen Komponenten sind mittels Python-basierter APIs miteinander verknüpft.
-
LLM-Implementierung
- Auswahl und Konfiguration eines lokalen LLM-Modells.
- Nutzung von Langchain, um Aktionen zu integrieren und eine potenzielle RAG-Erweiterung bereitzustellen.