Sci Simple

New Science Research Articles Everyday

# Computerwissenschaften # Kryptographie und Sicherheit # Künstliche Intelligenz # Rechnen und Sprache

Malware und Code-Verschleierung: Die neue Frontlinie

Erforschen, wie Verschleierungstechniken die Malware-Landschaft mit LLMs umgestalten.

Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

― 8 min Lesedauer


Verschleierung: Der Verschleierung: Der sneaky Trick von Malware Erkennung zu entkommen. Wie Malware Obfuskation nutzt, um der
Inhaltsverzeichnis

In der heutigen Welt sind Computerprogramme überall, und einige von diesen Programmen sind nicht gerade freundlich. Malware ist zum Beispiel der böse Bube in der Softwarewelt. Sie ist darauf ausgelegt, sich in deinen Computer zu schleichen, deine Daten zu stehlen oder allerlei andere fiese Sachen zu machen. Um es der Sicherheitssoftware schwerer zu machen, sie zu fangen, nutzen Malware-Entwickler oft einen Trick namens Code-Verschleierung.

Code-Verschleierung ist wie die Fingerfertigkeit eines Magiers. So wie ein Magier die Dinge anders und verwirrend aussehen lässt, um das Publikum zu täuschen, macht die Code-Verschleierung den ursprünglichen Code eines Programms anders, um die Sicherheitssoftware zu verwirren. Auf diese Weise wird es viel schwieriger zu beweisen, dass ein Programm Malware ist, selbst wenn jemand Verdacht schöpft.

Die Rolle grosser Sprachmodelle (LLMs)

Jetzt haben wir etwas Neues auf dem Plan: grosse Sprachmodelle, kurz LLMs. Das sind fortschrittliche KI-Systeme, die auf riesigen Mengen an Text und Code trainiert wurden. Sie haben das Potenzial, Code zu erstellen, zu ändern und sogar zu verschleiern, fast wie ein hilfreicher kleiner Elf in einer Programmierwerkstatt.

Stell dir eine Situation vor, in der anstatt dass ein Malware-Entwickler allein an einem Verschleierungsproblem arbeitet, er einfach ein LLM um Hilfe bitten kann. Das LLM kann schnell neue, verschleierte Versionen des Codes erzeugen, was es Malware-Autoren erleichtert, schwer zu erkennbare Malware zu erstellen.

Was ist MetamorphASM?

Das führt uns zu einem Projekt namens MetamorphASM. Dieses Projekt ist im Grunde ein Rahmen, der entwickelt wurde, um zu testen, wie gut LLMs Code-Verschleierung durchführen können. Denk daran wie an einen grossen Spielplatz, wo KI auf Cyber-Tricks trifft!

Das MetamorphASM-Projekt enthält einen Datensatz, der als MetamorphASM-Datensatz (MAD) bekannt ist. Dieser Datensatz besteht aus 328.200 Beispielen von verschleiertem Assembly-Code, der analysieren soll, wie effektiv LLMs komplizierte, verworrene Code-Strukturen erstellen und verstehen können.

Warum ist Code-Verschleierung wichtig?

Du fragst dich vielleicht, warum sich Malware-Autoren überhaupt mit Verschleierung abplagen. Die Antwort lässt sich auf ein Versteckspiel reduzieren. Sicherheitssoftware verlässt sich oft darauf, bekannte Malware-Signaturen zu identifizieren, um böse Software zu fangen. Wenn der Malware-Code bei jedem Lauf anders aussieht, wird es für die Sicherheitsprogramme schwieriger, ihn zu erkennen. Im Grunde schützt altmodische Täuschung die Malware vor neugierigen Blicken.

Verschiedene Techniken der Code-Verschleierung

Es gibt mehrere Techniken zur Code-Verschleierung. Lass uns ein paar davon ansehen, und ja, sie beinhalten ein wenig Programmiermagie:

1. Einfügen von totem Code

Stell dir vor, du wirfst eine Menge Ablenkungen in einen Kriminalroman. Totenkodierung ist genau das. Es geht darum, zusätzlichen Code hinzuzufügen, der für das Programm nichts Nützliches tut. Der zusätzliche Code kann zufällige Anweisungen sein, die keinen wirklichen Zweck haben, was das ursprüngliche Programm schwieriger zu analysieren macht. Wenn Sicherheitssoftware versucht herauszufinden, was der Code macht, wird sie durch diesen nicht funktionalen Kram verwirrt.

2. Register-Austausch

