Un'analisi delle minacce informatiche presenti e future

Da tempo le varie aziende attive nel campo della sicurezza informatica hanno registrato ed illustrato pubblicamente la tendenza che sta prendendo sempre più piede nel campo dello sviluppo di componenti malware.

Da tempo le varie aziende attive nel campo della sicurezza informatica hanno registrato ed illustrato pubblicamente la tendenza che sta prendendo sempre più piede nel campo dello sviluppo di componenti malware. Una volta, infatti, i malware non erano realizzati principalmente per ottenerne un ritorno economico quanto per mostrare la propria bravura. Oggi lo scenario è radicalmente cambiato ed i malware appositamente studiati per sottrarre denaro od informazioni personali sono cresciuti in modo esponenziale. La diffusione di malware progettati per bersagliare una specifica cerchia di utenti od, addirittura, particolari aziende, rendono sempre più difficoltoso il loro tempestivo rilevamento e rimozione. Le nuove motivazioni (interessi economici) spingono gli sviluppatori di malware ad ideare codici nocivi sempre più raffinati, in grado di infettare anche gli utenti che non si ritengono propriamente dei neofiti.
Gli attacchi sono divenuti, purtroppo, sempre più “mirati” facendo assumere al fenomeno malware una natura dinamica, in continua evoluzione. Una vera e propria piaga per gli utenti comuni e le aziende.

Sino a qualche tempo fa l’unico approccio generalmente utilizzato da parte dei vari software antivirus nella lotta contro i malware consisteva nell’impiego delle cosiddette firme virali: ogni file ed ogni codice in esecuzione sulla macchina veniva confrontato con le informazioni contenute all’interno dell’archivio delle definizioni antivirus. Tale archivio raccoglie le “impronte” dei malware al momento conosciuti e classificati da parte del produttore della specifica soluzione antivirus in uso.

Al ritmo forsennato con cui nuovi malware compaiono giornalmente in Rete, non si può più tenere testa rilasciando aggiornamenti per le firme virali. Ogni singolo campione di malware pervenuto ai laboratori di ciascun produttore di soluzioni antivirus, necessiterebbe infatti di essere dettagliatamente analizzato dal personale impiegando tecniche di “reverse engineering”, procedure che prevedono l’analisi dei file in formato binario nel tentativo di risalire ad una rappresentazione il più possibile vicina al codice sorgente originario. L’attività di “reverse engineering” di un malware, così come di qualunque altro software, si può svolgere seguendo diversi approcci. I più comuni consistono nell’osservazione delle informazioni scambiate con l’impiego, per esempio, di packet sniffer (software che consentono di “intercettare” tutti i dati inviati e ricevuti dall’applicazione oggetto di analisi), nell’utilizzo di “debugger” a basso livello come SoftICE, nel disassemblare l’eseguibile dell’applicazione o del malware, nell’effettuare una decompilazione (processo che permette di rigenerare il codice sorgente in un linguaggio di livello più alto a partire dal codice macchina o “bytecode”).

Chi realizza malware, inoltre, sta utilizzando sempre più sovente espedienti e metodologie che complicano drasticamente il lavoro di “reverse engineering”. Il risultato è che questo tipo di attività è destinato a richiedere competenze tecniche sempre maggiori ed il tempo da dedicare all’analisi di ogni singolo campione malware si allunga in modo esponenziale.

Appare quindi evidente come attività del genere, che richiedono tempo e notevoli investimenti economici, si rivelino sempre meno adatte per affrontare un fenomeno, come quello del malware, in continua crescita.

Alcune aziende stanno tentando di far fronte all’emergenza incrementando il proprio personale (analisti all’interno dei laboratori) oppure, ad esempio, richiedendo frequentemente l’intervento delle forze di polizia: l’obiettivo è quello di ridurre i carichi di lavoro, e quindi il numero di varianti di malware in circolazione, individuando ed arrestando gli sviluppatori di malware più attivi e maggiormente pericolosi.

Le iniziative che mirano a coinvolgere maggiormente le forze di polizia sono certamente un passo nella giusta direzione purtuttavia questo tipo di soluzione non può essere considerata di per sé sufficiente, almeno nel breve termine. Gli sviluppatori di malware più esperti che, ad esempio, vendono i loro codici nocivi a spammers, organizzazioni mafiose e criminali, sono coloro che più facilmente riescono a sfuggire e che quindi sono indubbiamente i più difficoltosi da catturare. La mancanza di risorse umane, nella maggior parte delle polizie, ed una cooperazione a livello internazionale ancora troppo macchinosa, sono aspetti che contribuiscono a rendere meno tempestivo un intervento per l’individuazione e l’arresto degli sviluppatori di malware.
I produttori di soluzioni antivirus sono stati quindi costretti ad usare approcci differenti e più efficaci (li vedremo nel dettaglio più avanti) abbinando soluzioni tecnologiche ad un approccio “sociale”.

Tecniche di progettazione del malware: attacchi mirati per non farsi scoprire

Come appena visto, gli obiettivi cui guardano gli autori di malware sono radicalmente mutati rispetto al passato.
Oggi i malware vengono creati per sottrarre informazioni di autenticazione sui vari servizi online, per acquisire identità altrui, per usare i computer “infettati”, in modo automatizzato, per l’invio di campagne spam, per rubare credenziali d’accesso a servizi di online banking ed informazioni relative a carte di credito.
Affinché un malware possa raggiungere il suo scopo, è necessario che questo possa passare del tutto inosservato all’utente. E’ questa una sostanziale differenza rispetto a quanto abbiamo assistito in passato. Diversamente rispetto a qualche anno fa, quando i malware ambivano a diffondersi sul maggior numero di sistemi possibile provocando, quindi, un’inevitabile eco sui media, oggi l’obiettivo di coloro che sviluppano componenti nocivi, è quello di mettere in atto tutte le tecniche per evitare di insospettire le varie suite per la sicurezza o gli utenti stessi.

Una delle strategie più largamente applicate dai malware odierni, consiste nell’infettare poche centinaia di sistemi per poi eventualmente aggiornare il codice nocivo con nuove varianti, prelevate direttamente dalla Rete. In questo modo è facile sfuggire all’individuazione da parte di soluzioni antivirus che poggiano pressoché esclusivamente sull’uso delle definizioni virali. Mentre, in passato, numerosi campioni malware arrivavano in poco tempo all’interno dei laboratori antivirus vista la diffusione su vastissima scala, oggi ciò avviene sempre più raramente proprio per la mutata mentalità di chi sviluppa malware.

Tra le tecniche impiegate in fase di progettazione del malware vi sono anche meccanismi automatici di controllo che effettuano test con i principali motori di scansione antivirus: ogni variante del malware si sottopone all’esame in modo tale da accertarsi di non essere riconosciuta dalla maggior parte dei motori. L’obiettivo non è quello di scampare al riconoscimento di tutti gli “engine” ma di evitare il rilevamento da parte della maggioranza di essi, anche nel caso in cui dovessero risultare attivate tutte le tecniche di rilevamento proattive (euristica, analisi comportamentale, blocco di attività specifiche in base alla specifica tipologia,…).

