ScriptableViruseswithMarshalling



Ähnliche Dokumente
Technische Voraussetzungen

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Java Script für die Nutzung unseres Online-Bestellsystems

neu aufsetzen. Daten sichern... 2 Was man nach dem "Aufsetzen" unbedingt braucht!... 5

Stepperfocuser 2.0 mit Bootloader

Installation der SAS Foundation Software auf Windows

Computeria Solothurn

Technische Voraussetzungen

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Anleitung zum Prüfen von WebDAV

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Internet Explorer Version 6

Fragen und Antworten. Kabel Internet

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Installation OMNIKEY 3121 USB

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

MetaQuotes Empfehlungen zum Gebrauch von

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Kompatibilitätsmodus und UAC

1. Welche Systemvoraussetzungen muss mein PC erfüllen, damit ich die Kurse nutzen kann?

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Step by Step Webserver unter Windows Server von Christian Bartl

1. Zugriff auf das Lonza Netzwerk von ihrem privaten PC oder von einem Internet Café

Adressen der BA Leipzig

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline.

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Arbeiten mit MozBackup

Informationen zum neuen Studmail häufige Fragen

Verwendung des Terminalservers der MUG

Java Entwicklung für Embedded Devices Best & Worst Practices!

Dokumentation zur Browsereinrichtung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Zugriff auf die elektronischen Datenbanken

NetVoip Installationsanleitung für Grandstream GXP2000

Handbuch PCI Treiber-Installation

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Anleitung für die Version von online 1. Schritt: Rufen Sie die Website auf...

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

e-books aus der EBL-Datenbank

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Formular»Fragenkatalog BIM-Server«

plus Flickerfeld bewegt sich nicht

QUALIFIZIERUNG VON SYSTEMBETREUERINNEN UND SYSTEMBETREUERN. BartPE-BUILDER AKADEMIE FÜR LEHRERFORTBILDUNG UND PERSONALFÜHRUNG DILLINGEN

Update Huawei USB Modem E220 auf Firmware (HSDPA 7.2)

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Adobe Reader X Plug-in von Mozilla Firefox verwenden

Kurzeinstieg in VR-Ident personal

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Janitos Maklerportal. Mögliche Probleme und Fragen:

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Avira Support Collector. Kurzanleitung

Menü auf zwei Module verteilt (Joomla 3.4.0)

Technische Hinweise zur Installation und Freischaltung von Beck SteuerDirekt mit BeckRecherche 2010

Nutzung der VDI Umgebung

Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Systemempfehlungen Sage HWP

Systemeinstellungen im Internet Explorer für WEB-KAT

Softwareverteilung mit Gruppenrichtlinien

Mac OS X G4 Prozessor 450 MHz (G5- oder Intelprozessor empfohlen) 512 MB RAM. zusätzliche Anforderungen Online-Version

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

Internet online Update (Mozilla Firefox)

Internet online Update (Internet Explorer)

Handbuch B4000+ Preset Manager

PROBLEME BEIM INSTALLIEREN REALTEK HD AUDIO TREIBER

Überprüfung der digital signierten E-Rechnung

EchoLink und Windows XP SP2

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Microsoft Update Windows Update

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Trackaufzeichnungen können als Active-Logs oder mit eigenen Namen versehene und auf max. 500 Punkte begrenzte Saved-Tracks gespeichert werden.

Bkvadmin2000 Peter Kirischitz

TeamSpeak3 Einrichten

A n l e i t u n g : F i r m w a r e U p d a t e d u r c h f ü h r e n

Kurzanleitung BKB-E-Banking-Stick

Benutzer Verwalten. 1. Benutzer Browser

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Systemanforderungen Verlage & Akzidenzdruck

Installation der Eicon Diva PCI Karte unter Windows XP

Installationshilfe und Systemanforderungen. Vertriebssoftware für die Praxis

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Die Post hat eine Umfrage gemacht

Professionelle Seminare im Bereich MS-Office

Installationsanleitung

Transkript:

ScriptableViruseswithMarshalling Eicar Bonn 2012 Lehner Franz lehner.f@ikarus.at

CPU Ringe?

DOS/Win3.1/95/98/Me Einfache CPU Architektur Non Multitasking (Cooperatives Multitasking) Nur ein Ring! Ring 0 Vorteil: Schnell Resourcenschonend Einfach zu Programmieren (Treiber) Nachteil: Jedes Programm kann alles crashen Keine Resourcenverwaltung Multitasking Probleme (Blocking/Hangs) 3

WinNT, Linux, Unix Theoretische Sicht Komplexe CPU Architektur Multitasking Ring 0 0 1 2 Vorteil: Programm (2) kann nie Kernel (0) crashen Kernel steht über allem Abschottung der Programme CPU Limitiert Speicherzugriffe Nachteil: Treiber und Schnittstellen Konzepte notwendig Komplexere Programmierung Multitasking Probleme (Timing) 4

