LoadLibrary, Windows DLLak Linux aplikazioetan kargatzeko geruza bat

Tavis Ormandy (Tavis ormandy), proiektua garatzen ari den Google-ko segurtasun ikertzailea KargatuLiburutegia, Windows-erako konpilatutako DLLak Linux aplikazioetan erabiltzeko eramatea zuzenduta. Proiektuak geruza-liburutegi bat eskaintzen du, DLL fitxategi bat PE/COFF formatuan kargatu eta bertan definitutako funtzioetara deitu ahal izateko. PE/COFF abio-kargatzailea kodean oinarritzen da ndibildura. Proiektuaren kodea arabera banatuta GPLv2 lizentziapean.

LoadLibrary-k liburutegia memorian kargatzeaz eta lehendik dauden ikurrak inportatzeaz arduratzen da, Linux aplikazioari dlopen estiloko API bat eskainiz. Plugin kodea gdb, ASAN eta Valgrind erabiliz arazketa daiteke. Exekuzioan zehar kode exekutagarria doitzea posible da kakoak konektatuz eta adabakiak aplikatuz (exekuzio-denbora adabakia). C++-rako salbuespenak kudeatzea eta desegitea onartzen du.

Proiektuaren helburua DLL liburutegien fuzzing proba eskalagarri eta eraginkorrak antolatzea da, Linux-en oinarritutako ingurune batean. Windows-en, nahasketa- eta estaldura-probak ez dira oso eraginkorrak eta askotan Windows-en instantzia birtualizatu bereizi bat exekutatu behar da, batez ere nukleoa eta erabiltzailearen espazioa barne hartzen dituen birusen aurkako softwarea bezalako produktu konplexuak aztertzen saiatzean. LoadLibrary erabiliz, Google ikertzaileak bideo-kodeketan, birusen eskanerretan, datuen deskonpresio-liburutegietan, irudi deskodetzaileetan eta abarretan ahultasunak bilatzen ari dira.

Adibidez, LoadLibrary-ren laguntzaz Windows Defender birusen aurkako motorra Linux-en exekutatzeko porturatu ahal izan dugu. Windows Defender-en oinarria den mpengine.dll-ren azterketak hainbat formatutarako prozesadore sofistikatu ugari aztertzea ahalbidetu zuen, fitxategi-sistemaren emuladoreetarako eta hizkuntza-interpretatzaileentzako bektoreak izan ditzaketenak. posible erasoak.

LoadLibrary ere erabili zen identifikatzeko urruneko ahultasuna Avast antibirus paketean. Antibirus honen DLL-a aztertzean, agerian geratu zen gako pribilegiatuen eskaneaketa prozesuak hirugarrenen JavaScript kodearen exekuzioa emulatzeko erabiltzen den JavaScript interpretatzaile oso bat barne hartzen duela. Prozesu hau ez da sandbox ingurune batean isolatzen, ez ditu pribilegioak berrezartzen eta fitxategi-sistemako egiaztatu gabeko kanpoko datuak eta atzemandako sareko trafikoa aztertzen ditu. Prozesu konplexu eta babestu gabeko honetan edozein ahultasun sistema osoa urruneko arriskua ekar dezakeenez, shell berezi bat garatu zen LoadLibrary-n oinarrituta. abscript Avast birusen aurkako eskanerraren ahultasunak aztertzeko Linux-en oinarritutako ingurune batean.

Iturria: opennet.ru

Gehitu iruzkin berria