Il controllo automatico è paradossalmente facilitato dalla disponibilità, in Rete, di servizi come Jotti, VirusTotal, oltre a tutti i meccanismi online offerti dai vari produttori antivirus. Per lo stesso scopo vengono usati anche servizi di “sandboxing” online quali CWSandbox, Norman, Anubis e ThreatExpert. Si chiama “sandbox” un’area protetta e sorvegliata all’interno della quale possono essere ad esempio eseguite applicazioni maligne senza che queste possano realmente interferire con il sistema operativo vero e proprio. Le tecniche di “sandboxing” sono quindi uno strumento eccellente per lo studio di ogni genere di malware.

Rootkit e malware 2.0

Rootkit, packers, botnet ed altro ancora

Nascondere il più possibile” è l’imperativo di chi oggi sviluppa malware a fini di lucro.
Se, come abbiamo visto, sono profondamente cambiate la filosofia alla base della creazione di applicazioni nocive e le loro modalità di distribuzione, di pari passo hanno iniziato ad essere impiegate tecniche nuove che rendono ancor più complicata la fase di riconoscimento ed eliminazione del malware.

L’uso di rootkit è divenuto sempre più gettonato: un dato, questo, su cui concordano tutti i principali produttori di soluzioni per la sicurezza. Gli analisti hanno previsto, per il prossimo futuro, un pesante incremento nella diffusione dei cosiddetti “kernel rootkit” la cui caratteristica principale consiste nel modificare porzioni degli aspetti chiave del sistema operativo con lo scopo di nascondere all’utente ed ai software antivirus/antimalware l’avvio di attività maligne.

Sebbene la versione per sistemi a 64 bit di Windows Vista integri la tecnologia PatchGuard, meccanismo in grado di proteggere il kernel del sistema operativo, sono in molti a sostenere che la maggior parte degli utenti sarà comunque sempre a rischio di attacchi da parte di “kernel rootkit” nel corso dei prossimi mesi.

Con l’intento di nascondersi in modo sempre più efficace, gli autori di “kernel rootkit” hanno iniziato a condividere documentazione e codici di esempio, spesso resi pubblici. Le tradizionali soluzioni per la sicurezza offrono purtroppo una protezione piuttosto debole nei confronti dei “kernel rootkit”.
Gli autori di malware abbracciano l’uso dei rootkit per nascondere in modo più efficace le proprie “creature”: l’intento è quello di nascondere il malware sviluppato all’interno di un altro contenitore “ostile”, capace di creare una sorta di barriera difficilmente penetrabile dalle classiche soluzioni antivirus.

Uno dei casi emblematici è rappresentato dalla diffusione del rootkit battezzato “LinkOptimizer” e conosciuto anche con l’appellativo di “Grozomon”. Il malware impazzò in Italia a partire dal mese di Aprile 2006 ed usò un ventaglio incredibile di modalità per assicurarsi massima diffusione. Seguendo la nuova tendenza, però, integrava un algoritmo in grado di determinare le specifiche della macchina oggetto della possibile infezione ed, in particolare, di rilevare la presenza di strumenti per il monitoraggio dell’attività del sistema o tool di debugging.
LinkOptimizer controllava anche se fosse in esecuzione all’interno di una macchina virtuale. In tutte queste situazioni il malware semplicemente non effettuava alcunché non visualizzando messaggi né insospettendo l’utente. Molte varianti, inoltre, apparvero appositamente concepite per il mercato italiano insediandosi solo sui sistemi “nostrani” (la discriminante era l’utilizzo di un IP appartenente ad un provider Internet del nostro Paese). Probabilmente primo tra tutti i rootkit, LinkOptimizer creò una lunga schiera di “siti web civetta” contenenti parole italiane molto ricercate, collegò tra loro i vari siti web e mise in atto tecniche per apparire tra i primi risultati proposti dai motori di ricerca. Questi siti web maligni ospitavano del codice studiato per sfruttare alcune vulnerabilità di sicurezza del browser. Visitandoli, ad esempio, con una versione di Internet Explorer non opportunamente aggiornata con le varie patch di sicurezza rilasciate da Microsoft, l’utente poteva ritrovarsi con il sistema infettato e, generalmente, senza accorgersene nell’immediato.

Un altro metodo sempre più “in auge” per gettare fumo negli occhi, consiste nell’utilizzo – da parte degli sviluppatori di malware – dei cosiddetti “runtime-packers”. Si tratta di strumenti che offrono la possibilità di modificare e comprimere i file eseguibili nocivi impiegando algoritmi crittografici con lo scopo di “trasformarli” in una veste completamente differente rispetto a quella iniziale. Così facendo, il malware può eludere i controlli di base esercitati dalle soluzioni antivirus dato che il file sottoposto all’azione di un “runtime-packer”, pur essendo in grado di effettuare le medesime azioni dell’eseguibile originale, appare – “all’esterno” – profondamente differente rispetto al file di partenza. Nel tranello di solito non cadono i software di sicurezza che integrano algoritmi in grado di “unpacking”. Gli autori di malware stanno comunque cercando di perfezionare queste tecniche creando routine di compressione studiate “ad hoc” per il codice nocivo sviluppato.

Per affrontare il problema, stanno venendo messi a punto dei meccanismi di riconoscimento in grado di rilevare sia se un file sia stato compresso con un generico “packer”, sia procedure che tentano di “scompattare” l’elemento oggetto di analisi cercando di riportarlo alla veste originaria per poi esaminarne dettagliatamente il contenuto.

Una delle possibili soluzioni potrebbe essere quella di marcare sempre come potenzialmente dannosi tutti gli oggetti che risultino in qualche modo trattati con un “runtime-packer”. In ambito aziendale è questo sicuramente un valido approccio mentre effetti collaterali notevoli potrebbero presentarsi in ambiente domestico o comunque nei confronti dell’utente finale. Secondo i pareri emersi in occasione dell’International Antivirus Testing Workshop 2007 tenutosi in Islanda ed al quale hanno partecipato tutti i principali produttori di soluzioni antivirus ed antimalware, i vendor che hanno un’ampia base di clienti “consumer” potrebbero essere costretti ad affrontare una pesante ondata di segnalazioni di falsi positivi (file riportati dalla soluzione per la sicurezza come pericolosi quando, in realtà, non lo sono affatto), situazione probabilmente peggiore del problema stesso.

Il quadro degli strumenti sempre più frequentemente adottati dai nuovi malware, si completa con l’impiego delle botnet, insiemi di computer in genere controllati illecitamente all’insaputa del legittimo proprietario.
Secondo diversi studi il numero di sistemi coinvolti in reti botnet sarebbe aumentato a dismisura nel corso degli ultimi mesi (ved. questa notizia in proposito). I sistemi infettati da bot sarebbero responsabili dell’invio, addirittura, dell’80% dell’intero quantitativo di e-mail indesiderate ricevute quotidianamente. Il controllo delle macchine infettate viene infatti spesso venduto, da criminali informatici, ad altre organizzazioni che effettuano attività illecite come l’invio di campagne spam. Chi gestisce “botnet” è arrivato ad offrire l’invio di ben 20 milioni di e-mail di spam per soli 350 Euro. Un dato, questo, assolutamente allarmante che mostra, da un lato, come ormai – grazie alla presenza in Rete di sistemi non adeguatamente controllati, non aggiornati mediante l’installazione di patch di sicurezza, vulnerabili su più fronti – gli aggressori remoti stiano creando botnet sempre più vaste, estese in modo capillare in molti Paesi. Dall’altro lato si osserva come malware e spam siano sempre più sinonimo di un crescente business (criminoso). Le botnet vengono poi utilizzate per lanciare attacchi Denial of Service (DoS) il cui scopo consiste nel mettere fuori uso o comunque rendere irraggiungibili sistemi di aziende od organizzazioni specifiche inviando, contemporaneamente e per periodi di tempo anche piuttosto ampi, continue richieste di connessione. Chi ha il controllo su di una botnet composta, ad esempio, da migliaia di sistemi, può raggiungere l’intento in modo molto semplice.
Le botnet, composte sostanzialmente da sistemi precedentemente violati, possono poi essere impiegate per molti altri scopi criminosi.
Molti personal computer appartenenti addirittura alla classifica delle prime 500 aziende a livello mondiale (“Fortune 500“) sarebbero anch’essi veicolo di spam. La comunicazione con i vari bot avviene utilizzando diversi protocolli ma l’utilizzo di comunicazioni cifrate sta divenendo sempre più popolare in modo da nascondere le attività illecite in atto e rendere difficoltosa la rimozione degli elementi dannosi.

