DLL-Hijacking-Schwachstellenangriffe, Prävention und Erkennung

DLL steht für Dynamic Link Libraries und sind externe Teile von Anwendungen, die unter Windows oder einem anderen Betriebssystem ausgeführt werden. 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. Dadurch wird die Größe der Anwendungsdatei reduziert und gleichzeitig die RAM -Nutzung optimiert . Dieser Artikel erklärt, was DLL-Hijacking ist und wie man es erkennt und verhindert.

Was sind DLL- Dateien(Files) oder Dynamic Link Libraries

DLL-Hijacking

DLL- Dateien sind Dynamic Link Libraries und, wie der Name schon sagt, Erweiterungen verschiedener Anwendungen. Jede Anwendung, die wir verwenden, kann bestimmte Codes verwenden oder nicht. Solche Codes werden in verschiedenen Dateien gespeichert und werden nur dann aufgerufen oder in den RAM geladen , wenn der zugehörige Code erforderlich ist. Dadurch wird verhindert, dass eine Anwendungsdatei zu groß wird, und es wird verhindert, dass die Anwendung Ressourcen in Anspruch nimmt.

Der Pfad für DLL - Dateien wird vom Windows -Betriebssystem festgelegt. Der Pfad wird mithilfe von globalen Umgebungsvariablen(Global Environmental Variables) festgelegt . Wenn eine Anwendung eine DLL -Datei anfordert, sucht das Betriebssystem standardmäßig in demselben Ordner, in dem die Anwendung gespeichert ist. Wenn es dort nicht gefunden wird, wird es in andere Ordner verschoben, wie von den globalen Variablen festgelegt. Den Pfaden sind Prioritäten zugeordnet, und dies hilft Windows bei der Bestimmung, in welchen Ordnern nach den DLLs gesucht(DLLs) 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, sind sie wie erläutert in verschiedenen Ordnern auf dem Computer vorhanden. Wenn die ursprüngliche DLL -Datei durch eine gefälschte DLL -Datei ersetzt wird, die schädlichen Code enthält, wird dies als DLL-Hijacking bezeichnet .

Wie bereits erwähnt, gibt es Prioritäten, wo das Betriebssystem nach DLL - Dateien sucht. Zuerst(First) durchsucht es denselben Ordner wie den Anwendungsordner und sucht dann basierend auf den Prioritäten, die von den Umgebungsvariablen des Betriebssystems festgelegt werden. Wenn sich also eine good.dll-Datei im SysWOW64- Ordner befindet und jemand eine bad.dll in einem Ordner ablegt, der im Vergleich zum SysWOW64- Ordner eine höhere Priorität hat, verwendet das Betriebssystem die bad.dll-Datei, da sie denselben Namen wie die DLL hat von der Anwendung angefordert. Sobald es sich im RAM befindet, kann es den in der Datei enthaltenen bösartigen Code ausführen und Ihren Computer oder Ihre Netzwerke gefährden.

So erkennen Sie DLL-Hijacking

Die einfachste Methode zum Erkennen und Verhindern von DLL -Hijacking ist die Verwendung von Tools von Drittanbietern. Es gibt einige gute kostenlose Tools auf dem Markt, die dabei helfen, einen DLL - Hack-Versuch 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 - Hijacking anfällig sind. Die Oberfläche ist einfach und selbsterklärend. Der einzige Nachteil dieser Anwendung ist, dass Sie keine 64-Bit-Anwendungen 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 festzustellen, ob eine von ihnen für DLL -Hijacking anfällig ist. Wenn dies der Fall ist, informiert das Programm den Benutzer. Die Anwendung hat zwei Versionen – x86 und x64 , so dass Sie beide verwenden können, um sowohl 32-Bit- als auch 64-Bit-Anwendungen zu scannen.

Es sollte beachtet werden, dass die oben genannten Programme lediglich die Anwendungen auf der Windows - Plattform auf Schwachstellen scannen und das Hijacking 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 beginnen, einen absoluten Pfad zu verwenden, wird die Schwachstelle verringert. Beim Lesen des absoluten Pfads hängt 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, dass die gleichnamige DLL in einem Pfad mit höherer Priorität geladen wird. 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. 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.

Um auf das zurückzukommen, was Sie tun können, versuchen Sie einfach, Ihre Sicherheitssysteme zu vergrößern, um Ihr Windows-System(secure your 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 Computerprobleme beheben möchten, können Sie auch Folgendes tun, um Ihre Sicherheit zu erhöhen:

  1. Deaktivieren Sie das Laden von DLLs(DLL) von Remote-Netzwerkfreigaben
  2. Deaktivieren Sie das Laden von DLL - Dateien von WebDAV
  3. Deaktivieren Sie den WebClient(WebClient) - Dienst vollständig oder stellen Sie ihn auf manuell ein
  4. Blockieren(Block) 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 verringert das Risiko von DLL -Hijacking-Angriffen, indem verhindert wird, dass Anwendungen Code aus DLL - Dateien unsicher laden.

Wenn Sie dem Artikel etwas hinzufügen möchten, kommentieren Sie dies bitte unten.(If you would like to add anything to the article, please comment below.)



About the author

Ich bin ein iOS-Entwickler mit über 10 Jahren Erfahrung. Ich habe mich auf die Entwicklung von Apps für iPhone und iPad spezialisiert. Ich habe Erfahrung beim Erstellen von Benutzerabläufen, dem Erstellen von benutzerdefinierten Entwicklungskits (CDKs) und der Arbeit mit verschiedenen App-Entwicklungsframeworks. In meiner früheren Arbeit habe ich auch Tools entwickelt, die bei der Verwaltung von Apples App Store helfen, darunter ein Produktmanagement-Tool und ein App-Übermittlungstool.



Related posts