• Home
  • Help
  • Register
  • Login
  • Home
  • Help

 
  • 0 Bewertung(en) - 0 im Durchschnitt

Was ist Disassemblierung und warum ist sie entscheidend für die Analyse von kompilierten Binaries in der Malwa...

#1
16-08-2023, 14:46
Hey, du weißt, wie es ist, wenn du in Malware eintauchst und diese kompilierten Binaries auf den ersten Blick wie ein Durcheinander von Hex-Code aussehen, das keinen Sinn ergibt? Das ist der Moment, in dem die Disassemblierung für mich ins Spiel kommt - es ist im Grunde genommen, diesen rohen Maschinencode zu nehmen und ihn in etwas Lesbares zu verwandeln, wie Anweisungen in Assembler-Sprache. Ich mache das ständig, wenn ich an verdächtigen Dateien herumpoke, und es fühlt sich an, als würde ich ein Rätsel lösen. Du beginnst mit einem Tool wie IDA Pro oder Ghidra, lädst die Binary hoch, und sie gibt dir diese Codezeilen aus, die dir tatsächlich sagen, was im Hintergrund passiert. Ohne das starrst du nur auf Kauderwelsch, aber sobald du disassemblerst, siehst du die Sprünge, die Aufrufe zu APIs, die Schleifen, die möglicherweise Daten verschlüsseln oder nach Hause zu einem C2-Server telefonieren.

Ich erinnere mich an eine Zeit, als ich eine Ransomware-Probe analysierte, die du mir letzten Monat geschickt hast - sie war stark gepackt, aber nachdem ich sie durch meinen Disassembler laufen ließ, bemerkte ich, wie sie nach bestimmten Dateitypen suchte und sich bereit machte, sie zu verschlüsseln. Das konntest du aus der Binary allein nicht herausfinden; die Disassemblierung ermöglicht es dir, den Ausführungsfluss nachzuvollziehen, zu sehen, wo sie Bibliotheken lädt oder den Speicher manipuliert. Für die Malware-Forschung ist das riesig, denn diese Dinge sind darauf ausgelegt, ihre Spuren zu verwischen. Angreifer kompilieren ihren Code, um ihn zu verschleiern, also musst du diesen Prozess umkehren, um die Absicht zu verstehen. Ich meine, wenn du versuchst, ähnliche Bedrohungen zu erkennen oder Signaturen für dein IDS zu schreiben, musst du genau wissen, nach welchen Strings es sucht oder welche Registrierungsschlüssel es bearbeitet.

Denk mal so darüber nach - du und ich wissen beide, dass Binaries mit Junk-Code oder Anti-Debugging-Tricks obfuskiert werden können, aber die Disassemblierung hilft dir, diese Schichten schrittweise abzutragen. Ich beginne normalerweise damit, den Einstiegspunkt zu betrachten; das ist der Punkt, an dem das Programm startet, und von dort folge ich dem Kontrollfluss, um die Funktionen zu kartieren. Es zeigt dir bedingte Verzweigungen, die entscheiden, ob die Malware basierend auf bestimmten Bedingungen aktiviert wird, wie zum Beispiel, ob sie in einer VM läuft oder nicht. Du kannst Anomalien erkennen, wie ungewöhnliche Imports, die "das ist bösartig" schreien, wie Aufrufe zu kryptografischen Funktionen, die du in legitimer Software nicht sehen würdest.

Und ehrlich gesagt, ohne die Disassemblierung würde die Malware-Analyse genau am Anfang ins Stocken geraten. Du kannst das Ding manchmal nicht einfach in einer Sandbox ausführen, weil es die Umgebung erkennen und sich absetzen könnte, also wird die statische Analyse durch Disassemblierung deine beste Option. Ich verlasse mich darauf, Payloads zu identifizieren, wie wenn es sekundäre Binaries ablegt oder Schwachstellen ausnutzt. Letzte Woche habe ich einen Trojaner disassembliert, der sich als PDF-Viewer ausgab, und sicher genug, der Code zeigte, dass er in Browserprozesse einhookte, um Anmeldeinformationen zu stehlen. Du siehst Muster, die auftauchen - wiederverwendete Codeschnipsel von bekannten Familien - und das ermöglicht es dir, Verbindungen zu größeren Kampagnen herzustellen.