Windows Nt/2000/XP Praktische Sicht -2003 Excel Word OS Userspace Kernel File Syst em USB Grafik Stabil im Betrieb! -- Aber -- nicht sicher gegen Gezielte Angriffe Einnisten in den Kernel möglich, wenn User gleichzeitig Administrator ist Firefox Flash Verstecken des Echten OS s hinter dem Virus Unsichtbar gegenüber Userspace 5

Windows 7 Praktische Sicht Excel Firefox Word OS Userspace Kernel File Syste m USB Grafik Kernel Firewall UAC Ist eine art System Rechte Layer Jeder Benutzer ist limitiert Kernel Rechte Benötigt: Signaturen Zustimmung ( wollen sie.. ) Microsoft Hydra Extensions Flash 6

Windows 7 ExploitsEverywhere Word Userspace Sandbox == Virtuelle Maschine Excel PDF OS Kernel File Syste m USB Grafik PDF Firefox Flash Acrobat X PDF PDF Flash 7

Ring 4

Moderne Browser (sind eigentlich Betriebsysteme) Java script Menü System Flash Daten Austausch File System PDF HTML Redering Grafik 9

Moderne Browser Und haben sogar schon Viren! (Plugins) Java script Menü System Flash PDF Daten Austausch File System Virus HTML Redering Grafik 10

BrowserViren Mehrere Viren Stämme Bekannt Der Leistungsfähigste den wir bis jetzt gesehen haben war Expirio.Q Lief im Firefox als Plugin, installiert von einem Exploit im Flash Plugins sind im Home Verzeichnis, volle Rechte ohne Admin Rechte SSL Proxy Redirect Funktionalität Keyboard Hook & Logger SSL Zertifikate fake (damit es Grün wird) Firefox Update Faker Daten Transfer per HTTP Header Variablen Für Interessierte: Decodierter Virus http://db.tt/htnzxcdf 11

Ring 0

Flat View Compare Kernel Browser Javascript Flash PDF Einfallspunkt Kernel Rechte Browser Javascript Sandbox Flash PDF Es ist mittlerweile fast unmöglich, von ganz oben bis nach ganz unten zu kommen (Kernel Space) 13

Exploitsum mehr Rechte zu bekommen Dennoch Existieren Exploits die es von Oben bis nach Unten geschafft haben CVE-2011-5046 (Exploit im Kernel (Grafiksystem im Browser - einfache HTML Seite)) Jedes Windows CVE-2010-3147 (UAC Override - Windows Adressbuch) Jedes Windows CVE-2010-2729 (Stuxnet) Privilege Elevation (UAC Override) Windows < XP SP3 CVE-xx-xxxx (Stuxnet) Privilege Elevation (UAC Override Task Scheduler) Windows > XP SP3 14

Anforderungen an Neue Viren Updaten? Kann auffällig sein Einnisten? (Schwer) Auffällig Einfallspunkt Kernel Rechte Browser Javascript Sandbox Flash PDF Schwer Das Infizieren ist sehr schwer. Das Updaten ist kaum möglich oder würde auffallen Treiber sind signiert Bei Windows 8 Muss Microsoft Treiber signieren Selbst Gestohlene Zertifikate sind nicht ewig nutzbar (Timestamp AblaufZeit) 15

Viren mit Scriptsteuerung

Idee: Modularisiere und Scripteden Virus Netzwerk Kommunikation Keyboard Hook Filesystem Hook Virus Script sprache Virus Programm Harddisk Hook Virus exe mit Signatur 17

Steuere die Module von der Scritpsprache marshalling Function (Filehook()) { If (OS_Filehook.Name == Bauplan ) { Comm.SendFile(OS_Filehook.Name) } If (OS_Process == VirenscannerXYZ) { Deactivate_Trojan(); } } Keyboard Hook Filesystem Hook Netzwerk Kommunikation Virus Script sprache Virus exe mit Signatur Updatebar ohne den Virus selbst zu ändern. Minimalistischer Scriptinterpreter kann sehr sehr klein sein (3-4 kbytes) Simulator kann mit dem Virus nichts anfangen Kann per Default ein unauffälliges Programm sein Programm kann per Internet geladen werden Sehr Stabil, da Scriptsprache nicht abstürzt Kann Bestandteil jedes Grafikkarten/Netzwerkkarten Treibers sein. 18

Code Verstecke Verteilen des Codes öffentlich über Facebook Postings? (Browser Cache, Icons, DNS Sidechannels, Netzwerkkarten Paket?) 19

Code Verstecke Speichern des Codes über die Registry mittels Fehlerkorrektur (Software Licensing Speicher Tricks) 20

Optimale Einsatzmöglichkeiten Überall wo es schwer ist, mehrmals hinzukommen Überall, wo Updaten potentiell riskant ist (Auffällig) Updaten ohne Reboot! Hohe Ähnlichkeit zur ROP Programmierung Targets: AppStores (Apple / Google Play) Sobald einmal drinnen erlaubt er Zweckentfremdung APT preinstalled -> Industriespionage / Sabotage Konzept anwendbar auch bei Buffer Exploit CPU Weitere Verwendbarkeit: nicht auf das Betriebsystem beschränkt! (Ring x) 21

