Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

I/O Capture Treiber Framework Maßgeschneiderte Filtertreiber auf Knopfdruck erstellen 15.11.20131Viviane Zwanger.

Ähnliche Präsentationen


Präsentation zum Thema: "I/O Capture Treiber Framework Maßgeschneiderte Filtertreiber auf Knopfdruck erstellen 15.11.20131Viviane Zwanger."—  Präsentation transkript:

1 I/O Capture Treiber Framework Maßgeschneiderte Filtertreiber auf Knopfdruck erstellen Viviane Zwanger

2 Motivation Wireshark kennt jeder:

3 Was wäre… …wenn man das nicht nur für TCPIP, sondern auch für jedes andere mögliche Gerät machen könnte? Netzwerk-Traffic & Dns-requests, Tastatur & Maus, Parallel-Port, Serieller Port, Kommunikation mit Hobby- Wetterstation...

4 Viviane Zwanger …man das nicht nur mitschneiden, sondern auch live modifizieren könnte? Wie ein Wireshark mit edit- und delete- Funktion (und natürlich nicht auf Netzwerk beschränkt) Was wenn

5 Was kann man denn mitschneiden? Alles! Eine kleine Bestandsaufnahme…. Viviane Zwanger

6 Was kann man mitschneiden? 1.Interne Geräte: Audio, Beep-Treiber, Grafikkarte… 2.Output an Peripherie: serielle Schnittstelle, parallel Port/Drucker, Firewire, Tastatur, … 3.Eigenbau-Schnittstellen und Bauteile: proprietäre Systeme mit I/O zu externen embedded devices. 4.Nicht nur reale Geräte/Schnittstellen, auch abstrakte I/O: Filesystem, Kryptotreiber, Antivirustreiber und Rootkits, … Riesiges Feld --- abstrakte Treiber gibt es SEHR viele Viviane Zwanger

7 Beispiel-Mitschnitt BufferLength: 1, content: begin a end BufferLength: 1, content: begin b end BufferLength: 1, content: begin c end BufferLength: 656, content: begin GET /isapi/redir dll?prd=ie&pver =6&ar=msnhome HT TP/1.1..Accept: begin c0 a8 e3 01 a0 0f a 6b 6c d 6e 6f Tcp-Traffic 1.Hyperterminal: a, b, c 2. Internet Explorer (Msn-Seite) Echo requests (ping) abfangen (custom filter) Ping payload: abcdef… IP-Addresse Anzahl zu sendender Pings TTL Länge

8 Beispiel-Mitschnitt Found packet with size: 0x470 Taking: 470 size begin a e 80 c4 8e 5e e 80 fe 8e 5e 80 ce 56 5e f 5e f 5e 80 da a e b a 5e e c c ac a0 5a a c da 44 5a b1 5c ed 4f 80 0e ce 5b 80 e6 ab dc ea b 80 fe 93 5e 80 a f0 d8 5e b f a d0 ff e b 80 3a bb c d de b a1 5c 80 5e 9e 5c 80 d2 8b a d c bf d fa f f e8 5c 5c c 5c 80 ac c e f b 80 d0 5a 5c 80 5c b dc 5e 80 7a 8f c4 7a c e b aa e ce 5b 80 2c ad a 95 5e d aa f0 21 5b 80 a6 18 5e 80 4e b […] Rootkit Amsint32.sys an Userspace Executable. Special Code 666 (0x29a) (rootkit Verwendet Auch noch zB 777 I/O Pakete) I/O request packet (IRP) enthält Speicheradressen von API Kernel- funktionen

9 Idee zusammengefasst: Maßgeschneideter Kernel Filter Treiber. Hängt sich an das Ziel-Gerät (Device) an und loggt die I/O Kommunikation. Anders als Wireshark kann es auch die Daten ändern oder droppen Viviane Zwanger

10 Ein paar Treiber-Grundlagen… Buffergröße? Buffered I/O Direct I/O? Neither? Major Functions? … *grübel*

11 IRPs …sind I/O request packets … enthalten den I/O Auftrag (I/O request) …enthalten viele interessante Daten! IRPs sind ziemlich große Datenpakete, gefüllt mit allem möglichem Krempel den der empfangende Treiber brauchen könnte um den I/O request zu erfüllen Viviane Zwanger

