Tavis Ormandy (), hulumtues i sigurisë nga Google, po zhvillon projektin , i cili ka si qëllim portimin e bibliotekave DLL të mbledhura për Windows për t'u përdorur në aplikacionet për Linux. Projekti ofron një bibliotekë ndihmëse, me të cilën mund të ngarkohet një skedar DLL në formatin PE/COFF dhe të thirren funksionet e caktuara brenda tij. Ngarkuesi PE/COFF bazohet në kodin . Kodi i projektit nën licencën GPLv2.
LoadLibrary merr përsipër funksionet e ngarkimit të bibliotekave në memorje dhe importimin e simboleve të disponueshme, duke ofruar një API për aplikacionin Linux në stilin e dlopen. Kodi i lidhur mund të debugohet me ndihmën e gdb, ASAN dhe Valgrind. Parashikohet mundësia e modifikimit të kodit ekzekutiv gjatë ekzekutimit përmes lidhjes së hooks dhe vendosjes së patches (runtime patching). Mbështeten përpunimet dhe shfletimi (unwinding) i përjashtimeve për C++.
Qëllimi i projektit është organizimi i testimeve fuzzing të shkallëzuara dhe efektive për bibliotekat DLL në një mjedis të bazuar në Linux. Në Windows, kryerja e testeve fuzzing dhe coverage nuk arrin të japë efikasitetin e duhur dhe shpesh kërkon ekzekutimin e një instance të veçantë të virtualizuar të Windows, veçanërisht kur tentoni të analizoni produkte komplekse, siç janë softuerët antivirus, të cilët mbulojnë operimin në nivelin e bërthamës dhe hapësirës së përdoruesit. Me ndihmën e LoadLibrary, hulumtuesit nga Google janë angazhuar në gjetjen e vulnerabiliteteve në kodekët video, skanuesit antivirus, bibliotekat e shpaketimit të të dhënave, dekoduesit e imazheve, etj.
Për shembull, me ndihmën e LoadLibrary u arrit të portifikohej motorin antivirus Windows Defender për ekzekutimin në Linux. Hulumtimi i mpengine.dll, që përbën bazën e Windows Defender, dha mundësinë për të analizuar një numër të madh të përpunuesve kompleks të formateve të ndryshme, emulatorëve të FS dhe interpretorëve të gjuhëve, që potencialisht ofrojnë vektorë për .
LoadLibrary gjithashtu u përdor në identifikimin e në paketën antivirus Avast. Në studimin e DLL-së nga ky antivirus, u zbulua se procesi kryesor me privilegje i skanimit përfshin një interpretor të plotë JavaScript, i përdorur për të imituar ekzekutimin e kodit të jashtëm JavaScript. Ky proces nuk është i izoluar në një ambient sandbox, nuk heq privilegjet dhe kryen analizën e të dhënave të papërcaktuara nga FS dhe trafiku rrjetor të kapur. Duke qenë se çdo vulnerabilitet në këtë proces kompleks dhe të pambrojtur potencialisht mund të çojë në komprometimin e largët të tërë sistemit, mbi bazën e LoadLibrary u zhvillua një shell speciale për analizimin e vulnerabiliteteve në skanuesin antivirus Avast në një mjedis të bazuar në Linux.
Burimi: opennet.ru