Tra i vettori d’infezione più “collaudati”, vi sono lo sfruttamento di vulnerabilità software irrisolte e l’uso di “downloader”, di dimensioni estremamente compatte, che cambiano forma molto rapidamente in modo tale da evitare il riconoscimento. Gli utenti che non aggiornano regolarmente il sistema operativo, il browser e gli altri software utilizzati sulla propria macchina sono le vittime preferite da chi sviluppa malware. Sul “mercato nero” è poi facile trovare tool come Web-Attacker e Mpack che snelliscono la creazione di codice nocivo “pronto all’uso”, in grado di far leva sulle varie vulnerabilità di sicurezza software. La creazione del vettore per l’infezione è diventata quindi, purtroppo, un’attività alla portata di chiunque abbia un minimo di esperienza in ambito informatico. I “downloader” sono applicazioni di dimensioni ridottissime che, una volta andati in esecuzione, provvedono a scaricare i malware veri e propri dagli indirizzi Internet specificati.

Malware 2.0

Ispirandosi ad un termine (Web 2.0), il cui utilizzo è ultimamente anche abusato, è possibile definire come “Malware 2.0” l’approccio tutto “inedito” che da qualche tempo sta caratterizzando i più recenti malware.
La tendenza è infatti quella di separare la parte “intelligente” del componente nocivo dal suo codice di base: l’elemento dannoso che viene fatto insediare sul personal computer dell’utente è di per sé ridotto ai minimi termini. Esso integra funzioni semplici il cui risultato viene poi trasmesso a server remoti (generalmente un sistema già compromesso ed amministrabile dagli aggressori). E’ poi il server a restituire informazioni sulle azioni da compiere.
Esistono molteplici esempi di “Malware 2.0”: ad esempio, quelli che monitorano le abitudini dell’utente ed, in particolare, i siti da lui visitati. Nel caso di servizi di online banking viene automaticamente iniettato del codice html arbitrario così da carpire le informazioni di autenticazione introdotte dall’utente.
In altri casi, il server remoto ricompila un nuovo file binario nocivo così da variare il codice maligno scaricato da ogni singolo client infettato.

L’evoluzione della tecnologia: antivirus ed antimalware si perfezionano integrando funzionalità di analisi comportamentale e guardando all'”intelligenza collettiva”

Se sino alla fine degli anni ’90 tutti i prodotti antivirus si basavano esclusivamente sull’utilizzo di definizioni antivirus, con l’inizio della diffusione in Rete di worm e spyware, a partire dal 2000, si rese necessaria un’evoluzione verso soluzioni che includessero anche funzionalità firewall in grado di rilevare e bloccare l’attività di malware effettuando un esame dei pacchetti di dati in transito da e verso il personal computer.

Negli anni seguenti, i vari vendor di soluzioni per la sicurezza hanno iniziato ad integrare funzionalità che si occupano di sorvegliare le operazioni compiute dai vari processi in esecuzione bloccando quelle potenzialmente nocive.
Il concetto era nuovo per l’epoca: introdurre una nuova metodologia che permettesse di svincolarsi dalle definizioni antivirus e riconoscere tempestivamente anche le minacce appena comparse in Rete.
Questo tipo di protezione è in genere l’ultima linea di difesa contro i nuovi malware, progettati per passare inosservati ai controlli basati sull’uso di definizioni antivirus ed euristica. Le tecnologie di questo tipo, residenti in memoria, si occupano di osservare nel dettaglio le operazioni e le chiamate API effettuate da ogni singolo programma in esecuzione mettendole in correlazione ed esaminando le varie dipendenze. In questo modo, diviene possibile bloccare il malware prima che questo possa eseguire con successo operazioni dannose sul personal computer dell’utente. Qualora un processo in esecuzione dovesse essere ritenuto sospetto, questo verrebbe istantaneamente interrotto e ne sarebbe impedito un successivo avvio.

Un’altra protezione che i vari produttori di soluzioni per la sicurezza stanno cercando di implentare è quella che consente di definire quali azioni siano permesse e quali non lo siano per una determinata applicazione.
Molti malware, infatti, sfruttano i privilegi assegnati ad un particolare software, del tutto legittimo, per attaccare il sistema dell’utente. Un esempio su tutti è rappresentato dalla diffusione di file in formato Microsoft Office che, pur apparendo benigni, sono invece modificati ad arte da malintenzionati per sfruttare vulnerabilità già conosciute (per le quali è stata messa a disposizione una patch) oppure ancora irrisolte (“zero-day“). Un sistema di protezione che limita il raggio d’azione di ogni singola applicazione può stroncare sul nascere l’attacco.

Una risposta particolarmente efficace nei confronti del “fenomeno malware”, letteralmente decuplicatosi nel corso dell’ultimo biennio, è la cosiddetta “intelligenza collettiva”. Questo tipo di approccio sfrutta la ormai continua fruibilità della connessione Internet per rivoluzionare le modalità con cui i nuovi malware vengono rilevati, classificati e rimossi. Se fino ad ora un personal computer veniva trattato come una singola unità e gli eventuali componenti nocivi rilevati considerati singolarmente, senza una visione d’insieme sui milioni di altri sistemi infettati, l'”intelligenza collettiva” mira a modificare questo quadro. Grazie all'”intelligenza collettiva” l’intero processo di isolamento e raccolta del malware, classificazione e risoluzione del problema può essere eseguito online. Dopo una prima analisi sul sistema locale, nel caso in cui vengano rilevati file sospetti, gli oggetti potenzialmente nocivi sono trasmessi ai server mantenuti dal produttore. Qui, tutta una serie di procedure automatizzate si fanno carico dell’analisi approfondita di ogni campione pervenuto senza quindi impattare negativamente sulle performance del sistema dell’utente. Gli stessi server si occupano di produrre e distribuire aggiornamenti per le firme virali da distribuire a tutti gli utenti: in questo modo è subito possibile fidare del massimo livello di protezione anche nei confronti di malware nuovi, apparsi ad esempio soltanto su poche decine di sistemi.
Un altro vantaggio dell'”intelligenza collettiva” consiste nel quadro generale che questo approccio può restituire agli ingegneri ed agli analisti dei laboratori antimalware. Grazie all'”intelligenza collettiva”, domande relative all’origine di un malware (è possibile ottenere l’elenco dei sistemi dai quali un malware è “nato”) ed alle sue modalità di diffusione, possono trovare rapidamente risposta. Un aspetto, questo, che può risultare particolarmente utile in fase di supporto all’attività svolta dalle forze dell’ordine.
L'”intelligenza collettiva” è una delle soluzioni alle quali i vari produttori stanno guardando con sempre maggior interesse: il fenomeno malware non è contrastabile se i vari produttori non propongono soluzioni basate su un approccio centralizzato svincolato dal modello “PC-centric” sinora adottato.

