O que é Conteúdo Misto?

Conteúdo misto ocorre quando os sites protegidos por TLS contêm elementos que são carregados sobre o protocolo HTTP inseguro. Isto cria uma vulnerabilidade que os invasores podem explorar.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Descrever as condições que produzem conteúdo misto
  • Diferenciar entre conteúdo misto passivo e ativo
  • Entender como o conteúdo misto pode ser evitado

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

O que é Conteúdo Misto?

Com o TLS (também conhecido como SSL), a comunicação na internet é criptografada, criando uma experiência de navegação mais segura. Os usuários podem identificar facilmente sites criptografados por TLS porque têm 'https://' na URL em vez de 'http://'. Mas, em alguns casos, um site HTTPS também pode conter alguns elementos que são carregados usando o protocolo HTTP de texto não criptografado. Isso cria uma condição conhecida como conteúdo misto, às vezes chamado de "HTTP sobre HTTPS".

Conteúdo misto em um navegador

Com conteúdo misto, os usuários terão a impressão de que estão em uma conexão segura e criptografada porque estão em um site protegido por HTTPS, mas os elementos não criptografados da página criam vulnerabilidades, abrindo esses usuários para atividades maliciosas, como rastreamento não autorizado e ataques on-path. A gravidade da vulnerabilidade depende se o conteúdo misto é passivo ou ativo.

Qual é a diferença entre conteúdo misto passivo/de exibição e conteúdo misto ativo?

Conteúdo misto passivo/de exibição: Nesse caso, o conteúdo HTTP não criptografado é restrito a elementos encapsulados no site que não podem interagir com o restante da página – por exemplo, imagens ou vídeos. Por exemplo, um invasor pode bloquear ou substituir uma imagem carregada por HTTP, mas não poderá modificar o restante da página.

Conteúdo Misto Ativo: nesse caso, elementos ou dependências que podem interagir e alterar toda a página web são fornecidos por HTTP. Isso inclui dependências como arquivos JavaScript e solicitações de API.

O conteúdo misto ativo apresenta uma ameaça mais grave do que o conteúdo misto passivo/de exibição; quando comprometido, ele permite que um invasor assuma uma página web inteira, colete informações sensíveis do usuário, como credenciais de login, forneça ao usuário uma página falsificada ou redirecione o usuário para o site de um invasor.

A maioria dos navegadores web modernos fornece avisos no console do desenvolvedor para conteúdo misto, além de bloquear os tipos mais perigosos de conteúdo misto. Cada navegador tem seu próprio conjunto de regras, mas de modo geral, o conteúdo misto ativo é muito mais provável de ser bloqueado.

Embora o conteúdo misto passivo/de exibição represente uma ameaça menor, ele ainda oferece uma oportunidade para os invasores comprometerem a privacidade e rastrearem a atividade dos usuários. Além disso, como muitos navegadores permitem algumas formas de conteúdo misto passivo e apenas fornecem aos usuários avisos de conteúdo misto no console do desenvolvedor, muitos usuários não saberão que estão sendo expostos a conteúdo misto.

Erros de conteúdo misto no Chrome

Os usuários de navegadores web antigos são particularmente vulneráveis, pois esses navegadores podem não bloquear o conteúdo misto.

Por que os navegadores simplesmente não bloqueiam todo o conteúdo misto?

Infelizmente, um grande número de sites populares oferece conteúdo misto de uma forma ou de outra. Um navegador web que bloqueia todo o conteúdo misto estaria entregando uma versão muito restrita da web para seus usuários. Até que mais sites resolvam esse problema, os navegadores devem se comprometer, permitindo algumas das formas menos graves de conteúdo misto.

Como podem ser corrigidos os erros de conteúdo misto?

Os desenvolvedores da web têm a responsabilidade de eliminar o conteúdo misto. Com o tempo, os navegadores web se tornaram cada vez mais restritivos em relação ao conteúdo misto e essa tendência só continuará. Portanto, é imperativo que os desenvolvedores eliminem o conteúdo misto se quiserem que os navegadores continuem exibindo seus sites.

A correção no conteúdo misto é bastante simples: os desenvolvedores da web precisam garantir que todos os recursos em suas páginas sejam carregados por HTTPS. Na prática, isso pode ser complicado, pois os sites modernos geralmente carregam vários recursos diferentes a partir de vários lugares.

Uma boa ferramenta para os desenvolvedores identificarem todas as instâncias de conteúdo misto em suas páginas é o console do desenvolvedor do Google Chrome. Os desenvolvedores também podem verificar seu código-fonte para instâncias de recursos, como chamadas de API e bibliotecas, que são carregadas usando um URL "http://". Em alguns casos, a solução é simplesmente substituir o URL "http://" por "https://". Mas primeiro, deve-se verificar se uma versão HTTPS desse recurso está disponível. Se uma versão criptografada do recurso não estiver disponível, ele precisará ser substituído ou removido completamente.