12.07.2015 Aufrufe

Keylogger: Funktionen und Erkennungsmethoden ... - B4B Schwaben

Keylogger: Funktionen und Erkennungsmethoden ... - B4B Schwaben

Keylogger: Funktionen und Erkennungsmethoden ... - B4B Schwaben

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Technische Umsetzung von <strong>Keylogger</strong>n unterWindowsDieser Abschnitt wendet sich an IT-Experten <strong>und</strong> anfortgeschrittene Anwender. Er enthält eine detaillierteAnalyse der technischen Aspekte bei der Entwicklungvon <strong>Keylogger</strong>n. Wie bereits im vorangegangenen Abschnitterläutert, besteht das Prinzip von <strong>Keylogger</strong>ndarin, zwischen zwei beliebigen Gliedern der Signalübertragungsketteeinzudringen – vom Drücken derTaste durch den Anwender bis zum Erscheinen desSymbols auf dem Bildschirm. Im Folgenden wird analysiert,welche Glieder in dieser Kette enthalten sind,zudem werden verschiedene Varianten von Soft- <strong>und</strong>Hardware-<strong>Keylogger</strong>n genauer untersucht.An dieser Stelle sei darauf hingewiesen, dass in dervorliegenden Analyse keine Beispiele von <strong>Keylogger</strong>-Quellcode enthalten sind. Anders als manch andereFachleute auf dem Gebiet der IT-Sicherheit sind wirnicht der Meinung, dass es zweckmäßig wäre, derartigenCode zu veröffentlichen.Bearbeitung der Tastatureingaben unter Windowsder Tastatureingaben gewährleisten: Einer befindetsich auf dem Motherboard, der andere in der Tastaturselbst. Daher stellt die PC-Tastatur an sich schon einselbständiges Computersystem dar. Dieses basiert aufdem Mikrocontroller 8042, der die Tastatureingabenfortwährend scannt – unabhängig von der Aktivität aufdem zentralen Prozessor x86.Für jede Taste des Keyboards ist eine bestimmteNummer festgelegt, die eindeutig der Aufteilung derTastatur matrix zugeordnet <strong>und</strong> nicht direkt von dem aufder Oberfläche der Taste dargestellten Zeichen abhängigist. Diese Nummer wird als Scan-Code bezeichnet(diese Benennung verdeutlicht, dass der Computer dieTastatur auf der Suche nach Tasten-Betätigung scannt).Der Scan-Code ist ein zufälliger Wert, der von IBM festgelegtwurde, als das Unternehmen die erste Tastaturfür einen PC herstellte. Der Scan-Code entspricht nichtdem ASCII-Code der Tastatur. Weitere Infos <strong>und</strong> eineÜbersicht aller Scan-Codes finden Sie unter http://de.wikipedia.org/wiki/Scancode.Es existieren verschiedene gr<strong>und</strong>legende Technologienzum Abfangen von Tastatureingaben oder mit der Mausausgeführten Aktionen, auf die die meisten <strong>Keylogger</strong>aufbauen. Vor einer näheren Untersuchung der konkreten<strong>Keylogger</strong>-Typen ist es allerdings unumgänglich,sich zunächst einmal mit dem Bearbeitungs schema derTastatureingaben im Windows-Betriebssystem vertrautzu machen. Zur Beschreibung des gesamten Schemas– von der Betätigung einer Taste auf dem Keyboardbis hin zur Auslösung des Systeminterrupts desTastatur-Controllers <strong>und</strong> der Darstellung der NachrichtWM_KEYDOWN in einem aktiven Fenster – wurdendrei Quellen hinzugezogen: das Buch „Apparatnoe obespečenie IBM PC“ vonAlexander Frolov, Grigorij Frolov, Band 2, Buch 1:Dialog-MIFI, 1992 (Kapitel 2 „Tastatur“ beschreibtdie Funktionsprinzipien der Tastatur, die verwendetenPorts <strong>und</strong> den Hardware-Interrupt der Tastatur) der Abschnitt „Human Input Devices“ der MSDNLibrary, in dem der Teil der unteren Ebene (Treiber)des Bearbeitungsschemas von Tastatureingabenbeschrieben wird das Buch „Entwicklung effektiver WIN32-Anwendungenunter Berücksichtigung der Besonderheitender 64-Bit Windows-Versionen“ von Jeffrey Richter(in Kapitel 27 „Das Hardware-Eingabemodell <strong>und</strong>der lokale Eingabezustand“ wird die obere Ebenedes Bearbeitungsschemas der Tastatureingaben imUser-Mode beschrieben)Funktionsprinzip der Tastatur als physisches GerätHeutzutage sind die meisten Tastaturen eigenständigeGeräte, die über Schnittstellen – zumeist PS/2 oderUSB – mit dem Computer verb<strong>und</strong>en werden. Es gibtzwei Mikrocontroller, die den BearbeitungsprozessDie Tastatur generiert zwei Scan-Codes für jede Taste,einen beim Drücken, den anderen beim Loslassen.Das Vorhandensein von zwei Scan-Codes ist wichtig,weil einige Tasten nur dann sinnvoll sind, wenn sie gedrücktwerden (Shift, Control, Alt).Vereinfachtes TastaturschemaBetätigt der Anwender eine Taste auf dem Keyboard,löst er einen elektrischen Kontakt aus. Als Folge registriertder Mikrokontroller beim nächsten Scan-Vorgangdie Betätigung einer bestimmten Taste <strong>und</strong> schickt denScan-Code der gedrückten Taste <strong>und</strong> eine Interrupt-Anfrage an die CPU. Analoge Aktionen werden durchgeführt,wenn der Anwender die vorher gedrückte Tasteloslässt.Der zweite Mikrocontroller empfängt den Scan-Code,wandelt ihn um <strong>und</strong> macht ihn am Eingabe-Ausgabe-Port 60h verfügbar, woraufhin er einen Hardware-Interrupt des zentralen Prozessors generiert. Danachkann die Interrupt-Behandlungsroutine (ISR = InterruptService Routine) den Scan-Code aus dem genanntenEingabe-Ausgabe-Port empfangen. Die Tastatur verfügtüber einen internen 16-Byte-Puffer, über den derDatenaustausch mit dem Computer realisiert wird.<strong>Keylogger</strong>8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!