ASLR (Address-space Layout Randomization) on ROP-hyökkäystä (Return Oriented Programming) vastaan on kehitetty tekniikka.[1] ROP-hyökkäystä käytetään NX-bitin suojauksen kiertämiseen.[1]
ASLR on käyttöjärjestelmän tekniikka, jolla pyritään varmistamaan osoiteavaruuden olevan tuntematon hyökkääjälle.[2] Tekniikka julkaistiin Linuxissa 2005 ja vuonna 2007 macOS:ssä ja Windowsissa.[2] Tekniikka ei korjaa haavoittuvuuksia, eikä seuraa tai raportoi niitä vaan tekee haavoittuvuuksien hyödyntämisestä vaikeampaa hyökkääjälle.[2]
Linux-ytimen KASLR soveltaa tekniikkaa myös ytimen omiin tietorakenteisiin sijoittaen ne ennalta tuntemattomiin paikkoihin.[3][4]
ROP-hyökkäyksiä ovat esimerkiksi ret2libc, ret2gets ja ret2plt.[5] ROP-hyökkäykset ylikirjoittavat funktion paluuosoitteen hyökkääjän hallitsemaan koodiin.[5] Stack Smashing Protection (SSP) on kehitetty havaitsemaan pinon ylikirjoittaminen.[5]
ASLR lisää satunnaisen offset-arvon jokaisen tietokoneohjelman virtuaalimuistiosoitteeseen tehden hyökkääjälle vaikeammaksi ennakoida muistiosoitteen, johon ohjelman halutaan palaavan.[6] Jos paluuosoite on huono se vähentää hyökkäyksen onnistumisen todennäköisyyttä.[6]