Testes do Microsoft Edge desabilitando o compilador JIT JavaScript para aumentar a segurança
A Microsoft tem feito experimentos e testes de desempenho com compilações especiais de seu navegador Edge, em que o compilador just-in-time do JavaScript está desabilitado. O objetivo do experimento é ver até que ponto isso pode ter um efeito benéfico na segurança.
Um JIT ou interpretador just in time é um módulo no qual JavaScript é processado e compilado dinamicamente, conforme o código é acessado pelo navegador. Enquanto linguagens como C ++ e C # são processadas primeiro por um compilador antes que a execução seja possível, um interpretador just-in-time processa e otimiza o JavaScript conforme ele é lido em tempo real, como o nome sugere.
A Microsoft publicou um artigo denominado "Super Duper Secure Mode", focando no experimento com a desativação do compilador JIT no Edge. O destaque dessa mudança é que, com o compilador JIT desligado, o navegador pôde fazer uso de várias tecnologias de proteção que não eram compatíveis com o JIT.
Isso inclui a tecnologia Control-Flow Enforcement (CET) da Intel, bem como o Arbitrary Code Guard da Microsoft - uma medida de mitigação adicional que existe no Windows.
O artigo da Microsoft, elaborado por Jonathan Normal que lidera a pesquisa de vulnerabilidade do MS Edge, chama o fato de que essas tecnologias são incompatíveis com o JIT de "infeliz", já que o intérprete trabalha com "conteúdo não confiável", que deve ser tão limitado em permissões quanto " bloqueado "quanto possível.
O ZDNet relata que, embora os testes internos feitos pela Microsoft afirmem que os usuários mal notam qualquer tipo de desaceleração observável enquanto o JIT está desabilitado, os testes de benchmark externos registraram uma redução significativa no desempenho.
Os tempos de carregamento da página também foram afetados, com a Microsoft relatando uma regressão de "cerca de 17%", enquanto os tempos de inicialização do navegador melhoraram ligeiramente com o JIT desabilitado.
Os usuários que desejam testar o modo Super Duper Secure por conta própria precisarão obter uma versão beta do navegador Edge e ativar o modo na página de configurações do edge: // flags.
No momento, o WebAssembly não é compatível com o modo Super Duper Secure e apenas o CET da Intel está ativado, mas isso está sujeito a alterações, à medida que o modo é desenvolvido e ajustado.