Malware

DLL-Hijacking-Sicherheitslückenangriffe, Prävention und Erkennung

DLL-Hijacking-Sicherheitslückenangriffe, Prävention und Erkennung

DLL steht für Dynamic Link Libraries und sind externe Teile von Anwendungen, die unter Windows oder einem anderen Betriebssystem laufen. Die meisten Anwendungen sind in sich nicht vollständig und speichern Code in verschiedenen Dateien. Wenn der Code benötigt wird, wird die zugehörige Datei in den Speicher geladen und verwendet. Dies reduziert die Dateigröße der Anwendung und optimiert gleichzeitig die Nutzung des Arbeitsspeichers. Dieser Artikel erklärt, was ist DLL-Hijacking und wie man es erkennt und verhindert.

Was sind DLL-Dateien oder dynamische Linkbibliotheken?

DLL-Dateien sind dynamische Linkbibliotheken und, wie der Name schon sagt, Erweiterungen verschiedener Anwendungen. Jede von uns verwendete Anwendung kann bestimmte Codes verwenden oder nicht. Solche Codes werden in verschiedenen Dateien gespeichert und nur aufgerufen oder in den RAM geladen, wenn der zugehörige Code benötigt wird. Dadurch wird verhindert, dass eine Anwendungsdatei zu groß wird, und verhindert, dass die Anwendung Ressourcen in Anspruch nimmt.

Der Pfad für DLL-Dateien wird vom Windows-Betriebssystem festgelegt. Der Pfad wird mit globalen Umgebungsvariablen festgelegt. Wenn eine Anwendung eine DLL-Datei anfordert, schaut das Betriebssystem standardmäßig in denselben Ordner, in dem die Anwendung gespeichert ist. Wenn es dort nicht gefunden wird, wird es in andere Ordner verschoben, die von den globalen Variablen festgelegt wurden. Es gibt Prioritäten für Pfade und es hilft Windows bei der Bestimmung, in welchen Ordnern nach den DLLs gesucht werden soll. Hier kommt die DLL-Hijacking ins Spiel.

Was ist DLL-Hijacking?

Da DLLs Erweiterungen sind und für die Verwendung fast aller Anwendungen auf Ihren Computern erforderlich sind, befinden sie sich auf dem Computer in verschiedenen Ordnern, wie erklärt. Wenn die ursprüngliche DLL-Datei durch eine gefälschte DLL-Datei mit bösartigem Code ersetzt wird, wird dies als DLL-Hijacking.

Wie bereits erwähnt, gibt es Prioritäten, wo das Betriebssystem nach DLL-Dateien sucht. Zuerst durchsucht es denselben Ordner wie den Anwendungsordner und sucht dann basierend auf den von den Umgebungsvariablen des Betriebssystems festgelegten Prioritäten operating. Also wenn ein Gut.dll-Datei befindet sich im SysWOW64-Ordner und jemand platziert ein Bad.dll in einem Ordner mit höherer Priorität im Vergleich zum SysWOW64-Ordner, verwendet das Betriebssystem das Bad.dll-Datei, da sie denselben Namen hat wie die von der Anwendung angeforderte DLLLL. Sobald es sich im RAM befindet, kann es den in der Datei enthaltenen bösartigen Code ausführen und Ihren Computer oder Ihre Netzwerke kompromittieren.

So erkennen Sie DLL-Hijacking

Die einfachste Methode, um DLL-Hijacking zu erkennen und zu verhindern, ist die Verwendung von Tools von Drittanbietern. Es gibt einige gute kostenlose Tools auf dem Markt, die dabei helfen, einen DLL-Hackversuch zu erkennen und zu verhindern.

Ein solches Programm ist DLL Hijack Auditor, aber es unterstützt nur 32-Bit-Anwendungen. Sie können es auf Ihrem Computer installieren und alle Ihre Windows-Anwendungen scannen, um zu sehen, welche Anwendungen für DLL-Hijack anfällig sind. Die Oberfläche ist einfach und selbsterklärend. Der einzige Nachteil dieser Anwendung ist, dass Sie 64-Bit-Anwendungen nicht scannen können.

Ein weiteres Programm zum Erkennen von DLL-Hijacking, DLL_HIJACK_DETECT, ist über GitHub verfügbar. Dieses Programm überprüft Anwendungen, um zu sehen, ob eine von ihnen für DLL-Hijacking anfällig ist. Ist dies der Fall, informiert das Programm den Benutzer. Die Anwendung hat zwei Versionen - x86 und x64, sodass Sie jede verwenden können, um sowohl 32-Bit- als auch 64-Bit-Anwendungen zu scannen.

Es ist zu beachten, dass die oben genannten Programme die Anwendungen auf der Windows-Plattform nur auf Schwachstellen scannen und das Entführen von DLL-Dateien nicht wirklich verhindern.

So verhindern Sie DLL-Hijacking

Das Problem sollte in erster Linie von den Programmierern angegangen werden, da Sie nicht viel tun können, außer Ihre Sicherheitssysteme zu verbessern. Wenn Programmierer anstelle eines relativen Pfads einen absoluten Pfad verwenden, wird die Schwachstelle reduziert. Beim Lesen des absoluten Pfads hängt das Windows oder ein anderes Betriebssystem nicht von Systemvariablen für den Pfad ab und geht direkt zur beabsichtigten DLL, wodurch die Möglichkeit ausgeschlossen wird, die gleichnamige DLL in einen Pfad mit höherer Priorität zu laden. Auch diese Methode ist nicht ausfallsicher, denn wenn das System kompromittiert wird und die Cyberkriminellen den genauen Pfad der DLL kennen, ersetzen sie die ursprüngliche DLL durch die gefälschte DLL replace. Das würde die Datei überschreiben, sodass die ursprüngliche DLL in bösartigen Code umgewandelt wird. Aber auch hier muss der Cyberkriminelle den genauen absoluten Pfad kennen, der in der Anwendung angegeben ist, die die DLL aufruft. Der Prozess ist für Cyberkriminelle schwierig und daher kann man sich darauf verlassen.

Zurück zu dem, was Sie tun können, versuchen Sie einfach, Ihre Sicherheitssysteme zu skalieren, um Ihr Windows-System besser zu schützen. Verwenden Sie eine gute Firewall. Verwenden Sie nach Möglichkeit eine Hardware-Firewall oder schalten Sie die Router-Firewall ein. Verwenden Sie gute Intrusion Detection-Systeme, damit Sie wissen, ob jemand versucht, mit Ihrem Computer zu spielen.

Wenn Sie sich mit der Fehlerbehebung bei Computern befassen, können Sie auch die folgenden Schritte ausführen, um Ihre Sicherheit zu erhöhen:

  1. Deaktivieren Sie das Laden von DLLs von Remote-Netzwerkfreigaben
  2. Deaktivieren Sie das Laden von DLL-Dateien von WebDAV
  3. Deaktivieren Sie den WebClient-Dienst vollständig oder setzen Sie ihn auf manuell
  4. Blockieren Sie die TCP-Ports 445 und 139, da sie am häufigsten für die Kompromittierung von Computern verwendet werden
  5. Installieren Sie die neuesten Updates für das Betriebssystem und die Sicherheitssoftware.

Microsoft hat ein Tool zum Blockieren von DLL-Load-Hijacking-Angriffen veröffentlicht. Dieses Tool mindert das Risiko von DLL-Hijacking-Angriffen, indem es verhindert, dass Anwendungen Code unsicher aus DLL-Dateien laden.

Wenn Sie dem Artikel etwas hinzufügen möchten, kommentieren Sie bitte unten.

So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...
Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...