Concretamente, este proyecto que ha sido bautizado como "Edge Super Duper Secure Mode", busca ver el funcionamiento del navegador si se desactiva el soporte para JIT (Just-In-Time) dentro de V8, el motor de JavaScript del navegador Edge, según informaciones de Johnathan Norman, Jefe de Investigación de Vulnerabilidades de Microsoft Edge.
Como explica The Record Media, aunque JIT es desconocido para la mayoría de los usuarios finales, desempeña un papel crucial en los navegadores web actuales. JIT funciona tomando JavaScript y compilándolo en código de máquina con antelación.
La complejidad de JIT en V8 y sus problemas de seguridad
De acuerdo con Johnathan Norman, el soporte de JIT en V8 es complejo. Según el directivo, los problemas de seguridad relacionados con JIT ascendieron al 45% de todas las vulnerabilidades de V8 en 2019.
Norman dijo que unas pruebas recientes llevadas a cabo por el equipo de Edge han demostrado que, a pesar de su papel fundamental en la aceleración de los navegadores a principios y mediados de la década de 2010, JIT ya no es una característica crucial para el rendimiento de Edge.
Con esta información en la mano, Norman dijo que el equipo de Edge trabaja ahora en el modo Super Duper Secure, una configuración de Edge en la que se desactiva JIT y se activan otras tres características de seguridad como la tecnología de refuerzo de flujo de control (CET) y la protección de código arbitrario (ACG), dos características que no serían compatibles con la implementación de JIT de V8.
El modo Super Duper Secure está clasificado actualmente como un experimento, y todavía no hay planes para ponerlo a disposición de los usuarios. A pesar de ello, la función ya está en marcha y lista para pruebas. Los usuarios de Edge Canary, Dev y Beta pueden ir a la siguiente dirección y habilitarlo en sus navegadores:
edge://flags/#edge-enable-super-duper-secure-mode
JIT ya no es esencial para la velocidad del navegador
La tecnología de rendimiento "compilación justo a tiempo" (JIT) se introdujo en los navegadores en 2008 para acelerar tareas específicas en JavaScript. Los motores habilitados para JIT toman el JavaScript de tipo libre y lo compilan a código máquina justo antes de que se necesite. Este proceso se denomina a veces "optimización especulativa".
El código JavaScript se optimiza a través de una serie de complejos canales de procesamiento. Estos cambios dan como resultado un aumento del rendimiento "bastante impresionante", según palabras literales de los portavoces de la firma de Redmon. Los desarrolladores han conseguido que el rendimiento de JavaScript sea comparable al de C++. Pero todo esto daba lugar a más parches de seguridad como los desarrolladores del navegador han comprobado.
Tradicionalmente, los desarrolladores de navegadores estarían dispuestos a aceptar este coste porque los usuarios quieren que sus navegadores sean "rápidos", pero ¿qué pasaría si simplemente desactiváramos el JIT? "Esta reducción de la superficie de ataque tiene el potencial de mejorar significativamente la seguridad de los usuarios; eliminaría aproximadamente la mitad de los errores V8 que hay que arreglar. Para los usuarios, esto significa actualizaciones de seguridad menos frecuentes y menos parches de emergencia necesarios", concluyen desde Microsoft.
Fuente: genbeta | somoslibres