SubVirt. Stefan Kempf. 18. Juli 2007. Lehrstuhl für Informatik 3 Friedrich-Alexander-Universität Erlangen-Nürnberg



Ähnliche Dokumente
SubVirt. Stefan Kempf. 11. Oktober 2007

Der PC im PC: Virtualisierung

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

Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo

Installation OMNIKEY 3121 USB

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

Wifiway auf einer VMware Workstation auf einem Windows Rechner anwenden & VM Workstation installieren

VMWare Converter. Vortrag beim PC-Treff-BB Peter Rudolph 13. Oktober 2007

WIE ERHÖHT MAN DIE EFFIZIENZ DES BESTEHENDEN RECHENZENTRUMS UM 75% AK Data Center - eco e.v. 1. Dezember 2009

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

IRS in virtualisierten Umgebungen

Persona-SVS e-sync GUI/Client Installation

Calogero Fontana Fachseminar WS09/10. Virtualisierung

Leitfaden für die Installation der Videoüberwachung C-MOR

Betriebssystem-basierte Virtualisierung

Proseminar Technische Informatik A survey of virtualization technologies

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

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

Installationsanleitung. Ab Version

SFKV MAP Offline-Erfassungstool. Installationsanleitung

Oracle VirtualBox. Zum Herunterladen für alle Betriebssysteme gibt s die VirtualBox auf:

Systemvoraussetzungen für Autodesk Revit Produkte (gemäß Angaben von Autodesk)

EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil)

Installationsanleitung

Cisco AnyConnect VPN Client - Anleitung für Windows7

VMware als virtuelle Plattform

2008 Linke, Walter IAV4 1

Virtuelle Maschinen. von Markus Köbele

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

Verwendung des Terminalservers der MUG

Checkliste für die Behebung des Problems, wenn der PC Garmin USB GPS-Geräte nicht erkennt.

Inhaltsverzeichnis. ZPG-Mitteilungen für gewerbliche Schulen - Nr Juli

PC-Software für Verbundwaage

INSTALLATION VON INSTANTRAILS 1.7

Virtualisierung Linux-Kurs der Unix-AG

Hyper-V Grundlagen der Virtualisierung

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player

Herzlich Willkommen bei der nfon GmbH

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

Installation LehrerConsole (für Version 6.2)

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

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Windows Server 2012 R2 Essentials & Hyper-V

TeamSpeak3 Einrichten

CTX 609 Daten Fax Modem. Installation Creatix V92 Data Fax Modem (CTX 609) unter Windows XP/ Windows Installation unter Windows XP:

Workshop: Eigenes Image ohne VMware-Programme erstellen

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

Reparaturmodus unter Office und 2013 finden

Internet online Update (Internet Explorer)

Virtual PC 2004 SP1 Seite 1:

5. Testen ob TLS 1.0 auf Ihrem System im Internet-Explorer fehlerfrei funktioniert

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

Windows Server 2008 (R2): Anwendungsplattform

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Handbuch B4000+ Preset Manager

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Installationshandbuch (deutsch)

Installationsanleitung für das Touch Display: S170E1-01 LCD A170E1-T3 ChiMei - egalaxy

Projekt für Systemprogrammierung WS 06/07

Verwendung des IDS Backup Systems unter Windows 2000

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Lizenzierung von SharePoint Server 2013

Virtual Channel installieren

ISK 200 Treiberinstallation

Erstellen der Barcode-Etiketten:

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Netzwerk einrichten unter Windows

