Tavis Ormandy (
LoadLibrary kümmert sich um das Laden der Bibliothek in den Speicher und den Import vorhandener Symbole und stellt der Linux-Anwendung eine API im Dlopen-Stil bereit. Der Plug-in-Code kann mit gdb, ASAN und Valgrind debuggt werden. Es besteht die Möglichkeit, den ausführbaren Code während der Ausführung anzupassen, indem Hooks verbunden und Patches angewendet werden (Runtime-Patching). Unterstützt die Ausnahmebehandlung und Abwicklung für C++.
Ziel des Projekts ist die Organisation skalierbarer und effizienter verteilter Fuzzing-Tests von DLL-Bibliotheken in einer Linux-basierten Umgebung. Unter Windows sind Fuzzing und Coverage-Tests nicht sehr effizient und erfordern häufig die Ausführung einer separaten virtualisierten Instanz von Windows, insbesondere wenn versucht wird, komplexe Produkte wie Antivirensoftware zu analysieren, die den Kernel und den Benutzerbereich umfassen. Mit LoadLibrary suchen Google-Forscher nach Schwachstellen in Video-Codecs, Virenscannern, Datendekomprimierungsbibliotheken, Bilddecodern usw.
Mithilfe von LoadLibrary konnten wir beispielsweise die Antiviren-Engine Windows Defender für die Ausführung unter Linux portieren. Die Untersuchung von mpengine.dll, die die Grundlage von Windows Defender bildet, ermöglichte die Analyse einer großen Anzahl hochentwickelter Prozessoren für verschiedene Formate, Dateisystememulatoren und Sprachinterpreter, die potenziell Vektoren bereitstellen
Zur Identifizierung wurde auch LoadLibrary verwendet
Source: opennet.ru