Startseite » Sicherheit » Angriffe, Verhinderung und Erkennung von Sicherheitslücken durch DLL-Hijacking

    Angriffe, Verhinderung und Erkennung von Sicherheitslücken durch DLL-Hijacking

    DLL steht für Dynamic Link Libraries und ist ein externer Bestandteil von Anwendungen, die unter Windows oder einem anderen Betriebssystem ausgeführt werden. Die meisten Anwendungen sind in sich selbst 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 die RAM-Nutzung optimiert. Dieser Artikel erklärt, was ist DLL-Hijacking und wie man es erkennt und verhindert.

    Was sind DLL-Dateien oder Dynamic Link Libraries?

    DLL-Dateien sind Dynamic Link Libraries und sind, wie der Name zeigt, Erweiterungen verschiedener Anwendungen. Jede Anwendung, die wir verwenden, kann bestimmte Codes verwenden oder nicht. Solche Codes werden in verschiedenen Dateien gespeichert und 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 verhindert, dass Ressourcen von der Anwendung beschädigt werden.

    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, 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. Pfaden sind mit Prioritäten versehen, und Windows hilft dabei herauszufinden, in welchen Ordnern nach den DLLs gesucht wird. Hier kommt das DLL-Hijacking ins Spiel.

    Was ist DLL-Hijacking?

    Da es sich bei DLLs um Erweiterungen handelt, die für die Verwendung fast aller Anwendungen auf Ihren Computern erforderlich sind, befinden sich diese auf dem Computer in verschiedenen Ordnern, wie erklärt. Wenn die ursprüngliche DLL-Datei durch eine gefälschte DLL-Datei mit schädlichem Code ersetzt wird, wird sie als bezeichnet DLL-Hijacking.

    Wie bereits erwähnt, gibt es Prioritäten, in denen das Betriebssystem nach DLL-Dateien sucht. Zuerst sucht es in demselben Ordner wie der Anwendungsordner und durchsucht dann die Prioritäten, die von den Umgebungsvariablen des Betriebssystems festgelegt wurden. Wenn sich also eine good.dll-Datei im SysWOW64-Ordner befindet und jemand eine bad.dll in einen Ordner platziert, der eine höhere Priorität als der SysWOW64-Ordner hat, verwendet das Betriebssystem die bad.dll-Datei, da sie den gleichen Namen wie die DLL hat von der Anwendung angefordert. Sobald sich der RAM im RAM befindet, kann er den in der Datei enthaltenen schädlichen Code ausführen und Ihren Computer oder Ihre Netzwerke gefährden.

    Wie erkennt man DLL-Hijacking?

    Die einfachste Methode, 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-Hack-Versuch zu erkennen und ihn zu verhindern.

    Ein solches Programm ist DLL Hijack Auditor, es werden jedoch nur 32-Bit-Anwendungen unterstützt. Sie können es auf Ihrem Computer installieren und alle Ihre Windows-Anwendungen durchsuchen, um festzustellen, welche Anwendungen für DLL-Hijack anfällig sind. Die Schnittstelle ist einfach und selbsterklärend. Der einzige Nachteil dieser Anwendung besteht darin, dass Sie keine 64-Bit-Anwendungen scannen können.

    Ein anderes Programm zum Erkennen von DLL-Entführungen, 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 ja, informiert das Programm den Benutzer. Die Anwendung verfügt über zwei Versionen - x86 und x64, sodass Sie jeweils 32-Bit- und 64-Bit-Anwendungen durchsuchen können.

    Es wird darauf hingewiesen, dass die oben genannten Programme die Anwendungen auf der Windows-Plattform lediglich auf Schwachstellen untersuchen und das Hijacking von DLL-Dateien nicht wirklich verhindern.

    Wie man DLL-Hijacking verhindert

    Das Problem sollte von den Programmierern zuerst angegangen werden, da Sie nicht viel tun können, außer Ihre Sicherheitssysteme zu verbessern. Wenn Programmierer anstelle eines relativen Pfads den absoluten Pfad verwenden, wird die Sicherheitsanfälligkeit verringert. Das Lesen des absoluten Pfades, des Windows oder eines anderen Betriebssystems, hängt nicht von den Systemvariablen für den Pfad ab und wird direkt für die vorgesehene DLL ausgeführt, wodurch die Möglichkeit des Ladens der DLL mit demselben Namen in einen Pfad mit höherer Priorität ausgeschlossen wird. Auch diese Methode ist nicht ausfallsicher, denn wenn das System gefährdet ist und die Cyberkriminellen den genauen Pfad der DLL kennen, wird die ursprüngliche DLL durch die gefälschte DLL ersetzt. Das würde die Datei überschreiben, so dass die ursprüngliche DLL in schädlichen Code umgewandelt wird. Aber auch hier muss der Cyberkriminelle den genauen absoluten Pfad kennen, der in der Anwendung erwähnt wird, die die DLL anfordert. Der Prozess ist für Cyberkriminelle schwierig und kann daher mit rechnen.

    Um auf das zurückzukommen, was Sie tun können, versuchen Sie einfach, Ihre Sicherheitssysteme zu vergrößern, um Ihr Windows-System besser zu schützen. Verwenden Sie eine gute Firewall. Verwenden Sie nach Möglichkeit eine Hardware-Firewall oder aktivieren Sie die Router-Firewall. Verwenden Sie gute Einbruchmeldesysteme, damit Sie wissen, ob jemand versucht, mit Ihrem Computer zu spielen.

    Wenn Sie sich mit der Fehlerbehebung für Computer beschäftigen, können Sie auch die folgenden Sicherheitsmaßnahmen ergreifen, um Ihre Sicherheit zu verbessern:

    1. Deaktivieren Sie das Laden von DLLs aus Remote-Netzwerkfreigaben
    2. Deaktivieren Sie das Laden von DLL-Dateien aus 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 diese am häufigsten für die Beeinträchtigung 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-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 ihn bitte unten.