Meta metà dei siti , e il loro numero è in costante aumento. Il protocollo riduce il rischio di intercettazione del traffico, ma non esclude le tentativi di attacco. Alcuni di essi — POODLE, BEAST, DROWN e altri — e i metodi di protezione, li descriveremo nel nostro materiale.
/ Flickr / / CC BY-SA
POODLE
La prima notizia sull'attacco è emersa nel 2014. La vulnerabilità nel protocollo SSL 3.0 è stata scoperta dall'esperto di sicurezza Bodo Möller insieme ai colleghi di Google.
La sostanza consiste nel seguente: un hacker costringe il cliente a connettersi utilizzando SSL 3.0, emulando interruzioni della connessione. Poi cerca nel traffico crittografato in -modalità messaggi speciali e marcatori. Attraverso una serie di richieste fasulle, il malintenzionato riesce a ricostruire il contenuto dei dati di interesse, ad esempio i cookie.
SSL 3.0 è un protocollo obsoleto. Ma la questione della sua sicurezza è ancora attuale. I clienti lo utilizzano per evitare problemi di compatibilità con i server. Secondo alcuni dati, quasi il 7% dei 100.000 siti più popolari . Inoltre modifiche POODLE, mirate a TLS 1.0 e TLS 1.1 più moderni. Quest'anno nuovi attacchi di Zombie POODLE e GOLDENDOODLE, che aggirano la protezione di TLS 1.2 (sono ancora collegati alla crittografia CBC).
Come proteggersi. Nel caso dell'originale POODLE, è necessario disattivare il supporto per SSL 3.0. Tuttavia, in questo caso c'è il rischio di avere problemi di compatibilità. Una soluzione alternativa potrebbe essere il meccanismo TLS_FALLBACK_SCSV — garantisce che lo scambio di dati utilizzando SSL 3.0 avvenga solo con i vecchi sistemi. I malintenzionati non potranno più avviare il downgrade del protocollo. Un modo per proteggersi dagli attacchi Zombie POODLE e GOLDENDOODLE è disattivare il supporto di CBC nelle applicazioni basate su TLS 1.2. Una soluzione radicale sarà il passaggio a TLS 1.3 — nella nuova versione del protocollo non viene utilizzata la crittografia CBC. Invece, sono usati algoritmi più robusti come AES e ChaCha20.
BEAST
Uno dei primi attacchi su SSL e TLS 1.0, scoperto nel 2011. Come POODLE, BEAST fa leva sulle peculiarità della crittografia CBC. I malintenzionati installano sulla macchina client un agente JavaScript o un applet Java, che sostituisce i messaggi durante la trasmissione dei dati tramite TLS o SSL. Poiché i malintenzionati conoscono il contenuto dei pacchetti ‘falsi’, possono utilizzarli per decrittografare il vettore di inizializzazione e leggere altri messaggi destinati al server, come i cookie per l'autenticazione.
Ad oggi, le vulnerabilità di BEAST sono ancora : server proxy e applicazioni per la protezione dei gateway Internet locali.
Come proteggersi. L'attaccante deve inviare continuamente richieste per decrittografare i dati. In VMware ridurre la durata del SSLSessionCacheTimeout — da cinque minuti (raccomandazione predefinita) a 30 secondi. Questo approccio complicherà i piani dei malintenzionati, sebbene possa avere un certo impatto negativo sulle prestazioni. Inoltre, bisogna capire che presto la vulnerabilità BEAST potrebbe scomparire da sola — a partire dal 2020, i principali browser di supportare TLS 1.0 e 1.1. In ogni caso, con questi protocolli lavora meno dell'1,5% di tutti gli utenti browser.
DROWN
Questa è un'attacco cross-protocol che sfrutta le vulnerabilità dell'implementazione di SSLv2 con chiavi RSA a 40 bit. L'attaccante intercetta centinaia di connessioni TLS della vittima e invia pacchetti speciali al server con SSLv2, usando la stessa chiave privata. Utilizzando , l'hacker può decrittografare una delle circa mille sessioni TLS del cliente.
DROWN è stata resa nota per la prima volta nel 2016 — allora risultava nel mondo. A oggi, non ha perso rilevanza. Su 150.000 siti più popolari, il 2% supporta ancora SSLv2 e meccanismi di crittografia vulnerabili.
Come proteggersi. È necessario installare le patch fornite dagli sviluppatori delle librerie crittografiche, che disabilitano il supporto per SSLv2. Ad esempio, due di queste patch sono state fornite per OpenSSL (nel 2016 1.0.1s e 1.0.2g). Anche aggiornamenti e istruzioni su come disabilitare il protocollo vulnerabile sono stati pubblicati in , , .
«La risorsa potrebbe essere vulnerabile a DROWN se le sue chiavi sono condivise con un server esterno che utilizza SSLv2, ad esempio un server di posta», sottolinea il responsabile dello sviluppo Sergei Belkin. — Questa situazione si verifica se più server utilizzano un certificato SSL comune. In questo caso, disabilitare il supporto per SSLv2 è necessario su tutte le macchine.»
Controllare se è necessario aggiornare il sistema è possibile utilizzare uno — sviluppato da esperti di sicurezza che hanno scoperto DROWN. Maggiori informazioni sulle raccomandazioni relative alla protezione contro questo tipo di attacchi possono essere lette nel .
Heartbleed
Una delle più grandi vulnerabilità nel software — . È stata scoperta nel 2014 nella libreria OpenSSL. Al momento dell'annuncio del difetto, il numero di siti web vulnerabili , che corrisponde a circa il 17% delle risorse protette in rete.
L'attacco si realizza tramite un piccolo modulo Heartbeat dell'estensione TLS. Il protocollo TLS richiede che i dati siano trasmessi in modo continuo. In caso di inattività prolungata, la connessione si interrompe e deve essere ripristinata. Per affrontare il problema, server e client generano artificialmente "rumore" nel canale (), inviando pacchetti di lunghezza casuale. Se risultava più grande del pacchetto principale, le versioni vulnerabili di OpenSSL leggeva la memoria oltre il buffer assegnato. In questa area potevano trovarsi dati di qualsiasi tipo, incluse le chiavi di crittografia e informazioni su altre connessioni.
La vulnerabilità era presente in tutte le versioni della libreria tra 1.0.1 e 1.0.1f inclusa, oltre che in diversi sistemi operativi — Ubuntu fino alla 12.04.4, CentOS superiori alla 6.5, OpenBSD 5.3 e altri. Un elenco completo è disponibile . Anche se le patch per questa vulnerabilità sono state rilasciate praticamente subito dopo la sua scoperta, il problema rimane attuale fino ad oggi. Già nel 2017 , erano vulnerabili a Heartbleed.
Come proteggersi. È necessario alla versione 1.0.1g o superiore. È anche possibile disabilitare manualmente le richieste Heartbeat utilizzando l'opzione DOPENSSL_NO_HEARTBEATS. Dopo l'aggiornamento, gli esperti di sicurezza informatica devono riemissionare i certificati SSL. È necessaria la sostituzione nel caso in cui le informazioni sulle chiavi di crittografia siano state catturate dai hacker.
Sostituzione del certificato
Tra l'utente e il server viene stabilito un nodo controllato con un certificato SSL legittimo, che intercetta attivamente il traffico. Questo nodo si presenta come server legittimo mostrando un certificato valido, permettendo così di effettuare un attacco MITM.
Secondo Gruppi di Mozilla, Google e diverse università affermano che quasi l'11% delle connessioni protette in rete viene "ascoltato". Questo è il risultato dell'installazione di certificati radice sospetti sui computer degli utenti.
Come proteggersi. Utilizzare i servizi di fornitori . Controllare la "qualità" dei certificati può essere fatto tramite il servizio (CT). Anche i fornitori di servizi cloud possono aiutare a scoprire "ascolti" — già oggi alcune grandi aziende offrono strumenti specializzati per monitorare le connessioni TLS.
Un altro modo di protezione sarà il nuovo ACME, che automatizza l'ottenimento dei certificati SSL. In questo modo, aggiungerà meccanismi aggiuntivi per verificare la proprietà del sito. Maggiori dettagli su di esso .

