LoadLibrary, Windows DLL-de laadimise kiht Linuxi rakendustes

Tavis Ormandy (Tavis Ormandy), Google'i turvauurija, arendab projekti LoadLibrary, mis on suunatud Windowsis kokku pandud DLL-raamatukogude portimisele nende kasutamiseks Linuxi rakendustes. Projekt pakub laadimiskihti, mille abil saab laadida PE/COFF formaadis DLL-faili ja kutsuda välja selle sees määratud funktsioone. PE/COFF laadija põhineb koodil ndiswrapper. Projekti kood GNU Üldine Avaliku litsentsi alusel. GPLv2 litsentsi all.

LoadLibrary täidab raamatukogude laadimise ja olemasolevate sümbolite importimise funktsioone, pakkudes Linuxi rakendusele dlopen-stiilis API-d. Ühendatavat koodi saab siluda gdb, ASAN ja Valgrind abil. On ette nähtud võimalus täitmise ajal koodi kohandada, ühendades hook'e ja rakendades patch'e (runtime patching). Toetatakse C++ erandite käitlemist ja taastamist.

Projekti eesmärk on korraldada skaleeritavat ja tõhusat hajutatud fuzzing-testimist DLL-raamatukogude jaoks Linuxi keskkonnas. Windowsis ei võimalda fuzzing- ja coverage-testid saavutada vajalikku efektiivsust ning sageli nõuavad nad eraldi virtualiseeritud Windowsi eksemplari käivitamist, eriti keerukamate toodete, nagu näiteks viirusetõrje tarkvara, analüüsimisel, mis hõlmab tuuma ja kasutajaruumi tööd. LoadLibrary abil uurivad Google'i teadlased haavatavusi videokooderites, viirusetõrje skannerites, andmete dekompressiooni raamatukogudes, pildide dekooderites jne.

Näiteks LoadLibrary abil õnnestus portida Windows Defenderi viirusetõrje mootor Linuxis töötamiseks. Uuring mpengine.dll, mis on Windows Defenderi aluseks, võimaldas analüüsida suurt hulka keerulisi erinevate formaatide töötlejaid, FS-emulaatoreid ja keele tõlgendajaid, mis potentsiaalselt pakuvad vektoreid võimalikke rünnakute.

LoadLibrary'd kasutati ka haavatavuste tuvastamiseks kaughaavatavuse Avast viirusetõrje paketis. DLL-i uurimisel selgus, et võtmeprivileegidega skaneerimise protsess hõlmab täisfunktsionaalset JavaScripti tõlgendajat, mida kasutatakse kolmandate osapoolte JavaScripti koodi täitmise simuleerimiseks. See protsess ei ole isoleeritud sandbox keskkonda, ei vähenda õigusi ning analüüsib kontrollimata väliseid andmeid failisüsteemist ja vahelepüütud võrgu liiklusest. Kuna iga haavatavust selles keerulises ja kaitsetu protsessis võib potentsiaalselt põhjustada kogu süsteemi kaugkompromiteerimist, on LoadLibrary baasil välja töötatud spetsiaalne kattekiht. avscript antud Linuxi keskkonnas Avast viirusetõrje skanneri haavatavuste analüüsimiseks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster