Hertzbleed je nová rodina útoků na postranní kanály, které ovlivňují moderní CPU

Tým výzkumníků z University of Texas, University of Illinois a University of Washington zveřejnil informace o nové rodině útoků postranním kanálem (CVE-2022-23823, CVE-2022-24436), s kódovým označením Hertzbleed. Navržený způsob útoku je založen na vlastnostech dynamického řízení frekvence v moderních procesorech a ovlivňuje všechny současné procesory Intel a AMD. Potenciálně se problém může projevit i u procesorů jiných výrobců, které podporují dynamické změny frekvence, například v systémech ARM, ale studie se omezila na testování čipů Intel a AMD. Zdrojové texty s implementací metody útoku jsou zveřejněny na GitHubu (implementace byla testována na počítači s CPU Intel i7-9700).

Pro optimalizaci spotřeby a zabránění přehřívání procesory dynamicky mění frekvenci v závislosti na zátěži, což vede ke změnám výkonu a ovlivňuje dobu provádění operací (změna frekvence o 1 Hz vede ke změně výkonu o 1 hodinový cyklus za druhý). Během studie bylo zjištěno, že za určitých podmínek na procesorech AMD a Intel změna frekvence přímo koreluje se zpracovávanými daty, což například vede k tomu, že doba výpočtu operací „2022 + 23823“ a „2022 + 24436“ se budou lišit. Na základě analýzy rozdílů v době provádění operací s různými daty je možné nepřímo obnovit informace použité ve výpočtech. Ve vysokorychlostních sítích s předvídatelným konstantním zpožděním lze zároveň provést útok na dálku odhadem doby provádění požadavků.

Pokud je útok úspěšný, identifikované problémy umožňují určit soukromé klíče na základě analýzy doby výpočtu v kryptografických knihovnách využívajících algoritmy, ve kterých jsou matematické výpočty vždy prováděny v konstantním čase, bez ohledu na povahu zpracovávaných dat. . Takové knihovny byly považovány za chráněné před útoky na postranní kanály, ale jak se ukázalo, doba výpočtu je určena nejen algoritmem, ale také charakteristikami procesoru.

Jako praktický příklad ukazující proveditelnost použití navrhované metody byl demonstrován útok na implementaci mechanismu zapouzdření klíče SIKE (Supersingular Isogeny Key Encapsulation), který byl zařazen do finále soutěže o postkvantové kryptosystémy pořádané USA. National Institute of Standards and Technology (NIST) a je umístěn tak, aby byl chráněn před útoky z postranních kanálů. Během experimentu se pomocí nové varianty útoku založeného na vybraném šifrovém textu (postupný výběr na základě manipulace se šifrovým textem a získání jeho dešifrování) podařilo zcela obnovit klíč použitý k šifrování měřením ze vzdáleného systému, a to navzdory použití implementace SIKE s konstantní dobou výpočtu. Určení 364bitového klíče pomocí implementace CIRCL trvalo 36 hodin a PQCrypto-SIDH 89 hodin.

Intel a AMD uznaly zranitelnost svých procesorů vůči problému, ale neplánují zranitelnost blokovat aktualizací mikrokódu, protože nebude možné odstranit zranitelnost hardwaru bez významného dopadu na výkon hardwaru. Místo toho dostávají vývojáři kryptografických knihoven doporučení, jak programově blokovat únik informací při provádění důvěrných výpočtů. Cloudflare a Microsoft již přidali podobnou ochranu do svých implementací SIKE, což vedlo k 5% snížení výkonu u CIRCL a 11% snížení výkonu u PQCrypto-SIDH. Dalším řešením blokování této chyby zabezpečení je deaktivace režimů Turbo Boost, Turbo Core nebo Precision Boost v systému BIOS nebo ovladači, ale tato změna bude mít za následek drastický pokles výkonu.

Intel, Cloudflare a Microsoft byly o problému informovány ve třetím čtvrtletí roku 2021 a AMD v prvním čtvrtletí roku 2022, ale veřejné odhalení problému bylo na žádost Intelu odloženo do 14. června 2022. Přítomnost problému byla potvrzena u procesorů pro stolní počítače a notebooky založených na 8-11 generacích mikroarchitektury Intel Core, stejně jako u různých stolních, mobilních a serverových procesorů AMD Ryzen, Athlon, A-Series a EPYC (výzkumníci demonstrovali metodu na CPU Ryzen s mikroarchitekturou Zen 2 a Zen 3).

Zdroj: opennet.ru

Přidat komentář