Saltar al contenido

Descarga las bombas: ¿qué son y cómo defenderse de ellas?

Descarga las bombas: ¿qué son y cómo defenderse de ellas?

Los desarrolladores de los navegadores más populares publican periódicamente actualizaciones de sus programas para que los sitios visitados sean más cómodos y seguros. Sin embargo, los navegadores modernos contienen millones de líneas de código fuente, lo que dificulta el seguimiento del impacto de cada actualización en el programa en su conjunto. Como resultado, las nuevas características a veces hacen que el navegador sea vulnerable a ataques aprendidos previamente. Esto sucedió recientemente con bombas de descarga. Veamos qué es.

En marzo de 2018, se lanzó la versión 65 del navegador Google Chrome. Esta versión presenta herramientas para auditoría SEO, se ha mejorado el panel de análisis de rendimiento, pero sobre todo, se han anunciado 45 correcciones de vulnerabilidades. Entre otras cosas, se ha eliminado la posibilidad de ejecutar múltiples descargas de un archivo usando JavaScript (lanzar una bomba de descarga). La descarga de archivos «infinita» hace que el navegador se bloquee, lo que hace imposible cerrar la pestaña actual. Pero, ¿cuál es el propósito de este ataque? Resulta que los ciberdelincuentes pueden ver mensajes sobre una infección de virus en la computadora en una pestaña bloqueada y ofrecer llamar a un servicio de soporte técnico falso. Además, con la ayuda de métodos de ingeniería social por teléfono, los delincuentes encuentran los datos personales del usuario, inician sesión en su banca por Internet, etc.

Parece que la vulnerabilidad se ha solucionado, entonces, ¿puede olvidarse de estos ataques? Lamentablemente no. En la versión 67 de Chrome, las bombas descargadas pueden volver a ser atacadas. Al mismo tiempo, otros navegadores basados ​​en Blink también están en riesgo, por ejemplo, Yandex Browser y Vivaldi. Peor aún, Firefox también está en riesgo (en Edge e Internet Explorer, la bomba de descarga no se disparó, el navegador no se bloqueó).

El truco de descargar varios archivos funciona cuando se usa el método Blob de JavaScript y la función window.navigator.msSaveOrOpenBlob. La descarga de un archivo una vez que se usa esta función se implementa así:

var blobFile = new Blob ([data], {tipo: ‘texto / plano’}); if (window.navigator.msSaveOrOpenBlob) {window.navigator.msSaveBlob (blobFile, newFileName); }

Aquí se crea un nuevo objeto Blob (por ejemplo, se descarga un archivo de texto), luego verificamos si la función msSaveOrOpenBlob es compatible con nuestro navegador y, si es compatible, descargamos el archivo. Se ha omitido el código para los navegadores que no admiten esta función.

Para realizar un ataque, dicha función se llama varios miles de veces, por ejemplo, usando SetInterval. Como resultado, la carga en el procesador aumenta, la pestaña en el navegador se bloquea. En este punto, puede mostrar una página con una alerta de malware aterradora (y un número de teléfono de soporte falso) o simplemente mostrar anuncios.

Desafortunadamente, no existe una protección universal contra dichos scripts. Por supuesto, puede ejecutar JavaScript en sitios que no sean de confianza, pero esto no siempre es conveniente. En consecuencia, podemos recomendar una manera fácil: si fue a una página con una bomba de descarga, simplemente detenga el navegador usando el administrador de tareas o la línea de comando, por ejemplo:

taskkill / f / im firefox.exe

En Linux y macOS, siempre puedes usar kill o killall. Una vez que se completen los procesos, puede reiniciar su navegador y cerrar rápidamente la pestaña Descargar Bomba hasta que la página se cargue nuevamente.

¿Qué complementos pueden mejorar la seguridad del navegador?

Desafortunadamente, la situación con la repentina restauración de la funcionalidad de bombas de descarga no fue la única sorpresa desagradable para los usuarios. A fines de junio de 2018, se supo que una nueva versión del estándar WebAssembly, que será compatible con todos los navegadores principales, podría hacer que las computadoras de millones de usuarios sean vulnerables a una serie de ataques temporales (ataques cronometrados). Esto será posible gracias al soporte de temporizadores JavaScript ultraprecisos: en un futuro cercano, las restricciones que se han introducido específicamente para proteger contra ciertos ataques dejarán de funcionar.

Surge una pregunta razonable: si tales regresiones aparecen en las nuevas versiones del navegador (y aparecerán), ¿quizás sea mejor actualizar el navegador lo menos posible? Por ejemplo, ¿descargar una versión anterior bien probada de Chrome o Firefox y no actualizar durante mucho tiempo?

Esta solución tiene algunas ventajas (estabilidad de la interfaz, ausencia de extensiones dañadas, etc.), pero desde el punto de vista de la seguridad no es ideal. Las reversiones de vulnerabilidades antiguas no ocurren con tanta frecuencia y los errores se corrigen en cada versión. Por lo tanto, aún es necesario actualizar, pero es mejor esperar el lanzamiento oficial de la nueva versión (puede negarse a usar versiones beta y compilaciones «nocturnas» si no está seguro de que necesita exactamente las nuevas funciones del navegador para el trabajo diario en Internet).