Microsoft veröffentlicht ein Tool zum Blockieren von DLL-Entladeangriffen
Vor einiger Zeit gab es Berichte über ein Sicherheitsproblem, von dem etwa 40 verschiedene Windows-Apps betroffen waren. Microsoft hat schnell auf solche Berichte über mögliche Zero-Day-Angriffe auf solche Windows-Programme reagiert, indem ein Update oder ein Tool veröffentlicht wurde, mit dem solche Exploits blockiert werden. Microsoft hat jedoch auch klargestellt, dass der Fehler nicht in Windows liegt.
Tool zum Blockieren von DLL-Hijacking-Angriffen
Microsoft hat eine Sicherheitsempfehlung (2269637) herausgegeben mit dem Titel: Unsicheres Laden von Bibliotheken kann Remotecodeausführung ermöglichen.
„Microsoft ist bekannt, dass Untersuchungen veröffentlicht wurden, in denen ein entfernter Angriffsvektor für eine Klasse von Sicherheitsanfälligkeiten beschrieben wird, die sich darauf auswirken, wie Anwendungen externe Bibliotheken laden. Dieses Problem wird durch bestimmte unsichere Programmierpraktiken verursacht, die das sogenannte "Binary Planting" oder "DLL-Preloading-Angriff" ermöglichen. Diese Praktiken könnten es einem Angreifer ermöglichen, beliebigen Code im Kontext des Benutzers auszuführen, der die verwundbare Anwendung ausführt, wenn der Benutzer eine Datei von einem nicht vertrauenswürdigen Speicherort aus öffnet. "
Microsoft hat auch ein Update veröffentlicht, das das Laden von DLLs aus Remote-Verzeichnissen blockiert und so DLL-Hijackings verhindert.
Dieses Update führt einen neuen Registrierungsschlüssel CWDIllegalInDllSearch ein, mit dem Benutzer den DLL-Suchpfadalgorithmus steuern können. Der DLL-Suchpfadalgorithmus wird von der LoadLibrary-API und der LoadLibraryEx-API verwendet, wenn DLLs geladen werden, ohne einen vollständig qualifizierten Pfad anzugeben.
Wenn eine Anwendung eine DLL dynamisch lädt, ohne einen vollständig qualifizierten Pfad anzugeben, versucht Windows, diese DLL zu finden, indem sie eine gut definierte Gruppe von Verzeichnissen durchsucht. Diese Verzeichnisse werden als DLL-Suchpfad bezeichnet. Sobald Windows die DLL in einem Verzeichnis findet, lädt Windows diese DLL. Wenn Windows die DLL in keinem der Verzeichnisse in der DLL-Suchreihenfolge findet, gibt Windows einen Fehler an die DLL-Ladeoperation zurück.
Weitere Details und Download-Links unter KB2264107.