Laurea Specialistica in Ingegneria Corso di Reti di Calcolatori II …unina.stidue.net/Reti di...

114
Laurea Specialistica in Ingegneria Corso di Reti di Calcolatori II Simon Pietro Romano ([email protected] ) Attacchi Informatici

Transcript of Laurea Specialistica in Ingegneria Corso di Reti di Calcolatori II …unina.stidue.net/Reti di...

  • 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 stessostesso

    – 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– 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 controllodisponibilità, 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• 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 • 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– 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– È 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 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• War dialing• …

    13

  • Informazioni pubbliche - www.nic.it

    HOSTNAME:/home/USERID# whois unina.itDomain: unina.itStatus: ACTIVECreated: 1996-01-29 00:00:00Last Update: 2008-02-14 00:03:09Expire Date: 2009-01-29

    RegistrantName: C.D.S. - Universita' di NapoliContactID: CDSU1-ITNICAddress: C.so Umberto I

    Napoli8013880138NAIT

    Created: 2007-03-01 10:47:26Last Update: 2007-03-01 10:47:26

    Admin ContactName: Francesco PalmieriContactID: FP9291-ITNICAddress: Universita' degli Studi di Napoli Federico II

    C.so Umberto INapoli80138NAIT

    Created: 2007-03-01 10:47:26Last 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 Date: 1998/12/07Forum: comp.unix.solaris author posting history Hi,Could someone tell me how to configure anonymous ft p formultiple IP addresses. Basically we are running vir tual webservers on one server. We need to configure anonymo us ftpservers on one server. We need to configure anonymo us ftpfor each virtual web account. I appreciate it if so meone

    canhelp me as soon as possible. I know how to configur e ananonymous 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• 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à notevulnerabilità 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• 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

    22

    tramite la forzatura dei servizi SSH e il bug CRC32[1] (scoperto nel 2001).

  • NMAP & Matrix (cont.)

    The Matrix Reloaded– “Trinity” sonda un sistema alla ricerca di vulnerabilità

    23

  • NMAP & Matrix (cont.)

    Nmap v. 2.54BETA25Trova 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)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• 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• 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 • 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 sistemadi sistema

    33

  • Errori di configurazione: anonymous ftp (1/3)

    $ ftp hack.me.comConnected to hack.me.com.220 xyz FTP server (SunOS) ready.Name (hack.me.com:jjyuill): anonymous331 Guest login ok, send ident as password.Password:230 Guest login ok, access restrictions apply.ftp> get /etc/passwdftp> get /etc/passwd/etc/passwd: Permission deniedftp> cd ../etc250 CWD command successful.ftp> ls200 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 passwd200 PORT command successful.150 ASCII data connection for passwd

    (152.1.75.170,32872) (23608 bytes).226 ASCII Transfer complete.local: passwd remote: passwd23962 bytes received in 0.14 seconds (1.7e+02 23962 bytes received in 0.14 seconds (1.7e+02

    Kbytes/s)ftp> quit221 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/csh

    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• 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 operativo3. 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’ultimosistema, 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 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• 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• 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 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

    CategorySub-category

    Attack name DDoS conditionEfficient placement ofdefense mechanisms

    Status

    Flooding Direct TCP SYN FloodsEnd-point resourceExhaustionLink congestion

    End-host andIntermediate networkrouters

    Most popular DoS attack (27%)

    Flooding Direct UDP Floods Link congestionIntermediate network(core or border) routers

    2nd popular DoSattack (26%)

    Flooding Direct ICMP Floods Link congestionIntermediate network(core or border) routers

    Intermediate networkFlooding Indirect TCP Floods Link congestionIntermediate network(core or border) routers

    FloodingIndirect

    (Amplified)Smurf attackFraggle attack

    Link congestionEnd-point resourceExhaustion

    Subnet routersFew networksremain smurfabletoday

    FloodingIndirect

    (Amplified)DNS AmplificationAttacks Link congestion DNS server

    75% of DNSservers still allowed recursion

    Flooding DirectLow-rate TCPBased Attacks

    Reduction of end-to-end flowthroughput

    Intermediate network(core or border) routers

    Logic attacksLand 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

    SYNC1

    SYNC2

    SSingola macchina:

    •Pacchetti SYN conIP sorgente casuale

    • esaurisce le risorse del

    53

    SYNC2

    SYNC3

    SYNC4

    SYNC5

    • esaurisce le risorse delserver (coda di ‘backlog’)

    •Ulteriori connessioni non possibili

  • SYN Floods (da: PHRACK 48, no 13, 1996)

    OSDimensioni della coda di

    Backlog

    Linux 1.2.x 10

    FreeBSD 2.1.5 128

    WinNT 4.0 6WinNT 4.0 6

    54

    Backlog timeout: 3 minuti

    ⇒ in teoria: sono necessari solo 128 SYN ogni 3 minuti⇒“Low rate SYN flood”

  • 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

    Secure the end host

    Install latest patchesProperly adjust system parametersRemove unnecessary servicesUsing firewall and IDSDeploy 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

    Protect asymmetric protocols

    Reverse TuringProof 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 bandwidthspoofed IP address 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 hostUse "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

    58

  • Difesa nella fase di attacco

    Category Defense methods Advantages Limitations

    SignatureBased DetectionMechanisms

    Detect attacks by monitoring thecontent of packets

    ● Effective toward logic DoSAttacks

    ● May introduce complex computationworks● Cannot defend attacks using packetssimilar to legitimate traffic

    Anomaly BasedDetectingMechanisms

    Detect attacks by monitoring thechanges of traffic volume orfeatures.

    ● Efficient toward flooding DoSattack with detectable features

    ● Hard to set up a threshold for attackflows● Cannot defend logic DoS attack

    Filtering basedMechanism

    Ingress and egress filteringHop-Count Filtering

    ● Can filter out the spoofed IPpackets● Potential to defend the highly

    ● Cannot stop spoofed IP address in thesame subnet● Some DDoS attacks do not useMechanism Hop-Count Filtering ● Potential to defend the highly

    distributed attacks● Some DDoS attacks do not usespoofed IP address

    Congestioncontrol basedMechanism

    Regulate the traffic behaviors byanalyzing flows

    ● Can mitigate flooding DoSattacks● Can avoid overall networkcongestion

    ● Ineffective when the attack is a lowbandwidth attack● May block legitimate traffic also● Cannot stop attackers with a hugenumber of agents

    TCP basedDefensemechanism

    Improve end-system configurationsImprove connection establishmentInstall firewall Monitor actively existing TCPconnections

    ● Efficient defense toward TCPbased DoS attacks (ex: TCPSYN)

    ● Protocol behavior need to be modifiedand deployed globally● Can only mitigate the influence of attacks

    Overlay networks

    Authenticated users are routed through an overlay network.Service will be relocated in theoverlay network once an attack isdetected.

    ● Efficient defense againstflooding DoS attacks

    ● High deployment cost● Only effective when it is deployedglobally

    59

  • DoS verso livelli più alti dello stack

    SSL/TLS handshake

    WebServer

    Client Hello

    Server Hello (pub-key)

    Client key exchangeRSA

    – 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

    RSAEncrypt RSA

    Decrypt

  • Denial of Service (DOS) - esempi

    1) SMURF – ICMP echos

    2) ECHO-CHARGEN – UDP port 7 is echo; UDP port 19 is character generator. » Spoof a source address and two victims pound each other

    3) TEARDROP:3) 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 fasì cheiframmenti 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 typeping –L 65510

    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- Max IP packet size allowed = 65535- ICMP echo has a “pseudo header” consisting of 8 bytes ofICMP 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)

    attackerattacker

    mastersmasters

    zombieszombies

    victimvictim

    64

  • Passi da compiere per un DDoS

    • Fase iniziale di scan verso un numero elevato dicomputer 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 futurisistemi 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 vittimavittima

    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 TFN66

  • 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 masterInstallazione del programma di attacco:

    – Con netcat (nc) si manda in pipe uno shell script alla shell di– Con netcat (nc) si manda in pipe uno shell script alla shell diroot 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: aaapass 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 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: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

    AquiringBank • ogni commerciante vede

    attività con rate ridotto

    • rate complessivo elevato alla banca

    70

    Merchant A Merchant B Merchant C

    Richiesta diacquisto

    falsa

  • 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– 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à – 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 • 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– 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• 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.)• 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– 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 expressmandato 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• 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– 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 virus-

    fotocopia

    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

    riavvioriavvio– 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 • 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– 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• 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 Internetcodice 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 • 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• 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• 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– 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 – 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 flessibileflessibile

    100

  • Obiettivi dei botmaster

    • Log keystrokes for identity theft • Installing Advertisement Addons• Distributed Denial-of-Service Attacks • Spamming • Sniffing Traffic • Keylogging • 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 • 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 controllareModello 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– Elevata latenza nello scambio dei messaggi

    Peer to Peer– Architettura robusta

    103

    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)

  • 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– 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 – 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 • 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

    110

    Botnet user

  • Botnet IRC

    • Nascono per ragioni storiche– I bot erano programmi installati dagli amministratori

    dei canali per l’amministrazione la gestione ed ilcontrollo automatizzato

    – Alcuni bot IRC venivano utilizzati a scopi quasi goliardiciquasi goliardici

    • Le botnet sono una cosa seria, non piùgoliardica

    • IRC è usato per botnet commerciali• Spesso contribuisce ad attacchi per il furto

    delle identità• L’attaccante (botmaster) è invisibile alla vittima

    111

    Botnet user

  • Botnet IRC

    • Facile da disabilitare• Single point of failure

    – Eliminando il canale centrale di controllo sielimina la botnet

    • Molto facile da realizzare– La tecnologia necessaria è facilmente – La tecnologia necessaria è facilmente

    reperibile• Server IRC• Malware per infettare e controllare

    i bot

    112

    Botnet user

  • 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