Che cos'è il contenuto misto?

Una pagina ha contenuti misti quando il suo HTML iniziale viene caricato tramite una connessione HTTPS sicura, ma altre risorse (come immagini, video, fogli di stile e script) vengono caricate tramite una connessione HTTP non sicura. Il nome si riferisce al mix di contenuti HTTP e HTTPS in una singola pagina.

La richiesta di risorse secondarie tramite il protocollo HTTP non sicuro indebolisce la sicurezza della pagina, perché queste richieste sono vulnerabili agli attacchi on-path, in cui un malintenzionato intercetta una connessione di rete e visualizza o modifica la comunicazione tra due parti. Utilizzando queste risorse, gli autori degli attacchi possono monitorare gli utenti e sostituire i contenuti di un sito web e, nel caso di contenuti misti attivi, possono assumere il controllo completo della pagina, non solo delle risorse non sicure.

Sebbene molti browser segnalino all'utente avvisi relativi a contenuti misti, la segnalazione arriva spesso troppo tardi: le richieste non sicure sono già state eseguite e la sicurezza della pagina è compromessa.

La maggior parte dei browser ora blocca i contenuti misti per motivi di sicurezza. Modifica le richieste di contenuti non sicuri in contenuti sicuri per garantire che la pagina continui a caricarsi correttamente.

I due tipi di contenuti misti

Esistono due tipi di contenuti misti: attivi e passivi.

I contenuti misti passivi, inclusi immagini, video e audio, non interagiscono con il resto della pagina, quindi un attacco man-in-the-middle è limitato in ciò che può fare se intercetta o modifica questi contenuti.

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

Contenuti misti passivi

I contenuti misti passivi sono meno rischiosi di quelli misti attivi, ma il rischio è comunque presente. Ad esempio, un malintenzionato può:

  • Intercetta le richieste HTTP per le immagini sul tuo sito e scambiale o sostituiscile.
  • Sostituisci le immagini sui pulsanti in modo che gli utenti le confondano e, ad esempio, eliminino i contenuti che intendevano salvare.
  • Deturpano il tuo sito sostituendo le immagini con contenuti pornografici.
  • Sostituisci le immagini prodotto con annunci di altro tipo.

Anche se l'autore dell'attacco non modifica i contenuti del tuo sito, può monitorare gli utenti tramite richieste di contenuti misti. Possono anche sapere quali pagine visita un utente e quali prodotti visualizza in base alle immagini o ad altre risorse caricate dal browser.

Se sono presenti contenuti misti passivi, la maggior parte dei browser indica nella barra degli indirizzi che la pagina non è sicura, anche se la pagina stessa viene caricata tramite HTTPS. Puoi osservare questo comportamento in questa demo.

Fino a poco tempo fa, i contenuti misti passivi venivano caricati in tutti i browser, perché il loro blocco avrebbe danneggiato molti siti web. Ora questa situazione sta iniziando a cambiare, quindi è fondamentale aggiornare tutte le istanze di contenuti misti sul tuo sito.

In alcuni casi, Chrome esegue automaticamente l'upgrade dei contenuti misti passivi. Ciò significa che se una risorsa è stata codificata in modo permanente come HTTP, ma è disponibile tramite HTTPS, il browser carica la versione HTTPS. Se non esiste una versione sicura, l'asset non viene caricato.

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

La scheda Problemi in Chrome DevTools mostra informazioni dettagliate sul problema specifico dei contenuti misti e su come risolverlo
Ogni risorsa non sicura è elencata in DevTools, insieme a uno stato di limitazione.

Contenuti misti attivi

I contenuti misti attivi rappresentano una minaccia maggiore rispetto a quelli passivi. Un malintenzionato può intercettare e riscrivere i contenuti attivi, utilizzandoli per assumere il controllo completo della tua pagina o persino dell'intero sito web. Ciò consente loro di modificare qualsiasi aspetto della pagina, inclusi la visualizzazione di contenuti diversi, il furto di password utente o altre credenziali di accesso, il furto di cookie di sessione utente o il reindirizzamento dell'utente a un sito completamente diverso.

Poiché i rischi dei contenuti misti attivi sono molto elevati, la maggior parte dei browser blocca già questo tipo di contenuti per impostazione predefinita per proteggere gli utenti, ma il comportamento varia a seconda dei fornitori e delle versioni dei browser.

Questa demo mostra esempi di contenuti misti attivi. Carica l'esempio tramite HTTP per visualizzare i contenuti bloccati quando carichi l'esempio tramite HTTPS. I contenuti bloccati sono descritti in dettaglio anche nella scheda Problemi di DevTools.

La scheda Problemi in Chrome DevTools mostra informazioni dettagliate sul problema specifico dei contenuti misti e su come risolverlo
Alcune risorse non sicure vengono bloccate per rafforzare la sicurezza del tuo sito.

La specifica dei contenuti misti

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

Una risorsa è considerata un contenuto bloccabile facoltativo "quando il rischio di consentirne l'utilizzo come contenuto misto è superato dal rischio di interrompere porzioni significative del web". Si tratta di un sottoinsieme di contenuti misti passivi.

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

Negli ultimi anni, l'utilizzo di HTTPS è aumentato drasticamente ed è diventato il protocollo predefinito sul web. Ora è più fattibile per i browser prendere in considerazione il blocco di tutti i contenuti misti, anche quelli delle risorse secondarie definiti nella specifica dei contenuti misti come bloccabili facoltativamente.

Browser precedenti

Alcuni visitatori potrebbero utilizzare browser meno recenti. Versioni diverse dei browser di fornitori diversi gestiscono i contenuti misti in modo diverso. Nel peggiore dei casi, i browser e le versioni precedenti non bloccano alcun contenuto misto, il che è pericoloso per l'utente.

Caricando tutte le risorse in modo sicuro e risolvendo i problemi relativi ai contenuti misti, ti assicuri che i tuoi contenuti siano visibili e proteggi gli utenti da contenuti pericolosi che i browser meno recenti potrebbero non bloccare.