Tavis Ormandy (), raziskovalec varnosti pri Googlu, razvija projekt , usmerjen v prenos zbranih DLL-knjižnic za Windows za uporabo v aplikacijah za Linux. Projekt nudi knjižnico-prehod, s katero je mogoče naložiti DLL-datoteko v formatu PE/COFF in poklicati določene funkcije v njej. Naložnik PE/COFF temelji na kodi . Koda projekta pod licenco GPLv2.
LoadLibrary prevzema naloge nalaganja knjižnice v pomnilnik in uvažanja obstoječih simbolov, kar Linux-aplikaciji zagotavlja API stil dlopen. Priključeno kodo je mogoče odpravljati napake s pomočjo gdb, ASAN in Valgrind. Predvidena je možnost prilagajanja izvajalnega kode med izvajanjem s povezovanjem hook-ov in nalaganjem popravkov (runtime patching). Podprto je obravnavanje in odvijanje (unwinding) izjem v C++.
Cilj projekta je organizacija razširljivega in učinkovitega distribuiranega fuzzing-testiranja DLL-knjižnic v okolju, temeljnem na Linuxu. V operacijskem sistemu Windows fuzzing- in coverage-testiranje ne omogočata dosego želenih rezultatov in pogosto zahteva zagon ločene virtualizirane instance Windows, še posebej pri poskusih analize zapletenih izdelkov, kot je protivirusna programska oprema, ki pokriva delovanje na ravni jedra in v prostoru uporabnika. S pomočjo LoadLibrary raziskovalci Googla raziskujejo ranljivosti v video kodekih, protivirusnih skenerjih, knjižnicah za razpakiranje podatkov, dekoderjih slik itd.
Na primer, s pomočjo LoadLibrary je bilo mogoče portirati antivirski motor Windows Defender za zagon v Linuxu. Raziskava mpengine.dll, ki je temelj Windows Defenderja, je omogočila analizo velikega števila zapletenih obdelovalcev različnih formatov, emulatorjev FS in interpreterjev jezikov, ki potencialno zagotavljajo vektorje za .
LoadLibrary je bil prav tako uporabljen pri odkrivanju v antivirusnem paketu Avast. Pri analizi DLL tega antivirusnega programa je bilo ugotovljeno, da ključni privilegiran proces skeniranja vključuje popoln JavaScript interpreter, ki se uporablja za emulacijo izvajanja tretje strani JavaScript kode. Ta proces ni izoliran v sandbox okolje, ne prekliče privilegijev in izvaja analizo nepreverjenih zunanjih podatkov iz datotečnega sistema in prestreženega omrežnega prometa. Ker lahko vsaka ranljivost v tem zapletenem in nezavarovanem procesu potencialno pripelje do oddaljene kompromitacije celotnega sistema, je bila na osnovi LoadLibrary razvila posebna lupina. za analizo ranljivosti v antivirusnem skenerju Avast v okolju, temeljnem na Linuxu.
Izvor: opennet.ru
