ITIS Vinci - Carpi, 12 Maggio 20051 Introduzione alle problematiche di Network Security Introduzione...
-
Upload
dario-gualtieri -
Category
Documents
-
view
221 -
download
0
Transcript of ITIS Vinci - Carpi, 12 Maggio 20051 Introduzione alle problematiche di Network Security Introduzione...
ITIS Vinci - Carpi, 12 Maggio 2005 1
Introduzione alle problematiche di Introduzione alle problematiche di Network SecurityNetwork Security
Angelo Neri
[email protected] ITIS Vinci 16 Maggio 2005
ITIS Vinci - Carpi, 12 Maggio 2005 2
Agenda Introduzione alle problematiche della sicurezza
Analisi del Rischio
Il “rischio” Internet
Origini delle Vulnerabilità dei sistemi
Autenticazione e Autorizzazione, concetti, metodologie e strumenti e vulnerabilità correlate
“Laboratorio” Firma digitale e posta elettronica (GPG, S/MIME) Sniffing di protocolli
Come difendersi: Firewall, IDS, Aggiornamento Strumenti di verifica e scansione Fonti informative Le “regole d’oro” e qualche suggerimento pratico
ITIS Vinci - Carpi, 12 Maggio 2005 3
Sicurezza La Security e’ la capacità di applicare la “Security Policy”
scelta per la propria organizzazione, ovvero le regole che determinano chi e in che modo può accedere alle risorse aziendali, sia in termini di hardware che di informazioni.
Confidenzialità delle informazioni
Integrità delle informazioni Informazioni riservate Informazioni pubbliche
Disponibilità delle risorse Funzionalità dei servizi Risorse di calcolo Network Bandwidth
ITIS Vinci - Carpi, 12 Maggio 2005 4
Analisi del Rischio
L’ Analisi del Rischio è l’attività “guida” ogni altra azione in ambito di sicurezza:
Consiste nella valutazione sistematica di Il danno derivante da un security incident La reale probabilità che tale evento accada
per concentrare gli investimenti dove ve ne e’ veramente bisogno, trovando il giusto equilibrio tra costi e benefici, in termini di riduzione del rischio.
per individuare i requisiti di sicurezza dell’ organizzazione
ITIS Vinci - Carpi, 12 Maggio 2005 5
Esempio di Rischio
RISCHIO =
F(MINACCIA,VULNERABILITA’,IMPATTO)
ITIS Vinci - Carpi, 12 Maggio 2005 6
Analisi del Rischio: alcune definizioni Minaccia: potenziale causa di un incidente (deliberato o
accidentale) che può danneggiare uno o tutti i beni che costituiscono il patrimonio informativo
eventi naturali di natura umana di natura tecnologica (avarie, guasti) intenzionali o accidentali
Vulnerabilità: è un punto debole nella sicurezza delle informazioni dell’organizzazione
Se una vulnerabilità viene sfruttata da un agente di minaccia si verifica un incidente
Impatto: danno derivante da un incidente. Rischio di Sicurezza: è la possibilità che una determinata
minaccia si avvantaggi delle vulnerabilità per provocare un incidente
ITIS Vinci - Carpi, 12 Maggio 2005 7
Classificazione dei rischiDescrizione
rischiImpatto sui beni
Probabilità della
minaccia/vulnerabilità
Misura del Rischio
(impatto probabilità)
Classifica dei rischi
Minaccia A 5 2 10 2
Minaccia B 2 4 8 3
Minaccia C 3 5 15 1
Minaccia D 1 3 3 5
Minaccia E 4 1 4 4
L’obiettivo è stabilire priorità di intervento sui rischi e valutare in modo consapevole quali rischi accettare e
quali, invece, devono essere assolutamente ridotti
ITIS Vinci - Carpi, 12 Maggio 2005 8
Rischio Internet: La minaccia
Soggetti determinati a danneggiare l’organizzazione o ad ottenere un profitto per se.
Concorrenti Dipendenti o ex-dipendenti insoddisfatti Obiettivo scelto oculatamente
Soggetti determinati a utilizzare le risorse dell’ organizzazione
Per preparare ulteriori attacchi Per confondere le tracce Per condurre attacchi distribuiti Obiettivo scelto in base alla debolezza del sistema di difesa
ITIS Vinci - Carpi, 12 Maggio 2005 9
Rischio Internet: La minaccia (2) “script kiddies”
Per dimostrare le proprie capacità Semplicemente per divertimento o vandalismo Obiettivo scelto “a caso” o in funzione della visibilità
e prestigio dell’organizzazione
Robot automatici Virus Worm Obiettivo scelto “a caso” per scansione sequenziale
dello spazio di indirizzi.
ITIS Vinci - Carpi, 12 Maggio 2005 10
Le origini della Vulnerabilità dei Sistemi Le vulnerabilità derivano da errori nel progetto,
nell’implementazione o nella configurazione dei programmi/servizi:
Attacco ai meccanismi di Autenticazione Autenticazione debole Password sniffing,cracking
Attacco ai meccanismi di Autorizzazione Input validation
Denial of Service Social Engeneering
.. spesso combinati tra loro “ a catena “ ..
ITIS Vinci - Carpi, 12 Maggio 2005 11
Ciclo di Vita di una Vulnerabilità( A Bug Life ) Vulnerabilità: Errore di progetto o di
implementazione di un programma che consente una violazione delle politiche di sicurezza.
1. Esiste da quando esiste ed e’ diffuso il programma2. Viene scoperta e comincia a circolare in ambienti di
ricerca o “underground” 3. Viene riconosciuta e pubblicata con Annuncio Ufficiale4. Il produttore pubblica l’aggiornamento che la elimina5. Viene sfruttata mediante exploit (attacchi o worm)6. La comunità degli utenti completa l’aggiornamento,
non vi sono più sistemi vulnerabili in rete
ITIS Vinci - Carpi, 12 Maggio 2005 12
Vunerabilità e RischioN
asce
Sco
perta
Esc
e la
pa
tch
Ann
unci
o
Exp
loit/
wor
m
Pat
ch
inst
alla
ta
Ris
chio
ITIS Vinci - Carpi, 12 Maggio 2005 13
Un Esempio: SQLSlammer /MS-SQL Server Worm Il worm si diffonde il 25 Gennaio 2003, sfrutta diverse vulnerabilità
presenti in Microsoft SQL Server già note e fissate da tempo:
Microsoft Security Bulletin MS02-039, patch Q323875 July 24, 2002 Microsoft Security Bulletin MS02-061, patch Q316333 Oct 16, 2002
.. Eppure la sua diffusione è stata impressionante ..
"This worm required roughly 10 minutes to spread worldwide making it by far the fastest worm to date."
"In the early stages [the number of compromised hosts] was doubling in size every 8.5 seconds."
"At its peak, achieved approximately 3 minutes after it was released, Sapphire scanned the net at over 55 million IP addresses per second."
"It infected at least 75,000 victims and probably considerably more.“
Da Analysis of the Sapphire Worm - A joint effort of CAIDA, ICSI, Silicon Defense, UC Berkeley EECS and UC San Diego CSE, http://www.caida.org/analysis/security/sapphire/
ITIS Vinci - Carpi, 12 Maggio 2005 14
Un Altro esempio W32/Blaster e MS RPC-DCOM Vulnerability Il worm si diffonde il attorno al 10 Agosto 2003, per la diffusione
sfrutta una vulnerabilità presente nei sistemi operativi Widows2000/XP/NT/2003 già note e fissate da circa un mese:
Microsoft Security Bulletin MS03-026 patch Q823980 July 16, 2003
Questa volta non è passato molto tempo tra la pubblicazione della vulnerabilità e il suo utilizzo “su larga scala”.
Questo virus, a differenza di W32/Sobig, non ha bisogno di alcuna “azione” da parte dell’utente per diffondersi (leggere mail, visitare siti web, aprire attach o altro) e attacca indistintamente workstation e server.
ITIS Vinci - Carpi, 12 Maggio 2005 15
Perche’ preoccuparsi ? Perche’ la perdita di confidenzialità, integrità delle
informazioni e della disponibilità delle risorse hardware costituiscono un danno economico o di di immagine
Costi diretti di ripristino Costi indiretti per indisponibilità dei servizi Danno di immagine
Perchè lo richiede la legge
D.lgs. 196/2003 - “Legge sulla Privacy”, per la protezione dei dati personali o sensibili.
ITIS Vinci - Carpi, 12 Maggio 2005 16
D.lgs. 196/2003 .. Solo alcuni stralci
Il codice prevede una distinzione tra:
1. Misure “minime” : la cui mancata adozione comporta sanzioni penali
2. Misure “idonee”: decise in autonomia dal titolare (“anche in relazione alle conoscenze acquisite in base al progresso tecnico”), che se non adottate, in caso di ricorso in giudizio, concorrono all’individuazione delle responsabilità e del conseguente risarcimento se il danno è causato a trattamenti di dati non idoneamente protetti.
3. Non identificate analiticamente dalla legge ma identificabili dal Titolare o dal Responsabile del trattamento al fine di "ridurre al minimo i rischi di distruzione o perdita, anche accidentale, dei dati stessi, di accesso non autorizzato o di trattamento non consentito o non conforme alle finalità di raccolta"
ITIS Vinci - Carpi, 12 Maggio 2005 17
D.lgs. 196/2003 Misure minime :
copie di sicurezza dei dati (back up) procedure di ripristino della disponibilità dei dati “idonei strumenti elettronici” dal rischio di intrusioni di
vandali informatici (firewall) strumenti per proteggersi dal rischio dell’azione di malware
(es. programmi antivirus) Anche tramite l’installazione di patch di aggiornamento
periodico per la correzione dei bachi ai programmi
ITIS Vinci - Carpi, 12 Maggio 2005 18
Autenticazione e Autorizzazione
ITIS Vinci - Carpi, 12 Maggio 2005 19
Definizione
processo di identificazione e verifica dell'autenticità di un soggetto che cerca di accedere a dati critici o risorse.
L’autenticazione è basata su: Qualcosa che il soggetto conosce (password, chiave ecc.) Qualcosa che il soggetto possiede (“hw Token” come
smart-card, generatori di sequenze ecc.) Sulle caratteristiche biometriche del soggetto (iride,
impronta digitale, voce ecc.)
ITIS Vinci - Carpi, 12 Maggio 2005 20
Password Password: il segreto che dimostra
l’identità, ma come dimostrare al server la conoscenza del segreto ?
Diversi schemi:
Trasmissione della password Challenge response Crittografia Asimmetrica
ITIS Vinci - Carpi, 12 Maggio 2005 21
Password trasmessa al server
L’autenticazione avviene secondo il meccanismo seguente:
Db
pass
Username, password
risposta
ITIS Vinci - Carpi, 12 Maggio 2005 22
Password trasmessa al server Come verifica il server la correttezza della
password ? Solitamente per ragioni di sicurezza si evita di
conservare le password sul server Sul server, invece viene conservata una Hash della
password, a cui viene eventualmente aggiunto un “salt”, conservato anch’esso nel DB
Crypted-Passwd=H(Passwd,Salt)
Il serve riceve la password “in chiaro”, calcola la Crypted-Password e verifica che siano uguali.
ITIS Vinci - Carpi, 12 Maggio 2005 23
Password cifrate sul Server Su macchina Unix:
DES # cat /etc/shadow pippo:NHsgGtr6jizY5::::::: pluto:01Fgst/uLga43:12065:::::: paperino:WsralPshtdwRt:12067::::::
MD5 # cat /etc/shadow pippo:$1$FLsgh679kals9MaD5tzOTlkIlmnb.:12041:0:99999:7::: pluto:$1$tdgshw67/jJusgtshcPhsreTrqsGtSa:11857:0:99999:7:::
ITIS Vinci - Carpi, 12 Maggio 2005 24
Password cifrate sul Server Su macchina Unix:
DES # cat /etc/shadow pippo:NHsgGtr6jizY5::::::: pluto:01Fgst/uLga43:12065:::::: paperino:WsralPshtdwRt:12067::::::
MD5 # cat /etc/shadow pippo:$1$FLsgh679kals9MaD5tzOTlkIlmnb.:12041:0:99999:7::: pluto:$1$tdgshw67/jJusgtshcPhsreTrqsGtSa:11857:0:99999:7:::
ITIS Vinci - Carpi, 12 Maggio 2005 25
challenge-response Nella forma più semplice:
Il server invia una stringa casuale all’utente (Challenge o sfida)
L’utente calcola una risposta in base al challenge inviato dal server e alla password in suo possesso (chiave)
Il server controlla la risposta ricevuta con quanto si aspettava
Db
chiavi
Username
challenge
risposta
ITIS Vinci - Carpi, 12 Maggio 2005 26
challenge-response
Risposta = Crypt (Challenge, Password)
Per verificare che la risposta sia corretta, il server ha bisogno di ricalcolarla e quindi di conoscere la Password dell’utente
ITIS Vinci - Carpi, 12 Maggio 2005 27
Challenge-Response: Una variante
Per evitare di conservare sul server le password degli utenti in chiaro, si può utilizzare al posto della password, una sua hash, alterata eventualmente da un salt:
Risposta = Crypt (Challenge, H(Password,salt)) Risposta = Crypt (Challenge, H(Password))
Comunque ciò che viene conservato sul server è sufficiente per generare la giusta risposta
ITIS Vinci - Carpi, 12 Maggio 2005 28
Scelta della password Una password robusta deve essere:
il più lunga possibile (=Max consentito dal sistema)
costituita da numeri, caratteri alfanumerici e lettere sia in minuscolo che in maiuscolo
Diversa da parole che possono essere contenute in un vocabolario
indipendente dalla propria vita privata
ITIS Vinci - Carpi, 12 Maggio 2005 29
Scelta della password la password deve essere facile da
ricordare per l’utente la password deve essere
preferibilmente composta da una sequenza di lettere, numeri e caratteri speciali (es. di caratteri speciali: &;@*§ ? % £=@ $)
Esempi:
V1vs,vuvcqdfVoglio una vita spericolata, voglio una vita
come quelle dei films
1!te3m&a una-not-te-tre-m-end-a
IwuGbadqI will use Google before asking dumb
questions
ITIS Vinci - Carpi, 12 Maggio 2005 30
Crittografia Asimmetrica L’algoritmo (o chiave) per cifrare un messaggio è
diverso da quello per decifrarlo:
Testo cifrato = C ( E, “testo in chiaro”) Testo in chiaro = C ( D, “testo cifrato”)(E = chiave di encription, D = chiave di decription, C algoritmo di
cifratura) E’ troppo difficile ricavare D da E
Esistono algoritmi (RSA, DSA) con queste caratteristiche che si basano sulle proprietà dei numeri
ITIS Vinci - Carpi, 12 Maggio 2005 31
Crittografia Asimmetrica: applicazione La chiave di decifratura viene resa pubblica (chiave
pubblica), l’altra rimane segreta (chiave privata)
Per dimostrare la conoscenza della chiave privata è sufficiente uno scambio challenge response in l’autenticatore invia un testo a sua scelta e attende in risposta il testo cifrato con la chiave privata. Può verificarne l’esattezza decifrando la risposta con la chiave pubblica
Notare che il “server” (l’autenticatore) non riceve mail la chiave privata ne la deve conservare, la chiave privata non ha mai bisogno di “uscire” dal sistema client (può stare su una smart card)
ITIS Vinci - Carpi, 12 Maggio 2005 32
Crittografia Asimmetrica: applicazioni Confidenzialità:
Per inviare un messaggio confidenziale è sufficiente cifrarlo con la chiave pubblica del ricevente
Firma digitale:
Per dimostrare l’autenticità di un testo e la sua integrità (non alterazione) è sufficiente cifrarlo con la chiave privata del mittente: il pubblico può verificarlo con la rispettiva chiave pubblica.
Negoziazione di chiavi di cifratura
Per stabilire un canale di comunicazione sicuro su un mezzo insicuro.
ITIS Vinci - Carpi, 12 Maggio 2005 33
Crittografia asimmetrica: limiti Le chiavi sono molto lunghe (128-256 caratteri) e non
possono essere scelte in modo mnemonico, devono quindi essere conservate su un media eventualmente cifrate con chiavi “tradizionali” (passfrase)
L’algoritmo di cifratura asimmetrico è computazionalmente pesante, per cui spesso viene utilizzato per negoziare in modo sicuro una chiave simmetrica di sessione con la quale proseguire la transazione
Resta il problema della distribuzioni delle chiavi pubbliche, della loro associazione con l’identità della persona, della revoca in caso di smarrimento furto,
ITIS Vinci - Carpi, 12 Maggio 2005 34
Certificato digitale Documento digitale che:
Contiene la chiave pubblica e le informazioni sull’identità dell’intestatario
È firmato digitalmente (chiave privata) da una “Certification Authority (CA)” che certifica previa verifica l’effettiva validità dell’ identità
Può contenere più livelli di certificazione (CA di livello superiore)
La chiave pubblica della o delle “root CA” deve essere “pubblicamente nota” (es: le principali sono installate di default nei principali browser)
ITIS Vinci - Carpi, 12 Maggio 2005 35
Certificato: utilizzo Ovunque è richiesta
la chiave pubblica dell’intestatario Accesso a sistemi
una autorizzazione accertabile dal certificato L’autenticatore il certificato:
Controlla l’integrità del certificato, usando la chiave pubblica della CA
Controlla la validità del certificato (data di scadenza) Controlla che l’intetatario del certificato sia quello
atteso. Usa la chiave pubblica che trova nel certificato per
controllare l’integrità di quanto riceve dall’intestatario del certificato
ITIS Vinci - Carpi, 12 Maggio 2005 36
Certificato Digitale e Carta d’ Identità Le analogie tra certificato digitale e Carta
d’Identità:
La Chiave pubblica è la foto La chiave privata è la capacità di andare in giro con una
faccia che somigli alla foto Nome, Cognome, indirizzo etc: l’identità dell’intestatario Firma dell’autorità che la rilascia (Comune di ..) Data di scadenza Il procedimento di verifica ..
ITIS Vinci - Carpi, 12 Maggio 2005 37
Chi rilascia i Certificati Digitali ? Una Certification Authority (CA) “trusted” al livello
globale A pagamento .. Generalmente riconosciuti in Internet Utile quando si deve dimostrare la propria identità a
qualcuno che non “si conosce a priori”
Una Certification Authority “privata” Non costano nulla Sono riconosciuti solo localmente da chi “si fida” della CA Vanno benissimo in ambiti locali Analogia con i “tesserini aziendali”
ITIS Vinci - Carpi, 12 Maggio 2005 38
Soluzioni “Tunnelled” L’impiego della crittografia asimmetrica consente alle parti
che devono comunicare in modo sicuro di scambiarsi una chiave di sessione (simmetrica) per stabilire un canale di comunicazione sicuro
Il canale può essere a vari livelli : trasporto (SSL,TLS) o rete (tunnel VPN, IPsec)
Una volta stabilito il canale di comunicazione (tunnel) è possibile su di esso continuare a “parlare” protocolli non sicuri, quali ad esempio autenticazione “con trasmissione della password”.
Importante comunque almeno “l’autenticazione del server” nello stabilire il canale, di solito fatta tramite certificati digitali, per evitare “man-in-the middle”
Molti servizi sono stati resi sicuri in questo modo (web browsing/https, e-mail, accesso interattivo/ssh, etc)
ITIS Vinci - Carpi, 12 Maggio 2005 39
Sistemi di Autenticazioni in Uso Web browsing: diversi tipi di autenticazioni negoziabili
tra client e server in modo “trasparente”: Basic (password trasmessa al server) Digest, NTLM, Kerberos (challenge response)
In pratica il metodo di gran lunga più diffuso è il Basic, di per sè insicuro. Con il protocollo HTTP inoltre tutti i dati inseriti (web form) passano in chiaro. La soluzione è utilizzare HTTPS, ovvero HTTP tunnellato su SSL, ma attenzione a autenticare il server (occhio al certificato !!)
ITIS Vinci - Carpi, 12 Maggio 2005 40
Sistemi di Autenticazioni in Uso Servizi Microsoft (File sharing, Terminal
Services): autenticazione “sostanzialmente” di tipo challenge-
response (NTLM, Kerberos) almeno nei sistemi recenti (win2K,WinXP). Trasferimento dati: in chiaro.
Remote DeskTop: sessione cifrata, ma senza autenticazione del server (vulnerabile a Man-in-the-Middle)
Sessioni Interattiva: telnet, in chiaro. SSH, stelnet criptate
File Transfer :FTP: in chiaro; SFTP, SCP sessione cifrata
ITIS Vinci - Carpi, 12 Maggio 2005 41
Sistemi di Autenticazioni in Uso E-Mail
Spedizione: SMTP. Il testo viaggia in chiaro sulla rete, alcuni mail server possono esser impostati per richiedere l’autenticazione per accettare l’invio (relay) viene spesso usato un metodo basic con trasmissione della password. Soluzione: quando disponibile usare SMTP over SSL. Per la protezione del contenuto usare PGP/GPG o S/MIME (vedi LAB.)
Ricezione: POP3 o IMAP: usano autenticazione con trasmissione della password, utilizzare la versione “tunnellata” su SSL quando disponibile (IMAPS, POP3S)
ITIS Vinci - Carpi, 12 Maggio 2005 42
Man in the Middle
ITIS Vinci - Carpi, 12 Maggio 2005 43
mitm: definizione
Attacco che consente ad un intruso di vedere ed eventualmente modificare, a proprio vantaggio, il traffico tra due o più host.
Sfrutta le debolezze dei protocolli e delle tecnologie di comnicazione
Costituisce un attacco alla riservatezza, all’integrità e all’autenticità dei dati
Comunicazione logica
hacker
ITIS Vinci - Carpi, 12 Maggio 2005 44
Mitm: vantaggi 1/2 Sniffing
Si possono compromettere tutti i protocolli plain text
Injecting Possibilità di aggiungere pacchetti alla connessione
Filtering Possibilità di modificare il payload dei pacchetti
tramite filtri creati “on the fly”
command injection Inserimento di comandi da e verso il server allo scopo
di ricavare delle informazioni altrimenti non ottenibili: Utile quando l’autenticazione non è riproducibile
ITIS Vinci - Carpi, 12 Maggio 2005 45
Mitm: dns & arp poisoning attack
Compromettendo un Name Server è possibile associare ad un nome (FQDN) un differente IP address
Sulla rete locale, attacco che sfrutta il comportamento stateless del protocollo arp, per sostituire i MAC address dei due host vittima con quello della macchina attaccante
ITIS Vinci - Carpi, 12 Maggio 2005 46
Attacchi ai meccanismi di autenticazione
ITIS Vinci - Carpi, 12 Maggio 2005 47
Attacchi ai meccanismi di autenticazione: le password Sniffing
Da un “man-in-the middle”, tutte le volte in cui la password viene trasmessa in chiaro
Dal server, se riceve la password in chiaro Dal client SEMPRE
Password cracking Ripetendo tentativi di autenticazione Raccogliendo “materiale” per poter “indovinare” la
password off-line (password crittate, challenge response, chiave pubblica)
shoulder surfing, dumpster diving Sfruttando debolezze nelle procedure di conservazione
delle password
ITIS Vinci - Carpi, 12 Maggio 2005 48
Ingegneria sociale: definizioneTutte le volte in cui si attacca la
componente “umana” del sistema di sicurezza
Inducendo qualcuno ad “abbassare la guardia”:
Fornire dati riservati Eseguire dei malware (virus)
Sfruttando l’ingenuità o scarsa consapevolezza di sistemisti o utenti
ITIS Vinci - Carpi, 12 Maggio 2005 49
Ingegneria sociale: contromisure
Alcune semplici regole possono limitare i danni:
FORMAZIONE: fornirne ai propri utenti un minimo di nozioni di sicurezza e di policy da seguire. Anche se non sono informatici ma solo utilizzatori dello strumento informatico devono avere consapevolezza dei tranelli in cui possono cadere – Security Awareness
PRIVILEGI MINIMI: fornire a ciascun utente i privilegi minimi sul sistema che gli sono indispensabili per lavorare. In tale modo sono comunque limitati i danni di ogni azione “sbagliata” (intenzionale o non) che l’ utente possa fare. Ad es:
Non utilizzare utenti privilegiati per operazioni che non lo richiedono
ITIS Vinci - Carpi, 12 Maggio 2005 50
DOS e DDOS attack
ITIS Vinci - Carpi, 12 Maggio 2005 51
DoS: definizione
Lo scopo dello hacker non è penetrare all’interno di una rete o un sistema ma quello di negare agli utenti leggittimi l’uso totale o parziale di una o più componenti di un sistema informatico
Che gusto c’e’ ? Danneggiare un avversario/ concorrente anche
compromettendone l’immagine Dimostrare le proprie capacità Disattivare un meccanismo di difesa (ad esempio un
IDS)
ITIS Vinci - Carpi, 12 Maggio 2005 52
DoS: tipologie Si possono notare le seguenti tipologie:
flooding attack Saturazione di banda Resource starvation
in generale si tenta di mettere in difficoltà il sistema esaurendo una qualche risorsa critica, anche semplicemente utlizzandone un servizio in modo del tutto legittimo (es: netstrike)
logic attack Bug software Attacchi basati sul routing Attacchi basati sul dns
ITIS Vinci - Carpi, 12 Maggio 2005 53
DoS: saturazione di banda Questa tipologia di Dos genera una quantità di
traffico tale da consumare tutta la banda a disposizione di un sito
tecnica: facile se l’hacker ha a disposizione una banda
maggiore di quella a disposizione dell’attaccato complessa, poichè richiede metodi di amplificazione,
se la banda dell’attaccante è insufficiente a saturare quella della vittima
ITIS Vinci - Carpi, 12 Maggio 2005 54
Resourse starvation L’attacco in questo caso non mira a saturare la
banda ma alcune risorse di sistema come: Tempo di cpu, Memoria Spazio disco Handle di file Ecc.
Lo scopo dell’attacco è quello di provocare il crash del sistema o di renderlo quantomeno inutilizzabile
ITIS Vinci - Carpi, 12 Maggio 2005 55
DOS e DDOS: considerazioni I Dos sono relativamente facili da condurre e difficili da trattare
perché
Un baco software in un sw che fornisce un servizio di rete può facilmente portare ad un Dos
In caso di crash del processo, interruzione totale del servizio in caso di server “single threaded”
Consumo di risorse nel caso di server “multi thread” (creazione nuovo thread, scrittura del core file, log etc
E’ più facile sfruttare il baco per ottenere il DOS piuttosto che per “penetrare” il sistema
E’ più facile causare un DOS quando una richiesta “leggera” implica una risposta “pesante” (ad esempio nei motori di ricerca)
Il caso di “flood” di richieste legittime, non è facile distinguere le richieste legittime da quelle che non lo sono
Spesso è facile effettuare Dos con (molti) indirizzi falsificati: molto complesso tracciarne l’origine
Bloccarli richiede un intervento di filtro tempestivo e coordinato, molto difficile da automatizzare
ITIS Vinci - Carpi, 12 Maggio 2005 56
Attacco ai meccanismi di Autorizzazione Autorizzazione: stabilisce cosa un utilizzatore può fare in base alla
sua identità, viene normalmente assicurata dal S.O. o dal software applicativo
Indurre i programma a comportarsi in modo diverso da quanto progettato, sfruttandone bachi
Inserirsi in sessioni autenticate (es: terminal hijacking)
Una parte importante degli attacchi di questo tipo coinvolge la validazione dei dati in ingresso: l’ hacker fornendo dati “malevoli” ad un programma riesce a costringerlo a comportarsi in modo diverso da quanto progettato
ITIS Vinci - Carpi, 12 Maggio 2005 57
Buffer OverFlow: definizione Il BOF si presenta quando una stringa in input di dimensioni
maggiori del buffer dove dovrà essere immagazzinata comporta la sovrascrittura di parti di memoria circostanti il buffer
E’ spesso possibile sovrascrivere sullo stack il “return address” di una chiamata a subroutine con un valore a proprio piacimento, alterando il normale flusso di esecuzione del codice
Il return address viene fatto puntare ad una posizione entro il buffer in cui e’ stato inserito codice macchina opportuno, mandandolo cosi’ in esecuzione
ITIS Vinci - Carpi, 12 Maggio 2005 58
Buffer Overflow
Password
Username: angelo
Password: abcdefgxxxxyyyyzzzzzxxxxxxxxxxxxxxx1234
User buffer1 sfp ret
abcdefgxxxxyyyyzzzzzxxxxxxxxxxxxxxx12345678
ITIS Vinci - Carpi, 12 Maggio 2005 59
CGI Security – code injection Un altro esempio di vulnerabilità legata ad una mancata validazione dell’ input
occorre tutte le volte in cui all’interno di un programma (ad es un cgi-bin) viene eseguita una sub-shell per interpretare un comando che contiene una stringa passata dall’utente
Ad esempio supponiamo che un form di registrazione on-line riceva in input l’indirizzo di mail del sottoscrittore e che venga inviato un messaggio di conferma utilizzando il costrutto Perl:
system("/usr/bin/sendmail $mailto_address < /var/www/messages/$LANG");
In questo caso la funzione system lancia una sub shell per interpretare ed eseguire il comando, se però la variabile “$mailto_address“ contiene caratteri speciali per la shell questi vengono interpretati: in shell il carattere “;” serve per separare diversi comandi cosicchè se “$mailto_address = [email protected]; ls –l” il comando “ls –l” viene eseguito con i privilegi del processo che esegue i cgi-bin
Un qualunque comando può venire eseguito in questo modo
ITIS Vinci - Carpi, 12 Maggio 2005 60
CGI Security – code injection (2) Altri costrutti perl invocano una subshell e sono quindi “pericolosi”:
system() exec() ` back quotes ` open(HANDLE, "shell_command|") or open(HANDLE,"|shell_command")
File I/O: quando si legge o scrive un file il cui nome dipende da una variabile fornita dall’utente bisogna stare attenti che questa non contenga caratteri del tipo “..” o “/” che possono essere utilizzati per “attraversare” l’albero del file system. Nell’esempio precedente se $LANG viene presa da una variabile “hidden” del form, ed è quindi sotto il controllo dell’utente, può essere impostata dall’ hacker ad esempio a “../../../etc/passwd” per farsi spedire il file delle password
ITIS Vinci - Carpi, 12 Maggio 2005 61
Input Validation: quali programmi a rischio ? Quelli che trattano dati potenzialmente malevoli, quindi tutti quelli
che comunicano con “l’ esterno”
Lato “server” Network daemon (spesso in ascolto con privilegi elevati) Web based application (critiche perché spesso scritte “in casa”) Processi locali che utilizzano privilegi elevati (ad es: suid bit programs in
Unix, System services in Windows)
Lato client Qualunque cosa tratti dati esterni, quindi ad esempio Web browser, mail
reader , image rendering.
In sostanza in un ambiente che comunica con “l’esterno” è difficile individuare programmi “non pericolosi” anche se il livello di rischio è differente ..
ITIS Vinci - Carpi, 12 Maggio 2005 62
BOF e IV: problemi antichi ma irrisolti ..
Solo per fare un esempio , gli Advisory Debian di Gennaio 2005 (da http://www.debian.org/security/):
Recent Advisories
[19 Jan 2005] DSA-648 xpdf buffer overflow
[19 Jan 2005] DSA-647 mysql insecure temporary files
[19 Jan 2005] DSA-646 imagemagick buffer overflow
[19 Jan 2005] DSA-645 cupsys buffer overflow
[18 Jan 2005] DSA-644 chbg buffer overflow
[18 Jan 2005] DSA-643 queue buffer overflows
[17 Jan 2005] DSA-642 gallery several vulnerabilities
[17 Jan 2005] DSA-641 playmidi buffer overflow
[17 Jan 2005] DSA-640 gatos buffer overflow
[14 Jan 2005] DSA-639 mc several vulnerabilities
[13 Jan 2005] DSA-638 gopher several vulnerabilities
[13 Jan 2005] DSA-637 exim-tls buffer overflow
[12 Jan 2005] DSA-636 glibc insecure temporary files
[12 Jan 2005] DSA-635 exim buffer overflow
[11 Jan 2005] DSA-634 hylafax weak hostname and username validation
[11 Jan 2005] DSA-633 bmv insecure temporary file
[10 Jan 2005] DSA-632 linpopup buffer overflow
[10 Jan 2005] DSA-631 kdelibs unsanitised input
[10 Jan 2005] DSA-630 lintian insecure temporary directory
[07 Jan 2005] DSA-629 krb5 buffer overflow
[06 Jan 2005] DSA-628 imlib2 integer overflows
[06 Jan 2005] DSA-627 namazu2 unsanitised input
[06 Jan 2005] DSA-626 tiff unsanitised input
[05 Jan 2005] DSA-625 pcal buffer overflows
[05 Jan 2005] DSA-624 zip buffer overflow
[04 Jan 2005] DSA-623 nasm buffer overflow
[03 Jan 2005] DSA-622 htmlheadline insecure temporary files
ITIS Vinci - Carpi, 12 Maggio 2005 63
VIRUS I virus sfruttano vulnerabilità descritte in modo
automatico:
Hanno la capacità di riprodursi, infettando altri host Data la scarsa separazione dei privilegi su molti dei sistemi
vittima possono impadronirsi completamente di un sistema per:
modificare delle entry nei registri di sistema distruggere o nascondere certi tipi di file distruggere il boot record inviare delle informazioni riservate presenti sul disco permettere ad altri l’accesso alla macchina mediante
l’installazione di backdoor Lanciare attacchi di tipo DoS eseguire degli scan o degli sniffer ……
Sono sempre più “furbi” nell’ ingannare l’utente ignaro ..
ITIS Vinci - Carpi, 12 Maggio 2005 64
Quali sono le macchine a rischio ? Server: ogni macchina che fornisce servizi o informazioni ad
una comunità più o meno ampia di individui:
Conserva le informazioni “sensibili” Implementa meccanismi di autenticazione e autorizzazione ed e’
perciò esposto ai relativi attacchi L’insieme dei potenziali utilizzatori (e quindi intruder) e’ ampio
Ma ..
Solitamente gestito da un sistemista professionista E’ utilizzato prevalentemente o esclusivamente per fornire servizi
aziendali Implementa diversi livelli di autorizzazione Può beneficiare di difese perimetrali Sono generalmente pochi e perciò meglio difendibili
ITIS Vinci - Carpi, 12 Maggio 2005 65
Quali sono le macchine a rischio ? (2)
Stazione di Lavoro individuale
Insieme di utenti limitato, solitamente e’ necessario accesso fisico alla macchina
Ma .. Spesso e’ lasciato in gestione a non professionisti In azienda sono tanti .. E’ utilizzato per attività molto diverse tra loro (accesso alla rete aziendale
ma anche per uso personale, hobby, divertimento) Spesso non vengono utilizzati adeguatamente i diversi livelli di
autorizzazione disponibili Nel caso di sistemi portatili puo’ operare in diversi ambienti Viene utilizzato dar l’accesso ai sistemi informativi aziendali e entra in
possesso delle credenziali dell’utente
Ogni volta che inserite un’ informazione sensibile sulla tastiera di un computer o la leggete sul suo schermo riponete completa fiducia nel sistema che state utilizzando. Si tratta praticamente sempre di stazioni di lavoro individuali
ITIS Vinci - Carpi, 12 Maggio 2005 66
Firewall
ITIS Vinci - Carpi, 12 Maggio 2005 67
Firewall: definizione Il firewall è l'insieme delle difese perimetrali, siano esse
realizzate in hardware od in software, con uno o piu' dispositivi. Si distinguono essenzialmente per la “profondità” di ispezione
Packet filter Stateful multilayer firewalls Application level firewall (proxy) Personal firewall
ITIS Vinci - Carpi, 12 Maggio 2005 68
Firewall: i vantaggi Consentono di implementare più facilmente il principio dei
“minimi permessi” Costituiscono un punto in cui imporre limiti di accesso in
modo centralizzato (facilità di gestione -> sicurezza) Spesso sono implementati su macchine dedicate o con
software sepcifico (semplicità -> sicurezza)
ITIS Vinci - Carpi, 12 Maggio 2005 69
Intrusion Detection System (IDS) Sistemi hardware/software che analizzano gli eventi che
occorrono sulla rete o sui sistemi in cerca di “segni” di intrusione o tentativi di intrusione
Host Based o Network Based Complementari all’uso dei firewalls per:
Documentare i tentativi di attacco Verificare la funzionalità dei firewall Individuare le attività di preparazione di un attacco In grado di controllare diversi punti della rete tramite “agenti”
distribuiti Strategie di Analisi:
Ricerca di “pattern” di attività riconducibili ad attacchi noti (signatures) Es: Antivirus Pochi falsi allarmi, si individuano solo attacchi noti (prevengono
l’exploit non la vulnerabilità) Ricerca di “comportamenti anomali”
Attarverso analisi statistiche o soglie di utilizzo File Integrity Checkers Maggiore probabilità di falsi allarmi, capacità di individuare anche
attacchi non noti
ITIS Vinci - Carpi, 12 Maggio 2005 70
Centralizzare o Distribuire ? .. Firewall, Antivirus, VPN ..
Distribuito+ Protegge più da vicino, non “si fida” di nessuno- Maggiore difficoltà di gestione+ Indispensabile per utenti “mobili”
Centralizzato+ Più facile da gestire, amministrato da professionisti- Lascia scoperte delle zone, non copre sempre gli
utenti mobili
ITIS Vinci - Carpi, 12 Maggio 2005 71
Vunerabilità e RischioN
asce
Sco
perta
Esc
e la
pa
tch
Ann
unci
o
Exp
loit
Pat
ch
inst
alla
ta
Ris
chio
Firewall
Gestione, manutenzione
IDS, antivirus
ITIS Vinci - Carpi, 12 Maggio 2005 72
La ricetta …. (!?!) Tutto sommato si tratta di applicare poche semplici
“regole”:
Installare e configurare gli elaboratori in modo corretto e con solo il software necessario
Mantenere aggiornato il software Installare e mantenere sistemi di difesa perimetrale che
consentano il minimo accesso indispensabile utilizzare comunicazioni cifrate …
ITIS Vinci - Carpi, 12 Maggio 2005 73
La ricetta … (cont.) .. ma va applicata in modo omogeneo nello
spazio e nel tempo
Perché il sistema non è più robusto del suo anello più debole
Perché gli investimenti in sicurezza perdono rapidamente valore se non adeguatamente mantenuti
.. Il problema non è quindi solo tecnolgico ma anche organizzativo ..
ITIS Vinci - Carpi, 12 Maggio 2005 74
Le regole principali Individuare ambiti di sicurezza distinti e tenerli separati
il più possibile (firewall) Usare comunicazioni cifrate, con mutua autenticazione
e il più possibile “End-to-End” Mantenere aggiornato il software
Strumenti Informazioni sulle vulnerabilità
Principio dei privilegi minimi Principio delle configurazioni minime Utilizzare buone password e cambiarle con regolarità Verifiche periodiche possibilmente di terze parti Antivirus, Backup Formazione, consapevolezza ..
ITIS Vinci - Carpi, 12 Maggio 2005 75
Separazione domini di sicurezza A livello di progetto della rete e della
infrastruttura IT Utilizzare (V)LAN separate e tra loro connesse tramite
Firewall Porre particolari attenzioni ai punti di contatto tra i vari
domini e alle dipendenze
A livello “utente” Utilizzare password diverse per diversi domini Se una macchina fa parte di un dominio ad elevato livello di
sicurezza, limitarne il più possibile l’utilizzo in contesti differenti
ITIS Vinci - Carpi, 12 Maggio 2005 76
Mantenere Aggiornato il Software Tanto più impegnativo quanto più la macchina è
critica, complessa (molto sw installato) e “non pacchettizato”
Esistono strumenti messi a disposizione dei vendor che “analizzano” il sw installato e propongono aggiornamenti
Windows Update, Office Update Microsoft Baseline Security Analyzer Linux RH “up2date”, altri sistemi su altre distribuzioni
ITIS Vinci - Carpi, 12 Maggio 2005 77
Rimanere Aggiornati Diverse fonti informative e mailing list
CERT – www.cert.org http://www.cert.org/contact_cert/certmaillist.html
BugTraq http://www.securityfocus.com/ NT-BugTraq http://www.ntbugtraq.com/
Vendor-specific:
http://www.microsoft.com/security/ http://www.redhat.com/apps/support/errata/ http://www.debian.org/security/
ITIS Vinci - Carpi, 12 Maggio 2005 78
Privilegi Minimi – Configurazioni Minime Utilizzare normalmente account non privilegiati Limitare i servizi che la macchina fornisce
all’esterno Configurazione ..
File and Printer Sharing Firewall
Personal Frewall es: Microsoft Firewall
ITIS Vinci - Carpi, 12 Maggio 2005 79
Il “Laboratorio” Client
HW: Dell Latitude 840, P4–M 2Ghz, 1Gb Ram, 40 Gb disk SW: Windows XP Pro, Mozilla Firefox, Mozilla Thurderbird, GNU
Privacy Guard (GPG), Enigmail Server
HW: Microsoft Virtual PC SW: Linux Debian 3.1 “Sarge”, openssl
Client Server
192.168.1.1 192.168.1.2
Network 192.168.1.0/24