Come prevenire lo sniffing dei dati

Posted On 26 Ott 2010
Comment: Off

1153286_528075601Da Milano – La priorità per un esperto di sicurezza è proteggere i dati, sempre e comunque. Purtroppo non si può sempre far ricorso al tunnelling vpn, crittografia, chiavi esotiche di cifratura e quant’altro. In qualche caso ciò che viene trasmesso deve passare in chiaro e l’eventuale uso di uno sniffer, da parte di un non avente diritto, deve essere assolutamente evitato.
Per capire come proteggere il traffico di rete da occhi indiscreti dobbiamo partire dall’inizio, ossia da come è fatta una rete.

 

Segmenti di rete
Un segmento di rete consiste in un gruppo di macchine che condividono traffico a bassissimo livello, che tipicamente coincide con il segmento di collisione. Una volta le reti erano formate da un unico cavo di rete coassiale che aveva un inizio ed una fine racchiusi tra due “tappi”, ma erano frequenti i problemi perché bastava che un cavo fosse “toccato” dalla signora delle pulizie per interromperne il funzionamento.
Successivamente le reti si sono evolute e grazie all’introduzione del multiport repeater i problemi, soprattutto dovuti ai collegamenti, sono diminuiti ma in entrambi i casi il funzionamento è il medesimo.
Tutte le schede di rete parlano ed ascoltano, trasmettendo e ricevendo dati sulla medesima frequenza dello stesso filo, anche se in tempi diversi, dell’ordine di millisecondi. Quando due schede di rete trasmettono contemporaneamente si genera una collisione ed entrambe ritrasmettono i propri dati ripetendo successivamente il medesimo segnale. Tanto è minore il numero di collisioni in percentuale rispetto al numero di pacchetti trasmessi, tanto maggiore è la performance della rete.
Va da se che quando i nodi sono troppi avviene ciò che sappiamo in un luogo troppo affollato, ossia si crea un rumore di fondo che rende praticamente impossibile la conversazione tra due persone. Infatti, superato il numero di 30 schede di rete che insistono sul medesimo segmento di collisione, le performance degradano in maniera esponenziale al crescere del traffico.
Per questo motivo, sono stati inventati gli switch, detti anche bridge intelligenti, che anziché ripetere i segnali a basso livello verso tutti i nodi ed attendere che le collisioni regolino il traffico, si interpongono come un filtro lasciando passare solo i dati che interessano il nodo che si trova su quella determinata porta, creando di fatto un circuito virtuale tra chi trasmette e chi riceve.
Gli switch di questo tipo gestiscono al proprio interno una tabella ARP e sanno esattamente su quale porta si trova quella determinata scheda. Se un nodo vuole aprire una sessione, i segnali vengono copiati solo sulla porta interessata, nascondendo di fatto il traffico agli altri nodi.

 

fig-01

Il Protocollo TCP/IP
Esiste un altro metodo per nascondere i dati. Attraverso l’uso del TCP/IP un segmento di rete può coincidere con una subnet di indirizzi gestita da un router. Definire i confini di una subnet vuol dire rendere appartenenti al medesimo segmento un gruppo di host non solo a livello fisico ma al livello di protocollo. Quando si parla di infrastruttura di rete occorre sempre avere in mente il modello ISO/OSI. Bisogna posizionarsi mentalmente al livello di riferimento, considerando il livello fisico sul gradino più basso ed il livello applicativo al livello più alto, passando per diversi strati gestiti da uno o più protocolli di comunicazione.
Detto questo, fate molta attenzione perché due o più subnet gestiti al livello 3 del protocollo TCP/IP possono tranquillamente condividere lo stesso segmento fisico di rete gestito dal secondo o primo livello.
Infatti, è possibile utilizzare il medesimo switch per gestire due diverse subnet, senza fare ricorso ad opzioni esotiche di qualche switch più costoso come ad esempio le LAN virtuali. In questo caso, i computer che appartengono ai due diversi gruppi potravvo vedersi tra di loro ma non trasversalmente con i computer dell’altro gruppo. Per consentire l’apertura di un canale di comunicazione tra due computer appartenenti a due subnet diverse occorre configurare un router che generi un’appropriata tabella di instradamento e che abbia la possibilità di raggiungere un indirizzo TCP/IP di entrambe le subnet.
Non occorre che il router abbia due schede di rete e che ciascuna di esse abbia l’indirizzo TCP/IP definito all’interno di ciascuna delle due subnet. E’ possibile anche configurare sulla medesima scheda del router due indirizzi TCP/IP ciascuno appartenente ad una delle due subnet ed il gioco è fatto.

Barriere hardware
Per rendere sicuro un segmento bisogna considerare prima gli altri segmenti cui il primo è collegato. In un ufficio dove ci sono determinate regole per accedere, come ad esempio una sala server, è difficile installare uno sniffer senza essere scoperti. Diverso è invece il caso di una sala pubblica dove è consentito il libero accesso.
Pensiamo tipicamente ad una Università, dove esistono segmenti di Facoltà che dovrebbero rimanere privati e segmenti pubblici, come ad esempio la biblioteca, dove entra e si collega chiunque.
Ovviamente, l’uso di strumenti come Firewall e simili sono praticamente un obbligo. Seguendo i fattori di costo e di performance sarebbe molto più semplice collegare tutte le macchine tra loro attraverso apparati economici, ma dal punto di vista della sicurezza questa soluzione è un pugno allo stomaco.
In questo caso occorre racchiudere tutte le macchine ad accesso pubblico in uno spazio ben delimitato, creando un solo ed unico collegamento verso la sala server, adeguatamente presidiato da un firewall.
In questo caso, i dati che viaggiano sul segmento sicuro dovrebbero quasi certamente restare inviolati anche se ci sono moltissimi fattori in gioco, come ad esempio la tipologia degli edifici, la distanza tra gli apparati di rete ed il numero di computer utilizzati. In ogni caso, ho usato il condizionale perché nel mondo dell’informatica, quando si parla di sicurezza, il condizionale è obbligatorio.

About the Author

Related Posts