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.

Kaspersky Internet Security erkennt derartige <strong>Keylogger</strong>proaktiv als <strong>Keylogger</strong> (die Option Erkennen vonTastaturspionen des Subsystems Aktivitätsanalyse fürAnwendungen im Modul Proaktiver Schutz muss aktiviertsein).Eindringen in den Prozess <strong>und</strong> Abfangen der <strong>Funktionen</strong>GetMessage/PeekMessageDiese Methode zur Umsetzung von <strong>Keylogger</strong>n wirdselten verwendet. Der <strong>Keylogger</strong> dringt in alle Prozesseein <strong>und</strong> fängt in ihnen die <strong>Funktionen</strong> GetMessageoder PeekMessage aus der Bibliothek user32.dll ab.Hierfür können verschiedene Methoden zum Einsatzkommen: Splicing, Modifikationen der Adress-Listender in die IAT importierten <strong>Funktionen</strong>, Abfangen derFunktion GetProcAddress, die die Adresse der Funktionaus der geladenen Bibliothek zurücksendet. Der<strong>Keylogger</strong> kann als DLL realisiert werden oder durchdas direkte Eindringen von Code in einen speziellenProzess. Splicing ist übrigens eine Methode, die zumAbfangen des Aufrufs von API-<strong>Funktionen</strong> genutzt wird.Dazu tauscht sie die ersten (normalerweise die erstenfünf) Bytes der Instruktionsfunktion JMP, die die Steuerungan den <strong>Keylogger</strong>-Code weiterleitet.Egal welche der genannten Methoden zum Einsatzkommt, das Ergebnis bleibt dasselbe: Ruft eine Anwendungbeispielsweise die Funktion GetMessagezum Empfang der nächsten Meldung aus der Message-Queueauf, gelangt dieser Aufruf in den Code desTastaturspions. Dieser ruft GetMessage aus user32.dll auf <strong>und</strong> analysiert die zurückgesendeten Resultatehinsichtlich der Meldungstypen. Sobald eine Tastaturmeldungempfangen wird, werden alle sie betreffendenInformationen aus den Parametern der Meldung herausgezogen<strong>und</strong> vom <strong>Keylogger</strong> protokolliert.Zu den Vorteilen dieser Methode gehört zweifellos ihreEffektivität: da sie nur wenig verbreitet ist, ist nur einegeringe Anzahl von Programmen in der Lage, derartige<strong>Keylogger</strong> zu finden. Hinzu kommt, dass auchherkömmliche Bildschirmtastaturen nicht gegen diesen<strong>Keylogger</strong>-Typ schützen, da die von ihnen versendetenMeldungen ebenso von ihm abgefangen werden.Ausnutzung des Raw-Input-ModellsZum gegenwärtigen Zeitpunkt ist lediglich ein Beispielfür die Realisierung dieser Methode bekannt, <strong>und</strong> zwarein Tool zum Austesten der Schutzfunktionen vor <strong>Keylogger</strong>nim System. Das Wesen dieser Methode bestehtin der Ausnutzung des neuen Raw-Input-Modells, wobeider <strong>Keylogger</strong> die Tastatur als ein Gerät registriert,von dem er Eingaben empfangen will. Daraufhin beginntder <strong>Keylogger</strong>, Daten über gedrückte <strong>und</strong> gelösteTasten über die Meldung WM_INPUT zu empfangen.Die Vorteile dieser Methode liegen in ihrer Einfachheit<strong>und</strong> Effektivität: Da die gegebene Methode erstvor kurzem allgemein bekannt geworden ist, ist bisherkaum eine Sicherheitslösung in der Lage, vor derartigen<strong>Keylogger</strong>n zu schützen.Der Nachteil besteht darin, dass <strong>Keylogger</strong> dieserMachart sehr einfach aufzuspüren sind, da eine spezielleRegistrierung zum Empfang des Raw Input durchdie Anwendung unerlässlich ist (in der Standardeinstellungwird der Raw Input von keinem einzigen Prozessim System empfangen).Kaspersky Internet Security erkennt <strong>Keylogger</strong> dieserArt proaktiv (die Option Erkennen von Tastaturspionendes Subsystems Aktivitätsanalyse für Anwendungenim Modul Proaktiver Schutz muss aktiviert sein).Kernel-Mode-<strong>Keylogger</strong><strong>Keylogger</strong> des Kernel-Mode sind weitaus komplexer<strong>und</strong> komplizierter als <strong>Keylogger</strong> des User-Mode – sowohlin der Umsetzung als auch bezüglich ihrer Entdeckung.Ihre Entwicklung erfordert spezielle Programmier-Kenntnisse,doch das Ergebnis sind <strong>Keylogger</strong>,die für alle Anwendungen des User-Mode absolut unbemerktbleiben. Zum Abfangen können sowohl die imMicrosoft Driver Development Kit dokumentierte alsauch andere, nicht dokumentierte Methoden verwendetwerden.Verwendung eines Treiberfilters des TastaturklassentreibersKbdclass<strong>Keylogger</strong>Nachteile: Modifikationen der IAT-Tabellen könnendas Abfangen nicht garantieren, da die Adressen der<strong>Funktionen</strong> der Bibliothek user32.dll so lange gespeichertwerden könnten, bis der <strong>Keylogger</strong> eindringt. DasSplicing ist ebenfalls mit Schwierigkeiten verb<strong>und</strong>en,etwa auf Gr<strong>und</strong> der Notwendigkeit, den Programmcode„on-the-fly“ zu überschreiben.Kaspersky Internet Security erkennt derartige <strong>Keylogger</strong>mit Hilfe des proaktiven Schutzmechanismus alsInvader (die Option Eindringen in Prozess (Invaders)des Subsystems Aktivitätsanalyse für Anwendungenim Modul Proaktiver Schutz muss aktiviert sein).Hierbei handelt es sich um den im DDK dokumentiertenAnsatz zum Abfangen der Tastatureingabe. Nach diesemModell konstruierte <strong>Keylogger</strong> fangen die Anfragenan die Tastatur durch die Installation eines Filtersoberhalb des Gerätes \Device\KeyboardClass0 ab, dervon dem Treiber Kbdclass erzeugt wird. Es werden ausschließlichAnfragen des Typs IRP_MJ_READ gefiltert,da gerade diese den Empfang der Codes gedrückter<strong>und</strong> gelöster Tasten ermöglichen.16

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!