Malware & Reverse Engineering

Obfuscation und Anti-Analyse

Verschleierungstechniken wie Garbage Insertion, Register Renaming, Code Reordering, Packer, Anti-Disassembly und polymorphe Malware.

Obfuscation und Anti-Analyse

Obfuscation bedeutet Verschleierung. Malware nutzt Verschleierung, um Erkennung und Analyse zu erschweren.

Ziel ist, die Lebensdauer der Malware zu verlängern, Signaturen zu umgehen und Analysewerkzeuge zu verwirren.

Warum Verschleierung?

Viele Erkennungsverfahren suchen nach Mustern:

  • bekannte Bytefolgen
  • Strings
  • Imports
  • Sektionsnamen
  • charakteristische Codeabschnitte
  • bekannte Packer

Wenn Malware diese Muster verändert, wird Erkennung schwieriger.

Garbage Insertion

Bei Garbage Insertion werden zusätzliche Befehle eingefügt, die die Bedeutung des Programms nicht ändern.

Beispielidee:

  • zusätzliche nop-Instruktionen
  • unnötige Rechenoperationen
  • Code, der nie erreicht wird

Die Semantik bleibt gleich, aber einfache Signaturen passen nicht mehr.

Register Renaming

Bei Register Renaming werden Register vertauscht, ohne die Programmlogik zu verändern.

Das erschwert Signaturen, die auf konkrete Registerfolgen achten.

Wichtig ist, dass Funktionsaufrufe und Konventionen weiterhin korrekt bleiben.

Code Reordering

Bei Code Reordering wird Code in Blöcke zerlegt und anders angeordnet.

Sprünge verbinden die Blöcke wieder in der richtigen Reihenfolge.

Für Menschen und Analysewerkzeuge wirkt der Code dadurch unübersichtlicher.

Entry Point Obfuscation

Der Entry Point ist die Stelle, an der ein Programm startet.

Bei Entry Point Obfuscation wird Schadcode nicht direkt offensichtlich am Start platziert, sondern in bestehende Programmlogik eingebettet.

Das erschwert einfache Scanner, die vor allem den Bereich rund um den Einstiegspunkt untersuchen.

Verschlüsselung und Komprimierung

Malware kann ihren eigentlichen Schadcode:

  • verschlüsseln
  • komprimieren
  • erst zur Laufzeit entpacken
  • erst zur Laufzeit entschlüsseln

Dadurch sind Strings, Imports und Codebereiche in der Datei zunächst nicht sichtbar.

Packer und Crypter

Packer und Crypter verändern die äußere Form einer Datei.

Folgen:

  • Strings sind nicht direkt lesbar
  • Imports wirken unvollständig
  • Sektionen haben ungewöhnliche Namen
  • Entropie steigt
  • Disassembly zeigt zunächst nur Entpackungslogik

Anti-Disassembly

Anti-Disassembly-Techniken versuchen, Disassembler zu verwirren.

Möglichkeiten:

  • ungültige oder ungewöhnliche Opcodes
  • Sprünge mitten in Bytefolgen
  • absichtlich verwirrende Kontrollflüsse
  • Code und Daten vermischen

Ziel ist, dass Analysewerkzeuge falschen oder unvollständigen Code anzeigen.

Polymorphe Malware

Polymorphe Malware verändert bei jeder Ausführung oder Infektion Teile ihres Codes.

Oft kombiniert sie:

  • Verschlüsselung
  • wechselnde Entschlüsselungsroutinen
  • Garbage Insertion
  • Register Renaming
  • Code Reordering

Dadurch sieht jedes Sample anders aus, obwohl die Funktion ähnlich bleibt.

Metamorphe Malware

Metamorphe Malware geht noch weiter: Nicht nur eine Entschlüsselungsroutine verändert sich, sondern der gesamte Schadcode wird strukturell umgebaut.

Das ist für Angreifer aufwendig, aber für Analyse und Erkennung besonders schwierig.

Geteilte Malware

Manche Malware wird in mehrere Teile zerlegt und erst auf dem Zielsystem zusammengesetzt.

Das kann einfache Transport- oder Netzwerkprüfungen erschweren.

Merksatz

Obfuscation macht Malware nicht automatisch mächtiger. Sie macht sie schwerer lesbar, schwerer erkennbar und schwerer eindeutig zu signieren.

Zuletzt aktualisiert: 6. Juni 2026