Zraniteľnosť v AMD SEV, ktorá umožňuje určiť šifrovacie kľúče

Vývojári z tímu Google Cloud identifikované zraniteľnosť (CVE-2019-9836) pri implementácii technológie AMD SEV (Secure Encrypted Virtualization), ktorá umožňuje kompromitovať dáta chránené pomocou tejto technológie. AMD SEV na hardvérovej úrovni poskytuje transparentné šifrovanie pamäte virtuálneho stroja, v ktorom má prístup k dešifrovaným údajom iba aktuálny hosťovský systém a ostatné virtuálne stroje a hypervízor pri pokuse o prístup k tejto pamäti dostávajú šifrovanú množinu údajov.

Zistený problém umožňuje úplne obnoviť obsah súkromného kľúča PDH, ktorý je spracovávaný na úrovni samostatného chráneného procesora PSP (AMD Security Processor), ktorý je pre hlavný OS nedostupný.
S kľúčom PDH môže útočník obnoviť kľúč relácie a tajnú sekvenciu zadanú pri vytváraní virtuálneho počítača a získať prístup k zašifrovaným údajom.

Zraniteľnosť je spôsobená chybami v implementácii šifrovania eliptických kriviek (ECC), ktoré umožňuje útok obnoviť parametre krivky. Počas vykonávania príkazu na spustenie chráneného virtuálneho počítača by útočník mohol odoslať parametre krivky, ktoré nie sú v súlade s parametrami odporúčanými NIST, čo má za následok použitie bodových hodnôt nízkeho rádu pri operáciách násobenia s údajmi súkromného kľúča.

Bezpečnosť protokolu ECDH priamo závisí od od objednať vygenerovaný počiatočný bod krivky, ktorého diskrétny logaritmus je veľmi náročná úloha. Počas jedného z inicializačných krokov prostredia AMD SEV používajú výpočty súkromného kľúča parametre prijaté od používateľa. Operácia je v podstate násobením dvoch bodov, z ktorých jeden zodpovedá súkromnému kľúču. Ak sa druhý bod vzťahuje na prvočísla nízkeho rádu, útočník môže určiť parametre prvého bodu (bity modulu použitého v operácii modulo) prehľadávaním všetkých možných hodnôt. Na určenie súkromného kľúča sa potom môžu vybrané fragmenty prvočísel poskladať pomocou Čínska veta o zvyšku.

Problém sa týka serverových platforiem AMD EPYC, ktoré používajú firmvér SEV až do verzie 0.17 zostavy 11. AMD už опубликовала Aktualizácia firmvéru, ktorá pridáva blokovanie bodov, ktoré nie sú v súlade s krivkou NIST. Zároveň zostávajú v platnosti predtým vygenerované certifikáty pre kľúče PDH, čo umožňuje útočníkovi vykonať útok na migráciu virtuálnych strojov z prostredí chránených pred zraniteľnosťou do prostredí náchylných na problém. Spomína sa aj možnosť vykonania útoku na vrátenie verzie firmvéru na staré zraniteľné vydanie, ale táto možnosť ešte nebola potvrdená.

Zdroj: opennet.ru

Pridať komentár