I/O Capture Treiber Framework

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Johannes-Kepler-Gymnasium
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Die Projektgruppe heißt Sie herzlichst willkommen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Was macht einen Computer zum Computer?
Projekt zur Evaluation, Reaktivierung vorhandener Kenntnisse und Festigung des Arbeitens mit Größen im Mathematikunterricht mit Schülern der 7. Klassen.
Telefonnummer.
Übung 2.1 Information Wieviele Fragen benötigen Sie beim „Zahlenraten“
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Statistiken und Tabellen
EF: Standards + H2O red = H2O.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Blütenbehandlung 2009–2011 (% der Anbaufläche)
Zerlegung von Quadraten und ????
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Wann wurde dieses Haus erbaut?
So, ein paar Fragen.. Wo sind mehr Bälle? Wo sind mehr Steine?
Prof. Dr. Günter Gerhardinger Soziale Arbeit mit Einzelnen und Familien Übersicht über die Lehrveranstaltung Grundlegende Bestimmungsfaktoren der Praxis.
R und MS Excel Datenaustausch zwischen R und Excel auf Basis des XLConnect-Pakets Günter Faes.
20:00.
Im Zuge unserer Befragung gaben uns 260 Personen über ihr Leseverhalten Auskunft.
Zusatzfolien zu B-Bäumen
DVDS, HANDYS UND EINKAUFSGUTSCHEINE:
Mehrsprachigkeit an der VHS Wien thomas fritz Symposium "Nach den Sternen greifen. Sprachenkosmos Wien", am 5. und
WARUM IST DAS NEUE ADR PROGRAMM BESSER? 153%Mehrwert 228%Mehrwert Es ist einfach noch RENTABLER für Sie! Wenn Sie derzeit einen ADP Rabatt von 10% erhalten,
Rechnerkommunikation I
Architektenwettbewerb
Nanotribologie von Christian Arrer
Eine Einführung in die CD-ROM
Dokumentation der Umfrage
Kinder- und Jugenddorf Klinge Qualitätsentwicklung Januar 2005 Auswertung der Fragebögen für die Fachkräfte in den Jugendämtern.
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
AGOF facts & figures: Branchenpotenziale im Internet Q2 2012: Parfum & Kosmetik Basis internet facts
Addieren und Subtrahieren von Dezimalzahlen
Messung der Ionisierungsenergie von Wasserstoff
Der Ablauf eines Clear Rex Klärzyklus
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Hafenbetriebskommission Cham
Geometrische Aufgaben
Eine lllustration der Herausforderungen des Stromsystems der Zukunft
Symmetrische Blockchiffren DES – der Data Encryption Standard
AGOF facts & figures: Branchenpotenziale im Internet Q1 2014: Reise & Touristik Basis: internet facts / mobile facts 2013III.
Szenisches Lernen Wie Theaterelemente den Unterricht bereichern
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Erhellende Beispiele – Zündende Ideen in 5 Minuten und 20 Folien Titel: NN vorgestellt von: NN Symposium "Nach den Sternen greifen. Sprachenkosmos Wien",
Beispiel 1.4 Ein Kreditinstitut bietet folgende Varianten für die vertragliche Gestaltung eines Kontokorrentkredits an: Nettozinssatz 10 % p.a Zinssatz.
Parkplatz-Orga Diese Version ist vom finale Version!
Sachbezugswerte 2007 (SV-Entgeltverordnung) Sachbezugswerte für freie Verpflegung FrühstückMittagessenAbendessen 1,50 2,67 Monatlicher Wert Verpflegung.
Zusammengestellt von OE3DSB
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Dokumentation der Umfrage BR P2.t Ergebnisse in Prozent n= 502 telefonische CATI-Interviews, repräsentativ für die Linzer Bevölkerung ab 18 Jahre;
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Forschungsprojekt Statistik 2013 „Jugend zählt“ – Folie 1 Statistik 2013 „Jugend zählt“: Daten zur Arbeit mit Kindern und Jugendlichen.
Gliederung 1. Arbeitsraum (Grundriss + Maße) 2. Arbeitsraum (Einrichtung) 3. Arbeitsraum (Netzwerkplan) 4. Aufenthaltsraum (Grundriss + Maße) 5. Aufenthaltsraum.
AGOF facts & figures: Branchenpotenziale im Internet Q2 2014: Parfum & Kosmetik Basis: internet facts / mobile facts 2014-I.
Gedankenlesen Durch Studien fand man heraus, dass Gedanken in einem gewissen Maße lesbar sind.
Folie Einzelauswertung der Gemeindedaten
1.6.3 Test auf Verlustfreiheit (Verbundtreue) (4|10)
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
 Präsentation transkript:

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

