• Keine Ergebnisse gefunden

Verschleiernde Transformationen von Programmen

N/A
N/A
Protected

Academic year: 2021

Aktie "Verschleiernde Transformationen von Programmen"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Verschleiernde Transformationen von Programmen

Analyse und Systematisierung von Techniken zur Verschleierung von Programmmerkmalen in Malware

Michael Rex

Informationssysteme und Sicherheit Lehrstuhl VI

Fakultät für Informatik TU Dortmund

SPRING 2011

6. SIDAR Graduierten-Workshop über Reaktive Sicherheit

21. März 2011

(2)

Gliederung

1 Einleitung

2 Merkmale von Programmen 3 Transformationen

4 Experiment

(3)

Gliederung

1 Einleitung

2 Merkmale von Programmen 3 Transformationen

4 Experiment

(4)

Motivation

Malware

mal icious soft ware : jede Art von Software mit bösartigen Absichten oder Effekten

G Data Malware-Report 2. Halbjahr 2010:

1076236 neue Schädlinge aus 2608 Familien

• viele unterschiedlich aussehende Binaries

• weit weniger tatsächlich unterschiedliche Malware-Exemplare

Wodurch unterscheiden sich die Varianten?

(5)

Gliederung

1 Einleitung

2 Merkmale von Programmen 3 Transformationen

4 Experiment

(6)

Was sind Merkmale?

Merkmale

bestimmte (statische oder dynamische) Eigenschaften eines Programms

• Zeichenketten im Binary

• Strukturen des Programmcodes

• Laufzeitverhalten

• . . .

Merkmalsausprägung

konkrete Instanz eines Merkmals

(7)

Kategorien

Merkmale eingeteilt in 4 Kategorien:

• Erscheinungsbild

• Kontrollflussgraph

• Verhalten

• Funktionalität

(8)

Gliederung

1 Einleitung

2 Merkmale von Programmen 3 Transformationen

4 Experiment

(9)

Was sind Transformationen?

Transformationen

Techniken, um durch Veränderungen von Merkmalsausprägungen unterschiedliche Samples eines Programms zu erzeugen

verhaltenserhaltend :

verändert lediglich das Erscheinungsbild (Bytefolgen im Binary) des Programms, ohne die tatsächlich ausgeführten Aktionen zu verändern

funktionalitätserhaltend :

verändert neben dem Erscheinungsbild auch das Verhalten

(Systemaufrufe) des Programms, wobei das neue Verhalten

dieselben Auswirkungen hat wie das ursprüngliche

(10)

Anwendungen von Transformationen

• Komprimierung

• Schutz vor Reverse Engineering

• Lizenzmanagement

• . . . aber auch:

• verstecken vor Anti-Virus-Software (verschleiern von Merkmalen)

• komplizierteres Reverse Engineering der Malware

• kompliziertere Signaturerstellung

• . . .

(11)

Anwendungen von Transformationen

• Komprimierung

• Schutz vor Reverse Engineering

• Lizenzmanagement

• . . . aber auch:

• verstecken vor Anti-Virus-Software (verschleiern von Merkmalen)

• komplizierteres Reverse Engineering der Malware

• kompliziertere Signaturerstellung

• . . .

(12)

Grundlegende Transformationstechniken

• Komprimierung

• Verschlüsselung

• metamorphe Codeumformung

• Virtualisierung

(13)

Komprimierung

Funktionsprinzip:

• Originalcode wird komprimiert

• Decoder wird am Programmanfang eingefügt Zur Laufzeit:

• Decoder entpackt komprimierten Code im Speicher

• übergibt Kontrolle an das wiederhergestellte Programm

ein Originalprogramm ⇒

genau eine komprimierte Variante

Executable Header Decoder

komprimierter Malware-Code .text

.data

(14)

Verschlüsselung

arbeitet nach ähnlichem Prinzip:

• Originalcode wird verschlüsselt

(durch Wechsel des Schlüssels ergeben sich unterschiedliche Samples)

• Decrypter entschlüsselt Code zur Laufzeit Unterscheidung anhand der Anzahl der

verwendeten Decrypter:

einfache Verschlüsselung : ein einziger Decrypter (evtl. mit wechselndem Schlüssel)

oligomorphe Verschlüsselung : ein paar wenige, unterschiedliche Decrypter

