LoadLibrary, Windows DLL-de Linuxi rakendustesse laadimise vahekiht

Tavis Ormandy (Tavis Ormandy), Google'i turvauurija, arendab projekti LoadLibrary, mille eesmärk on portida Windowsi jaoks koostatud DLL-raamatukogusid nende kasutamiseks Linuxi rakendustes. Projekt pakub vahekihti, mille abil saab laadida PE/COFF formaadis DLL-faili ja kutsuda seda funktsioone. PE/COFF laadija põhineb koodil ndiswrapper. Projekti kood levitatakse on GPLv2 litsentsi all.

LoadLibrary võtab endale raamatukogu laadimise mäesse ja olemasolevate sümbolite importimise funktsioonid, pakkudes Linuxi rakendusele dlopen stiilis API. Lisatud koodi saab tõrkeotsinguks kasutada gdb, ASAN ja Valgrind. On võimalik teha käitava koodi muutusi jooksvalt, ühendades hook'e ja rakendades parandusplaane (runtime patching). Toetatakse C++ puhul erandite töötlemist ja lahtiharimist (unwinding).

Projekti eesmärk on organiseerida skaleeritavat ja efektiivset jaotatud fuzzing-testimist DLL-raamatukogude jaoks Linuxi keskkonnas. Windowsis fuzzing- ja coverage testimine ei pruugi olla piisavalt efektiivne ning sageli nõuab eraldi virtualiseeritud Windowsi instantsi käivitamist, eriti keerukate toodete, näiteks tuvastustarkvara analüüsimisel, mis katab tööd tuumatasemel ja kasutajaruumis. LoadLibrary abil otsivad Google'i teadlased haavatavusi videokodekites, viirusetõrje skannerites, andmete dekompressori raamatukogudes, pildikooderites jne.

Näiteks LoadLibrary abil õnnestus portida Windows Defenderi viirusetõrje mootori käivitamine Linuxis. Mpengine.dll, mis on Windows Defenderi alus, analüüsimine võimaldas uurida suurt hulka keerulisi erinevate formaatide töötlejaid, failisüsteemide emulaatoreid ja keele interpretere, mis võivad potentsiaalselt pakkuda rünnakuvõtteid võimalike rünnakute.

LoadLibrary'd on samuti kasutatud kauglekkega haavatavuste tuvastamiseks tuvastatud haavatavust Avasti viirusetõrje paketis. DLL-i uurimisel sellest viirusetõrjest avastati, et võtme privileegitud skaneerimisprotsess sisaldab täielikku JavaScripti tõlgendajat, mida kasutatakse kolmanda osapoole JavaScripti koodi täitmise emuleerimiseks. See protsess ei ole isoleeritud sandbox- keskkonda, ei maanda privileege ja analüüsib kontrollimata väliseid andmeid failisüsteemist ja peidetud võrguliikluse analüüsiks. Kuna iga haavatavus selles keerulises ja kaitsmata protsessis võib potentsiaalselt põhjustada kogu süsteemi kaugläbimurdmise, on LoadLibrary alusel välja töötatud spetsiaalne kiht. avscript viirusetõrjuja Avast haavatavuste analüüsimiseks Linuxi baasil keskkonnas.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster