Sniffer
Gli sniffer sono nati in risposta alla necessità di avere uno strumento che eseguisse il debug delle comunicazioni in rete. Essi catturano i pacchetti che viaggiano sulla rete senza però alterarli, li interpretano ed eventualmente li memorizzano per un’analisi successiva. In questo modo gli amministratori di rete possono vedere cosa succede su di essa e sono in grado di individuare e risolvere i problemi di comunicazione, consultando il traffico nella sua forma "primordiale".
Come la maggior parte dei potenti strumenti di amministrazione delle reti, anche gli sniffer sono stati trasformati, nel corso degli anni, per poter aiutare gli hacker più smaliziati. Si può facilmente immaginare la quantità di preziose informazioni che passa attraverso un segmento di rete anche in un breve lasso di tempo: è possibile intercettare coppie di nome utente e password, messaggi di posta elettronica confidenziali, interi file contenenti informazioni finanziarie, industriali, grafici di vendita e così via. Prima o poi qualunque cosa viene trasmessa in rete ed è quindi una possibile preda di uno sniffer in ascolto.
Uno sniffer può connettersi a svariati tipi di reti che utilizzano vari protocolli di comunicazione: Ethernet, TCP/IP (Internet si basa principalmente su questo protocollo), IPX e molti altri.
Il termine
sniffer si riferisce a “The Sniffer Network Analyzer”, il nome del primo
programma di questo tipo, sviluppato dalla Network Associates, Inc. e
protetto da trademark. Network Associates è una delle
principali società al mondo nel campo delle soluzioni per la sicurezza e la
gestione delle reti aziendali, Sniffer è il suo attuale prodotto di
punta, e non è altro che l'evoluzione del programma sopracitato.
Sniffer è un prodotto leader per il monitoraggio, la gestione e il
controllo della rete aziendale, al fine di assicurarne il "full uptime".
Recentemente definito come uno dei "10 prodotti più importanti" del
Decennio da "Network Computing Magazine".
Dopo sulla dissertazione sul programma Sniffer torniamo all'etimologia della parola sniffer, che è ora di uso comune e con essa ci si riferisce a tutti quei programmi che implementano quelle stesse funzionalità.
Si possono dividere i vari tipi di sniffer in due grandi branche: i prodotti commerciali, rivolti agli amministratori di rete per la manutenzione interna delle reti stesse, e i prodotti sviluppati nell’underground informatico, spesso dotati di un’incredibile varietà di funzioni ulteriori rispetto ai tool commerciali.
Le funzioni tipiche degli sniffer non differiscono di molto e possono essere
riassunte sinteticamente in:
· conversione e filtraggio delle informazioni presenti nei pacchetti in una forma leggibile dall’utente;
· analisi dei malfunzionamenti di rete, ad es. perché l'host A non riesce a dialogare con l'host B;
· analisi di qualità e portata della rete (performance analisys), ad es. per scoprire 'colli di bottiglia' lungo la rete;
· ricerca automatizzata di password e nomi di utenti in chiaro, o cifrati per una successiva analisi;
· creazione dei log (lunghi elenchi) del traffico sulla rete;
· scoperta di intrusioni in rete attraverso l’analisi dei log del traffico.
Gli sniffer
rappresentano un rischio elevato per una rete o per il pc dell’utente. La
semplice esistenza di uno sniffer in rete rappresenta una falla e una minaccia
alla sicurezza e alla riservatezza delle comunicazioni all’interno della rete
stessa.
Se la rete che si utilizza è sottoposta al ‘controllo’ di uno sniffer, ci sono
due possibilità: un intruso, dall’esterno è riuscito ad entrare nella rete e ad installare lo sniffer, oppure un utente o il gestore della rete
stessa sta andando ben oltre la manutenzione e
il monitoraggio delle connessioni.
In ogni caso la privacy, o peggio ancora, la sicurezza stessa di tutte le comunicazioni, è compromessa.
Sebbene uno sniffer possa essere installato ovunque sulla rete, esistono dei punti strategici che, permettendo la raccolta di determinate informazioni, sono favoriti rispetto ad altri. Uno di questi è un qualsiasi punto adiacente ad una macchina in cui si presume passino notevoli quantità di password; ad esempio un gateway di rete oppure un nodo che smisti il traffico in entrata e in uscita della rete stessa.
Se la LAN è connessa con l'esterno si può presumere che lo sniffer cercherà di monitorare le procedure d’autenticazione con le altre reti, cosa che permetterebbe di aumentare in via esponenziale le possibilità invasive di chi lo gestisce.
Lo sniffer generalmente viene installato, sia esso hardware o software, all’interno dello stesso segmento della rete che si vuole controllare.
Ovviamente esistono numerose eccezioni che rendono spesso difficile individuare i punti esatti in cui cercare uno sniffer all’interno della rete. Questo è ancor più vero per alcuni tool, decisamente costosi, sviluppati per operare analisi di traffico al livello dello stesso cavo di rete (cable sniffer); possono essere impiantati direttamente sulla connessione fisica della rete.
Per tentare di impedire un attacco portato da uno sniffer si hanno diverse possibilità:
· Topologia di rete sicura: suddivisione della rete in segmenti, utilizzando:
o Switches
o Routers
o Bridges
Con questa tecnica, i pacchetti vengono instradati esclusivamente verso quel segmento di rete in cui è effettivamente presente la macchina di destinazione; si evita quindi, il traffico inutile e potenzialmente pericoloso: se uno sniffer è in esecuzione si di una specifica macchina, allora esso catturerà solo il traffico presente in quel segmento di rete.
· Crittografia: per rendere i dati non comprensibili se non al legittimo destinatario.
· Sistemi di autenticazione avanzati come:
o Kerberos
o One Time Password
Kerberos è un servizio di autenticazione distribuito che permette ad un client di provare la sua identità senza spedire dati sensibili attraverso la rete: uno sniffer in ascolto non avrà le necessarie informazioni che gli permettano di impersonare il client successivamente.
Il meccanismo delle one time password consiste nell'utilizzare una determinata password solo una volta, ad esempio, solo per una sessione di lavoro. In questo modo, anche se uno sniffer la cattura, non potrà mai utilizzarla successivamente.
· Aumento del traffico sulla rete: le macchine non direttamente interessate alla trasmissione non saranno influenzate dall'aumento del traffico, mentre lo sniffer sarà costretto a leggere ed analizzare tutto il traffico, aumentando così la probabilità di perdere alcuni pacchetti, rendendo difficoltoso, se non impossibile, la ricostruzione delle informazioni originali.
· Utilizzare interfacce di rete che non hanno la possibilità di passare in modalità promiscua.