Mozilla heeft extra maatregelen genomen om Firefox-gebruikers te beschermen tegen injectieaanvallen via de about-pagina's van de browser en andere manieren. Firefox beschikt over verschillende "ingebouwde" pagina's waarmee gebruikers allerlei zaken kunnen instellen of bekijken.
Het gaat dan bijvoorbeeld om pagina's als about:addons, about:config en about:downloads voor respectievelijk het beheer van add-ons, het aanpassen van de browserconfiguratie en het weergeven van alle downloads. Deze about:pagina's zijn ook via html en JavaScript geïmplementeerd en zijn onderhevig aan hetzelfde beveiligingsmodel als normale webpagina's en daardoor niet immuun voor aanvallen waarbij er code in de browser wordt geïnjecteerd.
Als een aanvaller erin zou slagen om code op een about:pagina te injecteren zou de code binnen de beveiligingscontext van de browser worden uitgevoerd, waardoor de aanvaller willekeurige acties in naam van de gebruiker kan uitvoeren. Om gebruikers hier tegen te beschermen en een aanvullende beveiligingslaag aan Firefox toe te voegen heeft Mozilla voor alle 45 about:pagina's alle inline JavaScript-code naar losse bestanden verplaatst en alle inline event handlers herschreven. Een event handler is een routine die invoer verwerkt.
Door het herschrijven van de code kan er nu een Content Security Policy (CSP) worden toegepast waardoor geïnjecteerde JavaScriptcode niet wordt uitgevoerd. JavaScriptcode wordt nu alleen nog uitgevoerd uit een los bestand via een intern protocol. "Het niet toestaan van inline scripts in de about:pagina's verkleint het aanvalsoppervlak om willekeurige code uit te voeren en biedt daardoor een sterke eerste verdedigingslinie tegen injectieaanvallen", zegt Mozillas Christoph Kerschbaumer.
Verder heeft Mozilla maatregelen genomen om eval-achtige functies te verwijderen. Deze functie voert een willekeurige string uit in dezelfde beveiligingscontext als zichzelf. Hierdoor kan in runtime gegenereerde code of code in non-scriptlocaties worden uitgevoerd. Een nadeel is dat het volgens Mozilla ook een groot aanvalsoppervlak voor injectieaanvallen introduceert. Daarom raadt de browserontwikkelaar het gebruik ervan af. Zelf heeft Mozilla alle eval-achtige functies herschreven zodat de functie niet meer in system-privileged scriptcontexts worden uitgevoerd.
Deze posting is gelocked. Reageren is niet meer mogelijk.