Závislost doby vykonávání instrukcí na datech na CPU ARM a Intel

Eric Biggers, jeden z vývojářů šifry Adiantum a maintainer subsystému jádra Linux fscrypt, navrhl sadu patchů, které řeší bezpečnostní problémy vyplývající z charakteristiky procesorů Intel, která negarantuje konstantní čas provádění instrukcí pro různá zpracovávaná data. U procesorů Intel se tento problém projevuje od rodiny Ice Lake. Podobný problém je také přítomen u procesorů ARM.

Závislost času provádění instrukcí na datech zpracovávaných v těchto instrukcích je autorem patchů považována za zranitelnost v procesorech, protože takové chování nemůže zaručit bezpečnost kryptografických operací prováděných v systému. Mnoho implementací kryptografických algoritmů předpokládá, že data nemají vliv na čas provádění instrukcí, a toto porušení chování může vést k útokům pomocí bočních kanálů, které obnovují data na základě analýzy času jejich zpracování.

Potenciálně může být závislost času provádění na datech také použita pro organizaci útoků k určení dat jádra z uživatelského prostoru. Podle Erika Biggersa není konstantní čas provádění zaručen ani pro instrukce provádějící operace sčítání a XOR, ani pro specializované instrukce AES-NI (informace nebyly potvrzeny testy, podle jiných údajů při násobení vektorů a počítání bitů vzniká zpoždění o jeden cyklus).

Pro deaktivaci zkoumaného chování companies Intel a ARM navrhly nové flagy: PSTATE-bit DIT (Data Independent Timing) pro CPU ARM a MSR-bit DOITM (Data Operand Independent Timing Mode) pro CPU Intel, které vrací staré chování s konstantním časem provádění. Společnosti Intel a ARM doporučují aktivovat ochranu podle potřeby pro obzvlášť důležitý kód, ale ve skutečnosti se důležité výpočty mohou vyskytovat v jakýchkoli částech jádra a uživatelského prostoru, a proto se zvažuje možnost trvalé aktivace režimů DOITM a DIT pro celé jádro.

Pro procesory ARM byly do jádra Linux 6.2 již přijaty opravy, které mění chování jádra, avšak tyto opravy jsou považovány za nedostatečné, protože pokrývají pouze kód jádra a nemění chování v uživatelském prostoru. Pro procesory Intel je zapnutí ochrany zatím jen ve fázi revize. Měření vlivu opravy na výkon zatím nebylo provedeno, ale podle dokumentace Intel zapnutí režimu DOITM snižuje výkon (například kvůli vypnutí některých optimalizací, jako je předběžné načítání specifické pro určité údaje) a v budoucích modelech procesorů může snížení výkonu zesílit.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster