UNIVERSITA’ DEGLI STUDI DI PERUGIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Matematica Seminario di Sicurezza Informatica Il protocollo SMTP e lo Sniffer SPYD Studenti Raffaela Sarlo Azzurra Virgulti Docente Stefano Bistarelli 1 Il protocollo SMTP e lo Sniffer SPYD INDICE • Il protocollo SMTP Breve storia della posta elettronica Descrizione del funzionamento Uso del protocollo Limiti del protocollo SMTP • Lo sniffer SPYD Descizione dello sniffer Come utilizzare SPYD Come proteggere le proprie mail dagli sniffer 2 Il protocollo SMTP e lo Sniffer SPYD Breve storia della posta elettronica φ Nel 1969 nasce ARPANET, la prima rete sperimentale φ Nel 1970 viene definito il Network Control Protocol (NCP), l’insieme di regole necessarie per far parlare tra loro due host φ Nel 1971 Ray Tomlinson spedisce il primo messaggio di posta elettronica della storia φ Nel 1982 viene elaborato la RCF 821, nella quale si definisce il protocollo SMTP 3 Il protocollo SMTP e lo Sniffer SPYD Descrizione del funzionamento Il sistema di posta elettronica è diviso in tre fasi: 1. Consegna del messaggio (protocollo SMTP) 2. Mantenimento del messaggio nella casella di posta del server e presentazione, a richiesta, al proprietario della mailbox (protocollo POP3 o IMAP) 3. Lettura della posta dalla casella di posta elettronica tramite un programma (client) sul computer dell’utente 4 Il protocollo SMTP e lo Sniffer SPYD Analogia con la posta ordinaria • Il client di posta, se deve spedire qualcosa, cerca una buca delle lettere (server SMTP). • Vi infila la corrispondenza che verrà prelevata e portata a destinazione dal sistema postale. • Dal punto di vista del destinatario, l’unica cosa da fare è controllare periodicamente la propria cassetta delle lettere (mailbox POP3 o IMAP) per vedere se vi è stato inserito qualcosa. • Esattamente come la posta ordinaria, la corrispondenza viene smistata in base all’indirizzo. 5 Il protocollo SMTP e lo Sniffer SPYD Uso del protocollo SMTP φ Simple Mail Transfer Protocol (SMTP) è il protocollo utilizzato per trasmettere messaggi di posta elettronica tra due host. φ Il protocollo è descritto nella RFC 821, ma lavora in stretta collaborazione con altri standard, poiché ha diversi limiti. 6 Il protocollo SMTP e lo Sniffer SPYD Uso del protocollo SMTP Lo scambio dei messaggi avviene tra un mittente (M) ed un server destinatario (D) attraverso una connessione di rete. L’invio avviene in due passi: 1. Il programma di posta elettronica usato dall’utente invia il messaggio al proprio server, usando il protocollo SMTP. 2. Il server trasferisce il messaggio al server del destinatario utilizzando lo stesso protocollo. È possibile che il programma di posta elettronica usato dall’utente effettui direttamente il collegamento con il server del destinatario, senza utilizzare il proprio server. 7 Il protocollo SMTP e lo Sniffer SPYD Uso del protocollo SMTP SMTP Mittente Destinatario 8 Il protocollo SMTP e lo Sniffer SPYD Procedura per il trasferimento del messaggio 1. M, sulla base dell’indirizzo e-mail del destinatario, identifica il server D ed apre una connessione. 2. D identifica il suo indirizzo IP ed accetta la connessione. Inoltre, memorizza tale identificazione come parte iniziale del messaggio da ricevere. 3. M comunica lo username del destinatario. 4. D verifica la validità dell’indirizzo ed autorizza la trasmissione del messaggio. 5. D memorizza il messaggio in attesa che il reale destinatario si colleghi e ritiri il messaggio utilizzando un apposito protocollo (POP3 o IMAP). 9 Il protocollo SMTP e lo Sniffer SPYD Limiti del protocollo SMTP e sicurezza • Il protocollo SMTP originario non gestisce l’autenticazione del mittente • Rischio di SPAM • Possibilità di inviare e-mail facendo apparire come mittente l’indirizzo corrispondente ad un altro account Per ovviare a questi problemi è stata sviluppata un’estensione chiamata SMPT-AUTH, ma lo SPAM rimane ancora oggi un grave problema; a tal proposito si sta lavorando su varie proposte di autenticazione e-mail. 10 Il protocollo SMTP e lo Sniffer SPYD Descrizione dello sniffer ∞ In una rete con tecnologia ethernet tutti gli host sono in grado di leggere le informazioni trasmesse nella rete stessa. ∞ In genere, le informazioni che una “scheda disonesta” spia, appartengono ai pacchetti del protocollo che si trova più all’interno nell’insieme dei pacchetti annidati, cioè il SMTP. ∞ In zone in cui è richiesta sicurezza, la rete ethernet non dovrebbe mai essere scelta come tecnologia portante. 11 Il protocollo SMTP e lo Sniffer SPYD Lo sniffer SPYD ∞ Il programma demone SPYD ha il compito di mostrare quanto insicura possa essere una rete con tecnologia Ethernet. ∞ Il nome, SPYD, sta per “The Spy Daemon”, cioè il demone spia, poiché la posta intercettata può essere letta senza permesso alcuno del mittente o del destinatario. ∞ E’ stato realizzato da alcuni studenti universitari ed è distribuito come “freewear” o “Open Source Software”. 12 Il protocollo SMTP e lo Sniffer SPYD Fasi dello sniffer SPYD 1. Girando su di un host X, esso cattura ogni singolo pacchetto Ethernet, lo apre e ne estrae il pacchetto IP 2. Memorizza, analizza e raggruppa i pacchetti IP per sessione. SPYD ricostruisce tutti i pacchetti IP al fine di assemblare un pacchetto TCP 3. Ricostruisce il pacchetto TCP ed estrae la sessione SMTP. Isolata la sessione, SPYD la scrive in un file di testo nel filesystem e l’utente malintenzionato può comodamente andarla a leggere. 13 Il protocollo SMTP e lo Sniffer SPYD Come utilizzare SPYD I requisiti di sistema sono minimi. Per eseguire al meglio il programma c’è bisogno di: ∂. Un sistema Linux con una interfaccia alla rete Ethernet dalla quale si vuole “sniffare” il traffico di posta elettronica. ∂. Un compilatore C per compilare il demone. ∂. Privilegi di superutente (root) per eseguire lo stesso. 14 Il protocollo SMTP e lo Sniffer SPYD Come utilizzare SPYD Il demone, una volta in memoria, cattura tutte le e-mail in entrata ed in uscita che passano per quella rete e memorizza ciascuna e-mail in un file diverso. Ai file contenenti le lettere verrà assegnato un nome corrispondente alla data e all’ora della cattura delle stesse e saranno posti nella stessa directory da dove il programma è stato eseguito. Avranno come estensione la parola “.spied”. 15 Il protocollo SMTP e lo Sniffer SPYD Come proteggere le proprie mail dagli sniffer φ Per garantire la propria sicurezza durante l’invio di e-mail è necessario non far capire cosa c’è scritto nelle stesse a chi “sniffa”. φ Mediante l’utilizzo di programmi di crittografia è possibile codificare il testo in chiaro di una e-mail. φ I più recenti client di posta forniscono degli strumenti di cifratura interni piuttosto efficienti e versatili. 16 Il protocollo SMTP e lo Sniffer SPYD FINE Grazie per l’attenzione 17