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