Tavis Ormandy, famoso esperto di sicurezza di Google, ha rilasciato su GitHub un tool che gli ha permesso di portare la DLL (Dynamic Link Library) di Windows Defender su Linux. Con il nome di Loadlibrary il progetto ha lo scopo di aiutare i ricercatori nel campo della sicurezza ad effettuare testing di tipo fuzzy per la ricerca di vulnerabilità su software Windows in modo più veloce, efficace e scalabile.
Surprise, I ported Windows Defender to Linux. 😎 https://t.co/7eP48O87Vi
– Tavis Ormandy (@taviso) 23 maggio 2017
Loadlibrary permette di scaricare e far funzionare le Windows DLL su GNU/Linux aiutando i tester nel lavoro di analisi tramite tool di pen-testing specializzati chiamati fuzzers . Questi permettono di effettuare operazioni automatizzate ( fuzzing ) che si basano sulla sottomissione di dati random alle applicazioni, al fine di rilevare la presenza di anomalie negli output. I fuzzers hanno l’abilità di scovare bug che non riescono ad essere rilevati durante la revisione manuale del codice .
Effettuare un fuzzing distribuito e scalabile su Windows è un compito particolarmente arduo e inefficiente, soprattutto per i prodotti endpoint che usano componenti complessi e interconnessi che si estendono sul Kernel e nello spazio utente, mentre in ambiente GNU/Linux questi problemi sono ridotti.
Come spiega Ormandy il suo esperimento permette di testare le librerie Windows in container minimi, con pochissimo overhead, garantendo la scalabilità .
Grazie a LoadLibrary Ormandy ha già trovato una vulnerabilità riguardante il Microsoft Malware Protection Engine che lui stesso ha chiamato ” crazy bad “; un bug corretto nel patch tuesday di maggio .
Il pacchetto di default rilasciato, include una demo in cui il ricercatore importa su Linux il MsMpEng (Microsoft Malware Protection Engine) – il servizio di sicurezza installato di default su alcune piattaforme Windows – il cui componente responsabile della scansione e dell’analisi di malware, chiamato Mpengine, fornisce una vasta e completa superficie di analisi.
Successivi sviluppi del progetto, oltre a facilitare l’esecuzione di test di sicurezza, possono riguardare il porting su Linux di componenti software proprietarie nate in ambiente Windows. Nonostante ciò il ricercatore puntualizza che LoadLibrary non va inteso come un’alternativa a Wine o Winelib , usati rispettivamente per importare librerie Windows in fase di sviluppo o per simulare intere applicazioni Windows in Linux, ma che l’obiettivo sia quello di consentire al software GNU/Linux di caricare in modo nativo semplici DLL di Windows.
Ilaria Di Maro