La extensión de Chrome que te protege contra ataques de canal lateral de CPU basados en JavaScript
¿Qué es un ataque de canal lateral?
Un ataque de canal lateral es un ataque basado en información obtenida gracias a la propia implementación física de un sistema informático, en lugar de basarse en puntos débiles del algoritmo implementado como sería el caso de recurrir a criptoanálisis o explotar errores en el software.
Por ejemplo, la sincronización de información, el consumo de energía, fugas electromagnéticas o incluso sonidos pueden ser una fuente adicional de información que puede explotarse para romper el sistema
Desarrollan una extensión para bloquear ataques de canal lateral
Un equipo de académicos ha creado una extensión de Chrome que puede bloquear ataques de canal lateral que usan código JavaScript para filtrar datos desde la RAM o CPU de un ordenador.
El nombre de la extensión es Chrome Zero y actualmente solo está disponible en GitHub, y no a través de la Chrome Store.
Los investigadores crearon la extensión para reescribir y proteger las funciones, propiedades y objetos de JavaScript que a menudo se usan con códigos JavaScript maliciosos para filtrar datos de la CPU o de memoria ram.
La extensión bloquea 11 ataques de canal lateral basados en JavaScript
Los expertos dicen que actualmente hay once ataques avanzados de canal lateral que se pueden realizar a través de código JavaScript que se ejecuta en un navegador.
Cada ataque necesita acceso a varios detalles locales, para lo cual utiliza código JavaScript para filtrar, recuperar y recopilar la información necesaria antes de montar el ataque real del canal lateral.
Después de observar cada uno de los once ataques, los investigadores dicen que identificaron cinco categorías principales de datos/características que los ataques de canal lateral de JavaScript intentan explotar: direcciones de memoria recuperable JS, información precisa de tiempo (diferencia de tiempo), multihilo del navegador, los datos compartidos entre los hilos del código JS y los datos de los sensores del dispositivo.
La extensión Chrome Zero funciona interceptando el código JavaScript que el navegador Chrome debe ejecutar y reescribiendo ciertas funciones, propiedades y objetos de JavaScript en un contenedor que neutraliza sus efectos negativos, que un ataque de canal lateral intentaría aprovechar.
Chrome Zero tiene un impacto mínimo en el rendimiento
Los expertos dijeron que a pesar del comportamiento intrusivo de la extensión, las pruebas mostraron un impacto de rendimiento mínimo de solo 1.54% en el uso de recursos, y una latencia de carga de página que varía de 0.01064 y 0.08908, dependiendo del número de políticas de protección activas en tiempo de ejecución.
Además, como efecto secundario de las "medidas de protección" de la extensión, el equipo de investigación dice que Chrome Zero habría podido bloquear el 50% de los días cero de Chrome detectados en el mundo real desde el lanzamiento de Chrome 49.
La extensión puede ser capaz de frustrar incluso los días cero de versiones futuras de Chrome principalmente debido a su hábito de reescribir las funciones que pueden resultar peligrosas.
Cómo instalar Chrome Zero
Como la extensión aún no se encuentra en Chrome Web Store, los usuarios pueden instalarla:
-
Ir a la página de administración de extensiones de Chrome (chrome://extensions)
-
Habilitar el " Modo desarrollador
-
Haz clic en "Cargar extensión descomprimida"
-
Selecionas la carpeta "chromezero"
Una vez que la extensión se ha cargado y habilitado, los usuarios pueden seleccionar su nivel de protección deseado.
Los académicos que crearon Chrome Zero también son los que están detrás de la versión de JavaScript del ataque de Rowhammer y también han contribuido al descubrimiento de las vulnerabilidades de Meltdown y Spectre.
Más detalles sobre sus investigaciones más recientes están disponibles en un documento titulado "JavaScript cero: JavaScript real y cero ataques de canal lateral", presentado a finales de febrero en el simposio NDSS en San Diego, California. El documento está disponible en línea aquí y aquí, y un video de la presentación de NDSS también se incluye a continuación.