Grupo de esploristoj de la Teknologia Universitato de Graz (Aŭstrio), antaŭe konataj pro la disvolviĝo de la atakoj MDS, NetSpectre, Throwhammer kaj ZombieLoad, publikigis novan flankkanalan atakmetodon (CVE-2021-3714) kontraŭ la memor-malduplikada motoro. Ĉi tiu atako permesas determini la ĉeeston de specifaj datumoj en la memoro, organizi bajto-post-bajtan memorlikon, aŭ determini la memoraranĝon por preteriri adres-bazitan hazardigon (ASLR). La nova metodo diferencas de antaŭe montritaj atakoj kontraŭ la malduplikada motoro per tio, ke la atako estas efektivigita de ekstera gastiganto uzante ŝanĝojn en respondotempoj al petoj senditaj de la atakanto per la protokoloj HTTP/1 kaj HTTP/2 kiel kriterion. La farebleco de la atako estis montrita por serviloj bazitaj sur... Linux и Windows.
Atakoj sur la memorodeduplikadmekanismo utiligas la diferencon en la pretigtempo de skriboperacio kiel kanalon por liki informojn en situacioj kie ŝanĝo en datenoj kondukas al la klonado de deduplikita memorpaĝo uzanta la Copy-On-Write (COW) mekanismon . Dum operacio, la kerno detektas identajn memorpaĝojn de malsamaj procezoj kaj kunfandas ilin, mapante identajn memorpaĝojn en ununuran areon de fizika memoro por stoki nur unu kopion. Kiam unu el la procezoj provas ŝanĝi datumojn asociitajn kun deduplikataj paĝoj, okazas escepto (paĝa faŭlto) kaj, uzante la mekanismon Copy-On-Write, aŭtomate kreiĝas aparta kopio de la memorpaĝo, kiu estas asignita al la procezo. Plia tempo estas elspezita kompletigante la kopion, kio povas esti signo de datenŝanĝoj influantaj alian procezon.
Esploristoj montris, ke la prokrastoj rezultantaj de la COW-mekanismo povas esti kaptitaj ne nur loke, sed ankaŭ analizante ŝanĝojn en respondaj livertempoj tra la reto. Pluraj metodoj estis proponitaj por determini la enhavon de memoro de fora gastiganto analizante la ekzekuttempon de petoj super la HTTP/1 kaj HTTP/2 protokoloj. Por konservi elektitajn ŝablonojn, oni uzas normajn TTT-aplikaĵojn, kiuj konservas la informojn ricevitajn en petoj en memoro.
La ĝenerala principo de la atako reduktiĝas al plenigo servilo Memorpaĝoj kun datumoj kiuj eble duplikatas la enhavon de ekzistanta memorpaĝo sur la servilo. La atakanto tiam atendas ke la kerno maldupliku kaj kunigu la memorpaĝon, post kio ili modifas la kontrolitajn duplikatajn datumojn kaj taksas la respondotempon por determini la sukceson de la atako.

Dum la eksperimentoj, la maksimuma informforflua indico estis 34.41 bajtoj je horo kiam oni atakas tra tutmonda reto kaj 302.16 bajtoj je horo kiam oni atakas tra loka reto, kio estas pli rapida ol aliaj metodoj por ĉerpi datumojn per triaj kanaloj (ekzemple, en NetSpectre-atako, la transigo de datumoj estas 7.5 bajtoj je la unua horo).
Tri funkciaj atakvariaĵoj estas proponitaj. La unua variaĵo permesas identigi datumojn en memoro. retserviloj, kiu uzas Memcached. La atako konsistas el ŝarĝado de specifaj datumaroj en Memcached-stokadon, malplenigo de senduplikatita bloko, reskribo de la sama elemento, kaj kreado de kondiĉoj por COW-kopio modifante la enhavon de la bloko. Dum la eksperimento kun Memcached, eblis determini la libc-version instalitan sur la sistemo funkcianta en virtuala maŝino en 166.51 sekundoj.
La dua opcio ebligis ekscii la enhavon de registroj en la MariaDB DBMS, uzante InnoDB-stokadon, rekreante la enhavon bajto post bajto. La atako estas efektivigita sendante speciale modifitajn petojn, rezultigante unubajtajn miskongruojn en memorpaĝoj kaj analizante la respondtempon por determini ke la diveno pri la enhavo de la bajto estis ĝusta. La indico de tia liko estas malalta kaj sumiĝas al 1.5 bajtoj hore kiam atakas de loka reto. La avantaĝo de la metodo estas, ke ĝi povas esti uzata por reakiri nekonatan memorenhavon.
La tria opcio ebligis tute preterpasi la KASLR-protektan mekanismon en 4 minutoj kaj akiri informojn pri la memora ofseto de la virtuala maŝina kerno-bildo, en situacio kie la ofseta adreso estas en memorpaĝo en kiu aliaj datumoj ne ŝanĝiĝas. La atako estis farita de gastiganto situanta 14 lupolo de la atakita sistemo. Kodekzemploj por efektivigi la prezentitajn atakojn estas promesitaj esti publikigitaj sur GitHub.
fonto: opennet.ru
