LoadLibrary, lag til að hlaða Windows DLLs inn í Linux forrit

Tavis Ormandy (Tavis ormandy), öryggisfræðingur hjá Google sem er að þróa verkefnið LoadLibrary, sem miðar að því að flytja DLL-skrár samansettar fyrir Windows til notkunar í Linux forritum. Verkefnið býður upp á lagasafn sem þú getur hlaðið inn DLL skrá á PE/COFF sniði og kallað aðgerðirnar sem skilgreindar eru í henni. PE/COFF ræsiforritið er byggt á kóða ndi umbúðir. Verkefnakóði dreift af leyfi samkvæmt GPLv2.

LoadLibrary sér um að hlaða bókasafninu inn í minni og flytja inn núverandi tákn og útvegar Linux forritinu API í dlopen-stíl. Hægt er að kemba kóðann með gdb, ASAN og Valgrind. Það er hægt að stilla keyrslukóðann meðan á framkvæmd stendur með því að tengja króka og setja plástra (runtime patching). Styður undantekningarmeðferð og afslöppun fyrir C++.

Markmið verkefnisins er að skipuleggja stigstærð og skilvirk dreifð fuzzing prófun á DLL bókasöfnum í Linux-undirstaða umhverfi. Í Windows eru óljós og þekjupróf ekki mjög skilvirk og þurfa oft að keyra sérstakt sýndartilvik af Windows, sérstaklega þegar reynt er að greina flóknar vörur eins og vírusvarnarhugbúnað sem spannar kjarnann og notendarýmið. Með því að nota LoadLibrary eru vísindamenn Google að leita að veikleikum í myndkóða, vírusskönnum, gagnaþjöppunarsöfnum, myndafkóðarum osfrv.

Til dæmis, með hjálp LoadLibrary, gátum við flutt Windows Defender vírusvarnarvélina til að keyra á Linux. Rannsóknin á mpengine.dll, sem er grundvöllur Windows Defender, gerði það mögulegt að greina fjölda háþróaðra örgjörva fyrir ýmis snið, skráarkerfishermi og tungumálatúlka sem hugsanlega útvega vektora fyrir mögulegt árásir.

LoadLibrary var einnig notað til að auðkenna fjarlægur varnarleysi í Avast vírusvarnarpakkanum. Þegar DLL frá þessu vírusvarnarefni var rannsakað, kom í ljós að lykilforréttindaskönnunarferlið felur í sér fullgildan JavaScript túlk sem notaður er til að líkja eftir keyrslu á JavaScript kóða frá þriðja aðila. Þetta ferli er ekki einangrað í sandkassaumhverfi, endurstillir ekki réttindi og greinir óstaðfest ytri gögn úr skráarkerfinu og stöðvuð netumferð. Þar sem hvers kyns varnarleysi í þessu flókna og óvarða ferli gæti hugsanlega leitt til fjarlægrar málamiðlunar á öllu kerfinu, var sérstök skel þróuð byggð á LoadLibrary avscript að greina veikleika í Avast vírusvarnarskanni í Linux-undirstaða umhverfi.

Heimild: opennet.ru

Bæta við athugasemd