Comandos de JavaScript selectivos: evitar la explotación de vulnerabilidades

2

Recuerdo los momentos en que el uso de Javascript era tan inocente; una pequeña ventana emergente aquí, un mensaje de diálogo allí.

Hoy en día, Javascript "roba" datos al explotar vulnerabilidades en navegadores "maduros" como Firefox (antes de la versión 39.0.3), y pone al mundo en alerta.

  

La vulnerabilidad proviene de la interacción del mecanismo que impone la separación del contexto de JavaScript (la "política del mismo origen") y el Visor de PDF de Firefox. Los productos Mozilla que no contienen el Visor de PDF, como Firefox para Android, no son vulnerables. La vulnerabilidad no permite la ejecución de código arbitrario, pero la vulnerabilidad pudo inyectar una carga útil de JavaScript en el contexto del archivo local. Esto le permitió buscar y cargar archivos locales potencialmente sensibles.

Source

O simplemente visitando un sitio web, obtienes un malware como regalo:

  

Puede contraer un virus simplemente visitando un sitio en Chrome o en cualquier otro navegador, sin que sea necesaria la interacción del usuario. Incluso con Chrome, no está 100% seguro, y probablemente nunca lo estará con ningún navegador, pero Chrome se está acercando y la comunidad de investigación de seguridad parece estar de acuerdo en que en este momento, es el navegador más seguro que puede usar .

Fuente

  • En base a eso, me pregunto si JavaScript es demasiado peligroso para usarlo en los navegadores o si los navegadores en sí son demasiado inseguros.
  • ¿Sería posible limitar lo que JavaScript puede hacer desde una perspectiva de configuración del navegador (por ejemplo, iniciar automáticamente una descarga o referencias a scripts en otros dominios [amenaza alta])?
pregunta Community 07.08.2015 - 21:09
fuente

1 respuesta

1

JavaScript en sí mismo no es peligroso, la complejidad de los navegadores modernos y, en consecuencia, los errores introducidos lo son. Pero, por supuesto, JavaScript es una forma común de explotar estos errores.

Limitar el uso y / o la ejecución de scripts aumenta la seguridad, hay diferentes maneras de hacerlo. La configuración del navegador le permite desactivar completamente los scripts o permitir solo ciertos permisos (por ejemplo, descargar fuentes). Esto podría o no estar ausente para aumentar la seguridad dependiendo de cómo funciona la verificación. No sería una buena medida si el script se ejecuta y se registra entre ellos, debe analizarse antes de la ejecución. Esta es la razón por la que existen extensiones / complementos como NoScript que le permiten decidir qué secuencias de comandos de qué fuente deberían permitirse. Esto sucede antes de cargar el script y tiene una configuración muy detallada y fácil. En general, todos los navegadores intentan protegerse contra problemas de seguridad básicos como XSS (Cross Site Scripting) o descargas directas. Pero a menudo eso no es suficiente y son necesarias medidas adicionales.

NoScript específicamente le permite decidir qué etiquetas en html están permitidas, las filtra. Puede incluir en la lista blanca y negra sitios web, reconoce XSS, puede hacer cumplir ABE y muchas otras cosas.

Puede haber otras formas de minimizar de manera efectiva la ejecución del script, pero creo que esta es la mejor solución de compromiso entre los scripts que se inhabilitan por completo (lo que rompería casi todos los sitios web modernos) o permitirlo todo.

Puede haber otras extensiones además de NoScript con funciones similares, pero no las he usado y no puedo dar otras recomendaciones.

    
respondido por el John 07.08.2015 - 23:37
fuente

Lea otras preguntas en las etiquetas