Zjistili chybu zabezpečení v AMD SEV, která umožňuje určit šifrovací klíče

AMD SEV

Vývojáři týmu Google Cloud identifikovali chybu zabezpečení (CVE-2019-9836) při implementaci technologie AMD SEV (zabezpečená šifrovaná virtualizace), což může ohrozit data chráněná touto technologií.

AMD SEV na hardwarové úrovnie poskytuje transparentní šifrování paměti virtuálních strojů, kde k dešifrovaným datům má přístup pouze aktuální hostující systém, zatímco zbytek virtuálních strojů a hypervisor získají při přístupu k této paměti sadu šifrovaných dat.

Zjištěný problém umožňuje plně obnovit obsah soukromého klíče PDH který je zpracován na úrovni jednoho chráněného procesoru PSP (AMD Security Processor), který není k dispozici pro hlavní operační systém.

Tím, že má klíč PDH, může útočník obnovit klíč relace a tajnou sekvenci specifikováno při vytváření virtuálního stroje a přístupu k šifrovaným datům.

Zranitelnost je způsobena nedostatky v implementaci eliptických křivek (ECC) používaný pro šifrování, které umožňuje útoku obnovit parametry křivky.

Během provádění příkazu start chráněného virtuálního stroje může útočník odeslat parametry křivky, které neodpovídají parametrům doporučeným NIST, což povede k použití bodových hodnot nízkého řádu při operacích násobení s daty z soukromý klíč.

Bylo zjištěno, že implementace eliptické křivky SEV (ECC) je zranitelná vůči útoku neplatnou křivkou. Na příkaz boot start může útočník odeslat

Body ECC malého řádu nejsou v oficiálních křivkách NIST a nutí firmware SEV, aby vynásobil bod malého řádu soukromým DH skalárního firmwaru.

Shromážděním dostatečného množství modulárního odpadu může útočník získat kompletní soukromý klíč PDH. S PDH může útočník obnovit klíč relace a spustit tajemství virtuálního počítače. Tím se porušují záruky důvěrnosti nabízené společností SEV.

Zabezpečení protokolu ECDH závisí přímo na pořadí vygenerovaného počátečního bodu křivky, jejíž diskrétní logaritmus je velmi složitý úkol.

V jednom z kroků inicializace prostředí AMD SEV jsou parametry získané od uživatele použity ve výpočtech se soukromým klíčem.

V podstatě se provádí operace násobení dvou bodů, z nichž jeden odpovídá soukromému klíči.

Pokud druhý bod odkazuje na prvočísla nízkého řádu, pak může útočník určit parametry prvního bodu (bity modulo použité v operaci umocňování exponentací) vypsáním všech možných hodnot. Vybrané fragmenty prvočísel lze kombinovat k určení soukromého klíče pomocí čínské věty o zbytcích.

Neplatný útok na křivku je místo, kde se násobení ECDH bodů provádí na jiné křivce - různé parametry (a, b). To je možné díky funkci krátkého Weierstrassova součtu bodů, protože parametr „b“ se nepoužívá.

Na této křivce má bod malý primární řád. Vyzkoušením všech možných hodnot pro bod malé objednávky může útočník načíst soukromé skalární bity (modulovat pořadí).

Platformy serverů AMD EPYC využívající firmware SEV do verze 0.17 build 11 jsou problém.

AMD již vydala aktualizaci firmwaru, který přidal zámek na používání bodů, které neodpovídají křivce NIST.

Současně zůstávají v platnosti dříve vygenerované certifikáty pro klíče PDH, které útočníkovi umožňují provést útok na migraci virtuálního počítače z prostředí, která jsou chráněna před zranitelností vůči těm, na které se problém vztahuje.

Je zmíněna také možnost provést útok zpět na verzi firmwaru předchozí zranitelné verze, ale tato funkce zatím nebyla potvrzena.

zdroj: https://seclists.org/


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.