W ^ X

W ^ X (uttalt "W xor X") er navnet på en funksjon dedikert til datasikkerhet . Dette er en form for minnebeskyttelse som en side kan være tilgjengelig for å skrive eller utføre, men aldri begge samtidig (derav henvisningen til den boolske operatøren xor , som har denne egenskapen).

Uten denne beskyttelsespolicyen kan et program skrive data i et minneområde som det senere kan få prosessoren til å utføre . Dette er et vanlig angrep i utnyttelsen av programvaresårbarheter.

W ^ X og lignende implementeringer er relativt enkle å implementere på en prosessor som støtter finkornet sidetillatelse i minnet, for eksempel SPARC , SPARC64 eller AMD64- prosessor .

På prosessorer med mer begrenset funksjonalitet, som Intel i386 , implementeres W ^ X omtrent på en "rundkjøring" -modus ved å bruke CS-kodesegmentet for å sette en grense for minneutover utførelsen ikke lenger er tillatt. Denne sonen er da ment å motta dataene, og den kjørbare koden er plassert under denne grensen.

Endringer er vanligvis nødvendig for å koble til separat kode (som trampoline og andre koder for lenkerfunksjoner eller dynamiske biblioteker) og data.

Se også

Ekstern lenke