Zum Hauptinhalt springen

AMPLEC - 1: Warum sollte ich das haben wollen?

·715 Wörter·4 min·
Amplec Ai Llm Malware Post
Inhaltsverzeichnis

Dies ist der erste Beitrag einer Reihe von Beiträgen über AMPLEC, mein aktuellstes Projekt. Weitere Details zum Projekt findest du in diesem Artikel:

Amplec
248 Wörter·2 min
Amplec Project Malware Ai Llm

Nun zum Wesentlichen:

Warum sollte man überhaupt so etwas wie Amplec haben wollen?
#

Nun - das ist eine gute Frage. Zuerst einmal denke ich, dass ich klarstellen sollte, warum ich überhaupt die Notwendigkeit gesehen habe, dieses Projekt ins Leben zu rufen.

Eine kurze Geschichte über Karton
#

Ich habe im Threat Intelligence Team der Deutschen Telekom Security gearbeitet, und wir verwendeten ein Tool namens Karton, um Malware zu analysieren. Karton ist ein Framework, welches es ermöglicht, eigene Analyse-Schritte (sog. Kartons) und Pipelines zur Analyse von Malware zu aufzubauen.

Was macht Karton nun in einer Welt bereits existierender Pipeline-Frameworks einzigartig? Nun, es ist so konzipiert, dass es nie einen statischen oder fest codierten Analyseablauf gibt. Stattdessen ist jeder Karton so programmiert, dass er sämtliche Entitäten in der Pipeline übernimmt, die bestimmten Filtern entsprechen. Das bedeutet auch, dass die Pipeline technisch gesehen mit mehr als einem Schritt „starten“ kann.

CERT-Polska/karton

Distributed malware processing framework based on Python, Redis and S3.

Python
431
47

Dies ist ein sehr mächtiges Konzept, weil es erlaubt, eine Pipeline zu bauen, die nicht nur flexibel ist, sondern sich auch von Natur aus dynamisch an unterschiedliche Ergebnisse vorheriger Schritte anpassen kann.

Allerdings würde ich nicht so sehr ins Detail gehen, wenn diese Pipeline nicht auch Nachteile mit sich brächte.

Das ursprüngliche Problem
#

Der Nachteil von Karton ist, dass die Analyseergebnisse ebenso dynamisch und unvorhersehbar sind wie der Ablauf der Pipeline selbst. Das bedeutet, dass man keinesfalls davon ausgehen kann, dass die Ergebnisse in einem bestimmten Format vorliegen oder bestimmte Informationen enthalten, während sie dennoch umfangreicher und ausführlicher sind, als es ein menschlicher Analyst in seiner begrenzten Zeit und Geduld durchschauen könnte.

Hinzu kommt, dass viele verschiedene Leute eines Teams Kartons entwickeln können, und das auch gefördert werden sollte, da sich so jeder auf sein Spezialgebiet konzentrieren kann. Das führt jedoch oft zu Analyseergebnissen, die nicht einheitlich strukturiert sind. Auch wenn das an sich nicht unbedingt ein Problem ist, macht es das Extrahieren der benötigten Informationen noch schwieriger.

An dieser Stelle habe ich angefangen darüber nachzudenken, wie ich die Ergebnisse der Analyse zugänglicher und effizienter für Analysten - und in der Folge auch für Anwender - gestalten könnte. Hier kam mir die Idee, dass ein LLM (Large Language Model) helfen könnte, die vom Analysten gewünschten Informationen aus den umfangreichen Ergebnissen zu extrahieren und zu beschreiben. So entstand die Idee für AMPLEC.

Erster großer Rückschlag und eine neue Richtung
#

Als ich das AMPLEC-Konzept zum ersten Mal mit ChatGPT getestet habe, funktionierte alles überraschend gut. Allerdings war mir klar, dass das Tool aus Datenschutz- und Sicherheitsgründen lokal laufen musste. Beim Versuch, kleinere lokal gehostete LLMs (wie Llama3.2 7B) zu verwenden, hatte ich zwischenzeitlich eher das Gefühl, eine „Halluzinationsmaschine“ als ein zuverlässiges Malware-Analyse-Tool erschaffen zu haben. Diese Erkenntnis ließ mich an der Machbarkeit meines Projekts zweifeln.

In dem Bewusstsein dieses Problems entschied ich mich, meine Bemühungen neu zu fokussieren. Anstatt einen weiteren ChatGPT-Wrapper zu entwickeln, konzentrierte ich mich darauf, die spezifischen Herausforderungen zu lösen, die bei der Arbeit mit großen Datensätzen und kleinen LLMs auftreten - insbesondere solchen, die auf jeder gewöhnlichen Maschine laufen können.

Das bedeutet auch, dass AMPLEC nun nicht nur ein Malware-Analyse-Tool ist, sondern auch eine Sammlung von Erkenntnissen und einigen neuen Ideen, wie man mit kleinen LLMs und großen, stark auf Fachwissen ausgerichteten Datensätzen umgehen kann.

Brauche ich das überhaupt?
#

Nun, ich denke, das hängt sehr von deinem Anwendungsfall ab. Wenn du bereits Karton verwendest und nach einer Möglichkeit suchst, ein LLM als Datenzugangspunkt in die Pipeline zu integrieren, ist AMPLEC definitiv einen Blick wert. Außerdem, wenn du mit dem Problem großer Datensätze, kleiner LLMs konfrontiert bist und auf ähnliche Schwierigkeiten gestoßen bist wie ich, dann findest du in diesem Projekt möglicherweise einige nützliche Ideen.

Besonders wenn du unter der begrenzten Fachkenntnis deines LLM leidest - ein häufiges Problem bei kleineren Modellen, könnte AMPLEC und die dahinterstehenden Ideen für dich interessant sein.

In den kommenden Beiträgen dieser Reihe werde ich näher auf das Projekt und die dahinterstehenden Konzepte eingehen. Ich werde die gewonnenen Erkenntnisse, die Herausforderungen, denen ich begegnet bin, sowie die Statistiken verschiedener getesteter LLMs teilen.