Egy Intel chip hibáját kihasználva sikerült megkerülni egy fontos védelmi technikát

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

http://www.cs.ucr.edu/~nael/pubs/micro16.pdf