SQUIP – атака на працэсары AMD, якая прыводзіць да ўцечкі дадзеных па іншых каналах

Група даследнікаў з Грацкага тэхнічнага ўніверсітэта (Аўстрыя), раней вядомая распрацоўкай нападаў MDS, NetSpectre, Throwhammer і ZombieLoad, расчыніла звесткі аб новым метадзе нападу па іншых каналах (CVE-2021-46778) на чарзе планавальніка працэсараў AMD, якія ўжываюцца для планавання выканання розных выканаўчых блоках CPU. Атака, якая атрымала назву SQUIP, дазваляе вызначыць выкарыстоўваныя пры вылічэннях у іншым працэсе ці віртуальнай машыне дадзеныя ці арганізаваць утоены канал сувязі паміж працэсамі ці віртуальнымі машынамі, які дазваляе абменьвацца дадзенымі ў абыход сістэмных механізмаў размежавання доступу.

Праблеме схільныя CPU AMD на базе мікраархітэктур Zen першага, другога і трэцяга пакаленняў (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) пры выкарыстанні тэхналогіі адначасовай шматструменнасці (SMT). Працэсары Intel нападу не схільныя, бо ў іх выкарыстоўваецца адна чарга планавальніка, у той час як ва ўразлівых працэсарах AMD для кожнага выканаўчага блока ўжываюцца асобныя чэргі. У якасці абыходнага шляху для блакавання ўцечкі інфармацыі кампанія AMD рэкамендавала распрацоўнікам выкарыстоўваць алгарытмы, матэматычныя вылічэнні ў якіх заўсёды выконваюцца за сталы час, незалежна ад характару апрацоўваных дадзеных, а таксама пазбягаць галінавання на аснове сакрэтных дадзеных.

Атака заснавана на адзнацы ўзроўня ўзнікнення канфліктаў (contention level) у розных чэргах планавальніка і праводзіцца праз вымярэнне затрымак пры запуску праверачных аперацый, выкананых у іншым струмені SMT на тым жа фізічным CPU. Для аналізу змесціва скарыстаны метад Prime+Probe, які разумее запаўненне чаргі эталонным наборам значэнняў і азначэнне змен праз вымярэнне часу доступу да іх пры паўторным запаўненні.

Падчас эксперыменту даследнікам атрымалася цалкам узнавіць зачынены 4096-бітавы RSA-ключ, выкарыстоўваны для стварэння лічбавых подпісаў пры дапамозе крыптаграфічнай бібліятэкі mbedTLS 3.0, у якой для ўзвядзення ліку ў ступень па модулі ўжываецца алгарытм Мантгомеры. Для вызначэння ключа запатрабавалася выканаць 50500 трасіровак. Агульны час атакі заняло 38 хвілін. Прадэманстраваны варыянты нападу, якія забяспечваюць уцечку паміж рознымі працэсамі і віртуальнымі машынамі, кіраванымі гіпервізарам KVM. Таксама паказана, што метад можна выкарыстоўваць для арганізацыі ўтоенай перадачы дадзеных паміж віртуальнымі машынамі са хуткасцю 0.89 Mbit/s і паміж працэсамі са хуткасцю 2.70 Mbit/s пры ўзроўні памылак меней 0.8%.

Крыніца: opennet.ru

Дадаць каментар