LoadLibrary, safu ya kupakia Windows DLL kwenye programu za Linux

Tavis Ormandy (Tavis ormandy), mtafiti wa usalama katika Google ambaye anaunda mradi huo Kimsingi, inayolenga kuhamisha DLL zilizokusanywa kwa ajili ya Windows kwa matumizi ya programu za Linux. Mradi hutoa maktaba ya safu ambayo unaweza kupakia faili ya DLL katika umbizo la PE/COFF na kuita kazi zilizofafanuliwa ndani yake. PE/COFF bootloader inategemea kanuni niswara. Msimbo wa mradi kusambazwa na iliyopewa leseni chini ya GPLv2.

LoadLibrary inajali kupakia maktaba kwenye kumbukumbu na kuleta alama zilizopo, kutoa programu ya Linux na API ya mtindo wa kushuka. Msimbo wa programu-jalizi unaweza kutatuliwa kwa kutumia gdb, ASAN na Valgrind. Inawezekana kurekebisha msimbo unaoweza kutekelezwa wakati wa utekelezaji kwa kuunganisha ndoano na kutumia patches (patching wakati wa kukimbia). Inaauni utunzaji na uondoaji wa ubaguzi kwa C++.

Madhumuni ya mradi ni kupanga majaribio ya kutatanisha na kusambazwa kwa ufanisi katika maktaba za DLL katika mazingira yanayotegemea Linux. Kwenye Windows, upimaji wa fuzzi na ufunikaji sio ufanisi sana na mara nyingi huhitaji kuendesha mfano tofauti wa uhalisia wa Windows, hasa wakati wa kujaribu kuchanganua bidhaa changamano kama vile programu ya kingavirusi inayotumia kiini na nafasi ya mtumiaji. Kwa kutumia LoadLibrary, watafiti wa Google wanatafuta udhaifu katika kodeki za video, vichanganuzi vya virusi, maktaba ya mtengano wa data, viondoa picha, n.k.

Kwa mfano, kwa usaidizi wa LoadLibrary tuliweza kuhamisha injini ya antivirus ya Windows Defender ili kufanya kazi kwenye Linux. Utafiti wa mpengine.dll, ambao ni msingi wa Windows Defender, ulifanya iwezekane kuchambua idadi kubwa ya vichakataji vya hali ya juu vya fomati mbalimbali, viigaji vya mfumo wa faili na wakalimani wa lugha ambao wanaweza kutoa vekta kwa inawezekana mashambulizi.

LoadLibrary pia ilitumika kutambua kuathirika kwa mbali kwenye kifurushi cha antivirus cha Avast. Wakati wa kusoma DLL kutoka kwa antivirus hii, ilifunuliwa kuwa mchakato muhimu wa kuchanganua ni pamoja na mkalimani kamili wa JavaScript anayetumiwa kuiga utekelezaji wa nambari ya JavaScript ya mtu wa tatu. Mchakato huu haujatengwa katika mazingira ya kisanduku cha mchanga, hauweki haki upya, na huchanganua data ya nje ambayo haijathibitishwa kutoka kwa mfumo wa faili na trafiki ya mtandao iliyozuiwa. Kwa kuwa athari yoyote katika mchakato huu changamano na isiyolindwa inaweza kusababisha maelewano ya mbali ya mfumo mzima, shell maalum iliundwa kulingana na LoadLibrary. avscript kuchanganua udhaifu katika kichanganuzi cha antivirus cha Avast katika mazingira yanayotegemea Linux.

Chanzo: opennet.ru

Kuongeza maoni