Mozilla heeft aan een vroege testversie van Firefox een beveiligingsmaatregel toegevoegd die het lastiger moet maken om de browser aan te vallen. Het gaat om W^X, wat staat voor "Write XOR Execute". Het is een beveiligingsmaatregel die geheugenpagina's schrijfbaar of uitvoerbaar maakt, maar niet beide.
De meeste JIT (Just in Time) compilers gebruiken voor geheugenpagina's rechten voor het lezen, schrijven en uitvoeren (RWX). Een JIT-compiler is een systeem waarbij code wordt vertaald op het moment dat het wordt uitgevoerd. Geheugen dat leesbaar, schrijfbaar en uitvoerbaar is kent verschillende problemen. Zo is het eenvoudig om bepaalde fouten te misbruiken. Moderne besturingssystemen slaan daarom code in het uitvoerbare geheugen op dat niet schrijfbaar is. RWX JIT-code is een uitzondering op deze regel en maakt het een interessant doelwit. Een ander probleem is geheugencorruptie.
Als W^X staat ingeschakeld, zijn alle geheugenpagina's met JIT-code standaard niet schrijfbaar. De Nederlander Jan de Mooij, software engineer bij Mozilla, heeft W^X nu aan de Nightly-versie van Firefox 46 toegevoegd. Nightly is de aanduiding voor vroege testversies van Firefox. De beveiligingsmaatregel heeft wel iets van invloed op de prestaties van de browser. Bij benchmarks zoals Kraken en Octane is Firefox met W^X ingeschakeld minder dan 1% langzamer. Bij de SunSpider-benchmark is de overhead op Windows en Linux minder dan 3% en op Mac OS X minder dan 4%. Als er zich geen problemen voordoen zal W^X aan de uiteindelijke versie van Firefox 46 worden toegevoegd. Deze versie staat gepland voor 19 april van dit jaar.
Deze posting is gelocked. Reageren is niet meer mogelijk.