Kutatók egy olyan tervezési hibát találtak az Intel Haswell processzorok elágazásbecslőjében, amely segítségével megkerülhetik a véletlenszerű címterület elrendezést (Address Space Layout Randomization – ASLR)
Az ASLR egy védelmi funkció, mely megtalálható operációs rendszerekben és sok más alkalmazásban is. Feladata, hogy megvédje a rendszert többek között a puffer túlcsordulástól és a visszatérés-orientált programozás (return-oriented programming – ROP) alapú támadásoktól.
Ezt úgy teszi, hogy a programok kulcsfontosságú adatainak memóriacímét előre kiszámíthatatlanul, véletlenszerűen szórja szét a memória területen, ezzel megnehezítve a támadót abban, hogy olyan memóriaterületeket találjon, amielyekbe a káros kódot elhelyezheti.
A mostani elemzés során arra jöttek rá, hogy a támadó két felhasználói, vagy kernel és felhasználói folyamat között branch target buffer (BTB) ütközéseket hozhat létre kontrollált, megbízható módon. Ennek segítségével meghatározhatja az ismert elágazó utasításokat a kernel kódszegmensében, vagy a célfolyamatban, így felfedezhetővé válik az ASLR címe.
A támadást egy Haswell CPU-n és egy friss Linux kernel alatt demonstrálták, azonban kivitelezhető Windows, Android, vagy bármilyen KVM virtualizációs rendszer alatt is.
A kutatók több megelőzésre alkalmas megoldást is javasoltak. Ilyen például a BTB címzés mechanizmusának megváltoztatása, vagy egyéb olyan szoftveres ellenintézkedések megtétele, amelyek megnehezítik az esetleges támadások végrehajtását.
Hivatkozások:
https://www.helpnetsecurity.com/2016/10/19/bypass-aslr-flaw-intel-chip
http://www.securityweek.com/researchers-bypass-aslr-hardware-vulnerability