Prohlížeče | Bezpečnost | Edge

Microsoft Edge zkouší Super Duper Secure Mode. Obětuje trochu rychlosti ve prospěch bezpečnosti

  • Před 10 lety prohlížeče nasadily technologii urychlující JavaScript
  • Dnes už působí spíš problémy, trpí na zranitelnosti
  • Edge ji proto zkouší vypnout, aby prohlížeč byl zase bezpečnější

V prohlížeči od Microsoftu se nachází něco, čemu samotný vývojový tým přezdívá Super Duper Secure Mode. Jak název naznačuje, tak tahle funkce zlepšuje zabezpečení brouzdání po webu. V praxi se de facto jedná o veřejný betatest, byť je tento režim dostupný rovněž ve stabilním vydání prohlížeče.

Jen ho musíte aktivovat manuálně. Super Duper Secure Mode se prvně objevil v Edgi 96, ačkoliv jej Microsoft v seznamu změn neuvedl. Ve finále se neprezentuje tak osobitým názvem, v Nastavení | Ochrana osobních údajů ho najdete pod nudným označením Vylepšete své zabezpečení na webu.

Tohle naznačuje, že se s tímto „suprově skvěle bezpečným režimem“ pojí háček, jinak by už režim byl aktivní ve všech instalacích. Aktivací totiž může dojít ke snížení výkonu prohlížeče, což se projeví na některých stránkách minimálně, na jiných více. (Tím se Microsoft zabýval, viz dále.)

Fakticky totiž režim deaktivuje metodu kompilace just-in-time (JIT). Tento přístup ke zpracování JavaScriptu se poprvé objevil ve Firefoxu 3.5 v roce 2009. Mnoho webových aplikací, které se silně opírají právě o JavaScript, podle Mozilly tehdy běželo 3–4× rychleji oproti předchozímu vydání prohlížeče.

Interpretace versus kompilace

Aby počítač rozuměl pokynům v javascriptovém kódu, musí se kód přeložit. Kdysi ho prohlížeče tzv. interpretovaly. V tomto režimu se kód překládá za běhu, přičemž nevýhoda přístupu spočívá v neefektivitě. Vyplývá z toho, že se některé části kódu používají opakovaně. Vždycky se pak musí znovu interpretovat, což je zbytečná práce.

Druhým možným přístupem je kompilace. Kód je zpracován dopředu, takže existuje prostor ho lépe zoptimalizovat. Opakovaně používané části se pak mohou využívat znovu, aniž by pokaždé muselo znovu dojít k překladu. Nevýhodu lze snadno pojmenovat – je jí počáteční prodleva.

Klepněte pro větší obrázek
Část prezentace Googlu z roku 2016 ukazuje, jak
komplikované je JIT ve Chromu (foto: Microsoft)

Na scéně se následně objevil kompromisní přístup just-in-time, který kombinuje to nejlepší z obou uvedených přístupů. Prohlížeč sleduje kód, který za běhu interpretuje. Pokud vyhodnotí, že se některé části používají opakovaně, tak je zkompiluje a zoptimalizuje.

Aby všechno běželo rychle, musí se prohlížeč dopouštět odhadů, který kód je žádoucí takto zpracovat. Využívány jsou znalosti sledovací komponenty. Může se samozřejmě stát, že odhad nevyjde a předem zoptimalizovaný a zkompilovaný kód se zahodí. V průměru se nicméně ukazuje, že JIT funguje velice dobře.

JIT jako zdroj bezpečnostních problémů

Bezpečnostní tým v Microsoftu nicméně začal pracovat s tím, že zpracování JavaScriptu z hlediska ochrany dlouhodobě zůstává problematickým místem v prohlížečích. Z velké části to připisuje právě JIT a zmíněnému odhadování či spekulování, chcete-li. Reálně se jedná o nesmírně komplexní proces a z toho vyplývají potíže.

