Tavis Ormandy (), sÀkerhetsexpert frÄn Google, utvecklar ett projekt , inriktat pÄ att portera DLL-bibliotek som samlats in för Windows för anvÀndning i Linux-applikationer. Projektet tillhandahÄller ett mellanlagerbibliotek, som gör det möjligt att ladda en DLL-fil i PE/COFF-format och anropa specifika funktioner i den. PE/COFF-laddaren bygger pÄ koden . Projektets kod Àr under GPLv2-licensen.
LoadLibrary ansvarar för att ladda biblioteket i minnet och importera befintliga symboler, vilket ger Linux-applikationen ett API i stil med dlopen. Den lÀnkade koden kan debugga med hjÀlp av gdb, ASAN och Valgrind. Möjlighet att justera körande kod under körning genom att koppla in hooks och applicera patchar (runtime patching) finns. Stöd för utvÀrdering och backtrace (unwinding) av undantag för C++ ingÄr.
Projektets mÄl Àr att organisera skalbart och effektivt distribuerat fuzzing-testande av DLL-bibliotek i en Linux-baserad miljö. I Windows tillÄter fuzzing- och coverage-testing inte att man uppnÄr önskad effektivitet och krÀver ofta att man kör en separat virtualiserad instans av Windows, sÀrskilt vid analys av komplexa produkter som antivirusprogramvara, som involverar arbete pÄ kÀrnnivÄ och anvÀndarutrymmets nivÄ. Genom LoadLibrary letar forskare frÄn Google efter sÄrbarheter i videokodekar, antivirus-scanners, datadekomprimeringsbibliotek, bilddecoderare m.m.
Till exempel har LoadLibrary anvÀnts för att portera Windows Defender-antivirusmotorn för körning i Linux. Undersökning av mpengine.dll, som utgör kÀrnan i Windows Defender, har gjort det möjligt att analysera ett stort antal komplexa hanterare av olika format, filsystemsemmulatorer och sprÄkinterpreterare som potentiellt erbjuder vektorer för .
LoadLibrary har ocksÄ anvÀnts för att identifiera i antiviruspaketet Avast. Under studiet av DLL frÄn denna antiviruslösning har det upptÀckts att den centrala privilegierade skanningsprocessen inkluderar en fullstÀndig JavaScript-tolkar som anvÀnds för att emulera körningen av tredjeparts JavaScript-kod. Denna process Àr inte isolerad i en sandbox-miljö, ÄterstÀller inga privilegier och utför analyser av osÀkrade externa data frÄn filsystemet och avlyssnad nÀtverkstrafik. Eftersom vilken sÄrbarhet som helst i denna komplicerade och oskyddade process potentiellt kan leda till fjÀrrkompromiss av hela systemet, har en speciell skal utvecklats baserat pÄ LoadLibrary. för att analysera sÄrbarheter i antivirusprogrammet Avast i en miljö baserad pÄ Linux.
KĂ€lla: opennet.ru
