SQUIP - atako kontraŭ AMD-procesoroj, kondukante al datumfluado per triaj kanaloj

Grupo de esploristoj de la Graz Universitato de Teknologio (Aŭstrio), antaŭe konata pro evoluigado de la MDS, NetSpectre, Throwhammer kaj ZombieLoad-atakoj, malkaŝis detalojn pri nova flanka-kanala atako (CVE-2021-46778) sur la atendovico de AMD-procesora planisto. , uzita por plani la ekzekuton de instrukciaĵo en malsamaj ekzekutunuoj de la CPU. La atako, nomita SQUIP, ebligas al vi determini la datumojn uzatajn en kalkuloj en alia procezo aŭ virtuala maŝino aŭ organizi kaŝitan komunikadkanalon inter procezoj aŭ virtualaj maŝinoj, kiu ebligas al vi interŝanĝi datumojn preterpasante sistemajn alirkontrolajn mekanismojn.

AMD-CPUoj bazitaj sur 2000-a, 5000-a kaj 3000-a generacio Zen-mikroarkitekturoj (AMD Ryzen XNUMX-XNUMX, AMD Ryzen Threadripper, AMD Athlon XNUMX, AMD EPYC) estas tuŝitaj dum uzado de Simultaneous Multithreading Technology (SMT). Intel-procesoroj ne estas susceptibles al atako, ĉar ili uzas ununuran planantvicon, dum vundeblaj AMD-procesoroj uzas apartajn atendovicojn por ĉiu ekzekutunuo. Kiel solvo por bloki informojn, AMD rekomendis, ke programistoj uzu algoritmojn, kiuj ĉiam plenumas matematikajn kalkulojn en konstanta tempo, sendepende de la naturo de la prilaboritaj datumoj, kaj ankaŭ eviti disbranĉiĝon bazitan sur sekretaj datumoj.

La atako baziĝas sur takso de la nivelo de disputo (disputnivelo) en malsamaj planirvicoj kaj estas efektivigita per la mezurado de prokrastoj dum komencado de kontrolaj operacioj faritaj en alia SMT-fadeno sur la sama fizika CPU. Por analizi la enhavon, oni uzis la metodon Prime + Probe, kiu implicas plenigi la atendovicon per referenca aro de valoroj kaj determini ŝanĝojn per mezuro de la tempo de aliro al ili dum replenigo.

Dum la eksperimento, la esploristoj povis tute rekrei la privatan 4096-bitan RSA-ŝlosilon uzatan por krei ciferecajn subskribojn uzante la mbedTLS 3.0-kriptografan bibliotekon, kiu uzas la Montgomery-algoritmon por levi nombron al potencmodulo. Necesis 50500 38 spuroj por determini la ŝlosilon. La totala ataktempo daŭris 0.89 minutojn. Atako-variaĵoj estas pruvitaj, kiuj disponigas likon inter malsamaj procezoj kaj virtualaj maŝinoj kontrolitaj de la KVM-hiperviziero. Estas ankaŭ montrite ke la metodo povas esti uzita por organizi sekretan datumtranslokigon inter virtualaj maŝinoj kun rapideco de 2.70 Mbit/s kaj inter procezoj kun rapideco de 0.8 Mbit/s kun erarfteco de malpli ol XNUMX%.

fonto: opennet.ru

Aldoni komenton