Beispiel Flame

Beispiel Flame Updaten? Kann auffällig sein Einnisten? Unauffällig Windows Update -> Sehr Schwer Erkennbarkeit: -> Unauffällig Viren Update: -> Auffällig wenn zu oft Kernel System Rights Browser Javascript Sandbox Flash PDF Das Infizieren ist sehr schwer ( Windows Update) Häufiges Updaten ist kaum möglich oder würde auffallen Trojaner Treiber sind signiert (Microsoft Zertifikat ) Selbst Rouge Zertifikate sind nicht ewig nutzbar (Timestamp AblaufZeit) Daher ist ein Scritping Modularer Virus Optimal für diesen Zweck 23

Ring X?

Ringe Klassische Betrachtung Kernel Browser Javascript Flash PDF Einfallspunkt Kernel Rechte Browser Javascript Sandbox Flash PDF 25

Ring X? Kernel Rechte Browser Javascript Sandbox Flash PDF Hyper visor CPU Kernel System Rights Programme Physische Hardware 26

Hypervisor Ring-1 Viren

HypervisorViren Windows Hypervisor Virus Volle Kontrolle über das OS Ändern des Hauptspeichers Ändern von Hardware zugriffen Unterbrechen des Betriebbsystems Unerkennbar (Kaum detektierbar) Einschränken des Betriebsystems Windows 28

HypervisorViren Programm Update Update Punkt Viru s Hyper visor CPU Kernel Rechte Browser Javascript Sandbox Flash Scripting Hypervisor Viruses Update per Speicherinhalt, Registry, Bilder,.. Unerkennbar 29

Ring-x Viren

Ring X? Kernel Rechte Browser Javascript Sandbox Flash PDF Grafikkarte Memory Controller Netzwerkkarte Soundkarte System Management Hyper visor CPU Kernel System Rights Programme USB IDE/SATA Physische Hardware 31

Ein Flip Flop in Verilog Hardware IST Software! regregister_value; // als Register oder Speichervariable wirereset, clock, set, en, datain; always@(posedge clock or negedge reset) begin// reagiert auf positive clock-flanke oder fallende reset-flanke. if(!reset) //asynchrones Rücksetzen, wenn reset= LOW register_value <= 1'b0; elseif(set) // synchrones Setzen, wenn set= HIGH register_value <= 1'b1; elseif(en) register_value <= datain; end Moderne CPU s wie eine Core besteht aus Millionen Zeilen Code mit Fehlern! Sehr Bekannt: Pentium Divisions Bug Intel Core CPU hat um die 80 Bekannte Fehler (siehe Errata) http://download.intel.com/design/mobile/specupdt/30922214.pdf 32

Hotfix? Nicht möglich Einnisten? Unauffällig Ring X? Einfallspunkt: Unklar Update Punkt Grafikkarte Memory Controller System Management Hyper visor CPU Kernel System Rights Programme Netzwerkkarte Soundkarte USB IDE/SATA Hardware wird kaum geprüft (Wie?) Hardware ist Software Kann Bugs,Exploits oder Backdoors haben Jedes Subsystem kann eine Firmware und eine CPU haben Subsysteme sind auch Firmware updatebar Sämtliche Systeme haben vollen Speicherzugriff 33

Erster Ring -4 Hack? Xbox == PC 17 Mistakes Microsoft Made In The Xbox Security http://db.tt/qtmyc9be http://events.ccc.de/congress/2005/fahrplan/attachments/674-slides_xbox.pdf 34

Erster Ring -4 Hack? Diese MicroCPU war imstande, beim Sarten die Komplette Sicherheit abzuschalten 35

Exploiting Micro CPU s

MicroCPU s Manchester Mark 1 (1948) 37

Manchester Mark 1 (1948) MicroCPU s 6 Befehle sind komplett ausreichend um einen Vollständigen Computer darzustellen 38

MicroCPU s Die Manchester Mark 1 CPU würde heute etwa 100 Bytes groß sein (als Virtuell CPU) (und ähnlich der hier ausschauen) 6 Befehle sind komplett ausreichend um einen Vollständigen Computer darzustellen 39

ExecutionofCPU s Als CPU für diesen Code würde ein einfacher Buffer Overflow reichen 40

Hotfix? Nicht möglich ExecutionofCPU s Einfallspunkt Update Punkt CodeAblage Grafikkarte Der Bug könnte zb. im TPM Controller liegen Und beim Verarbeiten vom Namen auftreten Memory Controller System Management Hyper visor CPU Kernel System Rights Programme Netzwerkkarte Soundkarte TPM CPU Virus IDE/SATA Ändern von Schlüsseln Code Injektion Password Override 41

Conclusio Einen Virus dort zu erstellen ist sehr hart Wenige Befehle Geringe Geschwindigkeit Kein vorkommen von 0 im Programm Aktuell kein Compiler für so etwas verfügbar Cpu ist nicht Compiler freundlich Ausführung ohne Spuren zu hinterlassen Kaum detektierbar Hardware kann nicht upgedated werden Verlust der Integrität des Rechners 42

Fragen