El ataque de MarioNET permite a los piratas informáticos controlar su navegador, incluso después de salir de la página de ataque

El auge de las tecnologías web abrió nuevas posibilidades en Internet. Los navegadores se han vuelto más potentes a medida que las nuevas API aterrizaron y se introdujo el soporte para ciertas funciones.

Un nuevo ataque, llamado MarioNET por los investigadores que lo descubrieron, resalta que las API también pueden ser abusadas si no existen salvaguardas adecuadas (que es el caso en este momento).

El ataque se basa en las API HTML5 existentes que admiten todos los navegadores web modernos. No requiere la instalación de software o la interacción del usuario, y persiste incluso después de que el usuario abandona la página web en la que se originó el ataque.

El atacante puede abusar de los recursos de la computadora para todo tipo de actividades, incluidos ataques DDOS, operaciones de cripto-minería o descifrado de contraseñas.

Actualización : Encuentra una voz crítica que argumenta en contra del escenario descrito en el documento de investigación aquí. El principal punto de crítica es que el método de ataque se basa en una característica llamada PeriodicSync y que en este momento no forma parte de ninguna especificación. Final

MarioNET utiliza Service Workers, scripts que se ejecutan por separado de las páginas web visitadas y en segundo plano, en el ataque. La idea principal detrás de Service Workers es mover ciertos cálculos a un hilo separado para que no bloquee ni ralentice la aplicación o página web con la que interactúa el usuario.

El ciclo de vida de los Service Workers es completamente independiente de la página en la que se crearon. Los trabajadores de servicios no tienen acceso al DOM (Modelo de objetos de documento) de la página web y las funciones y variables de la página principal.

El uso de Service Workers aísla el sistema del sitio web de origen, otorga un control persistente al atacante y dificulta a los usuarios detectar lo que está sucediendo.

En particular, nuestro sistema cumple tres objetivos importantes:

(i) aislamiento del sitio web visitado, lo que permite un control detallado de los recursos utilizados; (ii) persistencia, al continuar su operación ininterrumpidamente en segundo plano incluso después de cerrar la pestaña principal; y (iii) evasión, evitando la detección por extensiones del navegador que intentan monitorear la actividad de la página web o la comunicación saliente.

MarioNET registra un trabajador de servicio cuando un usuario visita una página web en la que se pueden originar ataques. Las posibilidades de difundir el ataque incluyen la creación de sitios web maliciosos, la piratería de sitios o el uso de anuncios.

Los navegadores proporcionan poca información a los usuarios sobre los trabajadores del servicio; de hecho, los navegadores no destacan la creación de nuevos trabajadores de servicios en los sitios para los usuarios. No hay alerta, ni aviso, y ni siquiera una opción para mostrar un aviso para solicitar permiso del usuario cuando se crean trabajadores de servicio.

La única solicitud que revela la existencia del trabajador del servicio es la solicitud GET inicial en el momento de la primera visita al sitio web del usuario, cuando el trabajador del servicio se registra inicialmente. Aunque durante esa solicitud GET, una extensión de monitoreo puede observar el contenido del trabajador de servicio, aún no observará ningún código sospechoso: el código que llevará a cabo las tareas maliciosas se entrega al Servidor solo después de su primera comunicación con el Titiritero, y esta comunicación está oculta de las extensiones del navegador

Lo que hace que MarioNET sea particularmente preocupante es que continúa ejecutándose en segundo plano después de que el usuario cierra el sitio web en el que se originó el ataque. El control finaliza cuando se cierra el navegador web; los investigadores también encontraron una manera de superar esto, pero requiere la interacción del usuario ya que utiliza la API de Web Push para hacerlo.

Proteccion

La mayoría de los navegadores modernos incluyen opciones para mostrar los Service Workers existentes. Los usuarios de Firefox pueden cargar sobre: ​​serviceworkers o sobre: ​​depuración de # trabajadores y los usuarios de Chrome pueden cargar chrome: // serviceworker-internals / para hacerlo.

Puede cancelar el registro de cualquier trabajador de servicio utilizando la funcionalidad proporcionada en estas páginas. Los usuarios de Firefox pueden deshabilitar por completo a Service Workers por completo.

Tenga en cuenta que esto puede afectar la funcionalidad en los sitios que lo usan con fines legítimos. Debe establecer la preferencia dom.serviceWorkers.enabled en false en about: config.

Algunas extensiones del navegador, por ejemplo, Service Worker Detector para Chrome y Firefox, notifican a los usuarios cuando una página web registra un Service Worker.

Ahora usted : ¿Deberían los desarrolladores de navegadores implementar salvaguardas adicionales? (a través de ZDNet)