Si fa un gran parlare, in queste ore, di una presunta nuova vulnerabilità che – insita in Windows – coinvolgerebbe decine e decine di applicazioni. Mitja Kolsek, CEO di Acros Security – un’azienda slovena che si occupa di sicurezza informatica – ha dichiarato: “sembra che praticamente ogni applicazione Windows sia afflitta dalla medesima vulnerabilità“. La notizia è stata confermata dal celebre esperto di sicurezza HD Moore che ha preferito non fare nomi evitando di citare le applicazioni coinvolte. “Abbiamo esaminato più di 220 applicazioni, sviluppate dalle principali 100 software house, accorgendoci che praticamente la totalità di esse è vulnerabile“, ha aggiunto Kolsek che spiega come il problema sia collegato all’approccio utilizzato da Windows per il caricamento di librerie DLL e file eseguibili (EXE/COM).
“Windows include la cartella corrente tra quelle utilizzate per il caricamento degli eseguibili: è questo il problema principale“, ha osservato Kolsek.
Marco Giuliani, Malware Technology Specialist per Prevx, ha voluto ricordare – da parte sua – come la vulnerabilità emersa in questi giorni non sia propriamente una novità. “Si tratta di una tematica nota da diversi anni: ci sono però tutt’oggi numerose applicazioni ancora affette dal problema“, ha fatto presente.
HD Moore ha rivelato che il bug oggetto di discussione è stato ad esempio risolto da parte di Apple, in iTunes, alcuni mesi fa. Giuliani, da parte sua, fa riferimento al bollettino di Apple col quale l’azienda ha informato i suoi utenti circa l’esistenza della falla (CVE-2010-1795): “iTunes cerca una specifica DLL all’interno del percorso di lavoro dell’applicazione. Nel caso in cui un aggressore dovesse piazzare un file maligno, opportunamente congeniato, nella directory di lavoro di iTunes, potrebbe verificarsi l’esecuzione di codice dannoso sul sistema dell’utente“, si legge.
“Si tratta di un approccio che alcuni malware hanno usato nel corso degli anni“, ha commentato Giuliani spiegando che l’espressione chiave è “dynamic-link library search order“: “quando un’applicazione tenta di caricare uno specifico modulo nello spazio degli indirizzi del processo che richiede tale modulo” – continua Giuliani – “vengono di solito impiegate le API di Windows LoadLibrary
e LoadLibraryEx
, almeno nel caso in cui lo sviluppatore desideri seguire la metodologia documentata“. Uno dei parametri accettati in ingresso da parte delle due funzioni è il percorso della libreria che deve essere caricata. “Nel caso in cui lo sviluppatore indichi solo il nome della libreria senza abbinare un percorso, il sistema operativo inizia a cercare il modulo in alcune cartelle“. L’elenco delle directory controllate da Windows viene offerto da Microsoft in questa pagina. Se la libreria indicata dal programmatore dell’applicazione venisse individuata nella cartella corrente (la directory a partire dalla quale il programma viene lanciato), Windows interrompe le successive ricerche in altre locazioni sul disco. E’ quindi chiaro che se un aggressore dovesse riuscire a salvare, nella medesima cartella di lavoro di un’applicazione vulnerabile, una libreria “maligna” dotata dello stesso nome di un modulo (legittimo) usato dal programma, potrebbe verificarsi l’esecuzione di codice potenzialmente dannoso.
“Sebbene si possa discutere sull’implementazione di un ordine di ricerca che vede in testa alla lista la directory corrente di ciascuna applicazione“, conclude Giuliani, “non ritengo si tratti di un problema del sistema operativo. La logica utilizzata da Windows è infatti ben documentata così come le funzioni LoadLibrary
e LoadLibraryEx
“.
Rapid7, l’azienda con la quale collabora HD Moore, dovrebbe fornire ulteriori chiarimenti nei prossimi giorni dettagliando tecnicamente l’entità del problema. Chissà se emergeranno degli elementi aggiuntivi oppure se verrà confermata la lacuna, relativa a decine di software, connessa al “dynamic-link library search order“.