Evoluzione statistica delle infezioni da malware ed attacchi “zero day”

Che il numero di malware, contando le innumerevoli varianti di ogni singolo componente nocivo, stia aumentando in modo esponenziale è cosa ormai nota. Il dato allarmante è che un considerevole numero di infezioni interessa anche molti sistemi protetti mediante l’installazione di una suite di sicurezza. Lo studio è stato condotto da Panda, famoso vendor di soluzioni per la sicurezza, esaminando personal computer installati in ambiente domestico ed in azienda in più di 80 Paesi. Le macchine oggetto di test installavano soluzioni per la sicurezza prodotte da oltre 40 vendor differenti.
Tra i dati più disarmanti, vi è quello che esprime la percentuale di sistemi protetti e quelli non dotati di alcuna protezione o di antivirus/antimalware “scaduti”. Nonostante gli sforzi dei vari produttori nello sviluppo di funzionalità che consentono l’aggiornamento semplificato dei vari pacchetti software, ben il 62,5% dei sistemi non disporrebbero di alcun tipo di protezione oppure non risulterebbero aggiornati.
Altrettanto impressionante la percentuale (circa il 23%) dei sistemi protetti con soluzioni antimalware, attive ed aggiornate, che sono comunque risultati infetti.
Le conclusioni sono piuttosto amare: l’indagine mostra, da un lato, come ancora oggi vi sia una scarsa consapevolezza delle problematiche connesse con la sicurezza informatica, soprattutto in ambiente consumer, dall’altro si evidenzia come le attuali soluzioni di sicurezza presenti sul mercato risultino inadeguate nei confronti dei malware recentemente rilasciati.

AusCERT, autorità australiana che si interessa di sicurezza informatica, conferma i dati parlando di un 80% di nuovi malware in grado di passare inosservati all’azione di software antivirus ed antimalware. Nel corso dell’articolo, abbiamo illustrato i motivi della “débacle” delle soluzioni tradizionali per la protezione: le motivazioni sono riconducibili ai mutati interessi di chi sviluppa malware, alla crescita esponenziale del fenomeno, alle tecniche sempre più complesse e raffinate impiegate dagli aggressori, alla semplicità – anche per chi abbia un minimo di competenza in ambito informatico – di creare codice maligno.

Attacchi “zero-day”: come prevenirli e come sfruttare le tecnologie di riconoscimento comportamentale

Delle vulnerabilità di sicurezza insite nei software che utilizziamo quotidianamente 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.

Microsoft confermò, tramite le parole di Bill Sisk, membro del “Security Response Team” della società di Redmond, di essere al lavoro per sistemare la vulnerabilità di sicurezza alla base del problema. Sisk comunicò come 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.
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. Uno 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.

Sintassi e semantica di queste ultime informazioni sono determinate dalle specifiche dello schema che viene impiegato. Gli schemi degli URI mantenuti dallo IANA – organismo che tra l’altro si occupa dell’assegnazione di indirizzi IP a livello mondiale -, sono consultabili facendo riferimento a questa pagina.
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.

Firewall bidirezionale

Un firewall è un apparato hardware oppure un software che effettua un’azione di filtro su tutti i pacchetti di dati in ingresso ed in uscita, da e verso una rete oppure un singolo personal computer.
I moderni firewall software, chiamati anche “personal firewall“, sono in grado di offrire una protezione “bidirezionale”. Ciò significa che il firewall non solo è capace di bloccare tentativi di attacco provenienti dalla Rete ma anche di sorvegliare costantemente l’attività del sistema individuando tutti i tentativi di connessione da parte delle applicazioni installate.

Si tratta di un aspetto, questo, assolutamente cruciale. Si immagini che un malware riesca ad insediarsi sul sistema in uso. Una delle prime operazioni che inizierà a compiere, consisterà nello scambio di dati con server ospitanti software “maligni”. Sempre più spesso accade, infatti, che un malware, dopo essersi installato sul sistema dell’utente, provveda a scaricare trojan, keylogger od altri componenti nocivi. Sovente, poi, i malware “spiano” l’attività dell’utente e trasmettono ad aggressori remoti informazioni personali e dati sensibili. In altri casi, il sistema dell’utente viene utilizzato per l’invio di campagne di spam o, addirittura, viene aggiunto ad una botnet, una rete composta da computer violati, come abbiamo visto in precedenza, che può essere controllata a distanza ed impiegata, da malintenzionati, per gli scopi illeciti più disparati.
E’ importante, quindi, poter fidare su un firewall che controlli anche il traffico in uscita dal personal computer.

Introdotto dapprima in Windows XP con il rilascio del Service Pack 2 (Agosto 2004), il firewall integrato nel sistema operativo non permette di usare delle regole che consentano di consentire o bloccare i tentativi di connessione verso l’esterno intentati dalle varie applicazioni installate. Il Windows Firewall si è inoltre spesso dimostrato molto debole nei confronti di malware contenenti delle routine per la disabilitazione di questo componente.
Un netto miglioramento in tal senso, si è registrato con il rilascio di Windows Vista: il sistema operativo propone una versione di Windows Firewall che, finalmente, opera un filtraggio sui pacchetti di dati in uscita, mette a disposizione regolazioni avanzate per l’impostazione di indirizzi IP sorgenti o di destinazione, singole porte od intervalli.

La scelta di un personal firewall (ce ne sono molti sul mercato, spesso recensiti nelle pagine de IlSoftware.it) va operata anche in funzione del proprio livello di esperienza. In molti valutano un firewall dal numero di finestre pop-up che il programma mostra all’utente, allorquando vi sia la necessità di creare una nuova regola di comunicazione per un’applicazione presente sul personal computer. Il fatto che molti firewall recenti abbiano drasticamente ridotto od addirittura, in alcuni casi, praticamente eliminato la comparsa di finestre per la creazione manuale di regole di comunicazione, è certamente un aspetto importante: è il “personal firewall” che decide a quali applicazioni debba essere consentito “colloquiare” in Rete ed a quali, invece, quest’operazione debba essere limitata o vietata.
Non riteniamo, tuttavia, che un firewall che usa un approccio differente, ovvero che propone all’utente delle finestre per la creazione delle regole debba essere scartato a priori. Sarebbe auspicabile, invece, che un firewall offrisse un buon livello di flessibilità facendosi carico di creare le regole, “senza proferir parola”, nel caso in cui l’utente non sia molto esperto ma dando anche l’opportunità di mettere a punto regole anche molto strette a beneficio dei più smaliziati.
Non siamo entusiasti di quei prodotti che sì permettono di “personalizzare” le regole firewall ma consentono questa possibilità solamente a posteriori. Di fatto, questi firewall creano automaticamente una regola dando l’opportunità all’utente di modificarla solo successivamente, quando la comunicazione è ormai già avvenuta.

