ASLR

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ä.

Lähteet

  1. 1 2 On the effectiveness of NX, SSP, RenewSSP and ASLR against stack buffer overflows (PDF) hmarco.org. Viitattu 20.9.2020. (englanniksi) 
  2. 1 2 3 How ASLR protects Linux systems from buffer overflow attacks networkworld.com. 8.1.2019. Viitattu 24.9.2020. (englanniksi)
  3. ↑ Jake Edge: Kernel address space layout randomization lwn.net. 9.10.2013. Viitattu 24.9.2020. (englanniksi) 
  4. ↑ 1.7. Kernel address space randomization kernelnewbies.org. Viitattu 24.9.2020. (englanniksi)
  5. 1 2 3 Security Technologies: Stack Smashing Protection (StackGuard) access.redhat.com. 20.8.2018. Viitattu 24.9.2020. (englanniksi)
  6. 1 2 ASLR: How Robust is the Randomness? (PDF) cs.ucdavis.edu. Viitattu 24.9.2020. (englanniksi)