I sette uomini d'oro o i soliti ignoti?

Quando organizzo dell'attività di formazione nel campo della sicurezza, particolarmente su tecniche e strumenti di difesa, lascio sempre un certo spazio alla descrizione delle metodologie di attacco. Questo perché trovo abbastanza assurdo spiegare come difendersi, senza che sia chiaro prima da cosa ci si vuole difendere. È un problema che vedo continuamente: corsi, articoli o interventi che vogliono spiegare come e perché è efficace un certo prodotto o una certa tecnologia, senza dare un'idea di quali siano effettivamente gli attacchi contro i quali è efficace.
Questo, per inciso, è un esercizio che consiglio di praticare sempre, quando viene presentata una soluzione di sicurezza o "sicura": prendere l'elenco delle ultime vulnerabilità pubblicate ad esempio su Bugtraq, e chiedersi: contro quali di queste la soluzione presentata è efficace? Si vedrebbe che molti prodotti e tecnologie, particolarmente quelli di autenticazione, hanno di fatto un'efficacia limitata. Né ci si può aspettare che chi partecipa ad un corso o a una presentazione abbia di suo un'idea chiara; nella maggior parte dei casi, anche un sistemista ha delle nozioni frammentarie o approssimative.
Presentando le diverse metodologie di attacco, una delle cose più difficili secondo me è dare la sensibilità di quali attacchi, al di là della fattibilità teorica, siano facili o probabili nella pratica.
Molti attacchi normalmente descritti in letteratura (o nei corsi) non sono semplicemente i più comuni: sono descritti per motivi storici, o perché esemplificativi di una classe di problemi, o perché sono semplici da descrivere, ma non necessariamente questo significa che siano praticati o praticabili in modo diffuso. D'altra parte, il fatto che un attacco non sia utilizzato in modo diffuso non vuole dire che non sia praticabile in casi specifici. Viceversa, attacchi che sembrano complessi sono molto praticati, ad esempio perché ci sono strumenti che li automatizzano.
La capacità di valutare quali siano nel concreto e nello specifico gli attacchi ai quali è realmente esposto un sistema è quindi un requisito essenziale per selezionare le protezioni adeguate; in effetti, una delle parti più difficili in una valutazione del rischio, in questo campo, è quantificare la probabilità dei diversi attacchi. La capacità di fare queste valutazioni è una delle cose che secondo me distinguono chi si occupa realmente di sicurezza da chi vende semplicemente soluzioni (prodotti ma anche progettazione e consulenza), essendo i secondi concentrati su quante cose sa fare il loro prodotto, senza avere ben chiaro quali siano i problemi se non in termini generici (un'altra caratteristica dei primi è la mentalità bacata che porta a concentrarsi sempre su quello che può non funzionare). La valutazione della probabilità di un attacco è un compito tutt'altro che banale, anche perché si tratta di un problema in continuo movimento: attacchi che prima erano difficili diventano banali, attacchi che erano facili diventano, molto più raramente, difficili, ad esempio grazie a qualche miglioramento in servizi o protocolli.
Si pone quindi il problema di crearsi non solo una conoscenza tecnica sulle metodologie di attacco, ma anche una sensibilità a quali siano gli attacchi praticati realmente, da chi e con quali scopi.
Questo è uno degli scopi del progetto Honeynet, una rete di computer fatta per essere attaccata e per studiare l'attaccante. Il sito vale certamente una visita, ma non consiglierei l'acquisto del libro, per vari motivi: il materiale non è più di quello che si trova sul sito, casomai meno, in compenso per ottenere quello che sembra essere il volume standard di un libro negli USA (che permette il solito prezzo tutt'altro che economico), gli stessi concetti, o anche le stesse frasi, sono ripetuti un'infinità di volte; particolarmente terribili sono le circa 100 pagine di "dump" delle chiacchiere su IRC di un gruppo di attaccanti, circa un terzo del libro che sarebbe noioso dopo poche pagine anche per chi non ne avesse mai visti. Un grosso limite del progetto, almeno da come è presentato, è che si basa su sistemi in configurazione standard con vulnerabilità note; in queste condizioni, si vedono gli attacchi noti e quindi principalmente script kiddies, mentre attacchi sofisticati, e quindi i personaggi e le motivazioni che ci possono essere dietro, non sono probabilmente rilevabili con una rete di questo tipo; un vero peccato, perché l'iniziativa è veramente interessante.
In realtà anche in Italia esistono moltissime reti con tutte le caratteristiche della Honeynet: sistemi standard accessibili da Internet e facilmente attaccabili; fra queste spiccano molte reti di istituti di ricerca e universitari; al di là di quelle che sono semplicemente male amministrate, in quasi tutte ci sono macchine amministrate da singoli utenti che per i più diversi motivi non sono aggiornate. Per questo, chiunque abbia affrontato la gestione di incidenti su reti di ricerca, e comunque anche su molte reti commerciali, difficilmente troverà qualcosa di nuovo nel libro, che descrive proprio le situazioni più comuni.
C'è tuttavia un fatto importante che è ancora una volta verificato: un qualsiasi sistema connesso a Internet viene esaminato continuamente, spesso più volte al giorno, alla ricerca di vulnerabilità note. È un fatto confermato praticamente da chiunque, e una volta tanto ci sono anche dei numeri "veri" a testimoniarlo; io comunque lo do per certo, avendolo verificato personalmente.
Questo però sembra in contrasto con un altro fatto generalmente riconosciuto, e che di nuovo ho verificato personalmente: una gran parte dei sistemi connessi a Internet, compresi server di grosse aziende e dedicati ad attività importanti, sono decisamente insicuri e tutt'altro che invulnerabili anche agli attacchi più banali. Eppure, questi siti continuano ad essere attivi, e non si sente di danni colossali. È vero che, ascoltando bene, si ha la conferma che la maggior parte delle intrusioni o in generale degli incidenti non vengono pubblicizzati, ma questo non basta: a giudicare dalla sicurezza media dei server web pubblici, gli attacchi dovrebbero essere molto più numerosi e molto più dannosi. O almeno, questa è la mia sensazione.
Come spiegare questa discrepanza? La mia sensazione personale è che le ragioni siano principalmente due; ovviamente si tratta di illazioni, anche se con qualche riscontro concreto, ma a me sembrano i motivi più ragionevoli questa oggettiva discrepanza.
Il primo è semplicemente che la quantità di script kiddies è enormemente più alta rispetto a quelli che hanno un'idea di cosa stanno facendo. Questo vuole dire che bastano spesso piccoli ostacoli per evitare la compromissione di un sistema, ma vuole dire soprattutto che alla fine la maggior parte degli attacchi si risolve con un defacement o con l'installazione di un irc bot.
Questo è già di per sé un fatto interessante; uno dei "valori" dei quali siamo abituati a tener conto è l'immagine aziendale, certamente danneggiata anche in caso di defacement. Eppure, il defacement ha colpito grossi provider, società finanziarie e aziende che si occupano di sicurezza; dall'utente medio non ho mai sentito dire che ha cambiato provider, o società per il trading online perché aveva subito un defacement; sembra che l'utente medio, duramente provato dall'instabilità, inaffidabilità e nel complesso totale cripticità della sua workstation, dia per scontato che questi problemi siano parte del gioco. Anche chi si occupa di sicurezza sa che fanno parte del gioco ("la sicurezza assoluta non esiste"), ma il livello tollerabile dall'utente medio sembra essere molto più basso di quanto prevedibile: chi non si fida non si fida di nessuno, chi si fida sembra disposto ad ingoiare molto (sarebbero interessanti delle statistiche sulle perdite di clienti in seguito a eventi di questo tipo). A titolo di verifica, basta guardare su Securityflop i nomi degli ultimi siti defaced (per inciso, notate quanti siti della Pubblica Amministrazione; su questo tornerò un giorno per parlare di documenti informatici, firma elettronica, carte di identità e compagnia), oppure ricordare una famosa società finanziaria che ha fatto un "piccolo errore" con una mailing list... sembra proprio che i danni di immagine interessino poco a chi li subisce, e meno ai loro clienti. Con le dovute eccezioni, naturalmente. Insomma, la maggior parte degli attacchi si riduce a pochi danni, difficili comunque da quantificare.
E gli altri? Quelli con notevoli capacità tecniche o forti motivazioni?
Non mi riferisco certo al "rischio cyberterrorismo"; la logica secondo la quale dall'interesse (scontato) del terrorismo per effettuare una strage che ha shockato il mondo debba derivare un analogo interesse a sistemi informativi per la maggior parte dediti alla burocrazia, sarà un mio limite, ma mi sfugge. Semplicemente considero il cyberterrorismo un rischio limitato a poche situazioni circoscritte, e anche li non sono certo che sia un rischio grave; non certo un problema per la maggior parte delle aziende. Il cyberterrorismo dovrebbe essere una forma di terrorismo, il cui nome deriva da terrore. Attacchi all'infrastruttura informatica di aziende, enti pubblici o privati possono causare danni, suscitare perplessità o sfiducia, ma riesco a immaginare pochi casi in cui suscitino terrore; il terrore viene suscitato da eventi molto più reali, anche se limitati, come sembrano avere ben chiaro i terroristi, nazionali o internazionali che siano; azioni che costano meno impegno e meno competenze possono essere, purtroppo, assai più efficaci. Naturalmente ci sono alcune infrastrutture informatiche abbastanza critiche da poter interessare un terrorista; l'esempio che viene fatto più frequentemente è la "power grid", la rete elettrica. Attacchi a queste e altre infrastrutture non si possono però limitare a un defacement, devono arrivare ad utilizzare l'infrastruttura stessa e le sue funzioni per causare un danno al sistema reale.
E qui si arriva alla seconda ragione per cui i siti sopravvivono agli attacchi. Fra compromettere un sito e trarne vantaggio c'è una grossa differenza, un passaggio che richiede dei presupposti tutt'altro che ovvi.
Prima di tutto, ci vuole l'intenzione di trarne vantaggio, oppure di causare un grosso danno. Questa intenzione, certa nel terrorista, è tutt'altro che ovvia nell'hacker medio. Indipendente dall'etica più o meno dichiarata, mentre molti non si sentono criminali per aver violato un sito, certamente parecchi lo ritengono un gesto molto diverso dal crimine tradizionale, verso il quale si muoverebbero se andassero oltre. Questo non toglie che, se li hanno davanti al naso, molti non disdegnino elenchi di carte di credito valide.
Il secondo passaggio riguarda la capacità di interagire con gli applicativi. Una cosa è infatti attaccare un sistema operativo o un servizio conosciuto, che bene o male è uguale dappertutto. Altro sono gli applicativi più o meno personalizzati, di cui è necessario capire non solo il funzionamento, ma anche la logica in termini di procedure. Naturalmente ci sono i casi banali, tipicamente anagrafi di utenti con qualche carta di credito e qualche sistema di vendita online: gli attacchi portano facilmente alla raccolta di numeri di carta di credito o alla violazione della privacy degli utenti (ma all'attaccante interessa qualcosa della privacy e dei dati degli utenti?), o alla possibilità di effettuare gratis qualche acquisto. Quando però si parla di applicativi complessi, che devono interagire con altri sistemi e procedure non solo informatiche, il discorso si fa più difficile. Mentre falsificare la singola transazione può essere semplice (non dimentichiamo che nella maggior parte dei casi l'autenticazione "si ferma" al server web), diverso è fare operazioni su grossi numeri; oltre alla comprensione dell'applicazione, questo può richiedere altri tipi di interazione con il sistema, diversi da quelli che passano dal server; ad esempio, l'apertura di un conto, la falsificazione di un documento di identità, la connivenza di personale interno. Operazioni insomma, che possono segnare la differenza fra l'attacco al server via Internet e la frode più tradizionale; un'attività alla quale la maggior parte degli hacker per fortuna non sembra dedita (agli altri si devono probabilmente quegli attacchi seriamente dannosi di cui "si sa ma non si dice"). Di questa ulteriore difficoltà sono fin troppo coscienti molte aziende, particolarmente in ambito bancario; spesso si sentono affermazioni del tipo: "si, ma per andare oltre bisogna conoscere le procedure, e per quelle servono le connivenze...". In parte evidentemente hanno ragione, ma si tratta di una protezione estremamente fragile: in fondo è security through obscurity, che può sparire per i motivi più disparati, con risultati catastrofici.
Nel complesso comunque, spinte un po' dalla convenienza, un po' dalla "necessità storica", le offerte di servizi più o meno delicati attraverso Internet proseguono, con meno intrusioni di quanto la sicurezza dei server e la frequenza degli attacchi farebbero pensare. Tutto bene quindi? Certamente no. Le cose non vanno male solo grazie all'atteggiamento poco "criminale" dell'hacker medio (a parte le norme su misura, si intende), non certo grazie alla sicurezza dei servizi. Ma questo succede perché l'hacker non ha molto a che spartire con il crimine tradizionale; siamo in una specie di limbo, ma è una situazione che è destinata a cambiare. Man mano che gli interessi economici si spostano, si spostano anche gli attacchi. Già adesso si vedono in giro "banche" che dichiarano di non avere contanti nelle filiali, e anche dal lato consumatore l'uso di denaro contante diminuisce, mentre sono sempre più le possibilità di gestire in proprio capitale on-line; infine, anche le Pubbliche Amministrazioni si preparano all'offerta su Internet. Di fronte a tutto questo, la criminalità tradizionale non può che cambiare: mentre finora sembra aver sfruttato le nuove tecnologie principalmente come strumento per svolgere le proprie attività, è probabile (e sembra che i segnali non manchino) che almeno in parte si converta, e nascano gruppi specializzati nel riunire le metodologie della criminalità tradizionale con le tecnologie informatiche, con una grossa differenza rispetto all'hacker tradizionale: si muovono bene anche nel mondo reale. Questo, molto più che il cyberterrorismo, temo che porterà presto a qualche brusco risveglio.