Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei...

21
Keylogger Christian Koch [email protected] 30. August 2006 Christian Koch ([email protected]) Keylogger 30. August 2006 1 / 21

Transcript of Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei...

Page 1: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Keylogger

Christian Koch

[email protected]

30. August 2006

Christian Koch ([email protected]) Keylogger 30. August 2006 1 / 21

Page 2: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

1 Funktionsweise Tastatureingabe

2 Software-Keylogger

3 Hardware-Keylogger

4 Schlußbemerkungen

5 Lizenz

Christian Koch ([email protected]) Keylogger 30. August 2006 2 / 21

Page 3: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Funktionsweise Tastatureingabe

IBM-PC-Tastaturschnittstelle

0 V

+ 5 V Takt

Daten

Taktfrequenz: 10. . . 30 kHz

Takt- und Datenleitung: passiver High-Pegel durch Pull-Up-Widerstand

bidirektionale, serielle Übertragung

nicht hot-plug-fähig

Christian Koch ([email protected]) Keylogger 30. August 2006 3 / 21

Page 4: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Funktionsweise Tastatureingabe

PS/2-Buchsenbelegung

1. . . Daten

2. . . reserviert

3. . . Masse, 0 V

4. . . Betriebsspannung, + 5 V

5. . . Takt

6. . . reserviert

5

3

(2) 1

(6)

4

Abbildung: Frontansicht

Christian Koch ([email protected]) Keylogger 30. August 2006 4 / 21

Page 5: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Funktionsweise Tastatureingabe

Protokoll Tastatur zum PC

Daten

Takt

0 10 0 1 1 0 0 0 0 1

Startbit low

acht Datenbits, LSB zuerst, im Beispiel 11100b

Paritätsbit für ungerade Parität

Stopbit high

Christian Koch ([email protected]) Keylogger 30. August 2006 5 / 21

Page 6: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Funktionsweise Tastatureingabe

Scancode am Beispiel (Scancode Set 2)

Taste A wird gedrückt

1 Tastatur sendet make code 1Ch an Tastaturcontroller im PC2 Tastaturcontroller übersetzt 1Ch in 1Eh3 Tastaturcontroller setzt Interrupt IRQ14 Tastaturtreiber liest Scancode 1Eh an Port 60h aus5 warte entsprechend der Wiederholrate und springe ggf. zu Punkt 1

Taste A wird losgelassen

1 Tastatur sendet break code F0h 1Ch an Tastaturcontroller im PC2 Tastaturcontroller übersetzt F0h 1Ch in 9Eh3 Tastaturcontroller setzt Interrupt IRQ14 Tastaturtreiber liest Scancode 9Eh an Port 60h aus

Christian Koch ([email protected]) Keylogger 30. August 2006 6 / 21

Page 7: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Software-Keylogger

Software-Keylogger

Vorteilegeräteunabhängig

funktioniert auch mit integrierten Tastaturen

ggf. gespeicherte Eingaben erfaßbar

ggf. aus der Ferne installier- und steuerbar

praktisch unbegrenzter Speicher

Nachteilebetriebssystemabhängig

u. U. schwierige Implementierung

ggf. durch Scan-Software erkennbar

Christian Koch ([email protected]) Keylogger 30. August 2006 7 / 21

Page 8: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Software-Keylogger

Implementierungen

MS WindowsSetWindowsHookEx(WH_KEYBOARD, ...);

AttachThreadInput(...); GetKeyboardState(...);

IoAttachDevice(...);IoSetCompletionRoutine(...);

Linuxiopl(3); inb(0x60);

XQueryKeymap(...);

ttysnoop

Christian Koch ([email protected]) Keylogger 30. August 2006 8 / 21

Page 9: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Hardware-Keylogger

Vorteilebetriebssystemunabhängig

dadurch auch Eingaben vor dem Booten erfaßbar

softwaretechnisch nicht erkennbar

Nachteilegerätespezifisch

nur vor Ort installierbar

Speicher relativ begrenzt (je nach Geldbörse)

Christian Koch ([email protected]) Keylogger 30. August 2006 9 / 21

Page 10: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Passiver Keylogger

PC

Tastatur

Keylogger

µC

NVRAM

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 ([email protected]) Keylogger 30. August 2006 10 / 21

Page 11: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Aktiver Keylogger

PC

Tastatur

Keylogger

µC

NVRAM

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 ([email protected]) Keylogger 30. August 2006 11 / 21

Page 12: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Hybrider Keylogger

PC

Tastatur

Keylogger

µC

NVRAM

Keylogger wird in Reihe zur Takt- und Datenleitung geschaltenbei Aufnahme werden Takt- und Datenleitung durchgeschleiftbei Widergabe braucht Tastatur nicht abgeklemmt zu werdenMenüsteuerung z.B. in einem Text-Editor möglichmögliche Anbringung: im PC, Zwischenstecker am PC, in der Tastaturelektrisch praktisch nicht detektierbar

Christian Koch ([email protected]) Keylogger 30. August 2006 12 / 21

Page 13: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

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 anPC übertragen

Löschen des Ringspeichers ist in der µC-Software nicht vorgesehen

Christian Koch ([email protected]) Keylogger 30. August 2006 13 / 21

Page 14: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Analyse mit KeyGrab

Christian Koch ([email protected]) Keylogger 30. August 2006 14 / 21

Page 15: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Versuchsaufbau DIY-Keylogger (1/2)

Ziele: Wegfall des Tasters, schnelles Löschen des Speichers

Christian Koch ([email protected]) Keylogger 30. August 2006 15 / 21

Page 16: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Versuchsaufbau DIY-Keylogger (2/2)

Veränderungen gegenüberKeelog-DIY-Keylogger:

kein Taster mehr erforderlich

Speicher wird durch Eingabe vonec3le in fünf Sekunden gelöscht

Widergabe wird bei Eingabe vonc3le nach 10 Sekundengestartet; Wartezeit, um Tastaturabzuklemmen

Stop der Widergabe durchAbklemmen des Keyloggers

Christian Koch ([email protected]) Keylogger 30. August 2006 16 / 21

Page 17: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Hardware-Keylogger

Versuchsaufbau DIY-Keylogger mit Atmel AVR

nächster Schritt: Miniaturisierung, weniger Bauelemente, Vereinfachung derµC-Programmierung, bessere Speichernutzung

Christian Koch ([email protected]) Keylogger 30. August 2006 17 / 21

Page 18: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Schlußbemerkungen

Ausblick

komfortables Auswerteprogramm für X Window

Tastenanschläge mit Zeitstempel

USB-Keylogger

Wireless-Desktop-Keylogger

Christian Koch ([email protected]) Keylogger 30. August 2006 18 / 21

Page 19: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

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-Measureshttp://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 ([email protected]) Keylogger 30. August 2006 19 / 21

Page 20: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Schlußbemerkungen

Ich bedanke mich für die Aufmerksamkeit.

Christian Koch ([email protected]) Keylogger 30. August 2006 20 / 21

Page 21: Keylogger - Christian Koch · Keylogger wird in Reihe zur Takt- und Datenleitung geschalten bei Widergabe braucht Tastatur nicht abgeklemmt zu werden Menüsteuerung z.B. in einem

Lizenz

Lizenz

Dieser Inhalt ist unter einem Creative Commons Namensnennung-Weitergabeunter gleichen Bedingungen Lizenzvertrag lizenziert. Um die Lizenzanzusehen, gehen Sie bitte zuhttp://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 ([email protected]) Keylogger 30. August 2006 21 / 21