/ Flickr / / CC BY
Prospettive di HTTPS
Nonostante diverse vulnerabilità, i giganti IT e gli esperti di sicurezza informatica sono fiduciosi nel futuro del protocollo. Per la promozione attiva di HTTPS il creatore del WWW Tim Berners-Lee. Secondo lui, col tempo TLS diventerà più sicuro, aumentando notevolmente la sicurezza delle connessioni. Berners-Lee ha persino ipotizzato che in certificati client per l'autenticazione dell'identità. Essi aiuteranno a migliorare la protezione dei server da intrusi.
La tecnologia SSL/TLS sarà anche sviluppata tramite l'apprendimento automatico — gli algoritmi intelligenti saranno responsabili della filtrazione del traffico malevolo. Nelle connessioni HTTPS, gli amministratori non possono conoscere il contenuto dei messaggi cifrati — inclusi i richieste da software nocivo. Già oggi, le reti neurali possono filtrare pacchetti potenzialmente pericolosi con una precisione del 90%. ().
Conclusioni
Gli attacchi su HTTPS sono per lo più legati non ai problemi del protocollo stesso, ma al supporto di meccanismi di crittografia obsoleti. L'industria IT inizia gradualmente ad abbandonare i protocolli della generazione precedente e propone nuovi strumenti per la ricerca delle vulnerabilità. In futuro, questi strumenti diventeranno sempre più intelligenti.
Link aggiuntivi sull'argomento:
Fonte: habr.com