Un valido “personal firewall” dovrebbe insomma chiedere all’utente, in fase d’installazione, quale modalità preferisce utilizzare: non presentare avvisi nel caso del funzionamento “automatico”; mostrare la finestra per la creazione di una regola nel caso di utenti esperti. Con questa seconda opzione, il fireall – in fase di creazione di una nuova regola – dovrebbe indicare chiaramente nome del programma, identità, protocolli e porte che il software intende utilizzare ed eventualmente offrire suggerimenti per la creazione automatica della regola stessa.

Che cos’è una porta ed attraverso quai percorsi gli aggressori possono tentare di entrare

Le porte di comunicazione sono una sorta di punti d’accesso attraverso i quali viene stabilita una connessione in entrata od in uscita con il personal computer. Una connessione di rete è effettuabile utilizzando una delle 65.535 porte disponibili sul sistema: alle prime 1.024 porte (well known ports) sono associati specifici servizi previsti dallo IANA (Internet Assigned Numbers Authority).
Per convenzione, quindi, le porte 20 e 21 sono utilizzate ad esempio dal protocollo FTP per il trasferimento di file; la 25 dal protocollo SMTP; la 80 da HTTP; la 110 da POP3; la 119 da NNTP e così via.

Come alcuni credono, non esiste una pericolosità intrinseca nell’utilizzo di porte specifiche: il problema si può semmai presentare nel momento in cui sul sistema in uso vi siano componenti server in ascolto, ovvero in grado di rispondere alle richieste di connessione provenienti dall’esterno. Se si configura un server web sulla propria macchina è normale che debba accettare il traffico di rete in arrivo sulla porta 80.
L’importante è che le richieste siano gestite correttamente e che il server non abbia vulnerabilità intrinseche che debbono essere sempre tempestivamente mediante l’applicazione delle patch di sicurezza rilasciate dalle varie software house.
Se, di contro, sul sistema viene installato un componente trojan in grado di mettersi in ascolto su una porta specifica, ecco che qualora l’antivirus non fosse in grado di rilevarne la presenza, essendo sprovvisti di un firewall in grado di segnalare all’utente e bloccare i tentativi di connessione provenienti dall’esterno, si correrebbero enormi rischi.

Ogni “personal firewall” consente di specificare anche se un programma debba operare solamente in modalità client oppure se possa accettare anche le connessioni provenienti dalla Rete (modalità server).

E’ bene precisare che un programma che opera come client (ad esempio, il browser web od il software per l’invio e la ricezione della posta elettronica) scambia ovviamente dati in entrambe le direzioni ma accede ai servizi od alle risorse messi a disposizione da una componente server.
Un server, invece, deve accettare le richieste di connessioni provenienti dai vari client, deve implementare tecniche per la gestione degli accessi, allocazione e rilascio delle risorse, condivisione e sicurezza dei dati scambiati. I malware che si mettono in ascolto su una o più porte integrano una componente server, che permette connessioni non autorizzate da parte di aggressori remoti.

Su un sistema che non debba fornire ad altri utenti dei servizi sono solitamente ben poche le componenti server che vengono avviate, a meno che non si installino web server, file server, ftp server, print server o software per il file sharing.

Protezione antispyware

Gli spyware continuano ancora oggi a rappresentare una delle principali minacce per la sicurezza dei dati memorizzati sul proprio sistema. Come abbiamo visto poco fa, gli interessi economici alla base dello sviluppo dei malware e le mutate motivazioni degli sviluppatori di codici nocivi, fanno sì che i rischi di trovarsi a che fare con programmi maligni, molto più “intelligenti” rispetto al passato, assai più difficili da rilevare e quindi da rimuovere, siano notevolmente più alti che un tempo.

Come suggerisce il termine, gli spyware sono software che, in modo silente, monitorano l’attività dell’utente raccogliendo informazioni personali e dati sensibili. Gli spyware sono spesso progettati per installare sul sistema del “malcapitato” altri software dannosi o per interferire con l’attività del browser (ad esempio reindirizzando le richieste di connessione su siti web nocivi).

Una volta insediatosi sul sistema, uno spyware può modificare la configurazione del sistema operativo, variare la home page del browser, modificare i server DNS utilizzati per facilitare attacchi phishing, e così via.
Gli spyware, diversamente da virus e worm, non si diffondono autonomamente, piuttosto cercano di insediarsi sul sistema dell’utente sfruttando vulnerabilità del browser, del sistema operativo, del client di posta oppure tentando di convincere l’utente ad aprire un file maligno che, ovviamente, non viene mai presentato come tale.

Gran parte degli spyware si installa senza l’autorizzazione dell’utente. Una delle “mode” più in voga consiste nell’inserire componenti spyware all’interno di programmi presentati come del tutto sicuri (“rogue antivirus“). E’ in forte aumento, ad esempio, la diffusione di spyware che si insediano sul sistema dell’utente presentandosi, paradossalmente, come programmi antivirus, antimalware od antispyware. Ne abbiamo contati a decine in Rete, spesso veicolati con nomi rassicuranti come ToolSicuro, VirusDifesa, PestCapture, SpywareSheriff e così via. Emblematico il fatto che questi falsi strumenti per la sicurezza utilizzino sempre più frequentemente termini italiani, per colpire più facilmente gli utenti nostrani più creduloni.

Qualche tempo fa ha impressionato il caso ToolSicuro: frotte di “navigatori” italiani hanno segnalato la comparsa, durante l’utilizzo del browser, di finestre pop-up facenti riferimento alla presenza di errori sul proprio personal computer che sono causa di un funzionamento instabile del sistema o del blocco dello stesso. Dopo alcune indagini si è potuto stabilire che l’apparizione del “buon samaritano”, sotto forma di finestra pop-up, era causata dall’inserimento – all’interno di alcuni banner pubblicitari di famosi circuiti online – di codice javascript che si occupava di reindirizzare il malcapitato sul sito di ToolSicuro. In alcuni casi, il codice veniva inserito sotto forma di ActionScript all’interno di un file in formato Flash.
ToolSicuro è la punta di un iceberg di dimensioni incredibili e ben riassume la tendenza che stanno seguendo molti sviluppatori di malware e spyware: cercare di acquisire la fiducia dell’utente intimorendo i meno esperti con la visualizzazione di falsi messaggi di errore, proponendo strumenti di sicurezza, in lingua originale, che – nella malaugurata eventualità in cui dovessero essere installati – compiono qualsiasi tipo di azione fuorché fornire la benché minima protezione aggiuntiva, spronando l’utente all’inserimento di numeri di carte di credito per l’acquisto di software inutili e spesso nocivi.

Quella rappresentata in figura è una delle finestre a comparsa visualizzate da ToolSicuro durante la navigazione in Rete. Il messaggio d’errore è palesemente falso: cliccando sui pulsanti si veniva immediatamente dirottati sul sito di ToolSicuro.

I “rogue software” si presentano di solito mostrando finestre pop-up generate ricorrendo a codice Javascript, spesso inserito, sfruttando molteplici espedienti, in siti web rinomati ed apprezzati.
Il messaggio visualizzato nella finestra pop-up di solito cerca di allarmare l’utente circa la presenza di virus sul suo sistema e consiglia il download di uno strumento (in realtà il malware vero e proprio) che può risolvere il problema. Il browser viene quindi reindirizzato su pagine web con un look accattivante che spingono l’utente a riporre fiducia nelle informazioni pubblicate.
Nel caso in cui il browser od il sistema operativo non fossero opportunamente aggiornati mediante l’applicazione di tutte le patch di sicurezza, il malware potrebbe essere automaticamente installato sul sistema dell’ignaro utente, servendosi del meccanismo “drive-by download“ (ved. più avanti).

