Bumuo sila ng isang serye ng pag-atake ng pag-recover ng cache ng CPU sa mga web browser nang hindi nangangailangan ng JavaScript

Isang pangkat ng mga mananaliksik mula sa iba`t ibang pamantasan Amerikano, Israel at Australyano ay bumuo ng tatlong pag-atake sa pag-target sa mga web browser na nagpapahintulot sa pagkuha ng impormasyon tungkol sa nilalaman ng cache ng processor. Isang paraan gumagana sa mga browser nang walang JavaScript at ang dalawa pang bypass ang mayroon nang mga pamamaraan ng proteksyon laban sa mga pag-atake sa pamamagitan ng mga third-party na channel, kasama ang mga ginamit sa Tor browser at DeterFox.

Upang pag-aralan ang mga nilalaman ng cache sa ang lahat ng pag-atake ay gumagamit ng pamamaraang "Prime + Probe"Na nagsasangkot ng pagpuno sa cache ng isang hanay ng mga halaga ng sanggunian at pagtukoy ng mga pagbabago sa pamamagitan ng pagsukat sa oras ng pag-access sa kanila kapag recharged. Upang ma-bypass ang mga mekanismo ng seguridad na naroroon sa mga browser, na pumipigil sa tumpak na pagsukat ng oras, sa dalawang bersyon ang isang kinokontrol na pag-atake ng DNS o WebSocket server ay tinawag, na nagtatago ng isang tala ng oras ng pagtanggap ng mga kahilingan. Sa isang sagisag, ang nakapirming oras ng pagtugon sa DNS ay ginagamit bilang isang sanggunian ng oras.

Ang mga pagsukat na ginawa gamit ang panlabas na mga server ng DNS o WebSocket, salamat sa paggamit ng isang sistema ng pag-uuri batay sa pag-aaral ng makina, ay sapat upang mahulaan ang mga halagang may katumpakan na 98% sa pinakamainam na sitwasyon (sa average na 80-90%). Ang mga pamamaraan ng pag-atake ay nasubukan sa iba't ibang mga platform ng hardware (Intel, AMD Ryzen, Apple M1, Samsung Exynos) at napatunayan na maraming nalalaman.

Ang unang pagkakaiba-iba ng pag-atake ng DNS Racing gumagamit ng isang klasikong pagpapatupad ng pamamaraan ng Prime + Probe gamit ang mga JavaScript array. Ang mga pagkakaiba ay bumaba sa paggamit ng isang panlabas na timer na nakabatay sa DNS at isang handler ng error na nagpaputok kapag sinusubukang i-load ang isang imahe mula sa isang walang domain. Pinapayagan ng panlabas na timer ang pag-atake ng Prime + Probe sa mga browser na naghihigpit o ganap na hindi pinagana ang pag-access ng JavaScript timer.

Para sa isang DNS server na naka-host sa parehong network ng Ethernet, ang katumpakan ng timer ay tinatayang magiging tungkol sa 2 ms, na kung saan ay sapat na upang isagawa ang isang pag-atake sa gilid ng channel (para sa paghahambing: ang katumpakan ng karaniwang JavaScript timer sa Tor browser ay nabawasan sa 100ms). Para sa pag-atake, walang kinakailangang kontrol sa DNS server, dahil ang oras ng pagpapatupad ng pagpapatakbo ay napili upang ang oras ng pagtugon ng DNS ay nagsisilbing isang senyas ng maagang pagkumpleto ng pag-verify (depende kung ang taga-ayos ng error ay na-trigger nang maaga o huli). , napagpasyahan na ang pagpapatakbo ng pagpapatunay na may cache ay nakumpleto) ...

Ang pangalawang pag-atake ng "String and Sock" ay idinisenyo upang i-bypass ang mga diskarte sa seguridad na naghihigpit sa paggamit ng mga mababang-level na JavaScript array. Sa halip na mga array, ang String at Sock ay gumagamit ng mga operasyon sa napakalaking mga string, na ang laki ay napili upang ang variable ay masakop ang buong cache ng LLC (top-level cache).

Susunod, gamit ang pag-andar ng indexOf (), isang maliit na substring ay hinanap sa string, na kung saan ay wala sa orihinal na string, iyon ay, ang operasyon ng paghahanap ay nagreresulta sa isang pag-ulit sa buong string. Dahil ang laki ng linya ay tumutugma sa laki ng cache ng LLC, pinapayagan ang pag-scan na isagawa ang isang operasyon ng pag-check ng cache nang hindi nagmamanipula ng mga array. Upang sukatin ang mga pagkaantala, sa halip na DNS, ito ay isang apela sa isang umaatake na WebSocket server na kinokontrol ng umaatake: bago ang simula at pagkatapos ng pagtatapos ng pagpapatakbo ng paghahanap, ipinadala ang mga kahilingan sa kadena,

Ang pangatlong bersyon ng pag-atake na "CSS PP0" sa pamamagitan ng HTML at CSS, at maaaring gumana sa mga browser na may JavaScript na hindi pinagana. Ang pamamaraang ito ay mukhang "String at Sock" ngunit hindi nakasalalay sa JavaScript. Ang pag-atake ay bumubuo ng isang hanay ng mga tagapili ng CSS na naghahanap sa pamamagitan ng mask. Ang mahusay na orihinal na linya na pinunan ang cache ay itinakda sa pamamagitan ng paglikha ng isang div tag na may napakalaking pangalan ng klase, atn kung saan sa loob ay mayroong isang hanay ng iba pang mga div na may kanilang sariling mga pagkakakilanlan.

Ang bawat isa sa ang mga naka-pugad na div ay naka-istilo ng isang tagapili na naghahanap para sa isang substring. Kapag nag-render ng pahina, unang sinusubukan ng browser na iproseso ang mga panloob na div, na nagreresulta sa isang paghahanap sa isang malaking string. Ang paghahanap ay tapos na gamit ang isang malinaw na nawawalang maskara at humahantong sa isang pag-ulit ng buong string, pagkatapos na ang kundisyon na "hindi" ay na-trigger at isang pagtatangka ay ginawa upang mai-load ang imahe sa background.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.