DLL Injection



In der Informatik bezeichnet DLL Injection Eine Technik, mit dem Mann – Code im Adressraum Einer other Prozess zur Ausführung Sehen brachte, in die man Diesen Prozess Zwingt, Ein programmfremde Dynamic Link Library(DLL) zu laden. Im Prinzip ist this Technik bei allen Betriebssystem verfügbar, sterben Dynamischer Bibliotheken unterstützen , wo Begriff DLL Injection bezieht sich jedoch auf das Gewöhnlich Betriebssystem Microsoft Windows .

Diese Technik wird nur benötigt, wenn der Quellcode eines Programms nicht verfügbar ist. SOMIT Wird DLL Injection Hauf von sogenannter Third-Party – Anbietern genutzt, um das Programm verhält Ein in Einer Weise anzupassen, stirbt vom Entwickler des Ursprüngliche Programms nicht Vorgesehen Wird. Ein typisches Beispiel für eine Technik der DLL-Injektion utilzend Anwendung ist ein Profiler .

Verfübaarbare Techniken Unter Windows

Unter Microsoft Windows gibt es Verben Techniken, eine DLL-Injektion zu bewirken. Der böseste Geist dabei:

  • Windows – Registrierung: In der Registrierung ( Registry ) can Unter dem Schlüssel „HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ Currentversion \ Windows \ AppInit_DLLs“ DLLs Informationen angegeben Werden, sterben weltweit bei ihnen jeden starten Programm addition geladen Werden.
  • Hooks: Durch die Nutzung von Windows-Hooks ist es möglich, eigene DLLs an fremde Prozesse (sowie auch global) anzuhängen. Zusätzlich zum Schweißen dieser Methode können die Aktionen abfangen / hindindern (siehe Windows-Hooks ).
  • CreateRemoteThread: Die CreateRemoteThread-API ist eine Nachricht, eine der bekanntesten Sprachadressen der Welt. Characterized ist es Möglich, bei Aufruf, wo Speicheradresse, Loadlibrary API in Welchem ​​stirbt Einen Prozess Lag, with the Argument die zu ladenden DLL Namens this DLL in EINEM Fremden Prozess zu laden.
  • Direkter Speicherzugriff: Mithilfe der Windows-Funktion AllocMemory und WriteMemory ist es möglich, direkt auf die Speicher Prozesse zuzugreifen. Sie können alle folgenden Einträge lesen: AllocMemory und andere Funktionen Sie können DLL-Skripte verwenden.
  • Durch nutzung von Betriebssystemfunktionen ( APIs ) zur Manipulation von Prozess ( Prozess – Manipulation Funktionen ) Kann das Nachladen Einer addition DLL erreicht Werden.

Nutzung durch bösartige Software

Die Nutzung von DLL-Injection ist für bösartige Software sehr attraktiv. Diese Technik ermöglicht es, Code unter dem Deckmantel eines anderen Programms auszuführen. Dies ist deshalb interessant, wenn Characterized Zugriffe auf das Internet Vor einer Desktop Firewall verschleiert Werden Können. Hier können beispielsweise auf sie infizierte Computer ausgespähte Passwörter fehlen. Über dieses Problem haben Sie begonnen, mit einzelnen Desktop-Firewalls zu kämpfen, die Sie Systemanalyse für DLL-Injection erkennen können, war aber nicht nur Nichte.

Gegenmaßnahmen

  • Zum Schreiben im Speicher avanciert Anwendungen sind Administratorrechte erforderlich
  • Auf geschützte Prozesse ( geschützter Prozess , mit Windows Vista für Protected Media Path eingeführt)

Literatur

  • Jeffrey Richter: Programmieren von Anwendungen für Microsoft Windows. 4. Auflage. Microsoft Press, Redmond WA 1999, ISBN 1-57231-996-8 ( Microsoft Programming Series ).