STATO MAGGIORE DELLA DIFESA II Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa Sezione Gestione del Rischio CERT Difesa CC BOLLETTINO DI SICUREZZA INFORMATICA N. 6/2008 Il bollettino può essere visionato on-line su: Internet: www.cert.difesa.it Intranet: www.riscert.difesa.it
Anatomia di un Cyber Attack Introduzione... 1 Investigazione (Probe)... 1 Sondaggio del Web... 2 Scansione delle porte e mappatura delle versioni software... 3 Analizzatori automatizzati di vulnerabilità... 3 Ulteriori strumenti per il Probing... 4 Penetrazione Logica (Penetrate)... 5 Authentication grinding... 6 Buffer Overflow... 6 Errori di configurazione di sistema... 7 Persistenza (Persist)... 7 Propagazione (Propagate)... 8 Paralisi (Paralyze)... 8 Conclusioni... 9 Difficoltà: Medio - Alta A cura di: SMD II Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa Sezione Gestione del Rischio - CERT Difesa
Introduzione Questo bollettino conclude la serie dedicata alle metodologie e agli strumenti comunemente utilizzati per la raccolta di informazioni sui sistemi e sulle reti utilizzati, oltre che da potenziali attaccanti per la conduzione di attacchi malevoli, anche dagli amministratori per normali operazioni di gestione delle reti e dei sistemi e per attività di penetration test allo scopo di individuare eventuali debolezze/falle nei loro sistemi di sicurezza. Avendo quindi analizzato metodologie tra le quali: footprinting, fingerprint e probing, si ritiene opportuno concludere la serie con una dettagliata descrizione di come un attacco viene praticamente messo in atto. Di seguito analizzeremo le sequenze di un attacco vero e proprio, che u- sualmente si concretizza in cinque fasi principali: Investigazione (Probe), Penetrazione logica (Penetrate), Persistenza (Persist), Propagazione (Propagate), Paralisi (Paralyze). Investigazione (Probe) La fase denominata probe è quella in cui un attaccante cerca di carpire informazioni sul potenziale obiettivo. La ricerca di dati può avvenire in modalità mirata o casuale a largo raggio: ciò dipende dal numero di range di indirizzi IP oggetto di scanning. Spesso, l attività iniziale di reperimento di informazioni, avviene in maniera silente ovvero senza inoltro, alla rete attaccata, di alcun pacchetto dati. E soprendente, infatti, la quantità di informazioni che possono essere reperite direttamente da Internet. Lo scopo da raggiungere in questa fase è di creare una mappa della rete e dettagliare i sistemi che vi sono installati. Le informazioni raccolte potrebbero per- 1
mettere ad un potenziale attaccante di calibrare l azione malevola sfruttando sia vulnerabilità note del software installato ed in esecuzione sui sistemi sia eventuali errori di configurazione dei dispositivi di sicurezza. Sondaggio del Web Di seguito vengono elencati i principali metodi e tecniche, che non prevedono l inoltro di alcun pacchetto, utilizzati per il reperimento delle informazioni principali (range di indirizzi IP o i dispositivi associati) riguardanti la rete obiettivo dell attacco: WHOIS; Reperimento dati da siti Web Aziendali; Scanning Web-based; Scanning, utilizzando strumenti come Sam Spade, IP Tools, etc. La tecnica iniziale è reperire informazioni riguardo agli indirizzi di IP posseduti o gestiti da una particolare organizzazione, i contatti o persino l'indirizzo della società. Queste informazioni sono facilmente reperibili da Internet consultando semplicemente alcuni siti pubblici che forniscono servizi di WHOIS gratuitamente. Un'altra tattica comune è quella di recuperare dati da siti web aziendali. La maggior parte di società pubblicano il loro indirizzo fisico ed offrono mappe e direzioni. I siti commerciali spesso espongono nomi, indirizzi, numeri di telefono, e-mail del personale dirigente. Informazioni, queste, assai utili per eventuali malintenzionati. Ad esempio, l'indirizzo e-mail può essere utilizzato per richieste DNS o lookup di record MX (informazioni relative al server di posta mittente). E possibile inoltre procurarsi facilmente da Internet dei tools, come Sam Spade e IP Tools. Il primo è gratis, mentre il secondo richiede un costo per la registrazione. Queste utility, utilizzabili in sistemi Windows-based forniscono un ambiente integrato che permette la facile esecuzione di funzionalità avanzate per il reperimento di 2
informazioni sui sistemi/reti eposti su internet quali Ping, Nslookup, Whois, Dig, Traceroute, finger, SMTP VRFY, Web browser, Keep-alive, SMTP relay check, Usenet cancel check, Website download, Website search, Email ader analysis, Email blacklist query, Abuse address query, S-Lang scripting, Time. In definitiva, Internet fornisce non solo le informazioni ma anche gli strumenti per reperirle nel modo più semplice e veloce possibile svolgendo sessioni di probing attivo. Scansione delle porte e mappatura delle versioni software Uno dei mapper di rete estesamente usati o analizzatori di porte è, come noto, Nmap. Nmap è disponibile per la maggior parte dei Sistemi Operativi, incluso quasi tutte le varianti di BSD, Solaris, Linux e Windows. Nmap può essere usato in due modalità: linea di comando o nella sua versione con interfaccia grafica. Dopo avere selezionato l'indirizzo di IP, subnet, o nome di dominio, da esaminare, nmap esegue la scansione. Il risultato viene visualizzato nella parte bassa della finestra. Raccolte queste informazioni, un attaccante può affinare la ricerca indirizzandola, ad esempio, sul Sistema Operativo che un Host sta eseguendo e sulle vulnerabilità note associato ad esso. A questo punto è relativamente semplice trovare in rete script o programmi che possono sfruttare tali vulnerabilità. Analizzatori automatizzati di vulnerabilità Attività quali il port scanning, fingerprinting e la realizzazione delle versioni del software installato nei sistemi, richiedono un ammontare considerevole di tempo e un certo grado di skill dell attaccante. Esistono, tuttavia, dei to- 3
ols, facilmente reperibili dal libero commercio o addirittura open source che riescono a svolgere tutte le operazioni descritte in modo pressoché automatico. Strumenti, questi, sviluppati principalmente per facilitare il lavoro degli amministratori nel controllo delle specifiche di sicurezza dei sistemi gestiti. Lo strumento open source che più di ogni altro viene utilizzato per le attività di cui si parla è Nessus, scaricabile da http://www.nessus.org. Questo è un programma open source di tipo client-server che tramite lo scan e l'abilitazione di plugin appositamente configurabili a seconda della tipologia di sistema e vulnerabilità che si andrà ad analizzare, rileva le vulnerabilità presenti suggerendo le possibili soluzioni creando report di facile analisi in vari formati (HTML, pdf,etc). Nessus è installabile in molte versione di Linux e di Windows, ed è costituito da nessusd, il demone, che effettua la scansione, e da nessus, il client, il quale fornisce all'utente i risultati della scansione. Ulteriori strumenti per il Probing Firewalk Strumento che fa si che un potenziale attaccante possa accedere alla access control list di un firewall usando vari meccanismi di investigazione basati sul protocollo TCP/IP. Hping Hping è un generatore e analizzatore di pacchetti per il protocollo TCP/IP. Il software si basa sullo stesso concetto del comando Unix ping, ma permette di inviare pacchetti TCP di ogni tipo, e non semplicemente ICMP. E uno degli strumenti usati in pratica per le verifiche di sicurezza e il test di firewall e reti. Le ultime versioni sono state implementate con un motore per la descrizione di pacchetti TCP/IP in formato direttamente leggibile; 4
in tal modo possono essere costruiti degli script per manipolazione e analisi di pacchetti TCP/IP a basso livello in un tempo molto breve. SNMPwalk Parte del set di tools del sistema UCD- SNMP, questo strumento permette ad un assalitore di reperire molte informazioni di configurazione relative ad un sistema le cui porte SNMP sono esposte su Internet. SNMP può costituire un serio buco alla sicurezza, se le porte su cui è in a- scolto non vengono adeguatamente bloccate. Penetrazione Logica (Penetrate) Una volta evidenziati i sistemi e i servizi potenzialmente vulnerabili, il passo successivo è ovviamente l attacco vero e proprio che può svolgersi in vari modi. L'attacco può, infatti, consistere nella esecuzione, da parte del sistema attaccato, di codice scelto dall assalitore. Se l'assalitore ha acquisito un accesso come un utente senza particolari privilegi, la sua azione potrà consistere proprio nell aumento di questi (privilege escalation) fino a garantire l acquisizione dei privilegi di administrator. L'attacco, altresì, può tendere semplicemente alla negazione di un servizio o al crash dell intero sistema. Attacchi automatizzati come worms o scripts talvolta combinano le due fasi di Probe e Penetrate e utilizzano come strategia l azione di massa, rivolgendo l attacco contro un numero elevato di indirizzi. E necessario sottolineare che il buon esito di questi attacchi dipende da quanto i sistemi attaccati siano adeguatamente protetti. Qualche volta l'azione malevola viene condotta da un tipo di malware denominato cavallo di Troia (Trojan). Le funzionalità di questo codice malevolo sono nascoste all'interno di un programma apparentemente utile; dunque l'utente che installando/eseguendo un programma, inconsapevolmente, installa ed esegue anche il codice trojan nascosto che potrebbe 5
contenere un'utilità di controllo remoto che richiama l attaccante dando a questi la possibilità di un punto di presenza all interno della rete. Di seguito vengono descritti alcuni dei metodi di penetrazione logica Authentication grinding Se durante la fase di Probing un soggetto malevolo individua un servizio a cui è possibile accedere con username e password, egli può utilizzare dei programmi per il reperimento di password allo scopo di garantirsi l accesso a quel servizio. Queste utility utilizzano principalmente tecniche definite di bruteforce che consistono nel forzare le password di varia lunghezza provando fra tutte le possibili combinazioni o addirittura usando dizionari di password potenziali. Gli Username sono molto spesso abbastanza facili da scoprire in quanto in alcuni casi sono gli stessi utilizzati come indirizzi e-mail, oppure, come avviene in molti sistemi operativi/servizi, gli account utente sono predefiniti. Se il meccanismo di autenticazione non prevede il blocco dell account dopo un certo numero di tentativi falliti di accesso (Windows ad esempio non blocca mai l account di Administrator), un assalitore può tentare all infinito una sequenza di password fino a trovare quella giusta. Buffer Overflow Rappresentano almeno il 50% delle vulnerabilità di recente scoperta. Semplificando al massimo, quando una applicazione è in funzione, essa alloca memoria per le informazioni di cui ha bisogno di tenere traccia; nomi, indirizzi, numeri di telefono e così via. Molto spesso, inoltre, le stesse applicazioni richiedono interazione da parte del sistema o dell utente. Se l applicazione accetta senza alcun controllo qualsiasi input allora possono generarsi alcuni problemi. Qualora, ad esempio venga fornita una stringa 6
di caratteri che forza l applicazione a sovrascrivere quelle allocazioni di memoria e che il sistema normalmente usa per eseguire programmi, è possibile compromettere il sistema stesso e far si che esso esegua qualsiasi istruzione o programma si voglia, assumendone in definitiva il controllo totale e carpendo, in tal modo le informazioni residenti. Errori di configurazione di sistema Quando un sistema non è configurato secondo quanto definito dalle bestpractices della casa costruttrice, lo stesso può essere esposto facilmente a vulnerabilità di sicurezza. Ad esempio una password non robusta puà essere facilmente scoperta. Se un firewall non è correttamente configurato può lasciare aperte porte consentendo il passaggio di traffico pericoloso incrementando le possibilità di successo di un attacco. Persistenza (Persist) Una volta che un attaccante si è garantito l accesso ad un sistema e quindi le possibilità di condurre l'attacco, sarebbe problematico ripetere tutti i passi già percorsi per accedere ulteriormente al sistema in tempi diversi. E molto probabile, peraltro che l amministratore realizzi le vulnerabilità e si adoperi per chiudere le falle di sicurezza. Tanti più scanning o attacchi vengono rivolti verso un sistema tanto più crescono le probabilità di essere rilevati. Di conseguenza, l attaccante tenta di riservarsi una via d accesso privilegiata al sistema compromesso, creando un utente con privilegi di amministratore con password solo a lui nota e installando altresì del software di controllo remoto. Netcat è una delle utility che permette il controllo remoto. Questo software opportunamente configurato, può essere eseguito su di ogni postazione appartenente alla rete bypassando anche il firewall eventualmente installato. 7
La maggior parte degli attaccanti tenta ovviamente di nascondere ogni traccia dell attività svolta su di un sistema alterando/cancellando i file di log dei dispositivi di sicurezza, oppure, utilizzando particolari utility, riesce a nascondere i folder contenenti i tools impiegati per condurre l attacco e pertanto renderli utilizzabili successivamente per ulteriori scopi malevoli. Propagazione (Propagate) Una volta che l'assalitore ha consolidato la sua presenza all interno del sistema, il passo successivo consiste nel controllare quale altra risorsa è ulteriolmente disponibile. L'assalitore tenterà di connettersi alla rete interna (o la rete di cui fa parte il sistema compromesso). L attacco sarà portato anche alle macchine di recente connessione alla rete se l attaccante le ritiene interessanti. Questa fase può essere quella che arreca più danno in quanto tende ad estendere l attacco al numero più elevato possibile di sistemi connessi alla rete. Paralisi (Paralyze) E questo il target finale di un attacco mirato. In questa fase l attaccante può conseguire lo scopo per il quale ha condotto azioni malevole contro i sistemi di sicurezza di un sistema informatico. Lo scopo può consistere in furto/distruzione di dati, crash dei sistemi o attacco di un'altra organizzazione da uno dei sistemi compromessi. L'assalitore cerca normalmente il database che contiene i dati sensibili di proprietà dell organizzazione: informazioni finanziarie, voci di inventario, e-mail, etc.. 8
Conclusioni Lo scenario fin qui descritto, purtroppo, allo stato attuale delle cose, è quantomai realistico e deve far riflettere su quanto sia importante il non abbassare mai la guardia nella gestione/amministrazione dei sistemi informatici. L implementazione di sistemi di sicurezza quali firewall, sistemi IPS/IDS e l adeguamento delle configurazioni dei sistemi alle best practice suggerite dalle case costruttrici e dalle organizzazioni di sicurezza, aumentano le probabilità che i sistemi siano maggiormente posti in sicurezza. E da ricordare, comunque, che non è possibile raggiungere l assoluta sicurezza dei sistemi di protezione ma quello a cui si tende è rendere più complessa possibile l attuazione di un attacco informatico. 9