Tvrtka Mozilla najavila je početak masovnog testiranja u noćnim izdanjima i beta verzijama Firefoxa u režimu stroge izolacije web stranica, koji se razvija u okviru projekta Fission. Ovaj način rada proširuje primjenu višekorisničke arhitekture — umjesto fiksnog skupa procesa, za svaku stranicu se stvara zaseban proces. Upravljenje uključivanjem režima Fission provodi se putem varijable „fission.autostart=true“ u about:config ili na stranici about:preferences#experimental.
Podsjećamo da je primijenjena u Firefoxu do sada višekorisnička arhitektura podrazumijevala pokretanje skupa procesa za obradu: prema zadanim postavkama 8 glavnih procesa za obradu sadržaja, 2 dodatna neprivilegirana procesa za web sadržaj i 4 pomoćna procesa za dodatke, interakciju s GPU-om, mrežne operacije i dekodiranje multimedijskih podataka. Raspodjela kartica po procesima vršila se nasumično, tako da je u jednom procesu mogla biti obrada web stranice banke i nepouzdane sumnjive stranice.
Novi režim prenosi obradu svake web stranice u zaseban proces s izolacijom ne po karticama, nego po domenama, što dodatno omogućuje izolaciju sadržaja vanjskih skripti i iframe blokova. Za odvojenu obradu poddomena tipičnih usluga povezanih s različitim stranicama koristi se razdvajanje ne po formalnim, nego po stvarnim (eTLD) domenama najvišeg reda, označenim na Popisu javnih sufiksa (tj. web stranice „a.github.io“ i „b.github.io“ bit će obrađene u različitim procesima).
Režim stroge izolacije omogućuje zaštitu od napada putem vanjskih kanala, poput onih povezanih s ranjivostima klase Spectre, koje dovode do curenja informacija unutar jednog procesa. Curenje povjerljivih podataka obrađenih u istom procesu može se dogoditi pri izvršavanju nepouzdanog vanjskog koda u JIT motorima i u virtualnim mašinama. U kontekstu web preglednika, zlonamjenski JavaScript kod s jedne stranice može dobiti informacije o lozinkama, pristupnim ključevima i brojevima kreditnih kartica unesenim na drugoj stranici, obrađivanoj u istom procesu. Prvotno su programeri preglednika uveli ograničenja u preciznosti tajmera i blokirali pristup API-ju SharedArrayBuffer kako bi se zaštitili od napada putem sporednih kanala, no te mjere su samo otežale i usporile provođenje napada (na primjer, nedavno je predložen metod izvlačenja podataka iz CPU predmemorije koji djeluje potpuno bez JavaScript-a).
Među drugim prednostima režima stroge izolacije spominje se smanjenje fragmentacije memorije, učinkovitije vraćanje memorije operativnom sustavu, minimaliziranje utjecaja sakupljanja smeća i intenzivnih izračuna na stranice u drugim procesima, povećanje učinkovitosti opterećenja raspodjele na različita CPU jezgra, povećanje stabilnosti (pad procesa koji obrađuje iframe ne povlači za sobom glavni sajt i druge kartice).
Među poznatim problemima koji se javljaju prilikom korištenja Fission-a, ističe se značajno povećanje potrošnje memorije, X11 veza i deskriptora datoteka pri otvaranju velikog broja kartica, kao i prekid rada nekih dodataka, nestanak sadržaja iframe-a pri ispisi i pozivu funkcije za snimanje zaslona, smanjenje učinkovitosti keširanja dokumenata s iframe-om, gubitak sadržaja ispunjenih, ali ne poslanih obrazaca pri vraćanju sesije nakon kvara.
Izvor: opennet.ru
