Microsoft Edge prueba la desactivación del compilador JIT de JavaScript para aumentar la seguridad
Microsoft ha estado ejecutando experimentos y pruebas de rendimiento con versiones especiales de su navegador Edge, donde el compilador Just-In-Time de JavaScript está deshabilitado. El objetivo del experimento es ver qué efecto beneficioso puede tener esto en la seguridad.
Un intérprete JIT o just in time es un módulo en el que JavaScript se procesa y compila dinámicamente, ya que el navegador accede al código. Si bien los lenguajes como C ++ y C # son procesados primero por un compilador antes de que sea posible la ejecución, un intérprete justo a tiempo procesa y optimiza el JavaScript a medida que se lee en tiempo real, como sugiere el nombre.
Microsoft publicó un artículo llamado "Super Duper Secure Mode", que se centra en el experimento de deshabilitar el compilador JIT en Edge. Lo más destacado de este cambio es que con el compilador JIT desactivado, el navegador pudo hacer uso de varias tecnologías de protección que no eran compatibles con JIT.
Entre ellos se incluyen la tecnología Control-Flow Enforcement Technology (CET) de Intel, así como el Arbitrary Code Guard de Microsoft, una medida de mitigación adicional que existe en Windows.
El artículo de Microsoft, elaborado por Jonathan Normal, quien dirige la investigación de vulnerabilidades de MS Edge, califica el hecho de que estas tecnologías son incompatibles con JIT como "desafortunado", ya que el intérprete trabaja con "contenido que no es de confianza", que debería ser tan limitado en permisos como " bloqueado "como sea posible.
ZDNet informa que, si bien las pruebas internas realizadas por Microsoft afirman que los usuarios apenas notan ningún tipo de desaceleración observable mientras el JIT está desactivado, las pruebas comparativas externas registraron una reducción significativa en el rendimiento.
Los tiempos de carga de la página también se vieron afectados, con Microsoft informando una regresión de "alrededor del 17%", mientras que los tiempos de inicio del navegador han mejorado ligeramente con el JIT desactivado.
Los usuarios que quieran probar el modo Super Duper Secure por su cuenta deberán obtener una versión beta del navegador Edge y activar el modo en la página de configuración edge: // flags.
En la actualidad, WebAssembly no es compatible con el modo Super Duper Secure y solo el CET de Intel está activado, pero eso, por supuesto, está sujeto a cambios, ya que el modo se desarrolla y ajusta más.