Attacchi Informatici
Transcript
Attacchi Informatici
Laurea Specialistica in Ingegneria Corso di Reti di Calcolatori II Simon Pietro Romano ([email protected]) Attacchi Informatici CREDITS Tutto il materiale didattico utilizzato per questa lezione è stato preparato in collaborazione con: • • Claudio Mazzariello Francesco Oliviero Requisiti di sicurezza di un sistema informatico • I requisiti di sicurezza che occorre garantire sono: – Riservatezza (Confidentiality): consentire l’accesso ai dati soltanto con l’autorizzazione (implicita o esplicita) del proprietario dell’informazione – Integrità (Integrity): prevenire che utenti non autorizzati cambino lo stato del sistema o di qualsiasi dato residente o in transito sul sistema stesso – Disponibilità (Availability): prevenire che a un utente autorizzato (umano o macchina) sia negato l’accesso ad una particolare risorsa di sistema – Controllo (Control): prevenire che utenti non autorizzati ottengano un privilegio che permetta loro di violare la politica di controllo degli accessi del sistema. 3 Cause dei problemi di sicurezza nelle reti • Protocolli progettati per fornire connettività • Reti progettate con un’idea di sicurezza “implicita” – Pochi utenti iniziali – Fiducia reciproca – Poca rilevanza dei problemi legati alla sicurezza • Requisiti di sicurezza soddisfatti solo agli estremi della comunicazione – Crittografia, autenticazione, ecc… 4 Attacco informatico • Intrusione: – Qualunque azione intenzionale che abbia come fine quello di compromettere, implicitamente o esplicitamente, i requisiti di riservatezza, integrità, disponibilità, dei dati e dei messaggi di controllo • Intruso o Attaccante: – Individuo che utilizza una o più azioni d’attacco con l’obiettivo di compromettere un sistema 5 Vulnerabilità di un sistema • Vulnerabilità: – È una “debolezza” del sistema che permette un’azione non autorizzata • Tipi di vulnerabilità – Vulnerabilità software • Causate da errori di progetto • Ogni giorno vengono scoperte circa 7 nuove vulnerabilità – Vulnerabilità di configurazione • Utilizzo di configurazioni di default (password di default) • Configurazioni errate 6 Vulnerabilità: l’esempio del database del NIST (http://nvd.nist.gov/) 7 Vulnerabilità di un sistema • Presenti in ogni livello della pila TCP/IP • Network-layer attacks – Es: • Vulnerabilità a livello IP • Attacchi ai protocolli di Routing • Transport-layer attacks – Es: vulnerabilità di TCP • Application-layer attacks 8 Vittima di un attacco informatico • Target: – È l’obiettivo contro cui si concretizza un azione d’attacco • È possibile classificare i target nelle seguenti categorie – Account – Processi – Dati – Componenti – Host computer – Reti 9 Evoluzione di un attacco informatico • Ricognizione (Reconnaissance) – È la fase durante la quale l’attaccante raccoglie informazioni relative alle potenziali vittime alla ricerca di vulnerabilità • Sfruttamento vulnerabilità (Exploit) – È la fase in cui avviene l’attacco vero e proprio • Acquisizione di privilegi • Sfruttamento dei privilegi acquisiti per ulteriori azioni di attacco 10 “The current state of the Internet” “An unprotected computer on the Internet WILL BE EXPLOITED within 24 hours!” Richard Treece, ISS, 15 April 2002 11 Address spoofing • È comune a tutte le tipologie di attacchi • È una tecnica mediante la quale l’aggressore può modificare l’indirizzo sorgente IP dei pacchetti inviati ad una vittima, eludendo qualsiasi tentativo di risalire alle sorgente 12 Reconnaissance • Informazioni pubbliche – www – Newsgroup • Network Probing – Operating System Detection • War dialing • … 13 Informazioni pubbliche - www.nic.it HOSTNAME:/home/USERID# whois unina.it Domain: unina.it Status: ACTIVE Created: 1996-01-29 00:00:00 Last Update: 2008-02-14 00:03:09 Expire Date: 2009-01-29 Registrant Name: C.D.S. - Universita' di Napoli ContactID: CDSU1-ITNIC Address: C.so Umberto I Napoli 80138 NA IT Created: 2007-03-01 10:47:26 Last Update: 2007-03-01 10:47:26 Admin Contact Name: Francesco Palmieri ContactID: FP9291-ITNIC Address: Universita' degli Studi di Napoli Federico II C.so Umberto I Napoli 80138 NA IT Created: 2007-03-01 10:47:26 Last Update: 2007-03-01 10:47:26 … … 14 Informazioni pubbliche - www.nic.it (cont.) 15 Informazioni pubbliche - www.nic.it (cont.) 16 Newsletter Author: Joe Soap <[email protected]> Date: 1998/12/07 Forum: comp.unix.solaris author posting history Hi, Could someone tell me how to configure anonymous ftp for multiple IP addresses. Basically we are running virtual web servers on one server. We need to configure anonymous ftp for each virtual web account. I appreciate it if someone can help me as soon as possible. I know how to configure an anonymous ftp for single IP. Thanks, Joe. 17 Probes (1/2) • Obiettivo – Scoprire l’eventuale presenza di sistemi vulnerabili • Effetti – L’attaccante possiede informazioni relativamente ai servizi disponibili in un sistema • Strategie utilizzate – Stimolando opportunamente i sistemi sondati, l’attaccante riesce, in funzione delle risposte ricevute, a dedurre informazioni relative all’obiettivo della scansione 18 Probes (2/2) • Non violano esplicitamente nessuno dei requisiti di sicurezza • Sondano la rete alla ricerca di vulnerabilità note • Costituiscono sovente il preludio all’azione di attacco vera e propria 19 Probes (esempio) • NMAP – Normalmente utilizzato dagli amministratori di sistema – Consente diversi tipi di scansione • IP sweep • Port scanning – Corredato da molte funzionalità opzionali • OS detection • SYN, FYN, XMAS… scanning • TCP, UDP, ICMP scanning • Vanilla TCP connect scanningTCP SYN (half open scanning) • TCP ftp proxy (bounce attack) scanning • UDP raw ICMP port unreachable scanning • ICMP scanning (ping-sweep) • TCP Ping Scanning 20 Dal sito http://nmap.org 21 NMAP & Matrix Nel film Matrix Reloaded, Trinity usa Nmap per penetrare nel sistema della centrale elettrica, tramite la forzatura dei servizi SSH e il bug CRC32[1] (scoperto nel 2001). 22 NMAP & Matrix (cont.) The Matrix Reloaded – “Trinity” sonda un sistema alla ricerca di vulnerabilità 23 NMAP & Matrix (cont.) Nmap v. 2.54BETA25 Trova un server ssh vulnerabile (port 22) Sfrutta l’attacco “SSH1 CRC32” Accede al sistema come “Root” 24 NMAP: esempio di output grafico 25 NMAP: dettagli su di un host con SO MAC NMAP: dettagli su di un host con SO Windows NMAP: dettagli su di un host con SO Linux Operating System Detection Stack fingerprinting: – Produttori di sistemi operativi interpretano in maniera differente le indicazioni delle RFC • Differenti interpretazioni delle linee guida per lo stack tcp/ip – Differenti implementazioni (comunque compatibili con gli standard) – La ricerca di tali differenze può fornire indicazioni relative al sistema operativo utilizzato • Es. FIN probe, “don’t fragment bit” – nmap -O 29 War-dialing • Impiego di un modem per chiamare ogni possibile telefono (approccio brute-force) in una rete locale, al fine di: • trovare un computer • Introdursi nel pc trovato dopo averne scovato la password • La tecnica ha come riferimento il film WarGames del 1983: • il protagonista programma il proprio computer in modo da chiamare tutti i numeri telefonici di Sunnyvale, in California • Oggi è diffuso un fenomeno simile, chiamato “wardriving”: • ricerca di reti wireless mediante l'uso di veicoli 30 Attacchi Remote to Local (R2L) • Obiettivo – Accedere senza autorizzazione ad un sistema remoto • Effetti – L’attaccante guadagna l’accesso ad un sistema, e ne sfrutta le risorse per i propri scopi malevoli • Strategie utilizzate – Mediante il solo traffico di rete verso la vittima, l’attaccante sfrutta • Errori nell’implementazione delle applicazioni • Scelte ingenue o sbagliate nella configurazione dei parametri di sicurezza – Password “deboli” – Politiche di sicurezza non sufficientemente severe • Mancato aggiornamento dei software utilizzati da parte dell’amministratore di sistema 31 Remote to Local (R2L) • Requisiti violati – Riservatezza • L’attaccante potrebbe accedere ad informazioni riservate in sistemi altrimenti ad egli non accessibili – Integrità • L’attaccante potrebbe modificare dati o programmi presenti nel sistema violato – Disponibilità – Controllo • A seconda della gravità dell’attacco, il sistema vittima potrebbe finire sotto il controllo dell’attaccante, ed assumere un comportamento illecito non predicibile 32 Meccanismi utilizzati • Sfruttamento degli errori di configurazione • Sfruttamento degli errori nel software di sistema 33 Errori di configurazione: anonymous ftp (1/3) $ ftp hack.me.com Connected to hack.me.com. 220 xyz FTP server (SunOS) ready. Name (hack.me.com:jjyuill): anonymous 331 Guest login ok, send ident as password. Password: 230 Guest login ok, access restrictions apply. ftp> get /etc/passwd /etc/passwd: Permission denied ftp> cd ../etc 250 CWD command successful. ftp> ls 200 PORT command successful. 150 ASCII data connection for /bin/ls (152.1.75.170,32871) (0 bytes). 226 ASCII Transfer complete. 34 Errori di configurazione: anonymous ftp (2/3) ftp> get passwd 200 PORT command successful. 150 ASCII data connection for passwd (152.1.75.170,32872) (23608 bytes). 226 ASCII Transfer complete. local: passwd remote: passwd 23962 bytes received in 0.14 seconds (1.7e+02 Kbytes/s) ftp> quit 221 Goodbye. 35 Errori di configurazione: anonymous ftp (3/3) $ less passwd sam:0Ke0ioGWcUIFg:100:10:NetAdm:/home/sam:/bin/csh bob:m4ydEoLScDlqg:101:10:bob:/home/bob:/bin/csh chris:iOD0dwTBKkeJw:102:10:chris:/home/chris:/bin/c sh sue:A981GnNzq.AfE:103:10:sue:/home/sue:/bin/csh $ Crack passwd Guessed sam [sam] Guessed sue [hawaii] 36 Errori nei software di sistema: imapd (1/2) Corso di Reti di Calcolatori II -a.a. 2008/2009 37 Errori nei software di sistema: imapd (2/2) imapd buffer-overflow $ telnet hack.me.com 143 Trying hack.me.com... Connected to hack.me.com Escape character is '^]'. * OK hack.me.com IMAP4rev1 v10.205 server ready AUTH=KERBEROS 38 Ottenere ulteriori accessi (1/3) • Un utente normale cerca di ottenere i privilegi di root – Sfruttando un bug di un comando eseguibile come root • e.g. lprm for RedHat 4.2 (4/20/98) • Provare a violare /etc/passwd – Gli utenti spesso usano le stesse password su macchine differenti 39 Ottenere ulteriori accessi (2/3) 40 Ottenere ulteriori accessi (3/3) • Errori nell’assegnazione dei permessi ai file – es. echo ‘+ +’ >> .rhosts • Formato del file: [+|-] [host] [+|-] [user] • Installazione di rootkit – Trojans, backdoors, sniffers, log cleaners • Packet Sniffing – ftp and telnet passwords – e-mail – Lotus Notes • Log cleaners – Modifica dei file di log (syslog.conf, …) – Modifica dei file di history della shell 41 Back Doors 1. Consentono agli hacker di riaccedere a loro piacimento al sistema 2. Esistono al livello applicazione • Back Orifice 3. Esistono al livello di sistema operativo • • sostituzione dll in sistemi NT Sostituzione funzioni in Linux/Unix es. login, ps, etc 4. Esistono al livello di root • Difficili da rilevare 5. Alcuni rootkit innalzano il livello di sicurezza dei sistemi e vengono a volte usati dagli stessi amministratori 42 Esempio: back orifice… 43 User to Root (U2R) • Anche noti come “User to Super User” • Obiettivo – Acquisire, detenendo legittimamente i diritti di accesso di un utente normale, i privilegi dell’amministratore di sistema (”Super User” o ”Root”) • Effetti – L’attaccante altera, possedendo i diritti di accesso a tutte le risorse del sistema, il funzionamento normale di quest’ultimo • Strategie utilizzate – Sfruttamento degli errori di progetto ed implementazione dei software in esecuzione sul sistema vittima – Approccio “brute force” 44 User to Root (U2R) Requisiti violati – Riservatezza • Acquisendo i diritti dell’amministratore di sistema, l’attaccante può accedere a tutte le risorse senza restrizioni – Integrità • L’attaccante può alterare le informazioni presenti in un sistema, rendendo i servizi da questo forniti non conformi alle specifiche concordate fra l’amministratore ed i fruitori – Disponibilità – Controllo • Il sistema violato è controllato, senza limitazioni, dall’attaccante 45 User to Root (U2R) - esempi Facilissimo – ID e password predefinite • Facile – Social Engineering – Fingersi membri del gruppo di supporto tecnico – Nascondere trojan all’interno di giochi, screensaver, ecc… • Più complesso – buffer overflow – Alcuni programmi non eseguono controlli adeguati sulla dimensione della rappresentazione dei dati in ingresso – L’attaccante può volontariamente utilizzare dati in ingresso che eccedano le dimensioni previste per alterare il normale funzionamento del programma – Bytes eccedenti la dimensione prevista per la rappresentazione dei dati in ingresso potrebbero venire memorizzati alla testa dello stack, consentendo all’attaccante di eseguire operazioni non lecite • 46 Denial of Service (DoS) • Causa – Risorse di sistema limitate • Effetto – Rendere i servizi offerti da un sistema o da un software non fruibili agli utenti autorizzati al loro utilizzo • Strategie utilizzate – L’attaccante satura le risorse del sistema vittima, rendendo non disponibili i servizi da esso offerti • Trend degli attacchi DoS – Distributed Denial of Service attacks (DDoS) è il tipo di attacco più dannoso per gli ISP – I Flooding DoS costituiscono la metodologia più popolare • SYN Floods • UDP Floods 47 Denial of Service (DoS) • Requisiti violati – Riservatezza – Integrità – Disponibilità • L’attaccante rende le risorse del sistema vittima dell’attacco non disponibili, saturandone la capacità di espletare correttamente i compiti a cui è preposto • L’attaccante colpisce un software sfruttandone l’implementazione imperfetta, saturando le risorse disponibili nel sistema nel quale tali programmi vengono eseguiti – Controllo 48 Tassonomia dei DoS 49 Flooding DoS attacks 50 Esempi di attacchi noti Category Subcategory Attack name DDoS condition Efficient placement of defense mechanisms Status Flooding Direct TCP SYN Floods End-point resource Exhaustion Link congestion End-host and Intermediate network routers Most popular DoS attack (27%) Flooding Direct UDP Floods Link congestion Intermediate network (core or border) routers 2nd popular DoS attack (26%) Flooding Direct ICMP Floods Link congestion Intermediate network (core or border) routers Flooding Indirect TCP Floods Link congestion Intermediate network (core or border) routers Flooding Indirect (Amplified) Smurf attack Fraggle attack Link congestion End-point resource Exhaustion Flooding Indirect (Amplified) DNS Amplification Attacks Flooding Direct Logic attacks Subnet routers Few networks remain smurfable today Link congestion DNS server 75% of DNS servers still allowed recursion Low-rate TCP Based Attacks Reduction of end-to-end flow throughput Intermediate network (core or border) routers Land attack, Teardrop , etc… End-point crash End-host Invalid when vulnerability is fixed 51 DNS amplification attack Realizzato tramite IP spoofing… 52 TCP SYN Flood I: low rate C S Singola macchina: SYNC1 SYNC2 SYNC3 SYNC4 •Pacchetti SYN con IP sorgente casuale • esaurisce le risorse del server (coda di ‘backlog’) •Ulteriori connessioni non possibili SYNC5 53 SYN Floods (da: PHRACK 48, no 13, 1996) Dimensioni della coda di Backlog OS Linux 1.2.x 10 FreeBSD 2.1.5 128 WinNT 4.0 6 Backlog timeout: 3 minuti ⇒ in teoria: sono necessari solo 128 SYN ogni 3 minuti ⇒“Low rate SYN flood” 54 PHRACK 48, no 13, 1996 55 SYN floods: backscatter SYN con IP falsificato ⇒ SYN/ACK verso un IP casuale 56 Meccanismi di difesa dai DoS 57 Difesa nella fase di pianificazione e dispiegamento dei sistemi Category Defense methods Advantages Limitations Install latest patches Properly adjust system parameters Remove unnecessary services Using firewall and IDS Deploy good network organization ● Easy to deploy ● Effective toward logic DoS attacks ●Cannot defend against flooding DoS attack using packets similar to legitimate traffic or purely flood network bandwidth Reverse Turing Proof of work ● Efficient defense to attacks toward resources consumption ● Defend against attacks using spoofed IP address ● Cannot stop attackers with a huge number of agents ● Cannot defend against attacks that purely flood network bandwidth Resource allocation Assign fair resources to authenticated clients ● Provide fair service toward authenticated users ● Efficient defense to attacks toward resources consumption ● Cannot stop attackers with a huge number of agents ● The authenticate mechanism can become the target for DoS attack ● Require users to divulge their identities Hiding the host Use "outer wall of guards" such as proxy or firewall to hide the host ● Easy to deploy ● Protect the server from bandwidth overload attacks ● Invalid if the server's IP is divulged ● Attacker can perform DoS attack with enough legitimate behave agents Secure the end host Protect asymmetric protocols 58 Difesa nella fase di attacco Category Defense methods Advantages Limitations Signature Based Detection Mechanisms Detect attacks by monitoring the content of packets ● Effective toward logic DoS Attacks ● May introduce complex computation works ● Cannot defend attacks using packets similar to legitimate traffic Anomaly Based Detecting Mechanisms Detect attacks by monitoring the changes of traffic volume or features. ● Efficient toward flooding DoS attack with detectable features ● Hard to set up a threshold for attack flows ● Cannot defend logic DoS attack Filtering based Mechanism Ingress and egress filtering Hop-Count Filtering ● Can filter out the spoofed IP packets ● Potential to defend the highly distributed attacks ● Cannot stop spoofed IP address in the same subnet ● Some DDoS attacks do not use spoofed IP address Congestion control based Mechanism Regulate the traffic behaviors by analyzing flows ● Can mitigate flooding DoS attacks ● Can avoid overall network congestion ● Ineffective when the attack is a low bandwidth attack ● May block legitimate traffic also ● Cannot stop attackers with a huge number of agents TCP based Defense mechanism Improve end-system configurations Improve connection establishment Install firewall Monitor actively existing TCP connections ● Efficient defense toward TCP based DoS attacks (ex: TCP SYN) ● Protocol behavior need to be modified and deployed globally ● Can only mitigate the influence of attacks Overlay networks Authenticated users are routed through an overlay network. Service will be relocated in the overlay network once an attack is detected. ● Efficient defense against flooding DoS attacks ● High deployment cost ● Only effective when it is deployed globally 59 DoS verso livelli più alti dello stack SSL/TLS handshake Client Hello Server Hello (pub-key) RSA Encrypt Web Server Client key exchange RSA Decrypt – Velocità di crittografia RSA ≈ 10 × velocità di decrittografia RSA⇒ una singola macchina può bloccare dieci server Application DoS: – Invio di richieste di grossi file PDF su HTTP ⇒ Semplice per il client, complessa da soddisfare per il server 60 Denial of Service (DOS) - esempi 1) SMURF – ICMP echos 2) ECHO-CHARGEN – UDP port 7 is echo; UDP port 19 is character generator. » 3) Spoof a source address and two victims pound each other TEARDROP: • si inviano frammenti IP errati verso la macchina target: • Payload sovrapposti e di dimensioni eccessive • Un bug nell’implementazione della frammentazione nelal suite TCP/IP fa sì che iframmenti non siano trattati correttamente: • Crash del sistema!! • Sistemi Operativi vulnerabili: • Windows 3.1x, Windows 95, Windows NT • versioni di Linux precedenti alla 2.0.32 ed allla 2.1.63 61 DoS - Smurf 62 Denial of Service (DOS) - esempi 4) PING OF DEATH – On a windows NT box type ping –L 65510 <victim IP address> This creates a packet when reassembled that is larger than the max size of 65,535 that is allowed. Causes system crash. - Max IP packet size allowed = 65535 - ICMP echo has a “pseudo header” consisting of 8 bytes of ICMP header info - Next in the ICMP packet is the ping data that is sent - Maximum amount of data can send is 65535 – 20 IP – 8 ICMP = 65507 - We sent 65510 which is too large 5) LAND ATTACK – Source IP address/Port equals Dest IP Address/Port >> il sistema target continua a ‘rispondersi da solo’!! 63 Attacchi Distributed DoS (DDoS) zombies masters attacker victim 64 Passi da compiere per un DDoS • Fase iniziale di scan verso un numero elevato di computer in rete alla ricerca di vulnerabilità note • Sfruttamento delle vulnerabilità per compromettere i sistemi ed ottenere l’accesso • Installazione degli strumenti di controllo sui sistemi per utilizzi futuri • Scelta di un sottoinsieme degli host infetti per sferrare l’attacco • Installazione degli strumenti di attacco e comunicazione • Ordine di attacco comunicato ai master • Propagazione dell’ordine di attacco 65 DDoS - esempi • • • Client machine – utilizzata per attacchi coordinati Master o Handler – controlla gli agenti Agents o Daemons – compie le azioni relative all’attacco 1) TRINOO – UDP flood verso numeri di porto casuale sulla macchina vittima 2) TFN (Tribe Flood Network) – UDP flood, TCP SYN Flood, ICMP Echo Flood, o SMURF Attack. Il master comunica col daemon utilizzando ICMP echo reply, identifica il tipo di attacco da lanciare mediante i campi IP identification number e payload di ICMP echo reply 3) TFN2k – primo DDOS per Windows. La comunicazione fra master ed agents può essere crittografata su TCP, UDP, o ICMP 4) STACHELDRAHT - combinazione di TRINOO e TFN 66 DDoS - esempio: Trinoo Scanning: – Buffer overflow bug in Solaris e Linux, es. wu-ftpd, statd, amd, ecc. – Un host compromesso fornisce una shell di root e conferma la propria presenza al master Installazione del programma di attacco: – Con netcat (nc) si manda in pipe uno shell script alla shell di root sull’host compromesso Comunicazione dell’attacker al master: – TCP: connessione autenticata con password; comandi: “dos IP” ecc. Comunicazione del Master allo zombie: – UDP: password inclusa nella linea di comando; commands: aaa pass IP; rsz N, etc. 67 SYN Floods II: Massive flood Ordinare ad un esercito di bot di inondare una vittima: (DDoS) – 20,000 bots possono generare 2Gb/sec di pacchetti SYN (2003) – Alla vittima: • Saturazione dell’uplink • Saturazione delle risorse del router • IP sorgente casuale⇒ pacchetti SYN di attacco sembrano uguali a quelli reali 68 Passo successivo: TCP conn. flood Un esercito di bot – Completa la connessione ad un sito web – Manda piccole richieste HTTP HEAD – Ripete indefinitamente la procedura Supera I proxy di protezione da SYN flood ma: – Non è più possibile usare IP sorgente casuali • Rivela la presenza e la posizione dei bot 69 Payment DDoS Aquiring Bank • ogni commerciante vede attività con rate ridotto • rate complessivo elevato alla banca Merchant A Merchant B Merchant C Richiesta di acquisto falsa 70 Malware • Trojan horse • Virus – Blocchi di codice che generano eventi inattesi e indesiderati mediante alterazione di file – Sono progettati per diffondersi automaticamente tra i computer • Worms – Virus auto-replicanti che non alterano dei file – Si duplicano nella macchina “infettata” e si diffondono alle altre macchine ad elevata velocità 71 Trojan Horses • Programmi che sembrano fare qualcosa di utile ma contengono codice o funzionalità nascoste • Il codice nascosto può – Attaccare direttamente il sistema – Creare una backdoor per l’accesso di utenti malintenzionati 72 Trojan Horses • Nessuna dipendenza dalla cooperazione dell’utente • Proprietà di sicurezza coinvolte – Confidenzialità – Integrità – Disponibilità • Possibili tipi di trojan – – – – Software Web-based Basati su email … 73 Virus • Programmi che quando eseguiti copiano se stessi all’interno di altri programmi non ancora infetti • Proprietà di mobilità – Se un programma infetto si sposta in un altro sistema, anche il virus si sposta ed inizia ad infettare il nuovo sistema • Esempi – Melissa – Babylonia – The Love Bug – KaZaA 74 Virus • Come funziona – Un frammento di codice si lega ad altre istruzioni di un programma – Del codice relativo all’infezione può essere utilizzato all’avvio di una macchina – Macro istruzioni vengono posizionate all’interno dei documenti • Tipologie – Program – Boot – Macro 75 Stadi di funzionamento • Attivazione – Solo programmi infetti, non dati – La rilevazione è limitata a • Virus noti • Rilevazione di proprietà generali • Infezione di altri programmi • Esaurimento del proprio compito 76 Stadi di funzionamento • Anteporre il codice del virus a quello di un programma • All’attivazione del programma, saltare al codice del virus • Controllare se il sistema è infetto – Se si, continuare – Se no, infettare la vittima • Eseguire l’azione prevista (logic bomb, trapdoor, etc.) • Continuare le normali operazioni 77 Melissa Virus • Macro Word contenente 107 linee in Visual Basic • Come funziona – Crea un documento word e lo invia ai primi 50 utenti della rubrica di Outlook Express – Oggetto: “Important Message from user-name” – Il contenuto del corpo del messaggio è innocuo 78 Melissa Virus - II • All’apertura dell’attachment – Warning pop-up per l’inclusione delle macro – All’abilitazione delle macro il virus viene lanciato • Il virus disabilita il controllo delle macro • Se il sistema non era infetto, viene modificato il registro ed il file mandato ai primi 50 contatti nella rubrica di outlook express • La copia locale di Word viene infettata, così qualunque documento aperto viene infettato 79 Melissa Virus - III • Ragioni del successo – Mail ricevuta da un contatto noto – Tendenza ad accettare di aprire documenti (trust) – Curiosità – Popolarità di MS Office e Windows • Conseguenze – Incremento del traffico di rete – Inconvenienti per gli utenti di software infetto – Nessuna cancellazione di file o limitazione della connettività 80 The Love Bug • Simile al Melissa Virus – Diffusione verso 500 indirizzi nella rubrica di Outlook/Outlook Express – Modifica della homepage di Internet Explorer – File infetti diffusi in tutto il sistema • Sfrutta le tecniche di social engineering • Rende difficile la rimozione dal sistema • Ha generato un gran numero di virusfotocopia 81 KaZaA • Come funziona – Alla prima esecuzione mostra un messaggio di errore e si copia nelle cartelle di sistema dell’utente – Modifica le chiavi del registro al fine di essere eseguito al riavvio – Crea una cartella in C:\Windows\Temp\Sys32 – La cartella viene condivisa da KaZaA e vengono creati in essa molti file con nomi di file noti, file MP3, ecc. 82 Funzionamento dei Worm • Auto-propagazione nella rete • Passi tipici per la propagazione – Probing alla ricerca di host vulnerabili – Sfruttamento della vulnerabilità • L’attaccante assume I privilegi dell’utente che è abilitato ad usare il software attaccato – Auto-invio ad altri host infetti • Diffusione a velocità esponenziale – 10M hosts in < 5 minuti – Intrattabile con interventi manuali 83 Tecniche di probing • • • • • Random Scanning Local Subnet Scanning Routing Worm Hit List Pre-generata Topologico 84 Random Scanning • Generazione di un numero casuale su 32 bit a partire dal proprio IP – I worm IPv6 useranno una tecnica differente … • Es: Slammer and Code Red I • Tentativi frequenti di contatto con il black-holed IP space – Solo il 28.6% degli IP è allocato – Tracking dei worm mediante osservazione degli IP inutilizzati • Honeypots 85 Subnet Scanning • Generazione casuale degli ultimi 3, 2, 1 byte dell’IP • Code Red II e Blaster • Richiesta la completa casualità per infettare tutta la rete 86 Routing Worm • Le informazioni BGP possono essere utili a scoprire quale blocco di IP è allocato • Informazioni pubblicamente disponibili – http://www.routeviews.org/ – http://www.ripe.net/ris/ 87 Hit List • Hit list di macchine vulnerabili inviate via rete – Determinate prima del lancio del worm • Fase di avvio molto rapida ed efficace • Evita la rilevazione da parte di sistemi che analizzino l’avvio dell’attività dei worm 88 Scanning Topologico • Utilizza informazioni della macchina infetta per infettarne altre – Morris Worm usa /etc/hosts , .rhosts – Indirizzi email – P2P software memorizza informazioni relative agli host coi quali si è connesso 89 Morris Worm • Vulnerabilità sfruttate – Buffer overflow – Bug in sendmail • Funzionamento – Dizionario di 432 parole comunemente utilizzate come password – Il worm guadagna l’accesso violando un account utente – Dopo il login, copia se stesso in altri sistemi remoti 90 Altri worm • Happy 99 – Allega se stesso alle mail in uscita – attachment Happy99.exe – User friendly – mantiene backup dei file modificati • Worm.ExploreZip (W32.ExploreZip) – Usa la rubrica di outlook express – Sostituisce con degli zeri il contenuto di alcuni file 91 Altri worm - II • BubbleBoy – Innescato senza interventi da parte dell’utente – Nessun danno reale eccetto la copia di se stesso • Babylonia – Capace di alterare le proprie funzioni dinamicamente scaricando codice da Internet 92 Altri worm - III • Anna Kournikova • W32/CodeRed • W32/CodeRed II • W32/Nimba • W32.Klez 93 W32/Klez.h@MM • Si propaga copiando se stesso • Manda se stesso via email ad indirizzi presenti nella rubrica di Outlook o estratti da file dell’utente • Arriva come messaggio email avente come oggetto una fra alcune stringhe fissate a priori (Subject: A very funny website) • Cerca di infettare o arrestare diversi programmi, tra cui alcuni antivirus 94 Prevenzione dei Worm • Filtraggio basato sull’estensione – .vbs – .exe – .scr – .pif • Filtraggio effettuato ad un email gateway 95 Time- o Logic-Bombs • Restano dormienti fino all’occorrenza di un evento o di una condizione specifica – Risiedono in programmi appositi – Parti di virus o worm • Esempi – – – – CIH Chernobyl Friday the 13th Michelangelo Win32.Kriz.386Z 96 CIH Chernobyl • Colpisce Windows 98 e 95 • Funzionamento – – – – Innescato il 26 di ogni mese Si installa in memoria senza modificare la dimensione dei file infetti Scrive dati casuali nell’hard-disk a partire dal settore 0 Tenta di alterare il FLASH-BIOS di sistema 97 CIH Chernobyl - II • Conseguenze – Danni elevati in Asia – Necessità di formattazione – Probabile necessità di installare un nuovo chip per il BIOS 98 Un esempio di attacco coordinato • Bots & Botnets 99 Cos’è una botnet • Rete di host infetti, denominati bots, sotto il controllo di un operatore umano conosciuto come bot master • Il controllo è esercitato mediante canali detti Command and Control Channels utilizzati per diffondere i comandi ai bot • I bot possiedono un insieme di comandi relativamente ampio e flessibile 100 Obiettivi dei botmaster • • • • • • • • • • • • Log keystrokes for identity theft Installing Advertisement Addons Distributed Denial-of-Service Attacks Spamming Sniffing Traffic Keylogging Spreading new malware Google AdSense abuse Attacking IRC Chat Networks Manipulating online polls/games Mass identity theft Cracking mediante l’utilizzo di molti computer per l’elaborazione • … 101 Capacità di un bot • • • • • DDoS: Flooding attack ed estorsione basata su DDoS Sfruttamento dei risultati di scanning Download ed installazione di software Frodi informatiche (click fraud,…) Funzionamento come server - Bot Hosting – es. phishing • Funzioni Gateway e Proxy - HTTP proxy • Spyware,Keylogging, furto di dati e cattura dei pacchetti 102 Struttura di una botnet Modello centralizato – Modalità di utilizzo più comune • Basata su Internet Relay Chat (IRC) • Il controllore centrale costituisce il punto debole della botnet – Facile da controllare Modello Random Graph – Ogni bot si connette solo ad un numero limitato di altri bot – La perdita di un bot non è vitale per l’intera botnet – Elevata latenza nello scambio dei messaggi Peer to Peer – Architettura robusta Cooke E, Jahanian F, Mcpherson D, The Zombie Roundup: Understanding, Detecting, and Disrupting Botnets, Workshop on Steps to Reducing Unwanted Traffic on the Internet (SRUTI) (June 2005) 103 Nascita di un bot • I bot sono generati da programmi maliziosi che infettano i PC • Worm auto replicanti • Virus email • Shellcode (scripts) 104 Propagazione di una Botnet • Una botnet si ingrandisce reclutando nuovi bot – Scansione ed infezione di host vulnerabili – Scansione di macchine già infettate da worm • Nuovi membri si uniscono alla botnet – DynDNS (DNS dinamico…) per localizzare le risorse della botnet – IRC scelto per diffondere comandi ed informazioni – P2P scelto per diffondere comandi ed informazioni • Vulnerabilità sfruttate mediante – – – – – email instant messaging Vulnerabilità di software remoto Contenuto malizioso delle pagine web Condivisioni in rete non protette • Le botnet possono avere caratteristiche locali – Si orientano verso sistemi corredati di particolari lingue o configurazioni 105 Meccanismi di scansione • Worm-like – Inizio della scansione alla ricerca di nuovi host da infettare immediatamente successivo all’infezione • Botnet a scansione variabile – Scansione effettuata a comando 106 Il fenomeno delle botnet • Problema di traffico – Il 70% di tutte le sorgenti, durante periodi di picco, invia shell exploits simili a quelli inviati nella fase di diffusione delle botnet – Il 90% di tutto il traffico durante un particolare periodo di picco è indirizzato verso porti utilizzati dai meccanismi di diffusione delle botnet – L’ammontare di traffico relativo alle botnet è certamente maggiore del 27% 107 Statistiche relative alle botnet • Il 60% sono IRC bot – Il 70% di tutti I bots si connette ad un singolo server IRC • 57,000 bot attivi al giorno nei primi 6 mesi del 2006 ( Symantec ) • 4.7 milioni di computer differenti sono utilizzati attivamente in diverse botnet • la maggior parte delle botnet è gestita da un solo server (fino a 15,000 bot) • Mocbot ha ottenuto il controllo di più di 7.700 macchine entro le prime 24 ore di funzionamento 108 Caratteristiche legate al contesto • I bot possono infettare e risiedere su host con diversi sistemi operativi • I programmi antivirus possono rilevare ed eliminare diversi software per le botnets – Exploit spesso mutuati da altre tipologie di attacco 109 Botnet IRC • Canale di comando e controllo centralizzato • Numero di client elevato • Anonimato del botmaster Botnet user 110 Botnet IRC • Nascono per ragioni storiche – I bot erano programmi installati dagli amministratori dei canali per l’amministrazione la gestione ed il controllo automatizzato – Alcuni bot IRC venivano utilizzati a scopi quasi goliardici • Le botnet sono una cosa seria, non più goliardica • IRC è usato per botnet commerciali • Spesso contribuisce ad attacchi per il furto Botnet user delle identità • L’attaccante (botmaster) è invisibile alla vittima 111 Botnet IRC • Facile da disabilitare • Single point of failure – Eliminando il canale centrale di controllo si elimina la botnet • Molto facile da realizzare – La tecnologia necessaria è facilmente reperibile • Server IRC • Malware per infettare e controllare i bot Botnet user 112 Botnet P2P • Controllo distribuito • Comunicazione distribuita 113 Botnet P2P • Complesse da disabilitare – Assenza di un single point of failure – Assenza di una struttura centralizzata che consenta di risalire all’attaccante 114
Documenti analoghi
`Ottobre Rosso` un esempio di Cyber-spionaggio
ternet per la risoluzione di nomi dei nodi della rete (host) in indirizzi IP (Internet Protocol number) e viceversa. Il servizio è realizzato tramite un database distribuito in rete, costituito dai...