330 likes | 452 Views
Seminario di Sicurezza 01-02 Attacchi Remoti. Elisabetta Parodi. Argomenti trattati. Sniffing Hijacking di Sessione Spoofing (cenno). Introduzione. Attacco locale attacco contro un sistema sotto il proprio controllo Attacco remoto
E N D
Seminario di Sicurezza 01-02Attacchi Remoti Elisabetta Parodi
Argomenti trattati • Sniffing • Hijacking di Sessione • Spoofing (cenno)
Introduzione • Attacco locale attacco contro un sistema sotto il proprio controllo • Attacco remoto attacco che, di solito, viene eseguito contro un sistema separato da quello su cui si sta lavorando
Sniffing • Significato del termine Annusare • Perché è utile ad un aggressore E’ il metodo con cui una persona può compromettere la sicurezza di una rete in modo passivo. Uno sniffer è un programma o strumento che monitora in modo passivo una rete per trovare le informazioni utili a chi se ne serve: nella maggiore parte dei casi, dati che riguardano l’ autenticazione come nomi utente e password.
Sniffing • Come funziona Di norma le schede di rete si limitano a ricevere i pacchetti destinati agli specifici indirizzi di rete (MAC, ossia Media Access Control), ignorando tutti gli altri. Supportano però la modalità promiscua: possibilità di ricevere tutto il traffico in viaggio sulla rete.
Sniffing • Che cosa cercare Alcuni tipi di traffico di rete che attirano un aggressore: • Telnet, FTP, POP, IMAP: non forniscono alcuna sicurezza a livello di sessione e inviano sulla rete le credenziali nome utente-password in testo puro • rexec : su sistemi operativi in stile Unix, esegue remotamente i comandi. Esempio di autenticazione: 0\0oliver\0welcome\0cmd\0
Sniffing • X11 : per eseguire l’ autorizzazione sui client che tentano di connettersi al server, si avvale di un “cookie magico” che contiene 128 bit, è generato casualmente e viene inoltrato ai client in fase di connessione => sottoponendolo a sniffing l’ aggressore può connettersi al medesimo server X Window.
Sniffing • Handle dei file NFS : Network File System si basa sull’ handle del file per garantire l’accesso a un certo file o directory offerti da un server di file => monitorando la rete è possibile ottenere questo handle e utilizzarlo per acquisire l’ accesso alla risorsa.
Sniffing • Autenticazione in Windows NT : i S.O. della serie Windows supportano numerosi tipi di autenticazione ciascuno dei quali aumenta progressivamente il livello di sicurezza: • Testo puro : password in chiaro sulla rete • LM (Lan Manager) : meccanismo di domanda e risposta debole • NTLM (NT Lan Manager) : meccanismo di domanda e risposta più forte
Sniffing • SMTP : addetto al trasferimento della posta elettronica, sia su Internet sia internamente a molte aziende => interessa al cracker, alle aziende,… • HTTP : serve a far passare il traffico Web => interessa più per questioni statistiche e per l’ impiego di rete che per il suo contenuto.
Sniffing • Implementazioni comuni • Network Associates Sniffer Pro Sniffer Pro è un prodotto commerciale che supporta un’ ampia gamma di protocolli e visualizza i dati dello standard decodificato rendendoli assai facili da leggere. Il funzionamento prevede una prima fase di cattura dei dati ed una seconda di decodifica e visualizzazione.
Sniffing • Network Monitor (NetMon) Software di monitoraggio di rete di Windows NT Server => vantaggio : facoltà di decodificare parte del traffico Microsoft che non ha specifiche aperte. • TCPDump Uno dei più famosi strumenti di diagnostica e analisi di rete per i S.O. basati su Unix. Incarichi: monitoraggio e decodifica totali dei dati d’ intestazione di IP, TCP e UDP.
Sniffing • Dsniff Uno dei più completi sniffer. Scopo: scritto esclusivamente o quasi per monitorare la rete in cerca delle credenziali di autenticazione; include anche utilità che monitorano e salvano i trasferimenti di file sulla rete, gli url HTTP (urlsnarf) e la posta elettronica (mailsnarf).
Sniffing • Tecniche di sniffing avanzate • Spoofing ARP Switch su una rete limita il flusso che attraversa la sua parte di rete => lo sniffer sovrascrive la cache dell’ ARP (Address Resolution Protocol) => tutto il traffico in uscita dall’ host bersaglio viene trasmesso allo sniffer stesso
Sniffing • Flooding ARP Uno switch deve mantenere una tabella di tutti gli indirizzi MAC dell’ host che appaiono su di una singola porta. Se questi formano un grosso gruppo riempiendo la tabella allora alcuni switch cominciano a inviare tutto il traffico alla porta. Dsniff contiene il programma macofche esegue il flooding della rete locale con indirizzi MAC casuali causando il fallimento di alcuni switch => agevola lo sniffing.
Sniffing • Protezione • Codifica Un meccanismo valido di codifica può neutralizzare gli sniffer. Per fortuna le ultime versioni degli standard supportano estensioni che forniscono l’autenticazione sicura • SSH
Sniffing • Rilevamento • locale molti S.O. definiscono un meccanismo per determinare se un’interfaccia di rete opera in modalità promiscua, solitamente con un indicatore di stato associato a ciascuna scheda di rete e mantenuto nel kernel… … ma l’aggressore può compromettere l’ output che lo indica!
Sniffing • di rete Esistono molte tecniche: • consultazioni DNS • latenza • Antisniff • Network Monitor …ma nessuna garantisce di individuare sicuramente la presenza degli sniffer.
Hijacking di sessione • Significato del termine Dirottare una sessione • Che cos’ è Atto di appropriarsi di un qualsiasi collegamento, già attivo o in fase di impostazione. In seguito si farà riferimento a connessioni di rete. Si sfrutta la fiducia concessa ad un livello superiore del “normale”.
Hijacking di sessione • Hijacking di sessione TCP La connessione inizia con handshaking a tre fasi; durante lo scambio i contatori di sequenza aumentano su entrambi i lati e la ricezione del pacchetto va riconosciuta con i pacchetti ACK. La connessione termina con uno scambio di pacchetti FIN (fine) o con una richiesta di RES (reimposta).
Hijacking di sessione TCP è un trasporto affidabile; risiede sopra il livello IP, non affidabile, che talvolta perde pacchetti, li corrompe o li distribuisce danneggiati => TCP deve gestire questi problemi ritrasmettendo i pacchetti secondo necessità => il software TCP su ciascun host tiene una copia di tutti i dati che ha inviato fino a quel momento finchè non riceve un pacchetto ACK da parte dell’altra estremità.
Hijacking di sessione Vediamo due possibili situazioni. • CASO 1 : non c’ è la possibilità di rimuovere pacchetti ma solo di iniettarli => tempesta di ACK che termina con: • perdita di un ACK • RES • risincronizzazione
Hijacking di sessione • CASO 2 : hijacking di sessione con blocco dei pacchetti => l’aggressore può anche emulare perfettamente l’ altro capo della conversazione su uno degli host. Questi sistemi finalizzati ad assumere il comando di connessioni sono detti firewall trasparenti.
Hijacking di sessione Vediamo due strumenti di hijacking di sessione TCP: • Juggernaut Dispone di due modalità operative: • sniffer scattando su un particolare dato esempio: “assword” => registra i pacchetti che seguono la parola • “normale” per hijacking cieco o interattivo
Hijacking di sessione • Hunt Aggiunge alcuni strumenti ARP per lo spoofing per indurre l’ host vittima ad attraversare la macchina attaccante per eliminare i problemi dovuti alla tempesta di ack. Per impostazione predefinita tiene traccia di connessioni telnet e rlogin ma è sufficiente cambiare una piccola porzione di codice per aggiungere nuove porte e ricompilare.
Hijacking di sessione • Hijacking UDP Più facile che con TCP; diventa una specie di “gara” per inoltrare un pacchetto di risposta prima del server o del client. Esempio: hijacking DNS.
Hijacking di sessione • Protezione • crittografia (SSH, SSL ) • “richiedere la lettura” • Rilevamento Osservatori di tempeste E’ facile individuare la maggior parte degli attacchi che si limitano a iniettare e non possono impedire l’ invio da parte di uno dei comunicatori originari.
Hijacking di sessione Ad esempio nello scenario DNS il fatto che vengano inoltrate due risposte, per di più non corrispondenti, indica chiaramente che qualcosa non va. Le ritrasmissioni e i pacchetti duplicati non sono rari in una rete normale, ma nella maggior parte dei casi il contenuto è lo stesso => possibile soluzione: realizzare uno strumento che osservi le risposte, calcoli un hash del pacchetto e lo memorizzi per un certo periodo.
Spoofing (cenno) • Significato del termine Imbrogliare, ingannare, truffare • Che cos’ è “Fornire false informazioni su un’ identità principale per ottenere l’ accesso non autorizzato ai sistemi e ai loro servizi” (M.Kaeo) Concetto chiave: assumere l’identità di un’altra persona.
Spoofing (cenno) Esempio classico : IP TCP/IP richiede che ogni host compili il proprio indirizzo sui pacchetti e non vi è praticamente nessuna misura per impedire che gli host mentano E’ sempre intenzionale… …ma alcuni malfunzionamenti o cattive configurazioni possono causare lo stesso effetto di un attacco deliberato => complicazioni nelle ricerche per determinare l’intento dell’attacco
Spoofing (cenno) • Che cosa non è • un accesso improprio con una password rubata • un “tradimento” da parte di un utente di fiducia • Impatti Sfrutta la differenza tra chi invia qualcosa e chi sembra averlo fatto. Il più brutale attacco di spoofing non maschera l’identità del suo autore ma il determinarsi dell’attacco in sé => aumentano le possibilità che l’attacco passi inosservato
Spoofing (cenno) • Realizzazione • rifiuto del servizio selettivo (facoltà di inibire o fermare alcuni tipi di messaggi consentendone altri) => si blocca l’impiego di alcuni servizi promuovendone “altri” • attaccare SSL con fallimenti a intermittenza
Riferimenti • R. Russel – S. Cunningham Hack Proofing ( Mc Graw Hill ) • www.monkey.org/~dugsong/dsniff • www.securityfocus.com • http://advice.networkice.com/advice/Exploits/TCP/session_hijacking/default.htm