Spoločnosť Mozilla oznámila začiatok hromadného testovania v nočných zostaveniach a beta verziách Firefoxu prísneho režimu izolácie webových stránok, ktorý sa vyvíjal v rámci projektu Fission. Režim rozširuje použitie viacnásobnej architektúry — namiesto fixného počtu procesov sa pre každú webovú stránku vytvára samostatný proces. Správa zapnutia režimu Fission sa realizuje prostredníctvom premennej „fission.autostart=true“ v about:config alebo na stránke about:preferences#experimental.
Pripomeňme, že viacnásobný model používaný vo Firefoxe do súčasnosti predpokladal spustenie skupiny procesov-zpracovateľov: predvolene 8 hlavných procesov na spracovanie obsahu, 2 ďalšie neoprávnené procesy pre webový obsah a 4 pomocné procesy pre doplnky, interakciu s GPU, sieťové operácie a dekódovanie multimediálnych dát. Rozdelenie záložiek medzi procesy sa vykonávalo náhodne; napríklad v jednom procese mohlo dôjsť k spracovaniu webovej stránky banky a nedôveryhodného pochybného zdroja.
Nový režim presúva spracovanie každej webovej stránky do samostatného procesu s rozdelením nie podľa záložiek, ale podľa domén, čo umožňuje ďalšiu izoláciu obsahu externých skriptov a blokov iframe. Pre oddelené spracovanie subdomén typových služieb, súvisiacich s rôznymi webovými stránkami, sa aplikuje rozdelenie nie podľa formálnych, ale podľa faktických (eTLD) domén. vyšších úrovní, ktoré sú zaznamenané v zozname Public Suffix (t.j. webové stránky „a.github.io“ a „b.github.io“ budú vyčlenené do rôznych procesov).
Prísny režim izolácie poskytuje ochranu pred útokmi zo strany, napríklad spojenými s zraniteľnosťami triedy Spectre, čo vedie k úniku informácií v rámci jedného procesu. Únik spracovávaných dôverných dát v tom istom procese je možný pri vykonávaní nedôveryhodného externého kódu v JVM a v virtuálnych strojochV kontexte webových prehliadačov môže byť škodlivý JavaScriptový kód z jednej stránky schopný získať informácie o heslách, prístupových kľúčoch a číslach kreditných kariet zadaných na inej stránke, spracovávanej v tom istom procese. Pôvodne na ochranu pred útokmi cez vedľajšie kanály vývojári prehliadačov obmedzili presnosť časovača a zablokovali prístup k API SharedArrayBuffer, ale tieto opatrenia len sťažovali a spomaľovali vykonávanie útokov (napríklad nedávno bol navrhnutý spôsob extrakcie údajov z CPU cache, ktorý funguje vôbec bez JavaScriptu).
Medzi ďalšími výhodami režimu prísnej izolácie sa uvádza zníženie fragmentácie pamäte, efektívnejšie vracanie pamäte operačnému systému, minimalizácia vplyvu zberu odpadu a intenzívnych výpočtov na stránky v iných procesoch, zlepšenie efektívnosti rozdelenia záťaže na rôzne CPU jadrá a zvýšenie stability (zhodou procesu spracovávajúceho iframe sa neovplyvní hlavná stránka a ďalšie karty).
Medzi známe problémy súvisiace s používaním Fission patrí výrazné zvýšenie spotreby pamäte, X11 pripojení a súborových popisovačov pri otvorení veľkého počtu kariet, ako aj poruchy niektorých doplnkov, zmiznutie obsahu iframe pri tlači a vyvolaní funkcie snímania obrazovky, zníženie efektívnosti ukladania dokumentov s iframe, strata obsahu vyplnených, ale neodoslaných formulárov pri obnovení relácie po páde.
Zdroj: opennet.ru
