Intel и AMD стандартизират механизма ChkTag за защита от уязвимости в паметта
Intel и AMD създават взаимно разширения набор от указания ChkTag (x86 Memory Tagging), който ще бъде типов за унифицирано използване в x86 процесорите на разнообразни производители. ChkTag прилича разширението MTE (MemTag), което към този момент е планувано в процесорите ARM, и също по този начин разрешава блокиране на потреблението на уязвимости, породени от достъп до към този момент освободени блокове памет, препълване на буфера или достъп до паметта преди инициализация.
ChkTag предлага нови процесорни указания, които разрешават обвързване на хардуерно равнище на таговете с области в паметта и провеждат валидирането на указатели. Посочва се, че потреблението на тези указания от компилаторите ще разреши обезпечаването на безвредна работа с паметта, без да се понижава продуктивността на приложенията. В същото време приложенията, употребяващи ChkTag, ще останат съвместими с по-старите процесори, които нямат хардуерна поддръжка за ChkTag, което ще опрости използването на отбраната.
Реализираният способ за отбрана се състои в основаването на таг за всеки блок памет, който работи като ключ за достъп до тази памет (например в реализацията на MTE се основава 4-битов таг за всеки 16 байта). Тагът се генерира от приложението за разпределената област от паметта благодарение на специфични указания на процесора и по-късно се съхранява в горните неизползвани битове на указателя, както и в линейната/виртуалната област от паметта, непокътната и недостъпна за приложенията. При достъп до паметта, употребявайки справочник с таг, процесорът ревизира дали тагът, обвързван с указателя, съответствува с таговете, свързани с блоковете памет, и позволява достъп единствено в случай че таговете съответстват.
Технологията ChkTag е създадена като част от взаимните старания на Intel и AMD в границите на EAG (x86 Ecosystem Advisory Group), основана преди година за взаимна работа за обезпечаване на оперативна съгласуемост сред x86 платформите, стандартизиране на интерфейсите сред продуктите на Intel и AMD, опростяване на създаването на програмен продукт за x86 системите и установяване на потребностите на разработчиците от разширения на архитектурата. Освен Intel и AMD в групата членуват Линус Торвалдс, основател на Linux ядрото, Тим Суини, създател на Epic Games и един от главните разработчици на игровия енджина Unreal Engine, както и представители на Broadcom, Dell, Гугъл, Hewlett Packard, Lenovo, Meta, Microsoft, Oracle и Red Hat.




