TONTOU — támadás az Intel és AMD CPU-kon, amely lehetővé teszi a Spectre v2 sebezhetőségek elleni védelem megkerülését

A Massachusetts Institute of Technology researcher has identified the TONTOU (Time-of-Neutralization to Time-of-Use) attack technique, which offers a new way to exploit microarchitectural vulnerabilities of the Spectre v2 class. The vulnerability allows for the determination of kernel memory content while executing exploits in user space. The code to block the vulnerability has been incorporated into the Linux kernel as of August 5 and included in the releases 7.1.7, 6.18.43, 6.12.102, 6.6.149, 6.1.181, 5.15.214, and 5.10.263.

The researchers demonstrated the ability of a local unprivileged user to carry out an attack to determine the hash of the root user's password stored in the /etc/shadow file and loaded into memory during system authentication. The researchers managed to leak data from kernel memory at a rate of 5.47 bytes per second with an accuracy of 91.97%. Out of 10 test runs of the exploit, which lasted an average of 18 minutes, in half of the cases they were able to successfully determine the presence of the /etc/shadow file in memory and extract its contents.

The exploit has been demonstrated on AMD processor systems and can be applied with AMD CPU families Zen 1-4. On Intel systems, the attack is also feasible, but the exploit is more complex. To protect against stack overflow of return addresses and block the SRSO (Speculative Return Stack Overflow) vulnerability, AMD processors use the Safe-RET protection mechanism, which clears the branch prediction buffer after each use and narrows the attack window to 2 instructions, executed over the course of several tens of nanoseconds.

A védelem megkerülésére és a támadási ablak kibővítésére CPU lassító technikát valósítottak meg, amely lehetővé tette, hogy a megszakító helyettesítése a megfelelő pillanatban végrehajtódjon, így irányítva a végrehajtási áramlást a kernelben, és a megszakító kezelőjének felhasználásával eltorzítva a becslési átmenet bufferének írását. Az SRSO sérülékenység kiaknázásához a támadó olyan körülményeket teremthet, amelyek során a becslési átmenetek blokkja spekulatívan számos helytelenül becsült CALL hívást hajt végre, elég ahhoz, hogy túlcsorduljon a visszatérési címek stack-je, és felülírja a helyesen becsült visszatérési pontokat, amelyek a stack elején találhatók. Ennek eredményeként a stack kezdeti elemei a támadó által választott értékekre lesznek felülírva, ami később a spekulatív RET utasítás végrehajtásához használja ezeket a helyettesített értékeket egy másik folyamat kontextusában.

A processzor észleli, hogy a branch prediction nem vált valóra, és visszagörbíti a műveletet az eredeti állapotába, de a spekulatív végrehajtás során feldolgozott adatok a cache-ben és a mikroarchitektúrás buferben maradnak. Ha a hibásan végrehajtott blokk memóriahozzáférést hajt végre, akkor spekulatív végrehajtása az általános cache-ben és a memóriából olvasott adatokban kerül tárolásra. Az információ kinyerésére a cache-ből alkalmazható a cache tartalmának meghatározására szolgáló egyik módszer, amely a cache-elt és nem cache-elt adatokhoz való hozzáférési idő változásának elemzésén alapul.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster