Keylogger - von Christian Koch
Transcription
Keylogger - von Christian Koch
Keylogger Christian Koch christian_koch@gmx.de 30. August 2006 Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 1 / 21 1 Funktionsweise Tastatureingabe 2 Software-Keylogger 3 Hardware-Keylogger 4 Schlußbemerkungen 5 Lizenz Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 2 / 21 Funktionsweise Tastatureingabe IBM-PC-Tastaturschnittstelle Daten +5V Takt 0V Taktfrequenz: 10. . . 30 kHz Takt- und Datenleitung: passiver High-Pegel durch Pull-Up-Widerstand bidirektionale, serielle Übertragung nicht hot-plug-fähig Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 3 / 21 Funktionsweise Tastatureingabe PS/2-Buchsenbelegung 1. . . Daten (6) 2. . . reserviert 5 3. . . Masse, 0 V 4. . . Betriebsspannung, + 5 V 4 3 5. . . Takt (2) 6. . . reserviert 1 Abbildung: Frontansicht Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 4 / 21 Funktionsweise Tastatureingabe Protokoll Tastatur zum PC 0 0 0 1 1 1 0 0 0 0 1 Daten Takt Startbit low acht Datenbits, LSB zuerst, im Beispiel 11100b Paritätsbit für ungerade Parität Stopbit high Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 5 / 21 Funktionsweise Tastatureingabe Scancode am Beispiel (Scancode Set 2) Taste A wird gedrückt 1 Tastatur sendet make code 1Ch an Tastaturcontroller im PC 2 Tastaturcontroller übersetzt 1Ch in 1Eh 3 Tastaturcontroller setzt Interrupt IRQ1 4 Tastaturtreiber liest Scancode 1Eh an Port 60h aus 5 warte entsprechend der Wiederholrate und springe ggf. zu Punkt 1 Taste A wird losgelassen 1 Tastatur sendet break code F0h 1Ch an Tastaturcontroller im PC 2 Tastaturcontroller übersetzt F0h 1Ch in 9Eh 3 Tastaturcontroller setzt Interrupt IRQ1 4 Tastaturtreiber liest Scancode 9Eh an Port 60h aus Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 6 / 21 Software-Keylogger Software-Keylogger Vorteile geräteunabhängig funktioniert auch mit integrierten Tastaturen ggf. gespeicherte Eingaben erfaßbar ggf. aus der Ferne installier- und steuerbar praktisch unbegrenzter Speicher Nachteile betriebssystemabhängig u. U. schwierige Implementierung ggf. durch Scan-Software erkennbar Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 7 / 21 Software-Keylogger Implementierungen MS Windows SetWindowsHookEx(WH_KEYBOARD, ...); AttachThreadInput(...); GetKeyboardState(...); IoAttachDevice(...); IoSetCompletionRoutine(...); Linux iopl(3); inb(0x60); XQueryKeymap(...); ttysnoop Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 8 / 21 Hardware-Keylogger Hardware-Keylogger Vorteile betriebssystemunabhängig dadurch auch Eingaben vor dem Booten erfaßbar softwaretechnisch nicht erkennbar Nachteile gerätespezifisch nur vor Ort installierbar Speicher relativ begrenzt (je nach Geldbörse) Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 9 / 21 Hardware-Keylogger Passiver Keylogger NVRAM Keylogger µC PC Tastatur Keylogger wird zu den vier Tastaturleitungen parallelgeschalten bei Widergabe muß Tastatur abgeklemmt werden mögliche Anbringung: im PC, Zwischenstecker am PC elektrisch praktisch nicht detektierbar Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 10 / 21 Hardware-Keylogger Aktiver Keylogger NVRAM Keylogger µC PC Tastatur Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem Text-Editor möglich mögliche Anbringung: im PC, Zwischenstecker am PC, in der Tastatur elektrisch durch Messung der Verzögerung detektierbar Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 11 / 21 Hardware-Keylogger Hybrider Keylogger NVRAM Keylogger µC PC Tastatur Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Aufnahme werden Takt- und Datenleitung durchgeschleift bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem Text-Editor möglich mögliche Anbringung: im PC, Zwischenstecker am PC, in der Tastatur elektrisch praktisch nicht detektierbar Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 12 / 21 Hardware-Keylogger Passiver DIY-Keylogger Idee: http://www.keelog.com/diy.html speichert ca. 60 000 Bytes entsprechend 20 000 Tastenanschlägen nichtflüchtiger Speicher ist als Ringspeicher organisiert letzte Speicheradresse wird alle zehn Sekunden gespeichert eingebauter Taster startet und stoppt Widergabe bei Widergabe werden Scancodes nicht RAW sondern HEX-kodiert an PC übertragen Löschen des Ringspeichers ist in der µC-Software nicht vorgesehen Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 13 / 21 Hardware-Keylogger Analyse mit KeyGrab Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 14 / 21 Hardware-Keylogger Versuchsaufbau DIY-Keylogger (1/2) Ziele: Wegfall des Tasters, schnelles Löschen des Speichers Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 15 / 21 Hardware-Keylogger Versuchsaufbau DIY-Keylogger (2/2) Veränderungen gegenüber Keelog-DIY-Keylogger: kein Taster mehr erforderlich Speicher wird durch Eingabe von ec3le in fünf Sekunden gelöscht Widergabe wird bei Eingabe von c3le nach 10 Sekunden gestartet; Wartezeit, um Tastatur abzuklemmen Stop der Widergabe durch Abklemmen des Keyloggers Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 16 / 21 Hardware-Keylogger Versuchsaufbau DIY-Keylogger mit Atmel AVR nächster Schritt: Miniaturisierung, weniger Bauelemente, Vereinfachung der µC-Programmierung, bessere Speichernutzung Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 17 / 21 Schlußbemerkungen Ausblick komfortables Auswerteprogramm für X Window Tastenanschläge mit Zeitstempel USB-Keylogger Wireless-Desktop-Keylogger Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 18 / 21 Schlußbemerkungen Anknüpfungspunkte für Selbststudium Keyboard scancodes: http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html Tastatur unter Linux: http://gunnarwrobel.de/wiki/Linux-and-the-keyboard.html xspy key logger: http://www.acm.vt.edu/~jmaxwell/programs/xspy/xspy.html Der Spion in der Tastatur: http://kai.iks-jena.de/miniwahr/pc-wanzen.html Windows Key Logging and Counter-Measures http://pachome2.pacific.net.sg/~chewkeong/keylogr.pdf Hardware Keylogger Detection: http://www.irmplc.com/Docs/KeyLoggerWP.pdf USB-Keylogger: http://www.keelog.com/kusb.html Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 19 / 21 Schlußbemerkungen Ich bedanke mich für die Aufmerksamkeit. Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 20 / 21 Lizenz Lizenz Dieser Inhalt ist unter einem Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen Lizenzvertrag lizenziert. Um die Lizenz anzusehen, gehen Sie bitte zu http://creativecommons.org/licenses/by-sa/2.0/de/ oder schicken Sie einen Brief an Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 21 / 21