Als nächstes kommt der Register-Austausch. In der Welt der Programmierung sind Register wie Werkzeugkästen. Wenn du Werkzeuge während der Reparatur austauschst, kann es schwer sein, was du tust, nachzuvollziehen. Ähnlich beim Register-Austausch ersetzt Malware die Namen von Registern durch andere Namen. Wenn der ursprüngliche Code zum Beispiel EAX (der mächtige Baumeister) verwendet, könnte er ihn in EBX (den treuen Assistenten) ändern. Die Funktion bleibt gleich, aber das Aussehen ändert sich, was es schwieriger macht, für die Sicherheitssoftware das Problem zu erkennen.

3. Steuerflussänderung

Zu guter Letzt gibt es die Steuerflussänderung. Diese Technik ändert die Reihenfolge der Anweisungen in einem Programm, während die Funktionalität erhalten bleibt. Stell dir vor, du liest ein Rezept, das ständig die Reihenfolge der Schritte ändert. Einen Moment lang mischst du Zutaten, und im nächsten backst du schon den Kuchen! Das macht es für die Sicherheitssysteme schwer zu verstehen, was die Malware vorhat, da der logische Ablauf unberechenbar und chaotisch wird.

Die Herausforderung für Sicherheitssoftware

Sicherheitssoftware oder Anti-Viren-Programme arbeiten unermüdlich daran, unsere Geräte zu schützen. Doch je kreativer Malware-Autoren mit der Verschleierung werden, desto schwieriger wird diese Aufgabe. Je komplexer und vielfältiger die Verschleierungstechniken sind, desto herausfordernder ist es für die Sicherheitsprogramme, sie zu entdecken.

Hier kommt das MetamorphASM-Projekt ins Spiel. Es zielt darauf ab zu untersuchen, wie gut LLMs mit Verschleierung umgehen können. Wenn LLMs lernen können, verschleierten Code zu generieren, dann können sie auch ein Werkzeug für Sicherheitsforscher sein, um Malware entgegenzuwirken.

Wie funktioniert MetamorphASM?

Der erste Schritt im MetamorphASM-Projekt bestand darin, einen grossen Datensatz von Assembly-Code zu sammeln. Dieser Code wurde aus verschiedenen Softwareprogrammen gesammelt, speziell aus solchen, die auf Windows-Systemen laufen. Nachdem der Datensatz gesammelt war, durchlief er einen Reinigungsprozess, um unnötige Teile zu entfernen und nur wertvolle Codeabschnitte zu behalten.

Anschliessend wurde der Assembly-Code mit den drei oben genannten Techniken verschleiert: Einfügen von totem Code, Register-Austausch und Steuerflussänderung. Diese transformierten Snippets wurden dann strukturiert gespeichert, um sie weiter zu analysieren.

LLMs treffen auf Malware-Verschleierung

Die nächste Phase des MetamorphASM-Projekts bestand darin, zu testen, wie verschiedene LLMs beim Generieren von verschleiertem Code abschnitten. Verschiedene Modelle wurden getestet, einige waren Open Source, andere proprietär. Das Ziel war es herauszufinden, welche Modelle am besten für die Aufgabe geeignet waren.

Die Forscher erstellten Benchmarks zur Bewertung der LLMs, wobei sie sowohl automatische Metriken als auch manuelle Bewertungen berücksichtigten. Sie massen, wie gut die LLMs verschleierten Code generieren konnten und überprüften, wie ähnlich dieser Code der Originalversion war. Die Ergebnisse zeigten, dass einige LLMs, wie GPT-4o-mini, sich als effektiv beim Erstellen von verschleiertem Assembly-Code erwiesen.

Experimentelle Ergebnisse

Interessanterweise wurde festgestellt, dass nicht alle Modelle gleich gut waren, als sie in Bezug auf die Leistung dieser Modelle bewertet wurden. Einige LLMs schnitten bei bestimmten Verschleierungstechniken hervorragend ab, während sie bei anderen Schwierigkeiten hatten. Zum Beispiel, während ein Modell beim Einfügen von totem Code hervorragend war, könnte es beim Register-Austausch schwächeln.

Die Forscher hoben hervor, dass die Effektivität dieser Modelle je nach verwendeter Technik erheblich variierte. Das bedeutete, dass während einige Modelle mächtige Generalisten sein könnten, sie nicht immer die besten Verschleierer für jedes Szenario wären.

Auswertung der Ergebnisse

Um die Qualität der von den LLMs durchgeführten Verschleierung zu bewerten, verwendeten die Forscher zwei Hauptmethoden: Delta Entropie und Kosinus-Ähnlichkeit. Delta Entropie misst, wie stark sich die Komplexität des ursprünglichen Codes verändert hat, während die Kosinus-Ähnlichkeit misst, wie eng der generierte Code dem Original ähnelt.