12 I/O Typen von IRPs 1.Buffered I/O 2.Direct I/O 3.Neither I/O Auftrags-Daten (Buffer) im IRP an unterschiedlicher Stelle versteckt. Es gibt einen Input und einen OUTput Buffer. Je nach Request wird nur einer davon verwendet oder beide. Art der Daten? (Zahlen, Text, Addressen?) Viviane Zwanger

13 Major / Minor Funktionen I/O Handler Major Function Nummer? Z.B. READ (0x3), WRITE (0x4), DEVICE_CONTROL (0xe), POWER (0x16) Minor Function? Treiber-spezifisch Z.B. bei TCPIP Treiber ist für TCP & UDP: Nr 0x7 == Netzwerkdaten senden Nr 0x3 == binden an IP-Addresse, etc…

14 Hört sich kompliziert an? Soll deswegen automatisch generiert werden! Besitzt Aufklärmodus (den Sentinel), in welchem es Informationen sammelt (z.B. Buffergrößen, Minorfunctions, Stärke des I/O Traffics) Nützlich für unbekannte Treiber Gegeben das Ziel konfiguriert sich der Capture-Treiber (soweit es geht) selbstständig. Je besser der Benutzer sein Ziel kennt, desto besser das Ergebnis Viviane Zwanger

15 Device Scanner Mögliche Devices... Verfügbare I/O-Handler (OS: Win7)

16 Sentinel Viviane Zwanger Usage:

17 I/O Capture Driver Viviane Zwanger Usage: drvmake DeviceName Major Minor bufsize hex/ascii TCPIP Treiber unterscheidet verschiedene Major und Minor Functions. zB: Minor 0x7 : Netzwerk-Daten senden. Minor 0x3 : Bind IP-Address...

18 Praktischer Teil Kategorien Interne Geräte: Audio, Drucker, Beep-Treiber… Peripherie: serielle Schnittstelle, parallel Port, Firewire, Tastatur, … Eigenbau-Schnittstellen und Bauteile, falls vorhanden. Abstrakte I/O: Filesystem, Kryptotreiber, Antivirustreiber, Rootkits, … Viviane Zwanger

19 Interne Geräte Vom User, Applikationen oder System erzeugt. Z.B Audio, Grafikanzeige, Beep I/O Traffic Stärke relativ gut vorhersagbar Unter Umständen zu viel I/O! Beispiel: Grafikanzeige & Audio sind I/O Spammer Viviane Zwanger

20 Viviane Zwanger Interne Geräte: Systemlautsprecher Demo

21 Der Systemlautsprecher Ist ein sog. PIT (Programmierbarer Interrupt Timer). Generiert selbstätig Rechteck-Impulse, die eine Membran zum Schwingen anregen. Daher physikalisch benötigt: 1)eine Frequenz f [Hz] 2)Eine Zeitdauer t [ms] Heutzutage auf Audiokarte umgelenkt.

22 Output an die Peripherie Vom User erzeugt. (normalerweise) Bekannte I/O: wieviel Traffic verursacht wird und unter welchen Bedingungen. Beispiele: Tastatur-Treiber verursacht nur vereinzelte I/O bei Tastaturanschlag. Der Maus-Treiber verursacht nur I/O, wenn der User die Maus bewegt, aber relativ viel I/O Traffic in kurzen Zeitabschnitten. Eher verständliche Daten: DNS-requests (Netzwerk) GET / HTTP/1.1 requests (Netzwerk) Gedrückte Tastatur-Keys Maus-Koordinaten Viviane Zwanger

23 Viviane Zwanger Output an die Peripherie: TCPIP Demo

24 Der TCPIP-Treiber Managed verschiedene Devices, u.A.: 1. TCP 2. UDP (Bei Vista/Win7 dazu separat: TCP6, UDP6 für IPv6) Dazu kommt noch: – WinXP: RawIP, IPMulticast, IP – Vista/Win7: RawIp, RawIp6, Tdx

25 Zukunft Schönes Online Interface? zum generieren maßgeschneiderter Treiber. Bequemere Kommandozeile? Mehr Features? Viviane Zwanger

26 Fragen? We like IRPs! Viviane Zwanger


Herunterladen ppt "I/O Capture Treiber Framework Maßgeschneiderte Filtertreiber auf Knopfdruck erstellen 15.11.20131Viviane Zwanger."

Ähnliche Präsentationen


Google-Anzeigen