Mozilla paziņoja par stingras vietņu izolācijas režīma, kas izstrādāts kā daļa no Fission projekta, masveida testēšanas sākumu Firefox nakts versijās un beta versijās. Šis režīms paplašina daudzprocesu arhitektūras izmantošanu: fiksēta procesu kopuma vietā katrai vietnei tiek izveidots atsevišķs process. Fission režīmu var iespējot, izmantojot mainīgo "fission.autostart=true" failā about:config vai lapā about:preferences#experimental.
Atgādinām, ka līdz šim Firefox izmantotais vairāku procesu modelis ietvēra apstrādātāju procesu kopas palaišanu: pēc noklusējuma 8 primārie procesi satura apstrādei, 2 papildu neprivileģēti procesi tīmekļa saturam un 4 palīgprocesi pievienojumprogrammām, GPU mijiedarbībai, tīkla darbībām un multivides dekodēšanai. Cilņu sadalījums starp procesiem bija patvaļīgs; piemēram, viens process varēja apstrādāt bankas vietni un neuzticamu resursu.
Jaunais režīms atdala katras vietnes apstrādi atsevišķā procesā, atdalot to pēc domēna, nevis pēc cilnes, ļaujot papildus izolēt ārējos skriptus un iframe saturu. Lai atdalītu ar dažādām vietnēm saistītu tipisku pakalpojumu apakšdomēnus, tiek izmantots to atdalīšana pēc faktiskā (eTLD), nevis formālā (eTLD). augstākā līmeņa domēni, atzīmēts publiskā sufiksa sarakstā (t. i., vietnes “a.github.io” un “b.github.io” tiks pārvietotas uz dažādiem procesiem).
Stingras izolācijas režīms aizsargā pret sānu kanālu uzbrukumiem, piemēram, tādiem, kas saistīti ar Spectre klases ievainojamībām, kas izraisa informācijas noplūdi viena procesa ietvaros. Sensitīvus datus, kas apstrādāti viena procesa ietvaros, var nopludināt, izpildot neuzticamu ārēju kodu JIT dzinējos un virtuālās mašīnasTīmekļa pārlūkprogrammu kontekstā ļaunprātīgs JavaScript kods no vienas vietnes var iegūt informāciju par parolēm, piekļuves atslēgām un kredītkaršu numuriem, kas ievadīti citā vietnē, kura darbojas tajā pašā procesā. Sākotnēji, lai aizsargātos pret sānu kanālu uzbrukumiem, pārlūkprogrammu izstrādātāji ierobežoja taimera precizitāti un bloķēja piekļuvi SharedArrayBuffer API, taču šie pasākumi tikai sarežģīja un palēnināja uzbrukumu (piemēram, nesen ir ierosināta metode datu iegūšanai no centrālā procesora kešatmiņas, kas darbojas vispār bez JavaScript).
Citas stingras izolācijas režīma priekšrocības ietver samazinātu atmiņas fragmentāciju, efektīvāku atmiņas atgriešanu operētājsistēmai, atkritumu savākšanas un intensīvu aprēķinu ietekmes uz citu procesu lapām samazināšanu, palielinātu slodzes sadales efektivitāti starp dažādiem centrālā procesora kodoliem un palielinātu stabilitāti (procesa, kas apstrādā iframe, avārija neizslēgs galveno vietni un citas cilnes).
Zināmas problēmas ar Fission ietver ievērojamu atmiņas patēriņa, X11 savienojumu un failu deskriptoru pieaugumu, atverot lielu skaitu cilņu, kā arī dažu pievienojumprogrammu darbības traucējumus, iframe satura izzušanu drukāšanas laikā un ekrānuzņēmuma funkcijas izsaucot, dokumentu kešatmiņas efektivitātes samazināšanos ar iframe un aizpildītu, bet neiesniegtu veidlapu satura zudumu, atjaunojot sesiju pēc avārijas.
Avots: opennet.ru
