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

Preview:

Citation preview

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

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 (christian_koch@gmx.de) Keylogger 30. August 2006 3 / 21

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 (christian_koch@gmx.de) Keylogger 30. August 2006 4 / 21

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 (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 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 (christian_koch@gmx.de) Keylogger 30. August 2006 6 / 21

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 (christian_koch@gmx.de) Keylogger 30. August 2006 7 / 21

Software-Keylogger

Implementierungen

MS WindowsSetWindowsHookEx(WH_KEYBOARD, ...);

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

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

Linuxiopl(3); inb(0x60);

XQueryKeymap(...);

ttysnoop

Christian Koch (christian_koch@gmx.de) Keylogger 30. August 2006 8 / 21

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 (christian_koch@gmx.de) Keylogger 30. August 2006 9 / 21

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 (christian_koch@gmx.de) Keylogger 30. August 2006 10 / 21

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 (christian_koch@gmx.de) Keylogger 30. August 2006 11 / 21

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 (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 anPC ü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ü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 (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-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 (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-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 (christian_koch@gmx.de) Keylogger 30. August 2006 21 / 21

Recommended