Mozilla kuulutas välja massilise testimise alguse Firefoxi õhtunes kogumis ja beetaversioonides saidirežiimi ranget isoleerimist, mis on arenenud Fission projekti raames. Režiim laiendab mitme protsessori arhitektuuri rakendust – iga saidi jaoks luuakse eraldi protsess, mitte fikseeritud protsesside grupp. Fission režiimi aktiveerimist juhitakse parameetri "fission.autostart=true" kaudu lehelt about:config või about:preferences#experimental.
Tuletame meelde, et enne rakendatud Firefoxi mitme protsessori mudel eeldas töötlemisprotsesside gruppide käivitamist: vaikimisi 8 peamist protsessi sisu töötlemiseks, 2 täiendavat privileegita protsessi veebisisu jaoks ja 4 abiprotsessi lisandite, GPU interaktsioonide, võrguoperatsioonide ja multimeedia andmete dekodeerimise jaoks. Vahekaartide jagamine protsesside vahel toimus juhuslikult, näiteks võis ühes protsessis töödelda nii panganduse saiti kui ka usaldamatut kahtlast allikat.
Uus režiim viib iga saidi töötlemise eraldi protsessi, jagades mitte vahekaartide, vaid domeenide järgi, mis võimaldab täiendavalt isoleerida välistest skriptidest ja iframe plokkidest pärinevat sisu. Alamsaadete eraldi töötlemiseks tüüpiliste teenuste jaoks, mis on seotud erinevate saitidega, kasutatakse jagamist mitte formaalsete, vaid tegelike (eTLD) domeenide alusel. ülemise taseme domeenide, mis on markeeritud Public Suffix nimekirjas (st saidid "a.github.io" ja "b.github.io" viiakse erinevatesse protsessidesse).
Range isoleerimise režiim kaitseb kolmandate kanalite rünnakute eest, näiteks Spectre klassi haavatavustega, mis võivad põhjustada teabe leket ühe protsessi sees. Ühes protsessis töötleva konfidentsiaalse teabe leke on võimalik, kui mõni usaldamatute väliste koodide käitamine toimub JIT mootorites ja virtuaalmasinaid. Kontekstis veebibrauserites võib pahatahtlik JavaScript-kood ühest saidist saada teavet paroolide, pääsukoodide ja krediitkaardi numbbrite kohta, mis on sisestatud teisele saidile, mida töödeldakse samas protsessis. Esialgu, et kaitsta kolmandate osapoolte rünnakute eest, piirasid brauseriarendajad taimeri täpsust ja keelasid juurdepääsu API-le SharedArrayBuffer, kuid need meetmed ainult raskendasid ja aeglestasid rünnaku läbiviimist (näiteks hiljuti on pakutud meetod andmete väljavõtmiseks CPU vahemälust, mis töötab üldse ilma JavaScriptita).
Teiste rangelt isolatsiooni režiimi eelistena mainitakse mälu fraktsioneerimise vähenemist, tõhusamat mälureturnimist opsüsteemile, prügikogumise ja intensiivsete arvutuste mõju minimeerimist teiste protsesside lehtedele, koormuse jaotamise efektiivsuse suurenemist erinevatel CPU tuumadel, stabiilsuse tõusu (iframe’i töötleva protsessi krahh ei too kaasa peamise saidi ja teiste vahelehtede alla kukkumist).
Tuntud probleemide seas, mis tekivad Fissioni kasutamisel, on märgatav mälutarbimise, X11 ühenduste ja failide deskriptorite suurenemine suure arvu vahelehtede avamisel, samuti mõningate laiendite toimimise häired, iframe’i sisu kadumine printimise ja ekraanipildi salvestamise funktsioonide väljakutsumise ajal, dokumentide vahemälustamise efektiivsuse langus koos iframe’iga, täidetud, kuid mitte saadetud vormide sisu kadumine seansi taastamisel pärast krahhi.
Allikas: opennet.ru
