LoadLibrary, vmesnik za nalaganje Windows DLL v Linux aplikacije

Tavis Ormandy (Tavis Ormandy), raziskovalec varnosti pri Googlu, razvija projekt LoadLibrary, 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 ndiswrapper. Koda projekta se distribuira 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 možnih napadi.

LoadLibrary je bil prav tako uporabljen pri odkrivanju oddaljenih ranljivosti 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. avscript za analizo ranljivosti v antivirusnem skenerju Avast v okolju, temeljnem na Linuxu.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster