Gisugyot ang usa ka pamaagi sa pag-atake aron mahibal-an sa layo ang mga tipik sa memorya sa server

Usa ka grupo sa mga tigdukiduki gikan sa Technical University of Graz (Austria), nga kaniadto nailhan sa pagpalambo sa MDS, NetSpectre, Throwhammer ug ZombieLoad nga mga pag-atake, nagpatik sa usa ka bag-ong pamaagi sa pag-atake (CVE-2021-3714) pinaagi sa mga third-party nga channel sa Memory- Ang mekanismo sa deduplication, nga nagtugot sa pagtino sa presensya sa panumduman sa pipila ka mga datos, pag-leak sa byte-by-byte nga mga sulod sa memorya, o paghubit sa usa ka layout sa panumduman aron malaktawan ang Address Randomization (ASLR) nga proteksyon. Ang bag-ong pamaagi lahi sa gipakita kaniadto nga mga variant sa mga pag-atake sa mekanismo sa deduplication pinaagi sa pag-atake gikan sa usa ka eksternal nga host nga gigamit ingon usa ka sukaranan nga pagbag-o sa oras sa pagtubag sa mga hangyo nga gipadala sa tig-atake pinaagi sa HTTP / 1 ug HTTP / 2 nga mga protocol. Ang posibilidad sa paghimo sa pag-atake gipakita alang sa mga server nga gibase sa Linux ug Windows.

Ang mga pag-atake sa memory deduplication engine naggamit sa kalainan sa oras sa pagproseso sa pagsulat isip usa ka agianan sa pag-leak sa impormasyon sa mga sitwasyon diin ang usa ka pagbag-o sa datos hinungdan sa mekanismo sa copy-on-write (COW) sa pag-clone sa deduplicated nga panid sa panumduman. Atol sa operasyon, ang kernel nakamatikod sa managsama nga mga panid sa panumduman gikan sa lain-laing mga proseso ug naghiusa kanila, nag-mapa sa managsama nga mga panid sa panumduman ngadto sa usa ka dapit sa pisikal nga panumduman aron tipigan ang usa lamang ka kopya. Kung ang usa sa mga proseso mosulay sa pag-usab sa mga datos nga may kalabutan sa mga deduplicated nga mga panid, usa ka eksepsiyon (panid nga sayup) mahitabo, ug gamit ang Copy-On-Write nga mekanismo, usa ka bulag nga kopya sa panid sa panumduman ang awtomatik nga gihimo, nga gi-assign sa proseso. . Nagkinahanglan kini og dugang nga panahon aron makompleto ang kopya, nga mahimong usa ka timailhan nga ang datos giusab sa laing proseso.

Gipakita sa mga tigdukiduki nga ang mga paglangan nga resulta sa operasyon sa mekanismo sa COW mahimong madakpan dili lamang sa lokal, apan pinaagi usab sa pag-analisar sa pagbag-o sa oras sa paghatud sa mga tubag sa network. Daghang mga pamaagi ang gisugyot alang sa pagtino sa mga sulud sa memorya gikan sa usa ka hilit nga host pinaagi sa pagtuki sa oras sa pagpatuman sa mga hangyo pinaagi sa HTTP / 1 ug HTTP / 2 nga mga protocol. Aron matipigan ang napili nga mga templates, gigamit ang kasagaran nga mga aplikasyon sa web nga nagtipig sa kasayuran nga nadawat sa mga hangyo sa memorya.

Ang kinatibuk-ang prinsipyo sa pag-atake mao ang pagpuno sa pahina sa memorya sa server sa mga datos nga posibleng magsubli sa mga sulod sa memory page nga anaa na sa server. Ang tig-atake dayon maghulat sa kernel sa pag-dedupe ug paghiusa sa panid sa panumduman, dayon usba ang kontroladong duplicate sa datos ug pagtimbang-timbang sa oras sa pagtubag aron mahibal-an kung malampuson ang hit.

Gisugyot ang usa ka pamaagi sa pag-atake aron mahibal-an sa layo ang mga tipik sa memorya sa server

Sa dagan sa mga eksperimento, ang labing taas nga rate sa pagtulo sa kasayuran mao ang 34.41 bytes matag oras kung nag-atake pinaagi sa global nga network ug 302.16 bytes matag oras kung nag-atake pinaagi sa lokal nga network, nga mas paspas kaysa ubang mga pamaagi sa pagkuha sa datos pinaagi sa mga agianan sa ikatulo nga partido ( pananglitan, sa pag-atake sa NetSpectre, ang data transfer rate kay 7.5 bytes sa usa ka oras).

Tulo ka nagtrabaho nga mga variant sa pag-atake ang gisugyot. Ang una nga kapilian nagtugot kanimo sa pagtino sa datos sa panumduman sa web server nga naggamit sa Memcached. Ang pag-atake naggikan sa pagkarga sa pipila ka mga set sa datos ngadto sa storage sa Memcached, paghawan sa deduplicated block, pagsulat pag-usab sa samang elemento, ug paghimo og kondisyon alang sa pagkopya sa COW pinaagi sa pagbag-o sa sulod sa block. Atol sa eksperimento sa Memcached, gikuha ang 166.51 segundos aron mahibal-an ang bersyon sa libc nga na-install sa sistema nga nagdagan sa virtual machine.

Ang ikaduha nga kapilian nagpaposible nga mahibal-an ang mga sulud sa mga rekord sa MariaDB DBMS, gamit ang pagtipig sa InnoDB, pinaagi sa paghimo pag-usab sa mga sulud nga byte por byte. Ang pag-atake gihimo pinaagi sa pagpadala sa espesyal nga giusab nga mga hangyo, nga nagresulta sa usa ka byte nga dili pagtugma sa mga panid sa panumduman ug pag-analisar sa oras sa reaksyon aron mahibal-an nga husto ang tagna bahin sa sulud sa byte. Ang rate sa ingon nga pagtulo gamay ug mokabat sa 1.5 bytes matag oras kung giatake gikan sa usa ka lokal nga network. Ang bentaha sa pamaagi mao nga kini magamit aron mabawi ang wala mailhi nga sulud sa memorya.

Ang ikatulo nga kapilian nagpaposible nga hingpit nga malaktawan ang mekanismo sa pagpanalipod sa KASLR sa 4 minuto ug makakuha og kasayuran bahin sa pag-offset sa memorya sa imahe sa kernel sa virtual machine, sa usa ka sitwasyon diin ang offset nga adres naa sa usa ka panid sa panumduman diin ang ubang mga datos wala. pagbag-o. Ang pag-atake gihimo gikan sa usa ka host nga nahimutang 14 hops gikan sa giatake nga sistema. Ang mga pananglitan sa code alang sa gipresentar nga mga pag-atake gisaad nga ipatik sa GitHub.

Source: opennet.ru

Idugang sa usa ka comment