Cos'è un contenuto misto?

Il contenuto misto si verifica quando i siti protetti con TLS contengono elementi caricati tramite il protocollo HTTP non sicuro. Ciò crea una vulnerabilità che i malintenzionati possono sfruttare.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Descrivere le condizioni che producono contenuti misti
  • Distinguere tra contenuto misto passivo e attivo
  • Capire come è possibile prevenire i contenuti misti

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è un contenuto misto?

Con TLS (noto anche come SSL), la comunicazione Internet è crittografata, creando un'esperienza di navigazione più sicura. Gli utenti possono identificare facilmente i siti crittografati tramite TLS perché hanno "https://" nell'URL anziché "http://". Ma in alcuni casi, un sito HTTPS può contenere anche alcuni elementi caricati utilizzando il protocollo HTTP in chiaro. Ciò crea una condizione nota come contenuto misto, a volte indicato come "HTTP su HTTPS".

Contenuti misti in un browser

Con i contenuti misti, gli utenti avranno l'impressione di trovarsi su una connessione sicura e crittografata perché si trovano su un sito protetto da HTTPS, ma gli elementi non crittografati della pagina creano vulnerabilità, esponendo gli utenti ad attività dannose come tracciamento non autorizzato e attacchi di interposizione. La gravità della vulnerabilità dipende dal fatto che il contenuto misto sia passivo o attivo.

Qual è la differenza tra contenuto misto passivo/visualizzato e contenuto misto attivo?

Contenuto misto passivo/visualizzato: in questo caso, il contenuto HTTP non crittografato è limitato agli elementi incapsulati sul sito che non possono interagire con il resto della pagina, ad esempio immagini o video. Ad esempio, un autore di un attacco può bloccare o sostituire un'immagine caricata tramite HTTP, ma non sarebbe in grado di modificare il resto della pagina.

Contenuto misto attivo: in questo caso, gli elementi o le dipendenze che possono interagire e modificare l'intera pagina Web vengono forniti tramite HTTP. Tra queste rientrano dipendenze come file JavaScript e richieste API.

I contenuti misti attivi rappresentano una minaccia più grave rispetto ai contenuti misti passivi/visualizzati; quando compromessi, consentono a un aggressore di assumere il controllo di un'intera pagina Web, raccogliere input sensibili dell'utente, come credenziali di accesso, fornire all'utente una pagina falsificata o reindirizzare l'utente al sito di un aggressore.

La maggior parte dei browser Web moderni visualizza avvisi nella console per sviluppatori per i contenuti misti e blocca i tipi di contenuti misti più pericolosi. Ogni browser ha le sue regole, ma in genere è molto più probabile che i contenuti misti attivi vengano bloccati.

Sebbene i contenuti misti passivi/visualizzati rappresentino una minaccia minore, offrono comunque agli aggressori l'opportunità di compromettere la privacy e monitorare le attività degli utenti. Inoltre, poiché molti browser consentono alcune forme di contenuto misto passivo e forniscono agli utenti avvisi sui contenuti misti solo nella console per sviluppatori, molti utenti non si accorgeranno di essere esposti a contenuti misti.

Errori di contenuti misti in Chrome

Particolarmente vulnerabili sono gli utenti che utilizzano browser Web obsoleti, poiché questi browser potrebbero non bloccare affatto i contenuti misti.

Perché i browser non bloccano tutti i contenuti misti?

Purtroppo un gran numero di siti Web popolari offrono contenuti misti in una forma o nell'altra. Un browser Web che bloccasse tutti i contenuti misti fornirebbe ai propri utenti una versione molto limitata del Web. Finché un numero maggiore di siti Web non risolverà questo problema, i browser dovranno trovare un compromesso, consentendo alcune delle forme meno gravi di contenuto misto.

Come si possono correggere gli errori di contenuto misto?

Gli sviluppatori Web hanno la responsabilità di eliminare i contenuti misti. Nel corso del tempo, i browser Web sono diventati sempre più restrittivi per quanto riguarda i contenuti misti e questa tendenza è destinata a continuare. È quindi fondamentale che gli sviluppatori eliminino i contenuti misti se vogliono che i browser Web continuino a visualizzare il loro sito.

La soluzione al problema dei contenuti misti è piuttosto semplice: gli sviluppatori Web devono assicurarsi che ogni risorsa sulla loro pagina venga caricata tramite HTTPS. Nella pratica, questo può rivelarsi complicato, poiché i siti Web moderni spesso caricano diverse risorse da luoghi diversi.

Uno strumento utile per gli sviluppatori che desiderano individuare tutti i casi di contenuto misto sulle loro pagine è la console per sviluppatori di Google Chrome. Gli sviluppatori possono anche controllare il loro codice sorgente per istanze di risorse, come chiamate API e librerie, caricate tramite un URL "http://". In alcuni casi, la soluzione è semplicemente sostituire l'URL "http://" con "https://". Ma prima è necessario verificare che sia disponibile una versione HTTPS di quella risorsa. Se non è disponibile una versione crittografata della risorsa, sarà necessario sostituirla o rimuoverla del tutto.