MSXFORUM - Exchange Server 2003 > Konfiguration Sender ID (Absendererkennu...

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Installationsleitfaden zum Fakturierungsprogramm

PROBLEME BEIM INSTALLIEREN REALTEK HD AUDIO TREIBER

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer

HTBVIEWER INBETRIEBNAHME

Anleitung zur Nutzung des SharePort Utility

Aufbau einer Testumgebung mit VMware Server

Citrix Provisioning Server Marcel Berquez. System Engineer

Wie räume ich mein Profil unter Windows 7 auf?

Leitfaden für die Installation der freien Virtual Machine. C-MOR Videoüberwachung auf einem VMware ESX Server

Firmware-Update, CAPI Update

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

HBF IT-Systeme. BBU-BSK Übung 2 Stand:

I. Allgemeine Zugangsdaten für den neuen Server: II. Umstellung Ihres Windows Arbeitsplatzrechners

Was tun, vor der Installation? Betriebssystem & Hardware Kontrolle

Installationshandbuch. Software Version 3.0

DIE NEUE LÖSUNG KASPERSKY SECURITY FOR VIRTUALIZATION FÜR VIRTUALISIERTE VMWARE-, MICROSOFT- UND CITRIX- UMGEBUNGEN

Lizenzierung von Windows Server 2012

Anleitung zur Installation des Printservers

3 System Center Virtual Machine Manager 2012

Wie lizenziert man die Virtualisierung von Windows Desktop Betriebssystemen?

Stepperfocuser 2.0 mit Bootloader

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

Den Fehler session error bei der Kalenderanmeldung beheben:

i:mobile Installation und Produkt-Aktivierung

Kurzanleitung. TSE Verwaltungssoftware Installation

In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player

Fernzugang Uniklinikum über VMware View

Partitionieren in Vista und Windows 7/8

Transkript:

SubVirt Stefan Kempf Lehrstuhl für Informatik 3 Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Juli 2007 Stefan Kempf (FAU) SubVirt 18. Juli 2007 1 / 27

Inhalt Einführung und Motivation 1 Einführung und Motivation 2 3 4 5 6 7 Stefan Kempf (FAU) SubVirt 18. Juli 2007 2 / 27

Einbruch in ein System Beispielszenario Angreifer bricht in System ein und will unentdeckt bleiben Programme wie ps, who usw. werden ausgetauscht Manipulation wird durch Intrusion-Detection-Systeme erkannt Rootkits nisten sich im Kernel ein und umgehen so Intrustion-Detection Fazit Das System kontrolliert, wer eine tiefer liegende Schicht kontrolliert Stefan Kempf (FAU) SubVirt 18. Juli 2007 3 / 27

Virtual machine based rootkits (VMBRs) Idee eines VMBR Ausführung des Betriebssystems in einer virtuellen Maschine Parallel zum VMM läuft ein Angriffsystem (z.b. Linux), das beliebige Malware ausführt. Bei perfekter Virtualisierung wird das Gastsystem die Aktivitäten des Angreifers nicht erkennen Zu klären Wie bekommt man das Betriebssystem in die virtuelle Maschine? Stefan Kempf (FAU) SubVirt 18. Juli 2007 4 / 27

Schaubild Einführung und Motivation Anwendung Anwendung Malware Malware Gastsystem Angriffssystem VMM Hardware Stefan Kempf (FAU) SubVirt 18. Juli 2007 5 / 27

SubVirt Einführung und Motivation Wozu? VMBRs könnten in Zukunft eine neue Bedrohung darstellen Frühzeitige Entwicklung von Verteidigungstrategien Zwei Referenzimplementierungen eines VMBR Begonnen von Forschern der Uni Michigan und Microsoft Research VMWare und ein modifizierter Linux Kernel Virtual PC und minimales Windows XP (beide angepasst) Stefan Kempf (FAU) SubVirt 18. Juli 2007 6 / 27

Vorgehensweise von SubVirt Zugriff auf Rechner verschaffen Installation Linux: Swapping deaktivieren, Installation in Swappartition Windows: Installation am Anfang der Partition, dort liegende Daten vorher umkopieren System herunterfahren Kurz vor Shutdown: Bootsequenz manipulieren Nach erneutem Hochfahren wird VMBR geladen Stefan Kempf (FAU) SubVirt 18. Juli 2007 7 / 27

Kategorien und Beispiele Interaktionslos Spam Relay, Webserver für Phishing, Bots für DDoS-Attacken Observierend Keylogger, Paketsniffer Manipulierend Nachrichten fälschen oder löschen, Programmausführung beeinflussen Stefan Kempf (FAU) SubVirt 18. Juli 2007 8 / 27

Phishing Webserver Webserver thttpd läuft innerhalb des Angriffssystems VMM leitet fast den gesamten Netzverkehr an das Gastsystem weiter Nur Pakete für TCP-Port 8080 gehen an thttpd Kein eigener Code nötig, Zurückgreifen auf bereits vorhandene Software möglich Stefan Kempf (FAU) SubVirt 18. Juli 2007 9 / 27

Keylogger Einführung und Motivation Emulation des Keyboardcontrollers von Virtual PC wird modifiziert Alle Tastendrücke gehen nun an ein Programm im Angriffssystem, dann ins Gastsystem Anwendung im Angriffs-BS extrahiert Passwörter Modifikation von Virtual PC umfasst 60 Zeilen Code Codeumfang des Keyloggers beträgt 254 Zeilen Stefan Kempf (FAU) SubVirt 18. Juli 2007 10 / 27

Virtual-machine introspection (VMI) Techniken, um Programmabläufe in einer VM nachzuvollziehen Abfragen oder Ändern von Registerwerten (häufig zu lowlevel) Anhand von Symboltabellen/Debuginformationen interessante Stellen im Code finden Diese manipulieren oder mittels Breakpoint auf Ausführung warten VMM kann Code des Gastsystems nutzen (damit z.b. Dateisystemzugriff nicht selbst programmiert werden muss) Stefan Kempf (FAU) SubVirt 18. Juli 2007 11 / 27

Stehlen sensitiver Dateien Suche im Gastsystem nach interessanten Dateien (z.b. /etc/shadow) Dateisystemzugriff erfolgt mittels VMI 24 Zeilen in Perlcode innerhalb des Angriffsystems Stefan Kempf (FAU) SubVirt 18. Juli 2007 12 / 27

Programmausführung manipulieren I Problem: x86 nicht voll virtualisierbar redpill [3] erkennt Virtualisierung durch sidt-instruktion sidt liefert Adresse der Interruptdeskriptortabelle des VMM und nicht des BS falls virtualisiert Stefan Kempf (FAU) SubVirt 18. Juli 2007 13 / 27

Programmausführung manipulieren II Lösung: VMI Prüfe bei bei jedem exec(), ob redpill ausgeführt werden soll Falls ja, setze in redpill Breakpoint auf sidt-befehl Emuliere sidt, wenn Breakpoint erreicht wird 104 zusätzliche Zeilen Code in Virtual PC Funktioniert nicht bei Programmen, die dynamisch Code erzeugen Stefan Kempf (FAU) SubVirt 18. Juli 2007 14 / 27

In der Zeit zwischen Hochfahren des Rechners und Start des VMM kann Rootkit entdeckt werden Anzahl der Reboots und Shutdowns ist zu minimieren Neustart wird durch Reset der virtuellen Hardware simuliert Herunterfahren des Systems versetzt Rechner nur in Energiesparmodus Unaufmerksame/Unerfahrene Nutzer merken nicht, dass System noch läuft VMBR kann somit kompletten Bootvorgang vortäuschen Stefan Kempf (FAU) SubVirt 18. Juli 2007 15 / 27

Setup Einführung und Motivation System 1 Pentium 4 2.8 GHz 1 GB RAM RedHat Enterprise Linux 4 System 2 Pentium 4 1 GHz 256 MB RAM Windows XP Stefan Kempf (FAU) SubVirt 18. Juli 2007 16 / 27

Benötigter Festplattenspeicher komprimiert unkomprimiert VMware VMBR 95 MB 228 MB Virtual PC VMBR 106 MB 251 MB Stefan Kempf (FAU) SubVirt 18. Juli 2007 17 / 27

Zeiten Einführung und Motivation VMware VMBR Virtual PC VMBR Installation 24s 262s Hochfahren ohne VMBR 53s 23s Neustart im VMBR 74s 54s Hochfahren im VMBR 96s nicht implementiert Start des Hosts 52s 45s Start von Host und Gast 145s 101s Stefan Kempf (FAU) SubVirt 18. Juli 2007 18 / 27

Erkennungsmöglichkeiten Durch Software unterhalb des VMBR Erkennung relativ leicht möglich, da Schicht unter VMBR alle darüber liegenden kontrollieren kann Durch Software oberhalb des VMBR Ansatz: VMBR selbst verbraucht Betriebsmittel Stefan Kempf (FAU) SubVirt 18. Juli 2007 19 / 27

Erkennung durch Software unterhalb des VMBR Beispiele Booten von anderem Medium und auf Platte nach VMBR suchen (vorher Netzstecker ziehen, sicherer Bootvorgang vorausgesetzt) Betriebssystem bereits in VM laufen lassen: VMBR nistet sich oberhalb der VM ein und kann von ihr erkannt werden Stefan Kempf (FAU) SubVirt 18. Juli 2007 20 / 27

Erkennung durch Software oberhalb des VMBR I CPU VMBR und Malware verbrauchen CPU-Zeit Rechenintensives Programm starten, Ausführungszeit messen und mit Laufzeiten eines identischen, nicht infizierten Systems vergleichen Gegenmaßnahmen des VMBR Zur Tarnung Systemuhr langsamer laufen lassen Daher Zeiten z.b. mit Stopuhr messen Stefan Kempf (FAU) SubVirt 18. Juli 2007 21 / 27

Erkennung durch Software oberhalb des VMBR II I/O SubVirt lässt Gast Treiber für spezielle, virtuelle Hardware verwenden Spiele laufen langsamer mit virtueller 3D-Karte VMM müsste Hardware perfekt virtualisieren Virtuelle Hardware muss sich bei Randbedingungen in Spezifikation verhalten wie die echte Praktisch unmöglich bei der Vielzahl an Hardware Stefan Kempf (FAU) SubVirt 18. Juli 2007 22 / 27

Erkennung durch Software oberhalb des VMBR III Gegenmaßnahmen des VMBR Nur nötigste Hardware virtualisieren (z.b. Tastatur wenn Keylogger eingesetzt wird) Direktzugriff auf restliche Geräte erlauben DMA könnte aber Zugriff auf Speicher des VMBR erlauben In Zukunft IOMMU nutzen, um Speicher des VMBR vor DMA zu schützen Stefan Kempf (FAU) SubVirt 18. Juli 2007 23 / 27

Erkennung durch Software oberhalb des VMBR IV Speicher VMBR belegt RAM und Plattenplatz Programm schreiben, das auf identischem, uninfiziertem System den kompletten Speicher alloziert Speicheranforderung wird nur in VM fehlschlagen Stefan Kempf (FAU) SubVirt 18. Juli 2007 24 / 27

Erkennung durch Software oberhalb des VMBR V Gegenmaßnahmen des VMBR Paging verwenden, um Mangel an RAM auszugleichen Programm läuft dann langsamer, aber Unterschiede kaum messbar, wenn VMBR wenig Speicher verbraucht (bei SubVirt: 3% des RAM) Von VMBR belegte Plattenblöcke komprimieren und/oder für Gastsystem als beschädigt vortäuschen Stefan Kempf (FAU) SubVirt 18. Juli 2007 25 / 27

I Einführung und Motivation Tal Garfinkel and Mendel Rosenblum. A Virtual Machine Introspection Based Architecture for Intrusion Dectection. 10th ISOC Symposium on Network and Distributed Systems Security (SNDSS), Februar 2003. Samuel T. King, Peter M. Chen, Yi-Min Wang, Chad Varbowski, Helen J. Wang, and Jacob R. Lorch. SubVirt: Implementing malware with virtual machines. 2006. Stefan Kempf (FAU) SubVirt 18. Juli 2007 26 / 27

II Einführung und Motivation Joanna Rutkowska. Red Pill... or how to detect VMM using (almost) one CPU instruction. http://invisiblethings.org/papers/redpill.html, 2004. Stefan Kempf (FAU) SubVirt 18. Juli 2007 27 / 27