Contenido Mixto (mixed-content)

Cuando un usuario visita una página servida a través de HTTPS, su conexión con el servidor web está cifrada con TLS y está, por tanto, protegida de sniffers y de ataques hombre-en-el-medio. Si la página HTTPS incluye contenido obtenido a través de texto regular sin formato HTTP, entonces la conexión está sólo parcialmente cifrada; el contenido no cifrado es accesible a los sniffers y puede ser modificado por los atacantes hombre-en-el-medio, por lo que la conexión no está protegida. Cuando una página web exhibe este comportamiento, se llama página de contenido mixto.

Tipos de contenido mixto:

Hay dos categorías de contenido mixto: contenido mixto pasivo/mostrado y contenido mixto activo. La diferencia radica en el nivel de amenaza del peor de los casos si el contenido se escribe como parte de un hombre en el ataque medio. En el caso de la pasiva de contenidos, la amenaza es baja (página web aparece roto o con contenido engañoso). En el caso de que el contenido activo, la amenaza puede conducir a la suplantación de identidad, los datos sensibles de la divulgación, la redirección a sitios maliciosos, etc.

Contenido Mixto Pasivo/Mostrado en pantalla:

El contenido mixto pasivo/mostrado es aquel que se sirve a través de HTTP que está incluido en una página web HTTPS, pero que no puede alterar las otras partes de la página web. Por ejemplo, un atacante podría reemplazar una imagen servida a través de HTTP con una imagen inapropiada o un mensaje para el usuario. El atacante también podría inferir información acerca de las actividades del usuario mediante la observación de las imágenes que se sirven para el usuario; a menudo las imágenes sólo se sirve en una página específica dentro de un sitio web. Si el atacante observa las solicitudes de HTTP a ciertas imágenes, sería posible determinar que página web está visitando el usuario.

Lista de contenido pasivo:

En esta sección se enumeran todos los tipos de peticiones HTTP que se consideran contenido pasivo:

Contenido Mixto Activo:

El Contenido Mixto Activo es el que tiene acceso a todo o parte del Modelo de Objetos de Documento de la página HTTPS. Este tipo de contenido mixto pueden alterar el comportamiento de la página HTTPS y robar datos confidenciales del usuario. Por lo tanto, además de los riesgos descritos anteriormente para el contenido mixto pasivo, el contenido activo es vulnerable a un par de otros vectores de ataque.

En el caso del Contenido Mixto Activo, un atacante hombre-en-el-medio puede interceptar el contenido de la petición de HTTP. El atacante también puede reescribir la respuesta para incluir código JavaScript malicioso. El contenido malicioso activo puede robar las credenciales del usuario, adquirir datos sensibles sobre el usuario, o intentar instalar malware en el sistema del usuario (mediante el aprovechamiento de vulnerabilidades en el navegador o en sus plugins, por ejemplo).

El riesgo involucrado con contenido mixto depende del tipo de sitio web que el usuario visita y el grado de sensibilidad de los datos expuestos a ese sitio. La página web puede tener datos públicos visibles para el mundo o datos privados que sólo son visibles bajo autenticación. Si la página es pública y no tiene datos confidenciales del usuario, el contenido mixto activo todavía proporciona al atacante la oportunidad de redirigir al usuario a otras páginas HTTP y robar cookies HTTP de esos sitios.

Ejemplos de Contenido Mixto Activo:

En esta sección se enumeran algunos tipos de peticiones HTTP que son consideradas contenido activo:

  • <script> (atributo href) (incluye hojas de estilo CSS).
  • <link> (atribute src).
  • <iframe> (atribute src).
  • Peticiones <XMLHttpRequest> (atribute src).
  • Todos los casos en CSS, donde se usa un valor url (@font-face, cursor, imagen de fondo, y así sucesivamente).
  • <object> (atribute src).

Fuente y más información.

Revisiones

10/10/2016 - 18:13
alejandro_blue