Javascript Malware: ¿Cómo funciona y cómo puede mitigarse?

8

Me pregunto cómo se sirve el malware a través de Javascript. He notado algunas ventanas emergentes ilegítimas al visitar algunos sitios web financieros. Me pregunto cómo funcionan las explotaciones de malware contra la aplicación y qué puede hacer una aplicación para al menos informar a sus usuarios que la ventana emergente no proviene del sitio web, sino del malware.

    
pregunta p_upadhyay 13.09.2012 - 18:59
fuente

3 respuestas

3

Descargas ocultas son vectores de malware típicos de JavaScript para que los binarios ingresen a la máquina de un usuario. JS simplemente inicia una solicitud de un binario de malware que responde con Content-disposition:attachment , lo que solicita al usuario que lo descargue.

El JS puede continuar esto incluso si el usuario cancela, lo que hace que el navegador del usuario sea inutilizable (es posible que no sepa cómo detener un proceso manualmente) y, a menudo, intenta que la descarga parezca un software antivirus.

Una cierta proporción de usuarios aceptará la descarga solo para recuperar su navegador, y luego el proveedor de malware solo tiene que esperar a que se ejecute el binario.

El problema principal con los virus y el malware es que el sistema operativo confunde al usuario actual con los programas que ejecutan. Cuando ejecuto Solitaire, ese proceso tiene la capacidad de editar todos los archivos que pueda desde la línea de comandos o el sistema Windowing. Ese no debería ser el caso.

No hay ninguna razón por la que Solitaire o un protector de pantalla que descargues de la web necesite acceso a tus archivos de impuestos, por lo que puedes usar una combinación de claves para descubrir qué privilegios necesita

  • ¿El usuario otorgó autorización mediante un cuadro de diálogo de archivo o algún otro método de designación mediada por el sistema operativo, como arrastrar y soltar? ( "Diseño seguro de interacción" ) explica una variedad de formas de inferir otorgamiento de autoridad al observar la forma en que interactúan con una interfaz de usuario.
  • ¿El archivo en un directorio "es propiedad" de la aplicación en virtud de ser creado durante la instalación del binario de la aplicación?
  • ¿Es el archivo un recurso común del sistema como una DLL o una biblioteca compartida?

Otros privilegios se pueden otorgar de manera similar según la designación del usuario o reglas simples.

La mayoría de los sistemas operativos y aplicaciones no se escribieron con esto en mente, por lo que sistemas como Polaris de los laboratorios HP muestra cómo permitir que las aplicaciones se ejecuten con menos permisos de usuario actuales en Windows.

  

La gente a menudo olvida que POLA significa dos cosas al mismo tiempo. No solo debe evitar que la aplicación tenga más autoridad de la que necesita para hacer el trabajo del usuario, sino que también debe asegurarse de que la aplicación tenga la autoridad suficiente para hacer el trabajo de ese usuario. Otorgar demasiada autoridad es la razón por la cual hay virus que secuestran aplicaciones. Otorgar poca autoridad significa que la aplicación es inútil, como un programa de hoja de cálculo en un arenero de navegador web que no puede guardar el resultado en su disco duro. Polaris no otorga ni mucha ni poca autoridad: mientras que una aplicación polarizada no puede, en general, corromper o infectar archivos en su computadora, la aplicación puede almacenar información en cualquier archivo que el usuario especifique explícitamente haciendo doble clic en el archivo o seleccionando el archivo en un cuadro de diálogo. Por lo tanto, el sistema Polaris ajusta dinámicamente la autoridad de la aplicación para hacer lo que el usuario quiere.

     

A diferencia de las cajas de arena estáticas, Polaris no afecta de manera apreciable la experiencia del usuario. De hecho, un ejecutivo de HP usó una versión pre-Alpha de Polaris durante tres días sin saber que estaba en su máquina. Polaris hace su magia sin cambiar las aplicaciones ni el sistema operativo. Tampoco se basa en interceptar llamadas al sistema. En cambio, cuando los usuarios "polarizan" una aplicación, el "polarizador" crea una cuenta de usuario restringida para esa aplicación. Cuando los usuarios inician la aplicación, ya sea explícitamente a través del acceso directo que el Polarizer creó o al abrir un archivo del tipo apropiado, Polaris usa una variante de la función Windows RunAs para abrir el programa en su cuenta. La mayor parte del software Polaris oculta este hecho al usuario.

    
respondido por el Mike Samuel 13.09.2012 - 19:36
fuente
2

JavaScript ofrece a los autores de páginas web, buenos y malos, la capacidad de ejecutar cualquier código que deseen cuando su navegador visita o se dirige a su página. Aunque las diversas implementaciones de JavaScript tienen algunas funciones de seguridad para tratar de evitar que el código JS haga algo abiertamente hostil a su computadora, surgen dos problemas: ese código tiene errores, como se explicó en las respuestas anteriores, que permiten ataques o explotaciones y muchas cosas más. que no sea hostil puede llevar a malos fines (por ejemplo, una ventana emergente de un FakeAV que solicita su información de pago).

Ejemplos de técnicas de ataque actuales relacionadas con Javascript que son bastante efectivas utilizan iframes ocultos para cargar malware JS desde otros sitios comprometidos que luego intenta ejecutar en el navegador. Esto se ve en los anuncios incluidos en los grandes sitios populares, así como en los menos transitados. Si tiene éxito, puede continuar explotando el software del sistema local. De esta manera, las distintas versiones del Black Hole Exploit Kit atacan las versiones vulnerables de los programas PDF y Flash para infectar la máquina host con los clientes de la red de bots.

Ha sido difícil para los creadores de navegadores y sistemas hacer que sus mensajes legítimos sean difíciles de falsificar. El Control de cuentas de usuario de Windows es una de las mejores técnicas debido a cómo interrumpe a todos los demás programas cuando necesita privilegios para completar una tarea. La mayoría de los mensajes emergentes del navegador y el software se falsifican fácilmente y debes tener cuidado con ellos.

Para evitar gran parte de esto, use complementos, complementos y configuraciones del navegador para permitir solo JavaScript de los sitios en los que confía o los sitios que autoriza. NoScript para Firefox es bastante eficaz para reducir estos riesgos.

    
respondido por el adric 13.09.2012 - 23:40
fuente
0

El atacante puede usar una vulnerabilidad en el navegador para ejecutar el código de malware en la computadora del cliente. La mayoría de los programas maliciosos que he visto ocultan su código de shell utilizando Base64 y la compresión dentro de un archivo JS o incrustados en el HTML. Una vez que el código JS se ejecuta en la computadora del cliente, usa 'deflate' y 'eval' para ejecutar cualquier código codificado en la cadena.

El malware aprovecha un error en el navegador para ejecutar el código de shell en la máquina del cliente. Los desbordamientos de búfer solían ser bastante comunes, pero en estos días los principales navegadores tienden a escribirse con más cuidado en ese punto. El uso después de libre y el doble gratis siguen siendo bastante animados.

Si está obteniendo varias ventanas emergentes aleatorias de un sitio web legítimo, esto puede indicar que la computadora posiblemente esté infectada con algo. Asegúrese de que sus soluciones de AV y Anti-Spyware estén actualizadas y funcionando correctamente. Además, verifique qué se está ejecutando en la computadora utilizando herramientas como explorador de procesos y autoruns .

    
respondido por el w.c 13.09.2012 - 19:38
fuente

Lea otras preguntas en las etiquetas