Microsoft Edge verifica la disabilitazione del compilatore JIT JavaScript per aumentare la sicurezza
Microsoft ha eseguito esperimenti e test delle prestazioni con build speciali del proprio browser Edge, in cui il compilatore JIT JavaScript è disabilitato. L'obiettivo dell'esperimento è vedere quale effetto benefico può avere sulla sicurezza.
Un interprete JIT o just in time è un modulo in cui JavaScript viene elaborato e compilato dinamicamente, poiché il browser accede al codice. Mentre linguaggi come C++ e C# vengono prima elaborati da un compilatore prima che sia possibile l'esecuzione, un interprete just-in-time elabora e ottimizza JavaScript mentre viene letto in tempo reale, come suggerisce il nome.
Microsoft ha pubblicato un pezzo chiamato "Super Duper Secure Mode", incentrato sull'esperimento con la disabilitazione del compilatore JIT in Edge. Il clou di questa modifica è che con il compilatore JIT disattivato, il browser è stato in grado di utilizzare diverse tecnologie di protezione che non erano compatibili con il JIT.
Questi includono la tecnologia Control-Flow Enforcement Technology (CET) di Intel e l'Arbitrary Code Guard di Microsoft, un'ulteriore misura di mitigazione che esiste in Windows.
L'articolo di Microsoft, redatto da Jonathan Normal che dirige la ricerca sulla vulnerabilità di MS Edge, definisce "sfortunato" il fatto che queste tecnologie siano incompatibili con JIT, poiché l'interprete lavora con "contenuto non attendibile", che dovrebbe essere limitato nelle autorizzazioni e come " bloccato" il più possibile.
ZDNet riporta che mentre i test interni eseguiti da Microsoft affermano che gli utenti notano a malapena qualsiasi tipo di rallentamento osservabile mentre il JIT è disabilitato, i test di benchmark esterni hanno registrato una significativa riduzione delle prestazioni.
Anche i tempi di caricamento della pagina sono stati colpiti, con Microsoft che ha riportato una regressione di "circa il 17%", mentre i tempi di avvio del browser sono leggermente migliorati con il JIT disabilitato.
Gli utenti che desiderano testare da soli la modalità Super Duper Secure dovranno ottenere una versione beta del browser Edge e attivare la modalità nella pagina delle impostazioni edge://flags.
Al momento, WebAssembly non è compatibile con la modalità Super Duper Secure e solo il CET di Intel è attivato, ma questo è ovviamente soggetto a modifiche, poiché la modalità viene ulteriormente sviluppata e messa a punto.