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