Mozilla heeft aangekondigd dat ze een grootschalige test starten in de nachtelijke builds en bĆØtaversies van Firefox voor de modus van strikte site-isolatie, die is ontwikkeld binnen het Fission-project. Deze modus breidt het gebruik van de multiprocessarchitectuur uit ā in plaats van een vaste pool van processen, wordt voor elke site een apart proces aangemaakt. Het inschakelen van de Fission-modus kan worden beheerd via de variabele "fission.autostart=true" in about:config of op de pagina about:preferences#experimental.
We herinneren eraan dat het multiprocessmodel dat tot nu toe in Firefox werd gebruikt, de uitvoering van een pool van verwerkingsprocessen inhield: standaard 8 hoofdprocessen voor contentverwerking, 2 extra niet-privilege processen voor webcontent en 4 hulpprocessen voor extensies, interactie met GPU, netwerkbewerkingen en multimedia-decodering. De verdeling van tabs over processen gebeurde willekeurig, bijvoorbeeld, in ƩƩn proces kon zowel de verwerking van een bankwebsite als een niet-vertrouwde dubieuze bron worden aangetroffen.
De nieuwe modus plaatst de verwerking van elke site in een apart proces, waarbij de isolatie niet op tabs, maar op domeinen is gebaseerd, wat het mogelijk maakt om de inhoud van externe scripts en iframe-blokken verder te isoleren. Voor de afzonderlijke verwerking van subdomeinen van gangbare diensten die met verschillende sites zijn verbonden, wordt isolatie toegepast op basis van feitelijke (eTLD) domeinen. top-level domeinen, die zijn gemarkeerd in de Public Suffix-lijst (d.w.z. de websites "a.github.io" en "b.github.io" zullen in verschillende processen worden geplaatst).
De strikte isolatiemodus biedt bescherming tegen aanvallen via zijkanalen, bijvoorbeeld in verband met kwetsbaarheden van het type Spectre, die leiden tot gegevenslekken binnen ƩƩn proces. Een lek van vertrouwelijke gegevens die in hetzelfde proces worden verwerkt, is mogelijk bij het uitvoeren van niet-vertrouwde externe code in JIT-engines en in virtuele machinesIn de context van web browsers kan kwaadaardige JavaScript-code van de ene site informatie verkrijgen over wachtwoorden, toegangssleutels en creditcardnummers die op een andere site zijn ingevoerd en die in hetzelfde proces wordt verwerkt. Oorspronkelijk beperkten browers ontwikkelaars de precisie van de timer en blokkeerden ze toegang tot de API SharedArrayBuffer om zich te beschermen tegen side-channel aanvallen, maar deze maatregelen bemoeilijkten en vertraagden alleen de uitvoering van de aanval (recentelijk werd bijvoorbeeld een methode voorgesteld voor gegevensextractie uit de CPU-cache die helemaal geen JavaScript vereiste).
Andere voordelen van de strikte isolatiemodus zijn onder andere een vermindering van geheugenfragmentatie, een efficiƫntere terugkeer van geheugen naar het besturingssysteem, minimalisering van de invloed van garbage collection en intensieve berekeningen op pagina's in andere processen, verbeterde belastingverdeling over verschillende CPU-kernen en een grotere stabiliteit (een crash van het proces dat de iframe verwerkt, leidt niet tot het neerstorten van de hoofdsite en andere tabs).
Bekende problemen die zich voordoen bij het gebruik van Fission zijn onder andere een merkbare toename van het geheugenverbruik, X11-verbindingen en bestandsdescriptoren bij het openen van een groot aantal tabs, evenals het verstoren van de werking van sommige extensies, het verdwijnen van inhoud in de iframe bij afdrukken en het aanroepen van de screenshot-functie, vermindering van de efficiƫntie van documentcaching met iframes, en verlies van inhoud van ingevulde, maar niet verzonden formulieren bij het herstellen van een sessie na een crash.
Bron: opennet.ru
