Fejlesztettek egy sor CPU gyorsítótár-helyreállítási támadást a webböngészőkön JavaScript nélkül

Különböző egyetemek kutatócsoportja Amerikaiak, izraeliek és ausztrálok három olyan webböngészőt célzó támadást fejlesztett ki, amelyek lehetővé teszik a processzor gyorsítótárának tartalmáról szóló információk kinyerését. Egy metódus JavaScrip nélküli böngészőkben működikt és a másik kettő megkerüli a külső csatornákon keresztüli támadások elleni meglévő védelmi módszereket, beleértve a Tor böngészőben és a DeterFox-ban használtakat is.

A gyorsítótár tartalmának elemzése minden támadás a "Prime + Probe" módszert használjaHogy magában foglalja a gyorsítótár kitöltését egy referenciaérték-készlettel és a változások meghatározását a hozzáférési idő mérésével nekik, amikor feltöltődnek. A böngészőkben található, a pontos időmérést megakadályozó biztonsági mechanizmusok megkerülése érdekében két változatban egy vezérelt támadó DNS vagy WebSocket szervert hívnak meg, amely nyilvántartást vezet a kérések beérkezésének idejéről. Az egyik kiviteli alakban a rögzített DNS-válaszidőt használják idő referenciaként.

A külső DNS-kiszolgálók vagy a WebSocket segítségével végzett mérések a gépi tanuláson alapuló osztályozási rendszer használatának köszönhetően elegendőek voltak ahhoz, hogy a legoptimálisabb forgatókönyv szerint (átlagosan 98-80%) 90% -os pontossággal megjósolják az értékeket. A támadási módszereket különféle hardver platformokon (Intel, AMD Ryzen, Apple M1, Samsung Exynos) tesztelték, és sokoldalúnak bizonyultak.

A DNS Racing támadás első változata a Prime + Probe módszer klasszikus megvalósítását használja JavaScript tömbök használatával. A különbségek egy külső DNS-alapú időzítő és egy hibakezelő használatával magyarázhatók, amely akkor jelentkezik, amikor egy képet egy nem létező tartományból próbál betölteni. A külső időzítő lehetővé teszi a Prime + Probe támadásokat olyan böngészőkben, amelyek korlátozzák vagy teljesen letiltják a JavaScript időzítő hozzáférését.

Az ugyanazon az Ethernet hálózaton tárolt DNS-kiszolgáló esetében az időzítő pontossága körülbelül 2 ms-ra becsülhető, ami elegendő egy mellékcsatorna-támadás végrehajtásához (összehasonlításképpen: a Tor JavaScript böngészőben a standard JavaScript-időzítő pontossága 100 ms-ra csökkent). A támadáshoz nincs szükség a DNS-kiszolgáló feletti ellenőrzésre, mivel a művelet végrehajtásának idejét úgy választják meg, hogy a DNS válaszideje az ellenőrzés korai befejezésének jeleként szolgáljon (attól függően, hogy a hibakezelőt korábban vagy később indították-e). , arra a következtetésre jutottak, hogy a gyorsítótárral végzett ellenőrzési művelet befejeződött) ...

A második "String and Sock" támadást a biztonsági technikák megkerülésére tervezték amelyek korlátozzák az alacsony szintű JavaScript tömbök használatát. A tömbök helyett a String és Sock nagyon nagy karakterlánc-műveleteket használ, amelyek méretét úgy választják meg, hogy a változó lefedje a teljes LLC gyorsítótárat (legfelső szintű gyorsítótár).

Ezután az indexOf () függvény segítségével egy kis részstringet keresünk a karakterláncban, amely kezdetben hiányzik az eredeti karakterláncból, vagyis a keresési művelet iterációt eredményez a teljes karakterláncon. Mivel a vonal mérete megfelel az LLC gyorsítótár méretének, a vizsgálat lehetővé teszi a gyorsítótár-ellenőrzési művelet végrehajtását tömbök manipulálása nélkül. A késések mérésére a DNS helyett ez a támadó által irányított támadó WebSocket-kiszolgáló fellebbezése: a keresés megkezdése előtt és befejezése után kéréseket küldünk a láncba,

A támadás harmadik verziója "CSS PP0" HTML-en és CSS-en keresztül, és olyan böngészőkben működhet, amelyekben JavaScript nincs engedélyezve. Ez a módszer úgy néz ki, mint "String and Sock", de nincs kötve a JavaScript-hez. A támadás CSS-választókat generál, amelyek maszk alapján keresnek. A nagyszerű eredeti sor, amely kitölti a gyorsítótárat a div tag létrehozásával állítható be nagyon nagy osztálynévvel, ésn amely belül van egy sor más div, saját azonosítókkal.

Mindegyik ezek a beágyazott div-ek egy szelektorral vannak stilizálva, amely alstringet keres. Az oldal renderelésekor a böngésző először megpróbálja feldolgozni a belső div-eket, aminek eredményeként egy nagy karakterláncon keresnek. A keresés nyilvánvalóan hiányzó maszk segítségével történik, és a teljes karaktersorozat iterációjához vezet, amely után elindul a "nem" feltétel, és megpróbálják betölteni a háttérképet.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.