Ailagbara ninu awọn CPUs AMD ti o fun ọ laaye lati fori ẹrọ aabo SEV (Ipilẹṣẹ Ipilẹṣẹ Aabo)

Awọn oniwadi ni Ile-iṣẹ Helmholtz fun Aabo Alaye (CISPA) ti ṣe atẹjade ọna ikọlu CacheWarp tuntun lati fi ẹnuko ẹrọ aabo AMD SEV (Aabo Encrypted Virtualization) ti a lo ninu awọn ọna ṣiṣe agbara lati daabobo awọn ẹrọ foju lati kikọlu nipasẹ hypervisor tabi olutọju eto eto. Ọna ti a dabaa ngbanilaaye ikọlu pẹlu iraye si hypervisor lati ṣiṣẹ koodu ẹni-kẹta ati mu awọn anfani pọ si ni ẹrọ foju ti o ni aabo ni lilo AMD SEV.

Ikọlu naa da lori lilo ailagbara kan (CVE-2023-20592) ti o ṣẹlẹ nipasẹ iṣẹ ti ko tọ ti kaṣe lakoko ipaniyan ilana ilana ero isise INVD, pẹlu iranlọwọ eyiti o ṣee ṣe lati ṣaṣeyọri aiṣedeede data ni iranti ati kaṣe. , ati fori ise sise fun mimu awọn iyege ti foju ẹrọ iranti, muse da lori awọn amugbooro SEV-ES ati SEV-SNP. Ailagbara naa kan awọn ilana AMD EPYC lati akọkọ si iran kẹta.

Fun iran kẹta AMD EPYC awọn ilana (Zen 3), ọran naa jẹ ipinnu ni imudojuiwọn microcode Oṣu kọkanla ti a tu silẹ lana nipasẹ AMD (atunṣe naa ko ja si ibajẹ iṣẹ eyikeyi). Fun awọn iran akọkọ ati keji ti AMD EPYC (Zen 1 ati Zen 2), ko pese aabo, nitori awọn Sipiyu wọnyi ko ṣe atilẹyin itẹsiwaju SEV-SNP, eyiti o pese iṣakoso iduroṣinṣin fun awọn ẹrọ foju. Iran kẹrin ti awọn ilana AMD AMD EPYC “Genoa” ti o da lori microarchitecture “Zen 4” ko jẹ ipalara.

Imọ-ẹrọ AMD SEV ni a lo fun ipinya ẹrọ foju nipasẹ awọn olupese awọsanma bii Awọn iṣẹ wẹẹbu Amazon (AWS), Google Cloud, Microsoft Azure ati Awọn amayederun Oniṣiro Oracle (OCI). AMD SEV Idaabobo ti wa ni imuse nipasẹ hardware-ipele ìsekóòdù ti foju ẹrọ iranti. Ni afikun, itẹsiwaju SEV-ES (Ipinlẹ ti paroko) ṣe aabo awọn iforukọsilẹ Sipiyu. Nikan eto alejo ti o wa lọwọlọwọ ni iwọle si data ti a ti sọ dicrypted, ati nigbati awọn ẹrọ foju miiran ati hypervisor gbiyanju lati wọle si iranti yii, wọn gba eto ti paroko ti data.

Awọn iran kẹta ti awọn ilana AMD EPYC ṣe afihan itẹsiwaju afikun, SEV-SNP (Ile-ipamọ Itọju Paging), eyiti o ṣe idaniloju iṣẹ ailewu ti awọn tabili oju-iwe iranti itẹ-ẹiyẹ. Ni afikun si fifi ẹnọ kọ nkan iranti gbogbogbo ati ipinya iforukọsilẹ, SEV-SNP n ṣe awọn igbese afikun lati daabobo iduroṣinṣin iranti nipasẹ idilọwọ awọn ayipada si VM nipasẹ hypervisor. Awọn bọtini fifi ẹnọ kọ nkan ni a ṣakoso ni ẹgbẹ ti ero isise PSP lọtọ (Platform Security Processor) ti a ṣe sinu chirún, ti a ṣe lori ipilẹ ti faaji ARM.

Koko-ọrọ ti ọna ikọlu ti a daba ni lati lo ilana INVD lati sọ awọn bulọọki (ila) di asan ninu kaṣe ti awọn oju-iwe idọti laisi sisọ data ti a kojọpọ sinu kaṣe sinu iranti (kọ-pada). Nitorinaa, ọna naa gba ọ laaye lati yọ data ti o yipada kuro ninu kaṣe laisi iyipada ipo iranti. Lati ṣe ikọlu kan, o ni imọran lati lo awọn imukuro sọfitiwia (abẹrẹ aṣiṣe) lati da iṣẹ ẹrọ foju duro ni awọn aaye meji: ni aye akọkọ, ikọlu naa pe ilana “wbnoinvd” lati tun gbogbo awọn iṣẹ kikọ iranti ti a kojọpọ sinu. awọn kaṣe, ati ni awọn keji ibi ipe "invd" ilana lati pada kọ mosi ko ni afihan ni iranti si atijọ ipinle.

Lati ṣayẹwo awọn eto rẹ fun awọn ailagbara, a ti gbejade afọwọkọ ilokulo ti o fun ọ laaye lati fi iyasọtọ sii sinu ẹrọ foju kan ti o ni aabo nipasẹ AMD SEV ati yi awọn ayipada pada ninu VM ti ko ti tunto si iranti. Yipada ti iyipada le ṣee lo lati yi ṣiṣan ti eto pada nipa ipadabọ adirẹsi ipadabọ atijọ lori akopọ, tabi lati lo awọn aye iwọle ti igba atijọ kan ti o ti jẹri tẹlẹ nipasẹ mimu-pada sipo iye ikasi.

Fun apẹẹrẹ, awọn oniwadi ṣe afihan iṣeeṣe ti lilo ọna CacheWarp lati ṣe ikọlu Bellcore kan lori imuse ti RSA-CRT algorithm ninu ile-ikawe ipp-crypto, eyiti o jẹ ki o ṣee ṣe lati gba bọtini ikọkọ pada nipasẹ iyipada aṣiṣe nigbati o ṣe iṣiro oni-nọmba kan. ibuwọlu. O tun fihan bi o ṣe le yi awọn aye idaniloju igba pada si OpenSSH nigbati o ba sopọ latọna jijin si eto alejo, ati lẹhinna yi ipo ijẹrisi pada nigbati o nṣiṣẹ ohun elo sudo lati ni awọn ẹtọ gbongbo ni Ubuntu 20.04. A ti ni idanwo ilokulo lori awọn eto pẹlu AMD EPYC 7252, 7313P ati awọn ilana 7443.

orisun: opennet.ru

Fi ọrọìwòye kun