polymorphe Verschlüsselung : praktisch unendlich viele Decrypter (metamorpher

Executable Header Decrypter

verschlüsselter Malware-Code .text

.data

(15)

metamorphe Codeumformung

• kein Decrypter, Code wird nicht verschlüsselt

• Änderung direkt an den Opcodes des Programms

Techniken

Instruktionsersetzung

:

Instruktionen durch semantisch gleiche ersetzen

Registerumbenennung

:

die von einem Befehl verwendeten Register wechseln

Einfügung bedingungsloser Sprünge:

Codeblöcke umsortieren, mit Sprungbefehlen die richtige Reihenfolge bei der Ausführung herstellen

Einfügung überflüssigen Codes

: Code einfügen, der nie ausgeführt wird

Executable Header

metamorpher Malware-Code .text

.data

(16)

Virtualisierung

• Originalcode wird in Code für virtuelles Instruction Set übersetzt

• übersetzter Code wird von in Software implementierter, virtueller CPU ausgeführt Vorteile der Virtualisierung

• Instruction Set je nach Bedarf zu entwerfen

• hohe Redundanz bei den Opcodes möglich

⇒ viele Gelegenheiten für z. B. Instruction Substitution

• den Analysten unbekanntes Instruction Set

⇒ schwierig Programm zu verstehen

Executable Header Emulator

virtualisierter Malware-Code .text

.data

(17)

Beeinflusste Merkmale

Merkmalskategorien

• Erscheinungsbild

• Kontrollflussgraph

• Verhalten

• Funktionalität

Transformation E C V F

Komprimierung X – – –

Verschlüsselung X – – –

metamorphe Codeumformung X X X –

Virtualisierung X X X –

(18)

Beeinflusste Merkmale

bei der metamorphen Codeumformung

Technik E C V F

Instruktionsersetzung X – X –

Instruktionsfolgenersetzung X – X –

Instruktionsneuordnung X – X –

Ausdrucksneuordnung X – X –

Registerumbenennung X – X –

Datenumsortierung X – X –

Einfügung bedingungsloser Sprünge X – X – Einfügung überflüssigen Codes X – X – Codeerzeugung zur Laufzeit X – X – Eingliedern und Ausgliedern X X X – Einfügung pseudo-bedingter Sprünge X X X –

Pseudoverzweigung –

(19)

Gliederung

1 Einleitung

2 Merkmale von Programmen 3 Transformationen

4 Experiment

(20)

Hintergrund

Test von Anti-Virus-Software mit vielen unterschiedlichen Samples, um Aussagen über die Resistenz der Software gegenüber

Transformationen zu treffen

(21)

Untersuchte Fragen

1

Inwiefern beeinflussen Transformationen die Erkennungs- leistung von Anti-Virus-Software? Lassen sich syntaktische Merkmale wie Zeichenketten in einem Malware-Binary leicht verschleiern und die statische Analyse von Programmen dadurch aushebeln?

2

Wie wirken sich Transformationen auf das Verhalten von

Programmen aus? Inwiefern sind Merkmale des Verhaltens

resistent gegen Transformationen? Welche Transformationen

können das Verhalten beeinflussen?

(22)

Untersuchte Fragen

1

Inwiefern beeinflussen Transformationen die Erkennungs- leistung von Anti-Virus-Software? Lassen sich syntaktische Merkmale wie Zeichenketten in einem Malware-Binary leicht verschleiern und die statische Analyse von Programmen dadurch aushebeln?

2

Wie wirken sich Transformationen auf das Verhalten von

Programmen aus? Inwiefern sind Merkmale des Verhaltens

resistent gegen Transformationen? Welche Transformationen

können das Verhalten beeinflussen?

(23)

Versuchsaufbau 1/2

Frage 1

Inwiefern beeinflussen Transformationen die Erkennungsleistung von Anti-Virus-Software? Lassen sich syntaktische Merkmale wie Zeichenketten in einem Malware-Binary leicht verschleiern und die statische Analyse von Programmen dadurch aushebeln?

• mehrere Varianten bekannter Malware erstellen:

5 Packer erzeugen von

5 Malware-Samples jeweils

5 transformierte Varianten

• überprüfen ob Varianten noch von Anti-Virus-Software

erkannt werden (VirusTotal)

(24)

Versuchsaufbau 2/2

Frage 2

Wie wirken sich Transformationen auf das Verhalten von Programmen aus? Inwiefern sind Merkmale des Verhaltens resistent gegen Transformationen? Welche Transformationen können das Verhalten beeinflussen?

• eigene Test-„Malware“ mit komplett bekanntem Verhalten

5 Packer erzeugen davon

5 transformierte Varianten

• Verhaltensberichte auf Unterschiede zum Verhalten des

Ursprungs-Programms analysieren

(25)

verwendete Packer

UPX Komprimierung

UPolyX polymorphe Verschlüsselung Petite Komprimierung

Morphine polymorphe Verschlüsselung

Themida Komprimierung, Verschlüsselung, metamorphe

Codeumformung, Virtualisierung

(26)

Ergebnisse

Beispiel für Net-Worm.Win32.Kido.ih

0 5 10 15 20 25 30 35

untr ansfor

miert

UPX UPol

yX

Petite Mor

phine Themida

Anti-Virus-Engines

Erkennungsrate der Anti-Virus-Engines

nicht erkannt als Malware erkannt

(27)

Ergebnisse

0 10 20 30 40 50 60 70 80 90 100

AhnLab-V3 AntiVir Ant

iy-AV L

Avast Av

ast5

AVG BitDefe

nder CAT-Qui

ckHeal ClamA

V Comm

and

Comodo DrW

eb Emsisoft eSafe eTr

ust-Vet

F-Prot F-S

ecure Fortine

t GData

Ikarus Jiangmin K7AntiVirus

Anzahl der Samples

Erkennungsrate der Anti-Virus-Engines

0 10 20 30 40 50 60 70 80 90 100

Kasper sky

McAfee McAfee

-GW -Edition

Mic

rosoft NOD32 Norman nPr

otec t

Panda PC

Too ls

Prevx Rising Sophos SUPE

RAntiSpywar e

Symantec TheHacker Tr

endM icro

TrendM icro-H

ouseC all

VBA32 VIPRE ViR

obot Vir

usBuste r

Anzahl der Samples

Anti-Virus-Engines analysiert als Malware erkannt

(28)

Ergebnisse

Verhalten

• untersucht auf Systemaufruf-Ebene

• keine nennenswerten Unterschiede feststellbar

⇒ bei Komprimierung und Verschlüsselung zu erwarten

⇒ bei Virtualisierung durch Einschränkungen von Themida zu

erklären

(29)

Fragen?

Referenzen

ÄHNLICHE DOKUMENTE

Für viele Jüngere wohl nur noch eine Legende: Lilian Harvey, internationaler Star des deutschen Vorkriegs- films.. Ein Fernsehportrait über sie enthält auch Aus- schnitte

Philipp Herder-Dorneich, Köln Nach Herder-Dorneich kennen viele Ärzte die „gesamtgesellschaftlichen Ko- sten" nicht, die ihre Maßnahmen verur- sachen.. Die Konsequenzen

Hessischen Fernsehen mit „freund- lichem" Zynismus: „Da können sich die Herren Ärzte nicht auf den Standpunkt stellen, sie hätten Medi- zin und nicht Betriebswirtschaft

Horst Bour- mer, Vorsitzender des Hartmannbun- des, Professor Julius Hackethal, Autor des Buches „Auf Messers Schneide", Professor Smalhoud, Professor für An- ästhesie an

Er zeigt, daß es ne- ben den werksinternen ärztlichen Dien- sten der Großindustrie auch für mittlere und kleine Betriebe effektive arbeitsme- dizinische Betreuung durch

In der Abteilung für Gerontopsychiatrie der Freien Universität Berlin versucht man einen neuen Weg: Man behandelt psy- chisch Kranke ambulant und versucht, mit gezielter

„Dieses Ergebnis (einer Un- tersuchung des Hamburger Hans-Bredow-lnstituts, im Auftrag der ARD/ZDF-Me- dienkommission — Die Red.) macht deutlich, wie schwer es

20.30: Gesundheit heute - Fragen an Experten, NDR II, Leitung der Sendung: Wolfgang Hausmann Zum Thema Zahnersatz sind als Gäste ins Studio geladen: Dr. Eckard Jacobi,