Microsoft Edge-tests uitschakelen JavaScript JIT Compiler om beveiliging te verbeteren
Microsoft heeft experimenten en prestatietests uitgevoerd met speciale builds van hun Edge-browser, waarbij de JavaScript just-in-time-compiler is uitgeschakeld. Het doel van het experiment is om te zien hoeveel gunstig effect dit kan hebben op de veiligheid.
Een JIT of just in time interpreter is een module waarin JavaScript dynamisch wordt verwerkt en gecompileerd, terwijl de code door de browser wordt benaderd. Terwijl talen zoals C++ en C# eerst door een compiler worden verwerkt voordat uitvoering mogelijk is, verwerkt en optimaliseert een just-in-time interpreter het JavaScript zoals het in realtime wordt gelezen, zoals de naam al doet vermoeden.
Microsoft publiceerde een stuk met de naam "Super Duper Secure Mode", gericht op het experiment met het uitschakelen van de JIT-compiler in Edge. Het hoogtepunt van deze wijziging is dat met de JIT-compiler uitgeschakeld, de browser gebruik kon maken van verschillende beveiligingstechnologieën die niet compatibel waren met de JIT.
Deze omvatten Intel's Control-Flow Enforcement Technology (CET), evenals Microsoft's Arbitrary Code Guard - een extra beperkende maatregel die in Windows bestaat.
Het Microsoft-artikel, samengesteld door Jonathan Normal, hoofd van MS Edge-kwetsbaarheidsonderzoek, noemt het feit dat deze technologieën incompatibel zijn met JIT "ongelukkig", omdat de tolk werkt met "niet-vertrouwde inhoud", die zo beperkt zou moeten zijn in rechten en als " vergrendeld" mogelijk.
ZDNet meldt dat hoewel de interne tests door Microsoft beweren dat gebruikers nauwelijks enige vorm van waarneembare vertraging opmerken terwijl de JIT is uitgeschakeld, externe benchmarktests een aanzienlijke prestatievermindering hebben vastgesteld.
De laadtijden van pagina's werden ook beïnvloed, waarbij Microsoft een regressie van "ongeveer 17%" rapporteerde, terwijl de opstarttijden van de browser iets zijn verbeterd met de JIT uitgeschakeld.
Gebruikers die de Super Duper Secure-modus zelf willen testen, moeten een bètaversie van de Edge-browser krijgen en de modus inschakelen op de edge://flags-instellingenpagina.
Op dit moment is WebAssembly niet compatibel met de Super Duper Secure-modus en staat alleen Intel's CET aan, maar dat is natuurlijk onderhevig aan verandering, aangezien de modus verder wordt ontwikkeld en verfijnd.