Mbinu ya kushambulia imependekezwa ili kuamua vipande vya kumbukumbu kwenye seva kwa mbali

Kundi la watafiti kutoka Chuo Kikuu cha Kiufundi cha Graz (Austria), ambacho hapo awali kilijulikana kwa kutengeneza mashambulizi ya MDS, NetSpectre, Throwhammer na ZombieLoad, kimechapisha mbinu mpya ya mashambulizi ya njia ya upande (CVE-2021-3714) dhidi ya utaratibu wa Kuondoa Kumbukumbu. , ambayo inaruhusu kuamua uwepo wa katika kumbukumbu ya data fulani, kuandaa uvujaji wa byte-byte wa yaliyomo kwenye kumbukumbu, au kuamua mpangilio wa kumbukumbu ili kuepuka ulinzi wa randomization (ASLR) wa anwani. Mbinu mpya inatofautiana na vibadala vilivyoonyeshwa hapo awali vya mashambulizi kwenye utaratibu wa kurudisha nyuma kwa kutekeleza mashambulizi kutoka kwa seva pangishi ya nje kwa kutumia kama kigezo cha kubadilisha muda wa kujibu maombi yaliyotumwa kwa mshambulizi kupitia itifaki za HTTP/1 na HTTP/2. Uwezo wa kutekeleza shambulio hilo umeonyeshwa kwa seva kulingana na Linux na Windows.

Mashambulizi kwenye utaratibu wa upunguzaji kumbukumbu hutumia tofauti katika muda wa usindikaji wa operesheni ya kuandika kama njia ya kuvuja habari katika hali ambapo mabadiliko ya data husababisha uundaji wa ukurasa wa kumbukumbu uliotolewa kwa kutumia utaratibu wa Copy-On-Write (COW) . Wakati wa operesheni, kernel hugundua kurasa za kumbukumbu zinazofanana kutoka kwa michakato tofauti na kuziunganisha, ikipanga kurasa za kumbukumbu zinazofanana kwenye eneo moja la kumbukumbu ya mwili ili kuhifadhi nakala moja tu. Wakati moja ya michakato inajaribu kubadilisha data inayohusishwa na kurasa zilizopunguzwa, ubaguzi (kosa la ukurasa) hutokea na, kwa kutumia utaratibu wa Copy-On-Write, nakala tofauti ya ukurasa wa kumbukumbu huundwa moja kwa moja, ambayo imepewa mchakato. Muda wa ziada unatumika kukamilisha nakala, ambayo inaweza kuwa ishara ya mabadiliko ya data kuingilia mchakato mwingine.

Watafiti wameonyesha kuwa ucheleweshaji unaotokana na utaratibu wa COW unaweza kunaswa sio tu ndani ya nchi, lakini pia kwa kuchambua mabadiliko katika nyakati za utoaji wa majibu kwenye mtandao. Mbinu kadhaa zimependekezwa za kubainisha maudhui ya kumbukumbu kutoka kwa seva pangishi ya mbali kwa kuchanganua muda wa utekelezaji wa maombi kupitia itifaki za HTTP/1 na HTTP/2. Ili kuhifadhi violezo vilivyochaguliwa, programu za kawaida za wavuti hutumiwa ambazo huhifadhi habari iliyopokelewa katika kumbukumbu kwenye kumbukumbu.

Kanuni ya jumla ya shambulio hilo inategemea kujaza ukurasa wa kumbukumbu kwenye seva na data ambayo inaweza kurudia yaliyomo kwenye ukurasa wa kumbukumbu ambao tayari upo kwenye seva. Kisha mshambulizi husubiri muda unaohitajika kwa kernel kutoa nakala na kuunganisha ukurasa wa kumbukumbu, kisha kurekebisha data iliyodhibitiwa ya nakala na kutathmini muda wa kujibu ili kubaini ikiwa hit ilifaulu.

Mbinu ya kushambulia imependekezwa ili kuamua vipande vya kumbukumbu kwenye seva kwa mbali

Wakati wa majaribio, kiwango cha juu zaidi cha uvujaji wa taarifa kilikuwa baiti 34.41 kwa saa wakati wa kushambulia kupitia mtandao wa kimataifa na baiti 302.16 kwa saa wakati wa kushambulia kupitia mtandao wa ndani, ambao ni wa haraka zaidi kuliko mbinu zingine za kutoa data kupitia chaneli za watu wengine (kwa mfano; katika shambulio la NetSpectre, kiwango cha uhamishaji data ni ka 7.5 saa moja).

Chaguzi tatu za kufanya kazi za mashambulizi zimependekezwa. Chaguo la kwanza hukuruhusu kuamua data kwenye kumbukumbu ya seva ya wavuti inayotumia Memcached. Mashambulizi hayo yanatokana na kupakia seti fulani za data kwenye hifadhi ya Memcached, kufuta kizuizi kilichotolewa, kuandika tena kipengele sawa na kuunda hali ya kunakili ya COW kutokea kwa kubadilisha yaliyomo kwenye kizuizi. Wakati wa jaribio la Memcached, iliwezekana kubaini baada ya sekunde 166.51 toleo la libc lililosakinishwa kwenye mfumo unaoendeshwa kwenye mashine pepe.

Chaguo la pili lilifanya iwezekane kujua yaliyomo kwenye rekodi katika MariaDB DBMS, wakati wa kutumia uhifadhi wa InnoDB, kwa kuunda tena yaliyomo kwa byte. Shambulio hilo hufanywa kwa kutuma maombi yaliyobadilishwa maalum, na kusababisha kutolingana kwa baiti moja katika kurasa za kumbukumbu na kuchanganua wakati wa majibu ili kubaini kuwa nadhani kuhusu yaliyomo kwenye baiti ilikuwa sahihi. Kiwango cha uvujaji huo ni cha chini na ni sawa na 1.5 byte kwa saa wakati wa kushambulia kutoka kwa mtandao wa ndani. Faida ya njia ni kwamba inaweza kutumika kurejesha yaliyomo ya kumbukumbu isiyojulikana.

Chaguo la tatu lilifanya iwezekanavyo kupitisha kabisa utaratibu wa ulinzi wa KASLR katika dakika 4 na kupata taarifa kuhusu kukabiliana na kumbukumbu ya picha ya kernel ya mashine, katika hali ambapo anwani ya kukabiliana iko kwenye ukurasa wa kumbukumbu ambayo data nyingine haibadilika. Shambulio hilo lilitekelezwa kutoka kwa mwenyeji aliyepatikana hops 14 kutoka kwa mfumo ulioshambuliwa. Mifano ya kanuni za kutekeleza mashambulizi yaliyowasilishwa imeahidiwa kuchapishwa kwenye GitHub.

Chanzo: opennet.ru

Kuongeza maoni