¿Por qué los navegadores permiten que los sitios web públicos ataquen los sitios de intranet?

12

Cuando estoy visitando un sitio web en Internet público, el sitio web puede hacer que mi navegador envíe solicitudes a una dirección IP local (como 10.0.0.1). Esto se puede usar para atacar sitios web internos, por ejemplo, a través de Ataques CSRF.

¿Por qué los navegadores lo permiten? Si los navegadores lo prohibieran, ¿aumentaría la seguridad? Si los navegadores lo prohibieran, ¿rompería los sitios y cuál sería el impacto? ¿Podemos cuantificar el impacto negativo o el beneficio de seguridad?

Antecedentes: las direcciones IP locales como 10.0.0.1 se usan para sitios de intranet internos. Son no enrutables públicamente y se utilizan solo para redes privadas .

Referencia: vea los comentarios de Jeremiah Grossman en Estudio de caso de seguridad del navegador: Las apariencias pueden ser engañosas , ACM Queue vol 10, no 10, 20 de noviembre de 2012. Hizo esta pregunta y formuló comentarios sobre dos posibles motivos, aunque el artículo no cuantifica cuántos sitios se verían afectados negativamente por una modificación de este tipo (para ser justos, eso probablemente fue más allá del alcance del artículo).

Actualización: Al parecer, el estilo de metro IE 10 aplica alguna restricción en este sentido (consulte la sección titulada Recursos de la red privada).

    
pregunta D.W. 07.04.2013 - 09:29
fuente

2 respuestas

4

El problema no se limita a IP privadas, y representa un problema tan grande para los servicios públicos. Si tuviera que forzar una política del mismo dominio en todos los activos del sitio, tendría muchos problemas con los sitios que tienen múltiples dominios (google, yahoo, facebook) y cualquiera que use el servicio CDN.

Obviamente, este no sería el caso cuando se habla de espacio de IP estrictamente privado, pero no creo que esa sea la respuesta al problema. Puede evitar que los sitios ataquen automáticamente los recursos privados, aún es trivial hacer que un usuario desconocido haga clic en un enlace que apunta a la misma cosa.

Al final, la responsabilidad está en manos del servidor de destino. El servidor debe tomar medidas para mitigar los ataques CSRF, y solo analizar los parámetros GET para datos públicos / no confidenciales.

    
respondido por el David Houde 07.04.2013 - 10:06
fuente
4
  

Si los navegadores lo prohibieran, ¿rompería los sitios

Creo que rompería SAML (y otros sistemas de federación / SSO similares). Esto necesariamente tiene un modelo donde la parte que confía (probablemente en una red pública) debe enviar al usuario a un IdP (por ejemplo, un cuadro ADFS en el dominio de Windows en la red privada) y volver a salir para iniciar sesión.

También en general, los rangos de IP privada y las redes privadas no son lo mismo; no es raro que una empresa tenga una parte de su red privada en direcciones IP enrutables públicamente. Más, por supuesto, extranets semi-privadas. Es posible que estos necesiten hacer referencia a los recursos en la parte de IP privada de la red, y no recibirían protección de un control basado únicamente en rangos privados.

Así que no podría ser una prohibición general. Tendría que introducir un nuevo conjunto de controles de lista blanca para los sitios a los que se les permite hacer referencia a qué redes. ¿Merece la pena el beneficio que aporta la complejidad adicional que esto conlleva? Tal vez, pero no es una clara victoria.

    
respondido por el bobince 07.04.2013 - 11:28
fuente

Lea otras preguntas en las etiquetas