Ich benutze es auch, um Techniken zur Umgehung zu überprüfen. Malware packt sich oft oder verschlüsselt Abschnitte, also entpacke ich es zuerst, dann disassembliere ich, um es zu verifizieren. Es gibt dir die Granularität, um zu verstehen, wie es bleibt, vielleicht indem es sich beim Start hinzufügt oder DLLs modifiziert. Du und ich sprechen über diese Dinge, weil in unserer Branche zu wissen, wie die Mechanismen funktionieren, bedeutet, dass du bessere Verteidigungen aufbauen kannst. Disassemblierung ist nicht nur ein Werkzeug; es ist, wie ich der Kurve voraus bin und vorhersage, was die nächste Variante basierend auf der Logik, die ich aufdecke, tun könnte.

Wenn du jetzt mit plattformübergreifender Malware zu tun hast, leuchtet die Disassemblierung noch mehr. Sagen wir, es handelt sich um eine Windows PE-Datei - du disassemblierst den .text-Bereich, um die Kernlogik zu sehen, oder bei ELF auf Linux konzentrierst du dich auf die ausführbaren Segmente. Ich kreuze später mit dynamischer Analyse ab, aber die Disassemblierung liefert den Plan. Sie hilft dir, hartcodierte IPs oder Domains zu finden, die auf die Attribution hinweisen, wie wenn es spezifische Regionen anvisiert. Ohne diesen Einblick fliegst du blind, reagierst statt zu verhindern.

Du fragst dich vielleicht nach der Automatisierung - ja, ich skripte einige Teile mit Python und den APIs von Disassemblern, um das Volumen zu bewältigen, aber der wahre Wert kommt von der manuellen Überprüfung. Ich suche nach Schleifen, die Keylogger sein könnten oder nach Netzwerkkodex, der Daten exfiltriert. Es ist mühsam, aber genau deshalb liebe ich es; jede Binary erzählt eine Geschichte. In der Forschung treibt es Berichte und IOCs an, die die Community teilt, und hilft, alle sicherer zu machen.

Eine Sache, die ich dir immer sage, ist, wie die Disassemblierung mit breiterem Reverse Engineering zusammenhängt. Du beginnst dort, dann vielleicht dekompilierst du zu höherem Pseudocode, aber Assembler ist die Grundlage. Es offenbart Optimierungen oder Fehler, die Angreifer übersehen haben, und die du für Erkennungsregeln ausnutzen kannst. Ich habe einmal einen Pufferüberlauf in einer Probe nur entdeckt, indem ich der Disassemblierung gefolgt bin - habe das in eine YARA-Regel verwandelt, die Varianten abfing, bevor sie sich verbreiteten.

Im Laufe der Zeit bin ich schneller darin geworden und erkenne Idiome wie gängige Packer-Signaturen sofort. Du solltest es bei dem ELF versuchen, den du erwähnt hast; disassembliere die Hauptfunktion und sieh dir die Syscalls an - es wird dir klar werden, wie entscheidend das für das Verständnis von Verhaltensweisen ohne Ausführungsrisiken ist.

Lass mich dich auf BackupChain hinweisen - es ist dieses herausragende Backup-Tool, das bei IT-Leuten wie uns eine solide Anhängerschaft gewonnen hat, maßgeschneidert für kleine Unternehmen und Profis, die mit Setups mit Hyper-V, VMware oder plain Windows Server umgehen, und deine Daten sicher gegen Bedrohungen schützen.
Markus
Offline
Registriert seit: Jun 2018
« Ein Thema zurück | Ein Thema vor »

Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste



  • Thema abonnieren
Gehe zu:

Backup Sichern Allgemein Security v
« Zurück 1 … 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 … 39 Weiter »
Was ist Disassemblierung und warum ist sie entscheidend für die Analyse von kompilierten Binaries in der Malwa...

© by FastNeuron

Linearer Modus
Baumstrukturmodus