Inanunsyo ng Mozilla ang pagsisimula ng malawakang pagsubok ng isang mahigpit na site isolation mode, na binuo bilang bahagi ng proyektong Fission, sa mga nightly build at beta release ng Firefox. Pinalalawak ng mode na ito ang paggamit ng arkitekturang multi-process: sa halip na isang nakapirming pool ng mga proseso, isang hiwalay na proseso ang nilikha para sa bawat site. Maaaring paganahin ang fission mode sa pamamagitan ng variable na "fission.autostart=true" sa about:config o sa about:preferences#experimental page.
Bilang paalala, ang modelong multi-process na ginagamit sa Firefox hanggang ngayon ay nagsasangkot ng pagpapatakbo ng isang pool ng mga proseso ng handler: bilang default, 8 pangunahing proseso para sa pagproseso ng nilalaman, 2 karagdagang hindi pribilehiyong proseso para sa nilalaman ng web, at 4 na pantulong na proseso para sa mga add-on, pakikipag-ugnayan ng GPU, mga operasyon ng network, at pag-decode ng media. Ang pamamahagi ng mga tab sa mga proseso ay arbitraryo; halimbawa, ang isang proseso ay maaaring humawak ng isang website ng bangko at isang hindi mapagkakatiwalaang mapagkukunan.
Pinaghihiwalay ng bagong mode ang pagproseso ng bawat site sa isang hiwalay na proseso, na pinaghihiwalay ito ayon sa domain sa halip na tab, na nagbibigay-daan para sa karagdagang paghihiwalay ng mga panlabas na script at nilalaman ng iframe. Upang paghiwalayin ang mga subdomain ng mga karaniwang serbisyong nauugnay sa iba't ibang site, ginagamit ang paghihiwalay sa mga ito ayon sa aktwal (eTLD) sa halip na sa mga pormal. mga domain na nasa pinakamataas na antas, minarkahan sa listahan ng Pampublikong Suffix (ibig sabihin, ang mga site na "a.github.io" at "b.github.io" ay ililipat sa iba't ibang proseso).
Pinoprotektahan ng mahigpit na isolation mode ang mga side-channel attack, tulad ng mga nauugnay sa mga kahinaan sa Spectre-class na humahantong sa pagtagas ng impormasyon sa loob ng iisang proseso. Ang sensitibong data na naproseso sa loob ng parehong proseso ay maaaring ma-leak sa pamamagitan ng pagpapatupad ng hindi mapagkakatiwalaang panlabas na code sa mga JIT engine at sa mga virtual na makinaSa konteksto ng mga web browser, ang malisyosong JavaScript code mula sa isang site ay maaaring makakuha ng impormasyon tungkol sa mga password, access key, at mga numero ng credit card na ipinasok sa ibang site na tumatakbo sa parehong proseso. Sa una, upang maprotektahan laban sa mga side-channel na pag-atake, nilimitahan ng mga developer ng browser ang katumpakan ng timer at hinarangan ang access sa SharedArrayBuffer API, ngunit ang mga hakbang na ito ay lalo lamang nagpakomplikado at nagpabagal sa pag-atake (halimbawa, isang paraan para sa pagkuha ng data mula sa CPU cache na gumagana nang walang JavaScript ang iminungkahi kamakailan).
Kabilang sa iba pang mga benepisyo ng strict isolation mode ang nabawasang memory fragmentation, mas mahusay na pagbabalik ng memorya sa operating system, pagliit ng epekto ng garbage collection at masinsinang mga kalkulasyon sa mga pahina sa iba pang mga proseso, pagtaas ng kahusayan sa pamamahagi ng load sa iba't ibang CPU core, at pagtaas ng stability (ang pag-crash ng prosesong humahawak sa isang iframe ay hindi magtatanggal sa pangunahing site at iba pang mga tab).
Kabilang sa mga kilalang isyu sa Fission ang kapansin-pansing pagtaas sa pagkonsumo ng memorya, mga koneksyon sa X11, at mga deskriptor ng file kapag nagbubukas ng maraming tab, pati na rin ang pagkaantala ng ilang mga add-on, ang pagkawala ng nilalaman ng iframe kapag nagpi-print at kapag tinatawag ang function ng screenshot, nabawasang kahusayan ng pag-cache ng mga dokumento gamit ang mga iframe, at ang pagkawala ng nilalaman ng mga nakumpleto ngunit hindi naisumiteng form kapag nagbabalik ng isang sesyon pagkatapos ng isang pag-crash.
Pinagmulan: opennet.ru
