¿Sería posible tener un observatorio de javascript, un sandboxing más estricto y un CSP (Política de seguridad de contenido) más estricto para Tor?

1

¿Sería posible tener un observatorio de javascript y un CSP (Política de Seguridad de Contenido) más estricto e implementarlo para el Navegador Tor? Un observatorio de javascript debería funcionar de manera similar al observatorio SSL de EFF, debería observar javascript y verificar si es un exploit o un código XSS y bloquearlo, en lugar del permitir todo o nada desde el enfoque del dominio X utilizado por NoScript. El filtro NoScript XSS es defectuoso. NoScript no ofrece protección contra servidores de sitios web confiables que son hackeados.

Tor Browser solo implementa un conjunto muy limitado de Política de seguridad de contenido, no permite bloquear XSS y otros javascripts maliciosos usando reglas de Política de seguridad de contenido como script-src 'none' .

El sandboxing más estricto (para Windows) podría impedir el código de explotación para acceder a las API que dan acceso a nombre de usuario, nombre de computadora, dirección MAC, nombre de host, conexiones abiertas a direcciones IP arbitrarias, etc. Como lo hizo claramente el FBI: enlace

¿Podría alguien explicar partes del FBI? ¿Firefox 0 días?

    
pregunta Dojan 06.09.2015 - 02:28
fuente

2 respuestas

1

El Observatorio SSL funciona al enviar el certificado SSL a un tercero para confirmar que es válido. Hacer lo mismo con Javascript tiene dos problemas.

  1. La primera prioridad de TOR es el anonimato y la privacidad. Si el navegador TOR enviara todo el Javascript a un tercero para validarlo, ese tercero podría crear un perfil de uso de detalles. Claro, puede haber formas de solucionar este problema, pero en todo caso aumentará la superficie de ataque para desononimizar a los usuarios.
  2. No puedes escanear Javascript automáticamente por maliciosidad. Hay demasiadas formas de ocultar el mal comportamiento. Si eso fuera tan fácil, habría complementos del navegador para hacerlo (de hecho, los hay, pero sus tasas de detección son abismales). Todo lo que podría hacer es mantener una lista blanca de código Javascript inofensivo conocido. Pero eso requeriría que un equipo de especialistas de seguridad verifique cada script manualmente. Podría valer la pena el esfuerzo para algunos sitios web muy frecuentados. Pero, por lo general, estos no son el tipo de sitios web en los que está interesado el usuario promedio de TOR.

Un sandboxing más estricto para evitar que Javascript haga cosas que no debe hacer es, por supuesto, siempre una prioridad. Ninguna de las cosas que mencionó debe ser posible de acuerdo con las especificaciones de Javascript, por lo que si algo de eso es posible, es un error que debe solucionarse en la línea principal de Firefox y no solo en el navegador TOR

    
respondido por el Philipp 04.01.2016 - 10:50
fuente
0
  

¿Sería posible tener un observatorio de javascript y un CSP (Política de seguridad de contenido) más estricto ... similar al observatorio de SSL de la EFF?

Creo que primero debes decidir contra qué tipo de ataques quieres protegerte. ¿El atacante solo podrá reemplazar el contenido de sitios de terceros incluidos en el sitio principal (es decir, jquery.org) o será capaz de modificar el sitio principal también?

Si el atacante solo puede comprometer los lados de terceros, un CSP estricto y algo así como un observatorio de JavaScript podrían funcionar, porque o bien prohíbe la inclusión de secuencias de comandos de terceros o lo restringe a un buen script conocido (vea también hashes para script-src que están implementados en Chrome 46).

Pero si el atacante también puede modificar el contenido del sitio principal, este enfoque probablemente solo ayude a los pocos sitios que no tienen un script en línea, ningún script dependiente del usuario y donde el script cambia raramente. En la práctica, JavaScript se cambia mucho más a menudo que un certificado y, a menudo, hay casos en los que el JavaScript que se entrega a un usuario se adapta al usuario, es decir, depende de la sesión, la cuenta, etc. Esto no solo se aplica al script en línea sino también al script. Incluido con la etiqueta de script. También tiene muchos fragmentos de script pequeños incluidos con onXXX attibute (es decir, onclick="dothis();" ) donde no solo es relevante el código del script en sí, sino también donde este código se usa en el HTML. Por lo tanto, un observatorio no ayudaría a todos sino a unos pocos sitios, principalmente estáticos.

  

El filtro NoScript XSS es defectuoso.

Todos los filtros XSS están limitados, al igual que todas las soluciones antivirus. Es imposible distinguir de manera confiable entre lo bueno y lo malo con la información limitada que tienen estos filtros acerca de lo que puede ser bueno o malo para un sitio específico. O bloquean demasiado (falsos positivos) o pierden algo (falsos negativos). En el primer caso, el usuario apagará el filtro y, en el segundo, no ofrecerá protección completa.

  

El sandboxing más estricto (para Windows), podría evitar el código de explotación para acceder a las API que dan acceso a nombre de usuario, nombre de computadora, dirección MAC, nombre de host, conexiones abiertas a direcciones IP arbitrarias, etc.

Sí, no consideraría óptima la arquitectura de seguridad actual de Firefox y creo que Chrome proporciona una mejor protección contra las vulnerabilidades que intentan salir del navegador. Por otro lado, por lo que sé, Chrome no proporciona la API que necesita para las comprobaciones completas realizadas por NoScript (es decir, prevención XSS, detección de clickjacking ...).

Otro enfoque sería ejecutar el sistema operativo con el navegador dentro de alguna máquina virtual para que el atacante no solo salga del navegador, sino también de la máquina virtual para obtener la información relevante. Cada nivel de separación hace que sea más difícil para el atacante.

  

¿Alguien podría explicar partes del Firefox de 0 días del FBI?

Según la información pública disponible, parece que utilizaron Javascript para activar un error en el navegador para inyectar un código de shell que luego podría hacer cualquier cosa con los permisos del usuario, incluido el acceso al nombre de host y MAC y el envío de esta información al servidor de los atacantes. . No puedo ver en la información pública qué sitio comprometieron y si el sitio dependía de un script, si usaba un script en línea, etc. Por lo tanto, se desconoce si su enfoque con el observatorio y el CSP habría protegido al usuario en este caso.

    
respondido por el Steffen Ullrich 06.09.2015 - 06:46
fuente

Lea otras preguntas en las etiquetas