Intel a AMD standardizují mechanismus ChkTag pro ochranu před zranitelnostmi při práci s pamětí

Společnosti Intel a AMD společně rozvíjejí rozšířenou sadu instrukcí ChkTag (x86 Memory Tagging), která bude standardizována pro jednotnou implementaci v x86 procesorech různých výrobců. Co se týče svých funkcí, ChkTag připomíná rozšíření MTE (MemTag), které již je dodáváno v procesorech ARM, a také umožňuje blokovat zneužívání zranitelností, které jsou způsobeny přístupem k již uvolněným blokům paměti, přetečení bufferu nebo přístupem k paměti před inicializací.

ChkTag nabízí nové procesorové instrukce, které umožňují na hardwarové úrovni přiřadit tagy k oblastem v paměti a uspořádat ověřování správnosti používání ukazatelů. Bylo uvedeno, že použití těchto instrukcí kompilátory zajistí bezpečné fungování s pamětí bez snížení výkonnosti aplikací. Přitom aplikace využívající ChkTag zůstanou kompatibilní se starými procesory, které nemají hardwarovou podporu ChkTag, což usnadní implementaci ochrany.

Realizovaná metoda ochrany spočívá v vytvoření tagu pro každý blok paměti, který funguje jako klíč pro přístup k této paměti (například v implementaci MTE se pro každých 16 bytů vytváří 4-bitový tag). Tag je generován aplikací pro alokovanou oblast paměti pomocí speciálních instrukcí CPU a poté je uložen v horních nevyužívaných bitech ukazatele, stejně jako v rezervované a pro aplikace nedostupné oblasti lineární/virtuální paměti. Při přístupu k paměti pomocí tagovaného ukazatele procesor kontroluje shodu tagu přiřazeného k ukazateli s tagy přiřazenými k blokům paměti a povolí přístup pouze v případě, že se tagy shodují.

Technologie ChkTag byla vyvinuta společnou prací společností Intel a AMD v rámci skupiny EAG (x86 Ecosystem Advisory Group), která byla vytvořena před rokem za účelem spolupráce na zajištění interoperability mezi platformami x86, standardizaci rozhraní produktů Intel a AMD, zjednodušení vývoje softwaru pro systémy x86 a identifikaci potřeb vývojářů pro rozšíření architektury. Kromě společností Intel a AMD se členy skupiny stali také Linus Torvalds, tvůrce jádra Linux, Tim Sweeney, zakladatel společnosti Epic Games a jeden z klíčových vývojářů herního enginu Unreal Engine, a zástupci společností Broadcom, Dell, Google, Hewlett Packard, Lenovo, Meta, Microsoft, Oracle a Red Hat.

Kromě ChkTag společnost Intel a AMD také standardizovaly a sjednotily implementace modelu zpracování interrupcí FRED (Flexible Return and Event Delivery), sady vektorových instrukcí AVX10 a rozšíření pro násobení matic ACE (Advanced Matrix Extensions).

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