Data po roce 2019 ukazují, že 45 % odhalených zranitelných míst v javascriptovém jádře V8 bylo spojených právě s JIT. Microsoft si tak začal hrát s myšlenkou, že technologii odstaví. Odstranil by tím půlku děr, které je potřeba v souvislosti s V8 zalepit. (Viz analýza Mozilly.)

Klepněte pro větší obrázek
Počet laboratorních testů s vypnutým JIT ukazuje, ke kolika změnám
(ne)došlo ve stanovených kategoriích (foto: Microsoft)

Z uživatelského pohledu by to znamenalo méně bezpečnostních aktualizací. Redmondští v tomto myslí primárně na firmy, kde se nové verze softwaru před nasazením musí testovat. Nejde přitom jen o V8. Kvůli kompilaci JIT nemůže být v prohlížeči aplikováno několik ochran, které zabraňují dalším bezpečnostním problémům.

Microsoft zmiňuje mj. Controlflow-Enforcement Technology, hardwarovou ochranu před útoky od Intelu. Nasazení zapovězených obranných technologií by zalepilo půlku děr využívaných exploity. Navíc by ochrany ztížily zneužití zbytku slabých míst, tvrdí bezpečnostní tým. Z hlediska čísel by tedy bezpečnostní benefity měly být značné.

Interní testy dopadu na výkon

Interní laboratoř pro testování výkonu po vypnutí JIT v Edgi zjistila, že v testovaných scénářích, které mají odrážet podmínky reálného světa, k propadu výkonu došlo na minimální úrovni.

V průměru pak došlo ke větší míře zhoršení rychlosti načtení stránky, v menším míře naopak ke zlepšení. Lépe je na tom paměť, kde dochází k úsporám. Zrychlilo i spouštění prohlížeče. O něco lepší v průměru je spotřeba. Vypnutí JIT se značně podepsalo na výkonu v benchmarcích, jenže ty se soustředí jen na některé oblasti a neodráží běžnou uživatelskou zkušenost.

Klepněte pro větší obrázek
Srovnání průměrných zlepšení a zhoršení výkonu v testovaných
scénářích po vypnutí JIT (foto: Microsoft)

Pokud něco výsledky ukázaly, tak to, že dnes použití JIT v prohlížeči nevede v průměru ke skokovému zlepšení výkonu pro všechny. Do značné míry záleží na tom, jaké weby navštěvujete. Někteří by tedy propad výkonu pozorovat mohli, pro jiné by vypnutí opticky negativní dopad nemělo.

Závěr

S ohledem na popsané bezpečnostní aspekty se zdá, že vypnout JIT i za cenu určitého snížení výkonu může být přijatelný kompromis. Záleží na tom, jestli bude propad výkonu tak dramatický, aby ospravedlnil použití kompilace JIT.

Jak by to reálně fungovalo, že teď vývojový tým snaží ověřit právě přes Super Duper Secure Mode. Tento režim deaktivuje JIT a naopak aktivuje ochrany, které musely být vypnuté. Aktuálně nabízí dva stavy. Vyvážený stav vypíná JIT jen na webech, které nenavštěvujete často.

Přísný dle očekávání zahrnuje úplně všechny navštívené stránky. Můžete si ale sestavit seznam výjimek. Experimentovat tak můžete i vy. Na rozsáhlé hodnocení si musíme počkat.

Zdroje: Aleksey V Malyshev | analýza Mozilly | Johnathan Norman na Twitteru | Microsoft Browser Vulnerability Research | the Web developer blog (1 | 2)

Diskuze (16) Další článek: Chrome OS v roce 2021 rostl. Aplikace z Androidu v něm lidé používali o 50 % častěji než před rokem

Témata článku: Technologie, Microsoft, Google, Prohlížeče, Intel, Bezpečnost, Chrome, Edge, Twitter, Firefox, Mozilla, Javascript, Kód, Pro, Norman, Prohlížeč, Výkon, Režim, SEČ, JIT, Secure