Uno degli aspetti chiave per difendersi da questo tipo di minacce consiste nel non fidarsi mai. La comparsa di una finestra pop-up come quella di ToolSicuro non rappresenta di per sé un pericolo: può invece costituire un gravissimo problema per la sicurezza del personal computer, dei dati in esso memorizzati e dell’intera rete locale, nel momento in cui si dia fiducia a questi messaggi, seguendo i deleteri consigli proposti.

Un ruolo cruciale nella prevenzione di problematiche simili è rivestito dalla sicurezza intrinseca del sistema in uso. Molti spyware, così come gran parte dei malware in circolazione, riescono spesso ad insediarsi sul sistema dell’utente, in modo silente, sfruttando vulnerabilità conosciute del sistema operativo o dei vari software impiegati (client di posta elettronica, client VoIP, software per la messaggistica istantanea, riproduttore multimediale,…).
E’ quindi sempre bene accertarsi di applicare tempestivamente le patch di sicurezza che i vari produttori rilasciano.

Un sito che informa quotidianamente sulla scoperta di nuove vulnerabilità e sul rilascio di aggiornamenti critici per ogni prodotto in circolazione è quello della società danese Secunia (www.secunia.com).

Pericolo “drive-by download” ed antiphishing

Con il termine “drive-by download” si definiscono tutti quei programmi che si insediano, in modo automatico, sul sistema dell’utente senza che questi abbia concesso la sua autorizzazione.

Questo genere di infezione si può verificare non appena l’utente visiti un sito web “maligno” utilizzando un sistema che non è stato opportunamente “messo in sicurezza” mediante la tempestiva applicazione delle patch via a via rese disponibili.

L’aggressore, sfruttando le vulnerabilità non sanate, insite nel browser o nel sistema operativo dell’utente, può così riuscire ad installare automaticamente dei programmi dannosi sulla macchina del “malcapitato”, semplicemente persuadendolo a visitare una pagina web allestita allo scopo.
Esistono molteplici espedienti per indurre l’incauto utente a visitare una pagina web “maligna”: solitamente, l’aggressore avvia delle campagne di spam inserendo, nel corpo del messaggio, testi simili ai seguenti: “C’è un video che ti interessa su YouTube“, “Hai ricevuto una cartolina d’auguri” oppure, ancora, “Grazie per il tuo ordine“. Cliccando sui link proposti, il browser viene condotto sulla pagina web dannosa.

Un altro metodo assai diffuso, consiste nel creare molte pagine web, linkate tra loro, contenenti migliaia di parole differenti. Tali pagine, una volta indicizzate da parte di Google, possono essere proposte tra i risultati delle interrogazioni che gli utenti effettuano sul motore di ricerca. Cliccando su uno dei link “maligni” che vengono proposti e visitando la pagina con un sistema non adeguatamente “patchato”, ecco che verrebbe automaticamente scaricato ed installato il malware.

Il terzo metodo impiegato per la distribuzione di malware consiste nello sfruttare vulnerabilità di siti web famosi e comunemente ritenuti fidati per insediare codice dannoso. L’attacco può concretizzarsi non solo mediante “SQL injection” ma anche sfruttando falle XSS (ved. più avanti).

In alcuni casi, inoltre, circuiti di advertising poco controllati sono anch’essi stati oggetto di attacco. Maggiormente esposti sono risultati i circuiti aperti a tutti, dietro semplice attivazione di un account utente: gli aggressori sono riusciti a forzare l’inserimento di codice javascript dannoso avendo così l’opportunità di esporlo su siti web famosi e ad elevato traffico.

I malware “drive-by download” aggiungono un’altra pericolosa minaccia. Non è ormai più possibile, per un utente responsabile, difendersi da potenziali problematiche semplicemente stando alla larga da siti web nocivi (è noto come siti web che sviluppano i temi della pirateria, offrono materiale pornografico, informazioni sul gioco d’azzardo e sulle droghe siano quelli maggiormente “popolati” di malware). Oggi, anche i siti web assolutamente benigni possono diventare veicolo per la diffusione di malware.
La migliore difesa è, in primo luogo, conoscere il funzionamento delle possibili minacce e mantenere il sistema sempre aggiornato. In quest’ottica, assume un’importanza fondamentale l’installazione delle patch di sicurezza per il sistema operativo e per tutte le applicazioni in uso.

Antiphishing

Il termine “phishing” viene utilizzato in ambito informatico per riferirsi alle moderne truffe intentate sempre più frequentemente con lo scopo di sottrarre all’utente dati personali ed informazioni utilizzate per la gestione di conti corrente online, la disposizione di bonifici o di altre operazioni finanziarie, l’effettuazione di versamenti con carta di credito.

Coloro che mettono in atto attacchi “phishing”, fanno uso di tecniche di ingegneria sociale per indurre l’utente più sprovveduto a compire azioni che facilitino il furto di dati.

Con il termine “ingegneria sociale” si è soliti definire gli studi che hanno come oggetto il comportamento del singolo. Analizzando la sensibilità comune delle persone dei confronti di talune tipologie di messaggi, il “social engineer” riesce ad indurre l’altro a compiere operazioni potenzialmente pericolose carpendone la sua fiducia. E’ “l’arte dell’inganno”, insomma, che in ambito informatico è purtroppo sempre più utilizzata.

Generalmente, chi avvia tentativi di frode provvede ad inviare migliaia di messaggi di posta elettronica agli utenti di un Paese specifico. All’interno dell’e-mail truffaldina, i “phishers” inseriscono testi ed elementi grafici che cercano di trarre in inganno il destinatario del messaggio: vengono impiegati, ad esempio, loghi ed elementi grafici estratti dai siti web ufficiali dei più conosciuti istituti di credito.
Partendo dalla considerazione che mai una banca richiede, via e-mail, la modifica di dati personali e l’inserimento di credenziali di login, è immediato concludere come i tanti messaggi che, periodicamente, si ricevono nella propria casella di posta, siano palesemente fasulli. Eppure, sono ancora tanti gli utenti a cadere nella trappola.
All’interno del messaggio truffaldino, che di solito si presenta in formato HTML, vengono posti più link che – ad una rapida occhiata – sembrerebbero far riferimento al sito web ufficiale dell’istituto di credito citato quando, in realtà, conducono ad un “sito-trappola” allestito dal truffatore. Anche il sito “sito-trappola” ricalca da vicino tutti gli elementi che contraddistinguono il vero sito web dell’istituto di credito. Seguendo le indicazioni presenti nell’e-mail truffaldina, quindi, l’utente più sprovveduto consegnerà, direttamente nelle mani del “phishers”, le credenziali d’accesso al proprio conto corrente bancario con le conseguenze che è facile immaginare.

Il problema “phishing” è particolarmente sentito nel nostro Paese. Uno studio reso pubblico da IBM e riferito al primo semestre 2008, evidenzia come l’Italia – pur essendo all’undicesimo posto per l’invio di e-mail indesiderate (“spam”) – sia addirittura la seconda nazione al mondo dalla quale hanno origine truffe informatiche. Al primo posto c’è la Spagna con il 16,7%; seguono l’Italia (15,1%), la Corea del Sud (11,3%), il Brasile (7,3%), Israele (6,9%), la Francia (6,8%), la Polonia (5,7%), la Germania (4,2%), l’Argentina (3,1%) e gli Stati Uniti (2,3%).

