Che cos'è il contenuto misto?

I contenuti misti si verificano quando il codice HTML iniziale viene caricato tramite una connessione HTTPS sicura, mentre altre risorse (ad esempio immagini, video, fogli di stile, script) vengono caricate tramite una connessione HTTP non sicura. Questo processo è chiamato contenuto misto perché sia i contenuti HTTP che quelli HTTPS vengono caricati per visualizzare la stessa pagina e la richiesta iniziale era protetta tramite HTTPS.

La richiesta di sottorisorse che utilizzano il protocollo HTTP non sicuro indebolisce la sicurezza dell'intera pagina, in quanto queste richieste sono vulnerabili ad attacchi sul percorso, in cui un utente malintenzionato intercetta una connessione di rete e visualizza o modifica la comunicazione tra due parti. Utilizzando queste risorse, i malintenzionati possono monitorare gli utenti e sostituire i contenuti su un sito web e, in caso di contenuti misti attivi, assumere il controllo completo della pagina, non solo delle risorse non sicure.

Anche se molti browser segnalano avvisi di contenuti misti all'utente, quando ciò accade, è troppo tardi: le richieste non sicure sono già state eseguite e la sicurezza della pagina è stata compromessa.

Questo è il motivo per cui i browser bloccano sempre più i contenuti misti. Se sul tuo sito sono presenti contenuti misti, correggerli garantirà che il contenuto continui a caricarsi man mano che i browser diventano più rigidi.

I due tipi di contenuti misti

I due tipi di contenuti misti sono: attivi e passivi.

I contenuti misti passivi si riferiscono a contenuti che non interagiscono con il resto della pagina e, pertanto, un attacco man in the middle si limita alle azioni che è possibile intraprendere se intercettano o modificano i contenuti. Per contenuti misti passivi si intendono immagini, video e contenuti audio.

I contenuti misti attivi interagiscono con la pagina nel suo complesso e consentono a un utente malintenzionato di fare quasi tutto con la pagina. I contenuti misti attivi includono script, fogli di stile, iframe e altro codice che il browser può scaricare ed eseguire.

Contenuti misti passivi

I contenuti misti passivi sono considerati meno problematici, ma rappresentano comunque una minaccia per la sicurezza del tuo sito e dei tuoi utenti. Ad esempio, un utente malintenzionato può intercettare le richieste HTTP relative alle immagini sul tuo sito e scambiare o sostituire queste immagini; il malintenzionato potrebbe scambiare le immagini dei pulsanti di salvataggio ed eliminazione, causando l'eliminazione dei contenuti senza volerlo, sostituire i diagrammi dei prodotti con contenuti osceni o pornografici, compromettere il tuo sito oppure sostituire le immagini prodotto con annunci di un altro sito o prodotto.

Anche se l'utente malintenzionato non modifica i contenuti del sito, un utente malintenzionato può monitorare gli utenti tramite richieste di contenuti misti. L’autore dell'attacco può capire quali pagine visita un utente e quali prodotti visualizza sulla base di immagini o altre risorse caricate dal browser.

Se sono presenti contenuti misti passivi, la maggior parte dei browser indicherà nella barra degli URL che la pagina non è sicura, anche quando la pagina stessa è stata caricata tramite HTTPS. Puoi osservare questo comportamento con questa demo che contiene esempi di contenuti misti passivi.

Fino a poco tempo fa, i contenuti misti passivi venivano caricati in tutti i browser, in modo da bloccare molti siti web. Questo sta iniziando a cambiare, pertanto è fondamentale aggiornare eventuali istanze di contenuti misti sul tuo sito.

Chrome sta implementando l'upgrade automatico dei contenuti misti passivi, ove possibile. Se viene eseguito l'upgrade automatico, se l'asset è disponibile tramite HTTPS, ma è stato impostato come hardcoded come HTTP, il browser caricherà la versione HTTPS. Se non viene trovata una versione protetta, l'asset non viene caricato.

Ogni volta che rileva contenuti misti o esegue l'upgrade automatico dei contenuti misti passivi, Chrome registra messaggi dettagliati nella scheda Problemi in DevTools per guidarti su come risolvere il problema specifico.

La scheda Problemi in Chrome DevTools mostra informazioni dettagliate sul problema specifico di contenuti misti e su come risolverlo

Contenuti misti attivi

I contenuti misti attivi rappresentano una minaccia maggiore rispetto ai contenuti misti passivi. Un malintenzionato può intercettare e riscrivere i contenuti attivi, assumendo così il pieno controllo della tua pagina o dell'intero sito web. In questo modo l'utente malintenzionato può modificare qualsiasi elemento della pagina, inclusa la visualizzazione di contenuti completamente diversi, il furto delle password degli utenti o di altre credenziali di accesso, il furto dei cookie di sessione degli utenti o il reindirizzamento dell'utente a un sito completamente diverso.

A causa della gravità di questa minaccia, la maggior parte dei browser blocca già questo tipo di contenuti per impostazione predefinita per proteggere gli utenti, ma la funzionalità varia in base al fornitore e alla versione del browser.

Questa altra demo contiene esempi di contenuti misti attivi. Carica l'esempio tramite HTTP per visualizzare i contenuti bloccati quando carichi l'esempio tramite HTTPS. I contenuti bloccati saranno inoltre dettagliati nella scheda Problemi.

La scheda Problemi in Chrome DevTools mostra informazioni dettagliate sul problema specifico di contenuti misti e su come risolverlo

La specifica per i contenuti misti

I browser seguono la specifica per i contenuti misti, che definisce le categorie Contenuti bloccabili facoltativi e Contenuti bloccabili.

In base alle specifiche, una risorsa si qualifica come contenuto bloccabile facoltativamente "quando il rischio di consentirne l'utilizzo come contenuto misto viene superato dal rischio di interrompere parti significative del web"; questo è un sottoinsieme della categoria di contenuti misti passivi descritta sopra.

Tutti i contenuti non bloccabili facoltativamente sono considerati bloccabili e devono essere bloccati dal browser.

Negli ultimi anni, l'utilizzo di HTTPS è aumentato drasticamente ed è diventato l'impostazione predefinita evidente sul web. In questo modo è più possibile per i browser prendere in considerazione la possibilità di bloccare tutti i contenuti misti, anche i tipi di sottorisorse definiti nella specifica per i contenuti misti come facoltativamente bloccabili. Questo è il motivo per cui ora Chrome adotta un approccio più restrittivo a queste sottorisorse.

Browser meno recenti

È importante ricordare che non tutti i visitatori del sito web utilizzano i browser più aggiornati. Versioni diverse di fornitori di browser diversi trattano i contenuti misti in modo diverso. Nel peggiore dei casi, le versioni e i browser meno recenti non bloccano affatto i contenuti misti, il che non è sicuro per l'utente.

Se risolvi i problemi relativi ai contenuti misti, ti assicuri che i contenuti siano visibili nei nuovi browser. Contribuirai inoltre a proteggere gli utenti da contenuti pericolosi che non vengono bloccati dai browser meno recenti.