SQUIP on rünnak AMD protsessorite vastu, mis viib andmete lekkimiseni kolmandate osapoolte kanalite kaudu

Grazi tehnikaülikooli (Austria) teadlaste meeskond, kes oli varem tuntud MDS-i, NetSpectre'i, Throwhammeri ja ZombieLoadi rünnakute arendajana, on avaldanud teavet AMD protsessori uue külgkanali rünnakumeetodi (CVE-2021-46778) kohta. planeerija järjekord, mida kasutatakse käskude täitmise ajastamiseks CPU erinevates täitmisüksustes. SQUIP-nimeline rünnak võimaldab määrata mõnes teises protsessis või virtuaalmasinas arvutustes kasutatavaid andmeid või organiseerida protsesside või virtuaalmasinate vahel peidetud sidekanalit, võimaldades vahetada andmeid süsteemi juurdepääsukontrolli mehhanismidest mööda minnes.

Probleem mõjutab AMD protsessoreid, mis põhinevad esimese, teise ja kolmanda põlvkonna Zeni mikroarhitektuuridel (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC), kui kasutatakse samaaegset mitme keermestamise tehnoloogiat (SMT). Inteli protsessorid ei ole rünnakutele vastuvõtlikud, kuna nad kasutavad ühte planeerija järjekorda, samas kui haavatavad AMD protsessorid kasutavad iga täitmisüksuse jaoks eraldi järjekordi. Teabelekke blokeerimiseks soovitas AMD arendajatel kasutada algoritme, mille puhul matemaatilised arvutused tehakse alati konstantse aja jooksul, sõltumata töödeldavate andmete olemusest, ning vältida ka salaandmetel põhinevat hargnemist.

Rünnak põhineb konkurentsitaseme hindamisel erinevates planeerijajärjekordades ja see viiakse läbi, mõõtes viivitusi, kui käivitatakse sama füüsilise protsessori teises SMT lõimes tehtud kontrollitoimingud. Sisu analüüsimiseks kasutati Prime+Probe meetodit, mis hõlmab järjekorra täitmist standardsete väärtuste komplektiga ja muudatuste tuvastamist, mõõtes nende täitmisel neile juurdepääsuaega.

Katse käigus suutsid teadlased mbedTLS 4096 krüptoteegi abil täielikult taastada privaatse 3.0-bitise RSA-võtme, mida kasutati digitaalallkirjade loomiseks, mis kasutab Montgomery algoritmi numbrimooduli tõstmiseks. Võtme määramiseks kulus 50500 38 jälge. Rünnakuajaks kulus kokku 0.89 minutit. Näidatud on ründevariandid, mis pakuvad leket erinevate protsesside ja KVM-i hüperviisori hallatavate virtuaalmasinate vahel. Samuti on näidatud, et meetodi abil saab korraldada peidetud andmeedastust virtuaalmasinate vahel kiirusel 2.70 Mbit/s ja protsesside vahel kiirusel 0.8 Mbit/s veamääraga alla XNUMX%.

Allikas: opennet.ru

Lisa kommentaar