Motivation Wireshark kennt jeder: 25.03.2017 Viviane Zwanger

Netzwerk-Traffic & Dns-requests, 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... 25.03.2017

Was wenn …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) 25.03.2017 Viviane Zwanger

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

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

Beispiel-Mitschnitt Anzahl zu sendender Pings Ping payload: „abcdef…“ TTL IP-Addresse 00000001 BufferLength: 1, content: 00000002 -----begin----- 00000003 a 00000004 -----end----- 00000005 BufferLength: 1, content: 00000006 -----begin----- 00000007 b 00000008 -----end----- 00000009 BufferLength: 1, content: 00000010 -----begin----- 00000011 c 00000012 -----end----- 00000013 BufferLength: 656, content: 00000014 -----begin----- 00000015 GET /isapi/redir 00000016 .dll?prd=ie&pver 00000017 =6&ar=msnhome HT 00000018 TP/1.1..Accept: 00000001 -----begin----- 00000002 c0 a8 e3 01 a0 0f 00 00 14 00 20 00 01 80 00 00 00000003 14 00 00 00 61 62 63 64 65 66 67 68 69 6a 6b 6c 00000004 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 00000005 66 67 68 69 00 00 00 00 00 00 00 00 00 00 00 00 Länge Echo requests (ping) abfangen (custom filter) Tcp-Traffic Hyperterminal: „a“, „b“, „c“ Internet Explorer (Msn-Seite)

Beispiel-Mitschnitt Found packet with size: 0x470 Taking: 470 size. -----begin----- 9a 02 00 00 66 56 5e 80 c4 8e 5e 80 98 56 5e 80 fe 8e 5e 80 ce 56 5e 80 42 8f 5e 80 86 8f 5e 80 da a5 60 80 4e b8 60 80 08 0a 5e 80 60 06 5e 80 84 96 5c 80 34 96 5c 80 00 ac 60 80 88 a0 5a 80 18 a2 60 80 10 c9 59 80 da 44 5a 80 62 b1 5c 80 04 ed 4f 80 0e ce 5b 80 e6 ab 56 80 dc 41 53 80 ea 38 60 80 14 07 5b 80 fe 93 5e 80 a2 87 61 80 f0 d8 5e 80 88 8b 59 80 f6 89 61 80 3a 84 59 80 d0 ff 53 80 e8 69 63 80 10 26 5b 80 3a 39 60 80 94 bb 60 80 4c d1 56 80 de b9 56 80 26 a1 5c 80 5e 9e 5c 80 d2 8b 61 80 5a d2 56 80 8c bf 60 80 86 d1 56 80 fa f8 59 80 56 8f 59 80 e8 5c 5c 80 32 5c 5c 80 ac c3 60 80 3e f2 59 80 36 99 60 80 10 94 5b 80 d0 5a 5c 80 5c b8 60 80 98 dc 5e 80 7a 8f 59 80 c4 7a 63 80 14 7c 63 80 6e b2 60 80 90 aa 60 80 0e ce 5b 80 2c ad 56 80 62 90 61 80 0a 95 5e 80 32 92 61 80 12 d3 56 80 aa 78 60 80 f0 21 5b 80 a6 18 5e 80 4e b8 60 80 12 94 61 80 […] I/O request packet (IRP) enthält Speicheradressen von API Kernel-funktionen Special Code „666“ (0x29a) (rootkit Verwendet Auch noch zB „777“ I/O Pakete) Rootkit „Amsint32.sys“ an Userspace Executable.

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. 25.03.2017 Viviane Zwanger

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

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. 25.03.2017 Viviane Zwanger

I/O Typen von IRPs Buffered I/O Direct I/O 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?) 25.03.2017 Viviane Zwanger

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…

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. 25.03.2017 Viviane Zwanger

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

Sentinel Usage: 25.03.2017 Viviane Zwanger

I/O Capture Driver 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“ ... 25.03.2017 Viviane Zwanger

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, … 25.03.2017 Viviane Zwanger

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. 25.03.2017 Viviane Zwanger

Demo Interne Geräte: Systemlautsprecher 25.03.2017 Viviane Zwanger

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

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. 25.03.2017 Viviane Zwanger

Output an die Peripherie: Demo Output an die Peripherie: TCPIP 25.03.2017 Viviane Zwanger

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”

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

Fragen? We like IRPs! 25.03.2017 Viviane Zwanger