lunes, 25 de junio de 2018

Los parches para Meltdown y Spectre de los navegadores serán inútiles con este nuevo estándar web


En los últimos meses hemos podido ver muchas noticias relacionadas con las vulnerabilidades de Meltdown y Spectre. Ha afectado a millones de usuarios en las diferentes plataformas y sistemas. La gran mayoría, de forma paulatina, ha ido sacando parches para corregir estos fallos. Los navegadores también. El problema es que ahora estos parches para los principales navegadores pueden ser inútiles. Las vulnerabilidades de Meltdown y Spectre podrían afectar a quienes utilicen Google Chrome o Mozilla Firefox, entre otros, por las próximas incorporaciones al estándar WebAssembly.

Los parches para Meltdown y Spectre en navegadores podrían ser inútiles


WebAssembly es una nueva técnica, conocida de forma abreviada como Wasm, que es compatible con los principales navegadores. Es un lenguaje de bajo nivel. Puede procesarse más rápido que JavaScript y mejorar así su velocidad de ejecución. Sin embargo también trae un aspecto negativo y es que los desarrolladores crearon la manera de transferir el código de otros lenguajes de alto nivel como C o C +++. Esto es un efecto secundario que permitiría posteriormente ejecutarlo en un navegador.

Por ejemplo podría ejecutar scripts de mineros de criptomonedas ocultos. Pero además, según un investigador de seguridad de Forcepoint, se podrían crear ataques de temporización muy precisos que harían que los mitigadores de los navegadores de algunos tipos de ataques de CPU no funcionen.

Los ataques de temporización son una clase de ataques criptográficos a través de los cuales alguien externo puede deducir el contenido de los datos cifrados al registrar y analizar el tiempo necesario para ejecutar algoritmos criptográficos. Las vulnerabilidades de Meltdown y Spectre, así como otras similares, son de este tipo.

Es por ello que esta nueva tecnología, muy positiva en algunos aspectos, podría hacer que los principales navegadores vuelvan a ser vulnerables a Meltdown y Spectre, pese a haber instalado parches para paliar el problema.

Cuando Meltdown y Spectre salieron a la luz el pasado mes de enero, los investigadores de seguridad publicaron un código de prueba de concepto que un atacante podría haber utilizado para explotar estas vulnerabilidades de la CPU de forma remota, a través de Internet, utilizando código JavaScript que se ejecuta en el navegador. Este código de ataque utiliza funciones nativas internas de los navegadores para medir intervalos de tiempo.

Los principales navegadores, afectados


Algunos de los principales navegadores como Firefox y Chrome reaccionaron liberando actualizaciones que redujeron la precisión de estas funciones del temporizador. Esto hizo que los ataques de Meltdown y Spectre, y otros ataques similares, fueran ineficientes.

El problema aterriza ahora. Al agregar la técnica WebAssembly y que llegue a los navegadores modernos, éstos se hacen vulnerables. Todas las mitigaciones, los parches que hemos mencionado, se vuelven inútiles.

La manera de evitar esto es que los desarrolladores de los navegadores adopten un nuevo enfoque. La solución es que limiten los procesos que puedan provocar este tipo de ataques. Es previsible, por tanto, que pronto veremos nuevos parches y actualizaciones que tengan en cuenta este problema.