Le tecniche utilizzate per gli attacchi “phishing”

La prima regola da tenere a mente è tanto elementare quanto essenziale: gli istituiti bancari non richiedono mai, via e-mail, di confermare dati personali. Chi vi dovesse chiedere di farlo è certamente un truffatore: è sufficiente cestinare l’e-mail ricevuta per non incorrere in alcun problema.

Capita assai frequentemente di vedersi recapitare un’e-mail facente riferimento ad una banca o ad un servizio online di cui non si è clienti: questo perché i “phishers” inviano migliaia di messaggi ad utenti di tutto il mondo nella speranza di raggiungere un ingenuo correntista della banca presa di mira. Chi mette in atto attacchi “phishing”, quindi, inizia con l’effettuare una pesante campagna di spam. Il truffatore, poi, è spesso solito registrare un nome a dominio che ricorda molto da vicino quello della banca quindi inserisce, nel messaggio-trappola, uno o più link a questo dominio: l’occhio meno attento potrebbe non accorgersene.
In alternativa, vengono addirittura registrati siti presso fornitori di spazio web gratuito (spesso sono domini del tipo nomebanca.fornitorespaziogratuito.com): mentre il nome dell’istituto bancario viene lasciato un bella evidenza, il resto dell’indirizzo viene sovente oscurato facendo uso di particolari tecniche.

In particolare, per camuffare l’URL “maligno” riportato nell’e-mail truffaldina, il “phisher” è solito utilizzare diversi approcci. Eccone alcuni:

– Utilizzo dell’indirizzo IP in luogo del nome a dominio. Talvolta il nome a dominio viene sostituito con l’equivalente indirizzo IP, in modo da non insospettire l’utente meno esperto (ad esempio, sia digitando www.google.it che l’IP 209.85.129.99 è possibile raggiungere la home page di Google).

