Microsoft testuje nową funkcję zabezpieczeń przeglądarki Edge o nazwie Super Duper Secure Mode. wyłącza kompilację JIT w JavaScript.
Tak, dobrze przeczytaliście ten tytuł. Microsoft testuje nową funkcję zabezpieczeń dla swojej przeglądarki Edge i, przynajmniej na razie, nosi ona nazwę Tryb superduper bezpieczny. Celem SDSM jest zwiększenie bezpieczeństwa podczas przeglądania sieci poprzez wyłączenie kompilacji just-in-time (JIT) dla JavaScript. Istnieją jednak inne funkcje, które są częścią SDSM.
JavaScript jest podstawową częścią sieci, ale powoduje także wiele problemów, a za znaczną część z nich odpowiada silnik JIT. Według Piszczący komputer, który początkowo wykrył informacje o SDSM, około 45% luk w zabezpieczeniach JavaScript V8 jest związanych z silnikiem JIT. Jonathan Norman z Microsoftu zauważa również, że wyłączenie kompilacji JIT „eliminuje połowę błędów”, które napastnicy mogą wykorzystać do wykorzystania luk bezpieczeństwa w JavaScript. Ponadto w przypadku pozostałych exploitów ta mniejsza powierzchnia ataku powinna przynajmniej utrudniać przeprowadzanie ataków.
Oczywiście, gdyby wyłączenie kompilatora JIT było same korzyści, prawdopodobnie zostałoby to już zrobione. Powodem istnienia kompilacji JIT jest to, że ma ona znacznie poprawić wydajność JavaScript. Jednak zespół badawczy Microsoftu twierdzi, że wyłączenie tej funkcji nie zaobserwowało znaczącego spadku wydajności. Z setek testów przeprowadzonych przez Microsoft tylko mniej niż dziesięć wykazało spadek wydajności po wyłączeniu kompilacji JIT. W niektórych przypadkach wydajność nawet się poprawiła. Jednak w testach, w których występowały regresje wydajności, były one dość znaczące. Mimo to sprawia to, że tryb Super Duper Secure Mode firmy Edge wydaje się dość atrakcyjny.
Ale to nie wszystko. Według Microsoftu pozostawienie włączonego JIT uniemożliwia wdrożenie innych funkcji, które mogą pomóc w bezpieczeństwie. Na przykład technologia Intel Controlflow-Enforcement Technology (CET), sprzętowa ochrona przed exploitami, musi być wyłączona. Dzięki trybowi Super Duper Secure w Edge Microsoft nie tylko wyłącza kompilator JIT, ale także włącza CEF w celu zapewnienia dodatkowego bezpieczeństwa. Microsoft planuje także w przyszłości włączyć funkcję Arbitrary Code Guard (ACG) — kolejna rzecz, która nie była możliwa przy włączonym kompilatorze JIT.
Microsoft jest całkiem pewien, że to tylko test, więc nie należy się spodziewać, że stanie się to wkrótce funkcją. Jeżeli jednak pomysł uznasz za ciekawy, możesz go wypróbować. Możesz włączyć SDSM w Edge Beta, Dev lub Canary, przechodząc do krawędź://flagi. Odpowiednia flaga nazywa się po prostu Tryb superduper bezpieczny.