Servizi di Messaggistica Generalità Messaggistica Introduzione I servizi di messaggistica sono servizi di comunicazione bidirezionale sincroni tra due o più soggetti in rete. Caratteristiche. Sincronismo : tutti i partecipanti devono essere contemporaneamente connessi alla rete per potere partecipare alla conversazione. Real-time : immediato, come una comunicazione telefonica. Servizi trattati (IM) (IRC) C.Parisi 2 C.Parisi 1
Servizi di messaggistica Messaggistica Istantanea (IM) (IM) IM è una forma di comunicazione real-time tra due o più persone connesse in rete. Si differenzia dalla posta elettronica per via del sincronismo della comunicazione. Inizialmente la comunicazione era prettamente testuale, oggi si sono via via aggiunte nuove funzionalità fino alla fornitura di servizi di conferenza web che integrano IM con servizi di VoIP e video conferenza. In particolare: Chat di gruppo Memorizzazione della conversazione Trasferimento file Video conferenza VoIP C.Parisi 4 C.Parisi 2
Diffusione ed impiego Numerosi studi riguardanti la diffusione della messaggistica evidenziano la presenza di due aree di maggiore sviluppo e utilizzo dell IM. Vita privata: gestione della vita sociale in genere per essere in contatto con parenti e amici Attività lavorativa : velocizzazione nello scambio di domande e risposte, attività di coordinamento e collaborazione. Lo stesso linguaggio che viene utilizzato nell ambito dei messaggi è molto sintetico e privo di preamboli per esempio tipici della comunicazione telefonica. C.Parisi 5 Estensioni Mobile IM Mobile (MIM) Tendenza ad estendere le funzionalità e la capacità di inter-relazione tra le persone ad altri dispositivi quali ad es. i telefoni cellulari. Obiettivo : integrare le funzionalità proprie di un sistema di IM in un dispositivo con caratteristiche tecniche e di usabilità completamente diverse da un computer. Per una buona QoS del servizio bisogna considerare in particolar modo: Larghezza di banda, capacità di memoria Disponibilità dei formati dei dati (audio, video etc..) Integrazione di una tastiera funzionale/usabile nel dispositivo mobile Risoluzione dello schermo Capacità di CPU e consumo di potenza (batteria) C.Parisi 6 C.Parisi 3
Esempio di client IM Fonte Google Fonte AOL Fonte Internet C.Parisi 7 Sistema centralizzato La maggior parte dei sistemi IM impiega una struttura client-server di tipo centralizzato. Utenti installano un programma client sulle loro macchine (PC, dispositivi wireless, PDA etc...) e si connettono con il server IM attraverso l infrastruttura messa a disposizione del provider del servizio. Il server del sistema spedisce i messaggi provenienti da un client a tutti gli altri client connessi nella rete IM. Fonte Symantec C.Parisi 8 C.Parisi 4
Sistema P2P Alcuni sistemi IM implementano un modello di tipo client/server P2P. In questo caso il client contatta il server per la localizzazione degli altri client. Una volta localizzati li contatta direttamente senza utilizzare il server. Questo sistema offre un maggiore sicurezza nella trasmissione dei dati qualora i due peer fossero all interno della stessa LAN in quanto i messaggi non verrebbero trasmessi in rete ma rimarrebbero locali alla rete LAN. Fonte Symantec C.Parisi 9 Protocolli di comunicazione Non esiste un vero e proprio standard per lo scambio dei messaggi all interno dei sistemi di messaggistica istantanea, al contrario si sono sviluppati diversi sistemi di reti di IM ciascuna con il suo software specifico e non interfacciabile con gli altri, per cui utenti di un sistema non possono colloquiare con utenti di un altro. Diversi tentativi sono stati fatti per definire uno standard, ma con poco successo. Oggi le tre maggiori società che offrono sistemi IM (Microsoft, Yahoo!, AOL) hanno siglato un accordo in base al quale gli utenti di Live Communication Server 2005 di Microsoft possono comunicare anche con i sistemi degli altri due. Ciò di fatto ha fissato in SIP/SIMPLE il protocollo di interconnessione del mercato per i prodotti IM. C.Parisi 10 C.Parisi 5
Session Initiation Protocol SIP (Session Initiation Protocol) basato su IP e definito da RFC 3261. Caratteristiche: Gestione delle sessioni di comunicazione tra due o più entità Meccanismi per instaurare, modificare e terminare una sessione Implementazione di architettura facilmente scalabile e modulare Impiego sia nei sistemi client/server che peer-to-peer Indipendente dal protocollo di trasporto Applicazioni VoIP Video comunicazione Giochi interattivi Messaggistica istantanea SIP TLS TCP / UDP IP PHISYCAL Può usare come protocollo di trasporto sia l UDP alla porta 5060 oppure TCP e TLS. C.Parisi 11 Qualità del Servizio Parametri relativi alla QoS del servizio Interoperabilità del servizio (ad esempio pidgin http://www.pidgin.im/ è un software disponibile per i diversi sistemi operativi e permette connessione con multipli account su diverse reti IM). Disponibilità del servizio (server sempre operativi) Capacità server devono essere in grado di supportare molteplicità di client connessi contemporaneamente C.Parisi 12 C.Parisi 6
Sicurezza In generale la sicurezza di un sistema di messaggistica è paragonabile a quella di un sistema di posta elettronica senza sistema di cifratura dei messaggi. Sistemi di IM non garantiscono la riservatezza, autenticazione ed integrità dei messaggi. L utilizzo di TLS (cifratura dei dati) è ancora poco utilizzata in questi sistemi, e l uso di macro o linguaggi di scripting (VBasic, JavaScript) li indebolisce maggiormente. A livello aziendale se il servizio di messaggistica avviene all interno di intranet i livelli di sicurezza sono buoni. Il rischio di utilizzo di IM all interno dell azienda è però dato dalla diminuzione della produttività. C.Parisi 13 Sicurezza Il modello client server è più debole dal punto di vista della sicurezza in quanto le trasmissioni transitano tutte attraverso il server, chi avesse accesso al server in modo fraudolento avrebbe accesso a tutte le comunicazioni della rete IM che ivi transitano. Il modello peer-to-peer offre maggiore sicurezza nel caso in cui entrambi gli utenti si trovino all interno della stessa local area network (gli utenti non devono uscire in Internet per comunicare) C.Parisi 14 C.Parisi 7
Minacce Elenco di possibili minacce: Account hijacking i dati di account sono spesso memorizzati senza cifratura, le stesse password sono salvate su supporto fisso in alcuni casi senza essere cifrate o con il loro hash. Diffusione di virus e worm tramite linguaggi di scripting che utilizzando la lista delle persone collegate in dato momento Denial of service DoS ad un server IM inviando da una miriade di pacchetti TCP/IP al server stesso in modo che questi non possa servire le richieste legittime, oppure invio di pacchetti IM ad un utente od un gruppo di utenti con richieste di trasferimento file o messaggi. Intercettazione (poco usato) dal momento che i messaggi non sono cifrati, software di intercettazione di pacchetti in rete riesce a leggere il contenuto dei messaggi mandati con protocollo SIP (sia che il sistema sia centralizzato che se è P2P) C.Parisi 15 Sicurezza - suggerimenti A livello personale : Utilizzo di software antivirus a livello di singola unità (PC) Controllo sui file ricevuti via IM, fintanto che non vengono aperti non possono creare danni, per cui prima di leggerli assicurarsi della provenienza e verificarne il contenuto con un software antivirus A livello aziendale : E piuttosto difficile configurare il firewall in modo da filtrare comunicazioni IM perchè i server IM hanno fatto in modo di avere tunnel pacchetti IM su canali comunemente utilizzati per altri servizi (ad es. http porta 80, smtp). Blocco di accesso ai più noti IM server ma in questo caso bisogna conoscere l indirizzo IP specifico del server (molto più oneroso che bloccare il traffico per data porta e/o protocollo)!! C.Parisi 16 C.Parisi 8
Servizi di Messaggistica (IRC) Generalità IRC è una forma di comunicazione real-time tra due o gruppi di persone connesse in rete. La comunicazione avviene in modo sincrono definendo canali (tematici) di comunicazione all interno dei quali un gruppo di persone parlano di un determinato argomento. (Gruppo di discussione e/o forum). IRC è basato su protocollo TCP (opzionalmente supporto SSL) e comunica sulla porta 6667. Non esiste uno standard ufficiale per la comunicazione in Internet Relay Chat, nonostante le tante pubblicazioni. (cfr http://www.irchelp.org/ ) C.Parisi 18 C.Parisi 9
Generalità Le chat consistono in una serie di reti IRC (IRC network) non comunicanti tra di loro. Ciascuna rete IRC dispone di diversi canali tematici. Tutti coloro che sono connessi a quel canale si scambiano informazioni e opinioni. Il meccanismo base della comunicazione è dato dal canale. Dato un canale, tutti messaggi che transitano su quel canale sono visibili a tutti gli utenti che partecipano alla conversazione, cioè che sono connessi in quel canale in quel determinato istante. La struttura del canale è dinamica nel senso che client si possono aggiungere e togliere in qualunque momento. Utenti che partecipano a gruppi di discussione diversi cioè associati a canali diversi non possono comunicare tra di loro. C.Parisi 19 Architettura I servizi IRC hanno un architettura tipo client/server. Per accedere ad una chat è necessario un collegamento, il programma IRC client. Nella configurazione del client bisogna : Connettersi alla rete IRC prescelta, selezionare un server Identificarsi Connettersi ad un determinato canale della rete IRC Il client IRC così configurato può partecipare alla discussione inviando messaggi al proprio server. Sarà cura del server diffondere il messaggio a tutti i client connessi con il server ed a tutti i server della rete IRC. C.Parisi 20 C.Parisi 10
Architettura IRC clients CHAT (msg) IRC servers C.Parisi 21 IRC Network IRC Quakenet (#italia) IRC IRCnet (#italia) Utenti su reti diverse non possono comunicare tra di loro neanche se il nome del canale è identico C.Parisi 22 C.Parisi 11
Esempi Esempio di configurazione di una connessione Selezione del tipo di rete IRC a cui si vuole accedere. Impostazione dei dati identificativi (email address, nickname etc...) Fonte Internet C.Parisi 23 Esempi Una volta connessi con la rete IRC si seleziona il canale su cui si vuole chattare. Fonte Internet C.Parisi 24 C.Parisi 12
Reti IRC Classifica (cfr http://irc.netsplit.de/networks/ top100.php) delle reti IRC più popolari. Ogni rete è formata da un certo numero di server che costituiscono la rete virtuale della chat. La comunicazione su queste reti è basata sul protocollo IRC (RFC 1459). Fonte Internet C.Parisi 25 Sistema di reti IRC Fonte Internet Un rete IRC è formata da una serie di server connessi insieme. Ciascun utente è connesso con un server ed automaticamente a tutti gli altri client connessi con i server. I server hanno accesso e condividono le stesse informazioni quindi da un punto di vista degli utenti è indifferente a quale server è connesso. I server conoscono i altri server, i canali su cui l utente è connesso e a quale server appartiene. Eventuale perdita di un server in una struttura del genere determina una ricostruzione del canale di comunicazione. C.Parisi 26 C.Parisi 13
Sistema di reti IRC distribuite Fonte Internet Il modello di server distribuiti è più flessibile a fronte di interruzione nella connessione di un server. In questo caso i server mantengono le connessioni con più server della rete in modo che l interruzione con uno di essi (detto netsplit ) non determini isolamento di parti della rete. C.Parisi 27 Qualità del servizio Parametri relativi alla QoS Capacità server devono essere in grado di supportare molteplicità di client connessi contemporaneamente Disponibilità del servizio (mantenimento delle connessioni tra i server anche a fronte di netsplit) Netsplit (partizionamento della rete) è la disconnessione tra due o più server. Cause principali sono crash del server, della rete, attacchi di tipo DoS. Ciò determina l isolamento di una parte della rete IRC e quindi degli utenti ad essa connessi. C.Parisi 28 C.Parisi 14
Sicurezza In generale le trasmissioni non sono criptate, anche se IRC possono utilizzare il protocollo SSL per la connessione tra il client ed il server ciò non viene fatto in pratica anche per lo scopo stesso per cui si usano in genere le chat. La possibilità di allegare file ad una conversazione determina i rischi presenti anche negli allegati di un messaggio di posta elettronica (presenza di virus/worm etc...). Usare precauzione e verificare il file con antivirus prima di aprirlo, evitare utility che visualizzano automaticamente anteprime del file, visualizzare l estensione del file, etc... La rete IRC nonostante sia utilizzata anche per la condivisione di file di fatto non è una rete P2P nel senso che non mantiene una lista centralizzata dei file. (cfr http://www.irchelp.org/irchelp/security/index.html) C.Parisi 29 Sicurezza suggerimenti sono state aggiunte funzionalità ai servizi di IRC per una maggiore sicurezza del sistema. Lato server : Modalità di oscurare l host in modo da proteggersi da DoS atttacchi Crittografia dei contenuti tramite SSL Autenticazione a livello di IRC server Precauzioni per gli utenti. Mai dare fornire dati personali in generale. Usare nickname dal genere neutro (inglese), oggetti (italiano) Indicare indirizzi di mail fasulle o temporanee e non rispondenti a indirizzi reali. C.Parisi 30 C.Parisi 15
Botnets Botnets Definizione Si tratta di una rete di computer collegati in Internet che agiscono dietro il diretto comando di un controllore (botmaster). Ciascun computer contiene un programma (installato in modo nascosto e senza l assenso dell utente) in grado di agire in modo automatico ed autonomo a fronte di comandi inviati in Internet dal server che li controlla. In genere - ma non necessariamente - per controllare il gruppo di computer si utilizza un rete IRC. C.Parisi 32 C.Parisi 16
Botnets Generazione 1) Bot master installa il cosiddetto bot in diversi computer con diversi meccanismi 2) Acquisisce il controllo con il computer designato da server della rete di bot. 3) Affitta o vende il controllo della rete a malfattori 4) Utilizza il server per fare eseguire una serie di comandi alla rete di computer sotto controllo C.Parisi 33 Botnets Utilizzo C.Parisi 34 C.Parisi 17