– Utilizzo di un URL codificato. Per “distrarre” l’utente, vengono a volte inseriti riferimenti a siti web “phishing” utilizzando la versione codificata per esprimere un nome a dominio. Questo espediente non funziona su tutti i browser ma è ancora utilizzato (esempio: http://www%2E%67%6F%6F%67%6C%65%2E%69%74 è la versione codificata ASCII HEX di www.google.it).

– Uso di indirizzi molto lunghi. Sempre con l’obiettivo di non insospettire l’utente meno accorto, molti “phisher” impiegano ancora oggi URL di grandi dimensioni che eccedono la larghezza della barra degli indirizzi del browser.

– Sfruttamento di vulnerabilità del browser web. L’utente che non applica le patch per il sistema operativo e gli aggiornamenti rilasciati dal produttore per il browser web utilizzato, può essere più facilmente vittima di attacchi “phishing”. Vengono infatti periodicamente scoperti bug di sicurezza nei principali browser che, se sfruttati da parte di malintenzionati, possono indurre l’utente a credere di essere su un sito web benigno (ad esempio, quello della propria banca) quando, in realtà, si sta navigando sul sito truffaldino creato dai “phishers”. Sfruttando vulnerabilità del browser non opportunamente sanate dall’utente, i malintenzionati sono in grado di fare in modo che nella barra degli indirizzi venga mostrato un indirizzo fasullo, in modo da rassicurare l’utente.

– Immagini contraffatte e finestre pop-up. In alcuni tentativi di “phishing” vengono sovrapposte immagini fasulle all’URL reale mostrato nella barra degli indirizzi.

– Attacchi basati su Cross Site Scripting (XSS). E’ probabilmente questa la metodologia d’attacco più efficace perché sfrutta una vulnerabilità insita nelle pagine web. Le vulnerabilità XSS possono affliggere molti siti web, compresi quelli gestiti da aziende di gran fama. Ed, anzi, sono proprio i siti web di realtà ormai consolidate e più conosciute dagli utenti ad essere maggiormente prese di mira per questo genere di attacchi.
Ogniqualvolta facciamo clic su un collegamento ipertestuale, presente in una pagina web, il nostro browser (“client”) invia una richiesta al server web, attraverso il protocollo HTTP.
I metodi di richiesta di una pagina web possono essere diversi sebbene i principali, ai quale i tecnici si riferiscono prevalentemente, siano GET e POST.
In HTML, nel momento in cui si vogliano trasmettere delle informazioni al server, ad esempio i dati inseriti in un comune modulo online (“form”), si utilizza solitamente il metodo POST: i dati vengono codificati dal browser sotto forma di un URL. Nel caso di GET, invece, il contenuto delle variabili trasmesse ad una pagina web, verrà visualizzato direttamente nella barra degli indirizzi del browser. I dati inviati al server attraverso richieste GET o POST verranno elaborati per rispondere opportunamente alle richieste specifiche dell’utente. Coloro che intentano attacchi di tipo “cross site scripting” sfruttano delle vulnerabilità presenti nelle pagine web dinamiche per modificare il codice della pagina successivamente proposta al visitatore oppure per effettuare reindirizzamenti verso altri siti web, diversi da quello realmente richiesto. Vulnerabilità di questo tipo derivano da una imperfetta gestione del contenuto delle variabili utilizzate dalla pagina dinamica. In queste circostanze, un aggressore può “inettare” del codice javascript “maligno” all’interno di una pagina web. Se, modificando il contenuto dei vari parametri elencati nella barra degli indirizzi del browser, la pagina web sembra riutilizzarne uno o più di essi “ripubblicandone” il contenuto nella pagina generata dinamicamente, è possibile tentare un attacco cross site scripting.
L’aggressore, allora, proverà ad inserire, in calce al contenuto di un parametro visualizzato nella barra degli indirizzi (i più “papabili” sono solitamente i valori che appaiono essere di tipo stringa), del codice javascript. Qualora il programmatore della pagina dinamica non abbia opportunamente provveduto a scrivere una funzione che “depuri” i parametri in ingresso degli elementi potenzialmente nocivi (i.e. tag HTML, apici, simboli utilizzati dal linguaggio di programmazione,…) e provveda a riscrivere il contenuto del “parametro vulnerabile” sulla pagina successivamente proposta all’utente, può succedere che il codice maligno venga “iniettato” nel corpo della pagina. Una manna dal cielo per coloro che intendono predisporre attacchi “phishing”. E proprio un famosissimo istituto di credito italiano è stato vittima di un attacco XSS, estremamente ben congeniato.

Tutti gli istituti di credito ed i servizi di e-commerce utilizzano sui propri siti web il protocollo HTTPS.
Anche cliccando su uno dei link presenti in un messaggio truffaldino ci si dovrebbe accorgere subito che si sta facendo uso di una connessione insicura e quindi insospettirsi immediatamente, proprio in forza del fatto che non viene impiegato il protocollo HTTPS.
HTTPS è un protocollo supportato da tutti i browser in circolazione che permette di instaurare una connessione sicura tra client (il personal computer dell’utente) e server (il fornitore del servizio: online banking, e-commerce,…). Il funzionamento di HTTPS si basa su un meccanismo di autenticazione e crittografia dei dati scambiati. “Sopra” al classico HTTP (porta 80) viene posto un livello aggiuntivo (SSL, acronimo di Secure Socket Layer o TLS, Transport Layer Secuirty) per assicurare protezione da “spioni” ed impedire attacchi come il “Man in the middle” (ossia, “l’uomo nel mezzo”). In quest’ultimo caso, avendo a che fare con un flusso di dati non crittografato e non firmato, un malintenzionato potrebbe inserirsi nel colloquio tra client e server per intercettare le comunicazioni ed eventualmente apportare modifiche.
Tutti i browser informano l’utente, ad esempio mediante la visualizzazione di un’apposita icona a forma di lucchetto, sul fatto che si stia utilizzando il protocollo HTTPS.
Generalmente, inoltre, è possibile visionare anche tutti i dettagli relativi al certificato di sicurezza ed all’autorità che lo ha emesso.

Ci preme però sottolineare come nel caso di attacchi XSS l’utilizzo del protocollo HTTPS non sia garanzia di sicurezza assoluta. Nel caso della famosa banca “nostrana” oggetto di attacco, gli aggressori, dopo aver individuato una pagina affetta da vulnerabilità XSS, hanno iniziato ad inviare una pesante campagna di spam, nell’intento di “intercettare” clienti dell’istituto di credito in questione. Nell’e-mail “phishing” veniva inserito un link contenente anche un javascript “maligno”. La pagina oggetto della vulerabilità XSS utilizzava un certificato SSL: gli aggressori, grazie all’URL modificato trasmesso via e-mail, sono stati in grado di “iniettare” un nuovo oggetto HTML (IFRAME) all’interno della pagina di login dell’istituto di credito. L’incauto utente che avesse provveduto a cliccare sul link ricevuto via e-mail avrebbe ritenuto di essere sul sito della banca, rassicurato, inoltre, dall’utilizzo del protocollo HTTPS. Inserendo i propri dati di autenticazione, questi sarebbero però stati trasmessi su un server “maligno” sito a Taiwan e ciò in forza della presenza dell’IFRAME maligno aggiunto via javascript.

Altre tipologie di attacco

Quando viene rubata “l’identità” di un sito web

Un tempo, prima dall’avvento dei “drive-by downloads”, gli aggressori – per poter installare del codice maligno sul sistema dell’utente – dovevano convincerlo a visitare un sito web ospitante l’applicazione dannosa persuadendo il visitatore a scaricarla e ad avviarla sul suo sistema.

I “drive-by downloads”, come abbiamo spiegato in precedenza, non richiedono l’interazione dell’utente affinché il suo sistema venga infettato, specie quando vengono utilizzati software non adeguatamente messi in sicurezza mediante l’applicazione delle patch rilasciate dai vari produttori.

Ad ogni modo, sebbene non sia richiesto l’intervento dell’utente per eseguire il malware, anche in questo caso l’aggressore deve convincerlo a visitare il sito web nocivo.

La tendenza, quindi, tra gli autori di malware è quella di sfruttare siti web famosi e di buona fama per trasferire traffico verso le pagine web dannose. Gli aggressori cercano quindi di far leva su tutte le possibili tecniche e sui vari espedienti che possono permettere l’inserimento di codice arbitrario all’interno di pagine web mantenute da terzi.
Coloro che visitano tali siti web, ritenuti benigni, generalmente non si accorgono come il proprio browser carichi anche il codice maligno.
L’aggressore oggi preferisce quindi rivolgere la sua attenzione verso siti web che vantino un buon traffico e che quindi siano quotidianamente molto visitati. Le regole del gioco sono infatti profondamente mutate rispetto al passato: chi desidera veicolare i propri malware tenta di attaccare migliaia di siti web in un breve lasso di tempo. Le pagine compromesse vengono forzate a puntare verso pagine Internet contenenti il codice nocivo vero e proprio (solitamente viene usato un unico URL o un ristretto numero di indirizzi che puntano a siti web pericolosi). Il sito web preso di mira non viene poi, di solito, completamente “defacciato” ma, celati nel codice HTML, vengono inseriti elementi aggiuntivi (ad esempio, codice javascript oppure tag IFRAME): l’utente rimane convinto di aver caricato il sito web desiderato mentre, contemporaneamente, il suo browser ha provveduto a connettersi con il server che ospita il codice nocivo.

Gli aggressori si rivolgono con maggiore interesse verso i siti web che risultano facilmente violabili, ad esempio quelli ospitati su macchine server ove non siano state installate patch di sicurezza di importanza fondamentale. Attaccando server web mantenuti da provider che offrono hosting condiviso, è sufficiente che un solo sito sia vulnerabile per poter generalmente attaccare tutti gli altri presenti nella medesima macchina.

Anche lato server è quindi spesso un problema di patch.
Talvolta, la modifica di pagine web può essere dovuta all’utilizzo di password deboli, facilmente attaccabili, oppure all’utilizzo di modalità di autenticazione non idonee.

Uno degli aspetti più importanti che vanno tenuti a mente consiste nel verificare la sicurezza delle pagine web ospitate sul proprio server. Piattaforme di blogging, CMS (Content management system), wiki, forum ed altri meccanismi che permettono la pubblicazione e la gestione di contenuti su server web non sono immuni da problemi. Trattandosi di vere e proprie applicazioni, spesso vengono scoperti molteplici vulnerabilità di sicurezza. Le più pericolose possono portare al “defacciamento” del sito, alla modifica dei contenuti da parte di persone non autorizzate, alla sottrazione di informazioni personali (database degli utenti, password, etc…).
E’ quindi sempre bene verificare attentamente la disponibilità di aggiornamenti di sicurezza sul sito web del produttore.

Per quanto riguarda le piattaforme sviluppate autonomamente il problema è meno sentito non essendo il codice disponibile pubblicamente, a patto però che si siano operati tutti i dovuti controlli. In particolare, lo sviluppatore deve sempre verificare che le pagine sviluppate non siano vulnerabili ad attacchi SQL Injection o XSS. In entrambi i casi, massima attenzione deve essere riposta nell’esame dei parametri ricevuti in ingresso dalle proprie pagine web dinamiche.

Il futuro

I crimini informatici stanno andando sempre più sul personale. E’ questo quanto emerge da un’indagine pubblicata ad Ottobre 2008 da McAfee. I siti di “social networking” sono uno degli strumenti maggiormente utilizzati dagli aggressori per raccogliere informazioni su una persona od un gruppo di persone. Secondo McAfee gli attacchi “personalizzati” cresceranno sempre più e sfrutteranno falle degli stessi siti di “social networking”, ad esempio, per sferrare attacchi sempre più efficaci (problemi XSS).
E’ quindi destinato letteralmente ad “esplodere” lo spam “socialmente ingegnerizzato” ovvero l’invio di messaggi fasulli agli utenti che possano apparire il più possibile reali e veritieri, grazie all’inserimento di informazioni personali raccolte sul web.

In grande crescita anche la nascita di falsi software per la sicurezza (“rogue antivirus”) e la diffusione di aggiornamenti fasulli presentati come assolutamente indispensabili da parte degli aggressori.

Hiep Dang, direttore della ricerca antimalware presso i laboratori McAfee Avert, ha osservato come la storia si ripeta: lo sfruttamento dell’ingenuità di una persona e della fiducia che essa tende spesso a riporre nel prossimo è lo stesso concetto che è stato utilizzato da qualunque genere di truffatore ben prima dell'”era digitale”.

Ti consigliamo anche

Link copiato negli appunti