Fondamentale è la corretta installazione delle patch e delle ultime versioni dei software presenti sul sistema. Ma spesso questo non basta e l’esperienza degli URI insegna.
Delle vulnerabilità di sicurezza insite nei software installati nei PC aziendali si fa sempre un gran parlare.
Da tempo, ormai, si susseguono gli annunci della scoperta di attacchi, da parte di malintenzionati, che utilizzano file opportunamente modificati in formato Office, PDF, QuickTime e così via per eseguire codice arbitrario.
Molto spesso, il problema deriva dalla non corretta gestione, da parte dell’applicazione, di alcune informazioni presenti nel file o nel documento ed inserite da parte dell’aggressore.
Nel caso degli attacchi rivolti ai file PDF, evitabili semplicemente assicurandosi di utilizzare sempre l’ultima versione – la più aggiornata – di Acrobat Reader, gli aggressori inserivano alcuni indirizzi “maligni” all’interno del documento. Il file PDF dannoso si presentava solitamente come allegato ad un normale messaggio di posta elettronica e poteva avere una denominazione variabile.
Ad essere stata presa di mira, in questo caso, la modalità con cui veniva gestito il protocollo mailto:. Gli attacchi assunsero sempre più la forma di pesanti campagne di spam: nel caso in cui l’utente apra uno dei file PDF “maligni”, ancora oggi in circolazione, con una versione non aggiornata di Adobe Acrobat Reader, verrebbe immediatamente “infettato”.
Sul sistema viene infatti installata, all’insaputa dell’utente, una combinazione di trojan horse, rootkit ed oggetti software in grado di scaricare altri elementi maligni. Viene disabilitato, inoltre, il firewall di Windows ed insediato un codice in grado di catturare tutte le informazioni inserite in qualsiasi modulo online e di ritrasmetterle agli aggressori remoti. Uno dei malware “inseriti” sul personal computer degli utenti, è una variante di “Gozi”, trojan che è stato ritenuto responsabile del furto di circa 2 milioni di dollari da conti correnti bancari e carte di credito.
Il fatto interessante è che Microsoft confermò, tramite le parole di Bill Sisk, membro del “Security Response Team“, come la falla di sicurezza non riguardasse principalmente Adobe ma, piuttosto, fosse riconducibile alla funzione ShellExecute, utilizzata in Windows XP e Windows Server 2003. “Aggiornamenti rilasciati da terze parti (come quello di Adobe) non risolvono la vulnerabilità alla radice, pongono fine solo ad un vettore d’attacco“, spiegò Sisk.
Ed è questo il problema principale degli attacchi “zero-day”, ovvero attacchi che sfruttano bug non ancora noti ai software vendor: la patch infatti, non va a risolvere il problema alla radice.
In questo senso, Microsoft ha rilasciato a Novembre 2007 una patch di sicurezza (MS07-061) che modifica le modalità con cui la shell di Windows gestisce gli URI (Uniform Resource Identifier), indirizzi che – in forma compatta – consentono di identificare una qualsiasi risorsa come una pagina web, un documento, un’immagine, un indirizzo e-mail e così via.
Gli URI sono definiti utilizzando una specifica sintassi, facente riferimento all’uso di differenti protocolli. URL (Uniform Resource Locator) e URN (Uniform Resource Name) possono essere considerati sottoinsiemi di URI.
Un URI si compone di più parti: uno schema che fornisce informazioni sul protocollo usato (ad esempio, http:, ftp:, mailto:) ed una serie di dati, aggiunti in successione, che dipendono dallo specifico schema.
Alcuni software possono utilizzare e registrare sul sistema altri protocolli utilizzando un proprio schema URI, ad esempio il callto: di Skype.
A causa di una lacuna nella gestione degli URI, diversi ricercatori hanno verificato come, ad esempio, utilizzando un URI contenente il carattere non valido % (mailto:test%../../../../windows/system32/calc.exe”.cmd), l’applicazione “vulnerabile” esegua un comando non richiesto dall’utente (in questo caso verrebbe avviata la Calcolatrice di Windows).
Quando un’applicazione si trova a gestire un URI, decide autonomamente come questo debba essere trattato. Nel caso dei protocolli considerati per anni come “sicuri” (ad esempio, mailto: oppure http:), le applicazioni solitamente effettuano solamente una verifica del prefisso invocando poi la funzione di Windows ShellExecute() per la loro esecuzione.
In alcuni casi può accadere che i controlli non avvengano nel modo adeguato e che vengano trasmessi alla funzione ShellExecute() URI che poi potrebbero essere trattati come file locali, così come se fossero lanciati o comunque richiesti dall’utente. Il rischio è quello che un malintenzionato possa eseguire codice dannoso, semplicemente spronando l’utente ad aprire un file apparentemente “sicuro” come sono spesso ritenuti i documenti in formato PDF.
Il team di Microsoft ha iniziato a suggerire alle varie software house di contare meno sulle funzionalità di base di Windows ed effettuare un filtraggio degli URI anche in forma autonoma.
L’aggiornamento di sicurezza MS07-061 di Microsoft, destinato agli utenti di Windows XP e di Windows Server 2003, è il primo passo verso la corretta gestione di attacchi che stanno interessando un sempre maggior numero di applicazioni, ampiamente conosciute ed utilizzate.
Per difendersi da attacchi “zero-day” è indispensabile che l’utente faccia proprio un concetto fondamentale: non esistono applicazioni “sicure” e qualsiasi programma può essere oggetto di attacco. In quest’ottica, assume un’importanza evidentemente cruciale l’installazione delle ultime versioni dei prodotti, via a via rilasciate, nonché delle patch e degli aggiornamenti di sicurezza messi a disposizione.
Ecco come l’approccio di alcune suite per la sicurezza che mette dei paletti alla libertà d’azione di ogni programma può essere una buona scelta. “Quali applicazioni debbono poter eseguire il comando cmd? Non certo Adobe Acrobat, né Windows Media Player, né RealPlayer” osservò qualche tempo fa Pedro Bustamante di Panda.