Connessioni sicure: ma quanto lo sono? Vitaly Denisov Contenuti Cosa sono le connessioni sicure ?..................................................................................................................2 Diversi tipi di protezione contro i pericoli del network……………………...………………………….….4 Il pericolo delle connessioni sicure…………………………………………………………………………6 Gmail e virus………………………………………………………………………………………………..7 Web server virus…........................................................................................................................................7 Soluzioni……………………………………………………………………………………………………7 Kaspersky Internet Security………………………………………………………………………………...9 Conclusioni…………………………………………………………………………………………..........11 1 Che cosa sono le connessioni sicure? Le connessioni sicure sono create per proteggere le informazioni inviate tra due computer via Internet. Le connessioni sicure dovrebbero: Mascherare informazioni confidenziali a terzi Verificare l’identità della persona con cui sono state scambiate le informazioni Proteggere le informazioni affinché terzi non vi possano accedere o le possano modificare Fig. 1. Accesso ad una mailbox MS Exchange Server attraverso una connessione sicura Esistono poche modalità per difendere la trasmissione di informazioni e tutte queste richiedono l’uso di informazioni codificate e di chiavi speciali per leggerle. Queste chiavi (anche conosciute come certificati) di solito sono conservate in un database apposito – un archivio di certificati – e sono accessibili solo dagli utenti autorizzati. 1. Informazioni crittografate. Questo metodo maschera le informazioni (ad esempio le email) da terzi e fa una verifica di chi le ha inviate. Tuttavia, non verifica l’identità dei due computer coinvolti nello scambio di informazioni. Per creare un messaggio codificato e per avere due destinatari che lo leggano, bisogna che all’interno di questi siano installati dei programmi appropriati come PGP, GPG o S/MIME. La maggior parte delle informazioni crittografate sono trasferite via e-mail. 2 Fig. 2. Codificare le informazioni con PGP 2. Crittografare un canale di trasferimento. Questo metodo occulta l’intero contenuto della connessione e verifica l’autenticità di tutti i computer che ne fanno parte. Tuttavia in molte situazioni le informazioni stesse, contrariamente a quanto accade nel primo metodo, non vengono verificate. Per esempio, non è possibile l’identificazione di chi ha mandato un e-mail ricevuta attraverso un canale codificato. Questi protocolli di codificazione sono chiamati SSL e TLS Fig. 3. Impostazioni delle connessioni sicure in Outlook Express Oggi la stragrande maggioranza di applicazioni Internet è dotata di supporti per canali di trasferimento codificati: i server email e i programmi client, web server e browser, così come molte applicazioni proprietarie, come i sistemi bancari usati per gestire conti e fare pagamenti on-line. La semplicità di questo metodo è ovvia per gli sviluppatori: un protocollo standard di trasferimento dati può essere inserito all’interno di connessioni di network sicure, riducendo al minimo la necessità di effettuare delle modifiche alle applicazioni già pronte. Così funzionano i protocolli più conosciuti: 3 HTTPS (normalmente HTTP – il principale protocollo Internet che è codificato con SSL/TLS) POPS (normalmente POP3 – il principale protocollo per ricevere e-mail, codificato con SSL/TLS) SMPTPS (normalmente SMTP – il principale protocollo per inviare e-mail codificato con SSL/TLS) MAPS (normalmente IMAP4 – un protocollo comune per ricevere e-mail, codificato con SSL/TLS) NNTPS (normalmente NNTP – un protocollo comune per leggere notizie, SSL/TLS) codificato con Alcuni servizi sono offerti esclusivamente attraverso una connessione codificata, come la conosciuta Gmail. Questo articolo esamina i canali codificati di trasferimento, anche chiamati connessioni secure. Diversi tipi di protezione contro i pericoli della rete Le connessioni di rete sono utilizzate per trasmettere non solo informazioni utili ma anche informazioni maligne che possono creare pericoli per i computer. Tipici esempi di informazioni maligne sono rappresentati da pericoli come gli attacchi di hacker, i Trojan, gli e-mail worm e gli exploit che sfruttano vulnerabilità di alcune applicazioni. I seguenti tipi di programmi e di pacchetti di applicazioni possono essere usati per combattere questi attacchi: Firewall o Controlla ogni connessione network sul computer locale in accordo con certe regole definite: la connessione sarà accordata o respinta. o Può identificare (ma non eliminare) i Trojan quando cercano di trasmettere a terzi le informazioni personali raccolte. o Non può individuare virus indipendentemente dal tipo di connessione. 4 Fig. 4. Normative firewall per un’applicazione Protezione contro gli attacchi al network (IDS: Intrusion detection system) o Esegue la scansione ed è capace di bloccare gli attacchi per i quali esiste una firma digitale in una connessione di rete definita, indipendentemente dal protocollo o Può individuare i virus, ma non può eliminarli dai comuni protocolli HDCL HTTP e POP3. Quando viene rilevato un virus in un’e-mail ricevuta via POP3, l’unica possibile azione è terminare la connessione di rete . Ciò non garantisce, tra le altre cose, protezione contro i virus rilevati nell’e-mail e, quando l’utente cerca di ricevere altre e-mail dal server, l’e-mail infettata causerà la disconnessione della macchina vittima dell’infezione dal server di posta o Non può individuare i virus che si trovano all’interno di una connessione crittografata Fig. 5. Blocco di un attacco al network. Soluzioni Antivirus (e-mail e web) o Può identificare e neutralizzare i virus che si trovano nel database durante l’invio e la ricezione di informazioni attraverso un protocollo HDCL conosciuto. 5 o Non può identificare i virus all’interno di una connessione crittografata Fig. 6. Identificazione di un virus all’interno di un file scaricato Il pericolo delle connessioni sicure Come detto sopra, si possono trasmettere attraverso le connessioni di rete informazioni utili e anche maligne. Le soluzioni standard proteggono i computer dai pericoli presenti all’interno di connessioni network standard, ma non sono in grado di reagire contro i pericoli che si trovano all’interno delle connessioni sicure. E’ impossibile verificare il contenuto delle connessioni sicure proprio per la loro natura, così come dimostrato dai diversi tipi di protezione elencati sopra. Da ciò risulta che i dati maligni all’interno di canali sicuri possono causare una notevole quantità di danni, alle volte maggiori di quelli che si potrebbero avere nel caso di trasmissione di informazioni attraverso delle connessioni standard. Poiché risulta semplice codificare un canale di network e poichè che nella maggior parte dei casi non ci sarà una verifica di chi ha creato il file, ci si trova di fronte ad una situazione alquanto contraddittoria: una “connessione sicura” ad un server infonde all’utente un senso di sicurezza, ma non garantisce che la connessione sarà esente da informazioni maligne I rischi inerenti le “connessioni sicure” appaiono alquanto chiari soprattutto oggigiorno, in quanto questo tipo di connessione si sta diffondendo sempre di più. Dopo che gli sviluppatori hanno garantito il supporto SSL/TLS per tutte le applicazioni web più popolari, un certo numero di server su Internet hanno cominciato ad offrire i loro servizi via SSL/TLS: insieme ai maggiori siti bancari, tutti i grandi fornitori di servizi email hanno previsto l’accesso al loro sito esclusivamente attraverso connessioni sicure. La preparazione degli amministratori di tali server spesso non è all’altezza perchè questi possano configurare correttamente una connessione sicura al server. La situazione è inoltre peggiorata dal fatto che un attacco su un computer può essere sferrato in maniera remota, come ad esempio inserendo semplicemente un file maligno su un server che può essere raggiunto solo attraverso una connessione sicura. 6 Alcuni esempi si possono trovare sotto Gmail e virus Il famoso servizio Gmail offre l’accesso ai propri server esclusivamente attraverso una connessione sicura. Si sa che i server Gmail usano un programma antivirus. Adesso, consideriamo alcune ipotetiche situazioni: 1. Uno scrittore di virus manda il suo virus ad un utente di Gmail 2. L’antivirus di Gmail non identifica il virus poiché l’aggiornamento del database antivirus è in ritardo 3. Dopo un po’ l’utente scarica la e-mail infetta dal computer locale poiché l’antivirus Gmail è stato ottimizzato, nel senso che ora attua la scansione delle e-mail solo quando queste raggiungono l’inbox e non quando queste sono trasmesse dall’utente. 4. Il programma antivirus sul computer locale, che ha già aggiornato il suo database includendo le nuove definizioni di virus, non identifica il virus in quanto la connessione di rete non è in linea con i requisiti di Gmail e l’antivirus per le e-mail non è riuscito a scannerizzare la e-mail. 5. Il file antivirus riesce a identificare il virus nel database delle e-mail e indica che tutto il database delle e-mail deve essere eliminato poiché spesso risulta impossibile ripulire un database infetto. 6. Risultato: l’utente perderà tutta la sua corrispondenza. Web Server Virus Un esempio altrettanto interessante: un utente maligno può caricare un file maligno in un web server e poi spingere gli utenti Internet a visitare quel server. Se il virus è posizionato su un server regolare HTTP, un computer con un software antivirus non incorrerà in alcun pericolo. Tuttavia se il virus è posto su un server HTTPS la situazione sarà un po’ più complicata: 1. Lo scrittore di virus può servirsi di una vulnerabilità per accedere a file conservati nel server (come nel caso dei server Valuehost, di un provider russo: http://www.viruslist.com/ru/weblog?weblogid=207758614) e può sostituire i file con il virus 2. Un utente apre un sito web familiare con un browser standard che usa HTTPS. Il web antivirus non può leggere le informazioni nella connessione crittografata e non può evitare che i file infetti siano scaricati. 3. Al posto di una normale pagina web, il browser carica un virus che sfrutta una vulnerabilità del browser. Il virus immediatamente eseguirà il suo codice all’interno del browser. Il file antivirus non può bloccare l’esecuzione del codice maligno poiché il file infetto viene elaborato dal file antivirus solo dopo essere stato salvato su un disco, in questo caso solo dopo che il codice maligno è stato eseguito. 4. Risultato: il computer viene infettato Soluzioni Per riuscire a controllare le informazioni trasferite attraverso connessioni sicure, la maggior parte degli sviluppatori di antivirus offrono dei plug-in per il web. Questo approccio ha dei vantaggi e degli svantaggi: 7 – – Vantaggi: • Il flusso di informazioni tra client e server non è colpito • Il flusso di informazioni non è accessibile a terzi Svantaggi: • E’ impossibile creare un plug-in per certe applicazioni. Un esempio chiave: Outlook Express, il più diffuso programma e-mail • Ci sono delle limitazioni nell’utilizzo di plug-in. Un esempio: MS Outlook Fig. 7. Un antivurus plug-in per Microsoft Office Outlook . Un’alternativa all’uso di plug-in è l’utilizzo del metodo man-in the middle per il controllo del traffico. Questa soluzione supera gli aspetti negativi dell’architettura del plug-in. Sebbene questo abbia i suoi svantaggi, i produttori di antivirus sono stati spinti a implementare questo approccio per proteggere i loro utenti. Questo metodo è un attacco sull’essenza di SSL/TLS, poiché questo intercetta la connessione sicura, sostituisce la certificazione originale e crea due connessioni sicure: una tra l’applicazione e il proxi antivirus, l’altra tra il proxi antivirus e il computer remoto Fig. 8. Una connessione sicura standard 8 Fig. 9. Un’assodata connessione sicura. - Pro: • Le connessioni possono essere analizzate per ogni applicazione client • La connessione può essere analizzata per la ricerca di virus sotto qualsiasi protocollo. • Oltre alla scansione antivirus, il proxi può eseguire tutte le altre operazioni cercando attività di phishing, spam, etc. • Il flusso di informazioni non può esser visto da terzi a meno che questi non conducano un attacco man-in-the-middle. - Contro: • Il flusso di informazioni tra client e server è modificato, con questi risultati: – Le applicazioni web non possono verificare l’autenticità di un server – Un server non può verificare l’autenticità di un client – Se il proxy non svolge le proprie verifiche, potrebbe verificarsi un secondo attacco man-in-the-middle (tra il proxi e il server) Nella pratica la scansione del traffico non presenta alcun pericolo per l’utente. La scansione viene effettuata nella macchina locale; si può richiedere all’utente di effettuare delle scelte e tutti i certificati remoti possono essere controllati dai software antivirus e dagli archivi dei certificati così come viene fatto dalle applicazioni web. Gli svantaggi del metodo man-in-the-middle sono più che compensati. Il computer sarà totalmente protetto contro i rischi in tutti i tipi di connessioni network. Kaspersky Internet Security Kaspersky Internet Security offre soluzioni che verificano tutti e due i tipi di connessioni sicure: 1. Plug-in per applicazioni web: o MS Outlook, o TheBat, o IE ScriptChecker 9 2. Verifica della sicurezza delle connessioni nel traffico usando il metodo del man-in-the-middle o Kaspersky Internet Security informa l’utente di tutte le azioni che compie Dà comunicazione all’utente di sostituzioni di certificazioni del server Verifica i certificati ricevuti da un server negli archivi di certificati Windows esattamente alla stessa maniera delle applicazioni web Non è incluso lo stadio finale del metodo man-in-the-middle. La registrazione di certificati sostituti, all’interno degli archivi dei certificati riconosciuti, deve essere eseguita dall’utente. o Kaspersky Internet Security offre l’opzione di disattivare il controllo di certe connessioni (opzioni di configurazione: applicazioni/server/porte). Questo elimina ogni eventuale domanda che potrebbe presentarsi circa il corretto funzionamento di servizi che controllano l’autenticità del cliente o Kaspersky Internet Security verifica ogni possibile parametro all’interno delle connessioni sicure 10 Il componente web antivirus identifica i virus nel traffico browser Il componente e-mail antivirus identifica i virus nel traffico e-mail Il componente anti-phishing identifica i falsi siti web e i link a loro diretti Il componente antibanner blocca i pop-up Il componente antispam blocca la corrispondenza indesiderata Fig. 10. Identificazione di un file di testo eicar all’interno di una connessione browser sicura Conclusioni Le connessioni sicure sono create per proteggere le informazioni contro eventuali modifiche e furti. Tuttavia, i pericoli descritti rimangono ancora un problema reale contro cui le connessioni sicure non possono proteggersi. E’ interessante notare come il termine connessione sicura possa ingannare l’utente creando un falso senso di sicurezza. La situazione è peggiorata ancor più dal fatto che, all’interno dei canali sicuri, non si possono utilizzare soluzioni standard di sicurezza. Bisogna usare metodi speciali per fornire una protezione totale contro i pericoli del network. La soluzione più semplice ed ovvia è l’uso di plug-in per i web browser. Sfortunatamente, i plug-in non sono universali e molte applicazioni non li supportano o impongono troppe restrizioni sulle loro funzionalità. Un’altra soluzione trovata dai produttori di antivirus riguarda la verifica del traffico. I rischi delle connessioni sicure non dovrebbero essere sottovalutate . Quando prendi delle decisioni circa la sicurezza del tuo computer, assicurati che la tua soluzione antivirus fornisca piena protezione contro tutti i pericoli della rete. 11