Die Ergebnisse zeigten, dass es wichtig ist, ein gewisses Mass an Delta Entropie und Kosinus-Ähnlichkeit aufrechtzuerhalten. Wenn der Code zu komplex oder zu ähnlich wird, könnte er entweder seine Funktionalität verlieren oder nicht genug verschleiert sein, um die Sicherheitssoftware zu täuschen.

Auswirkungen auf die Cybersicherheit

Mit dem Wissen aus dem MetamorphASM-Projekt können Sicherheitsforscher besser verstehen, wie LLMs in Zukunft sowohl für gute als auch für schlechte Zwecke eingesetzt werden können. Einerseits können LLMs helfen, fortschrittliche Verschleierungstechniken zu entwickeln, was bedeutet, dass Malware-Autoren kompliziertere Bedrohungen schaffen könnten. Andererseits können Sicherheitsforscher dieselbe Technologie nutzen, um effektive Wege zu finden, diesen Bedrohungen entgegenzuwirken.

Das ultimative Ziel dieser Forschung ist es, eine sicherere digitale Umgebung zu schaffen. Indem sie die Fähigkeiten von LLMs verstehen, können Experten bessere Erkennungsmethoden und Gegenmassnahmen entwickeln, um die Verschleierungstricks der Malware zu bekämpfen.

Zukunftsperspektiven

Während diese Forschung weiter voranschreitet, sieht die Zukunft sowohl für Malware-Entwickler als auch für Cybersicherheitsexperten vielversprechend aus. Die zweischneidige Natur von LLMs bedeutet, dass während diese KI-Modelle zu skurriler, schwer zu erkennender Malware führen könnten, sie gleichzeitig die Sicherheitsteams in die Lage versetzen können, diese Herausforderungen effektiv zu bekämpfen.

Während die Forscher tiefer in dieses Land der LLMs und der Verschleierung eintauchen, wer weiss, welche anderen pfiffigen Tricks als Nächstes aus dem Programmierhut kommen? Vielleicht eines Tages könnten wir sogar KI trainieren, um ein exzellenter Detektiv zu werden, der die lästigen Malware-Diebe findet, die sich im Schatten verstecken, während sie denken, sie führen den ultimativen Zaubertrick vor.

Fazit

Im laufenden Kampf zwischen Malware und Cybersicherheit dient die Code-Verschleierung als raffinierte Technik, um Malware verborgen zu halten. Die Einführung von LLMs fügt dieser Auseinandersetzung eine neue Dimension hinzu und bietet sowohl Bedrohungen als auch Werkzeuge für Sicherheitsexperten. Durch Projekte wie MetamorphASM ebnen die Forscher den Weg zu einem besseren Verständnis dieser Dynamiken und streben danach, im digitalen Katz-und-Maus-Spiel immer einen Schritt voraus zu sein. Während die Welt sich mehr auf Technologie verlässt, wird sich dieser Kampf wahrscheinlich weiterentwickeln und zu spannenden, und vielleicht sogar lustigen, Ergebnissen in der sich ständig verändernden Landschaft der Cybersicherheit führen.

Originalquelle

Titel: Can LLMs Obfuscate Code? A Systematic Analysis of Large Language Models into Assembly Code Obfuscation

Zusammenfassung: Malware authors often employ code obfuscations to make their malware harder to detect. Existing tools for generating obfuscated code often require access to the original source code (e.g., C++ or Java), and adding new obfuscations is a non-trivial, labor-intensive process. In this study, we ask the following question: Can Large Language Models (LLMs) potentially generate a new obfuscated assembly code? If so, this poses a risk to anti-virus engines and potentially increases the flexibility of attackers to create new obfuscation patterns. We answer this in the affirmative by developing the MetamorphASM benchmark comprising MetamorphASM Dataset (MAD) along with three code obfuscation techniques: dead code, register substitution, and control flow change. The MetamorphASM systematically evaluates the ability of LLMs to generate and analyze obfuscated code using MAD, which contains 328,200 obfuscated assembly code samples. We release this dataset and analyze the success rate of various LLMs (e.g., GPT-3.5/4, GPT-4o-mini, Starcoder, CodeGemma, CodeLlama, CodeT5, and LLaMA 3.1) in generating obfuscated assembly code. The evaluation was performed using established information-theoretic metrics and manual human review to ensure correctness and provide the foundation for researchers to study and develop remediations to this risk. The source code can be found at the following GitHub link: https://github.com/mohammadi-ali/MetamorphASM.

Autoren: Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

Letzte Aktualisierung: 2024-12-24 00:00:00

Sprache: English

Quell-URL: https://arxiv.org/abs/2412.16135

Quell-PDF: https://arxiv.org/pdf/2412.16135

Lizenz: https://creativecommons.org/licenses/by/4.0/

Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.

Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.

Mehr von den Autoren

Ähnliche Artikel