Företagen Intel och AMD utvecklar tillsammans en utökad uppsÀttning instruktioner för ChkTag (x86 Memory Tagging), som kommer att standardiseras för en enhetlig implementering i x86-processorer frÄn olika tillverkare. ChkTag liknar kapabiliteterna hos MTE (MemTag), som redan finns i ARM-processorer, och gör det ocksÄ möjligt att blockera utnyttjandet av sÄrbarheter orsakade av Ätkomst till redan frilagda minnesblock, buffertöverskridningar eller Ätkomst till minne före initiering.
ChkTag erbjuder nya processorinstruktioner som pÄ hÄrdvarunivÄ kopplar taggar till omrÄden i minnet och organiserar kontrollen av pekarens korrekthet. Det sÀgs att tillÀmpningen av dessa instruktioner av kompilatorer kommer att sÀkerstÀlla sÀker minneshantering utan att pÄverka applikationernas prestanda. Applikationer som anvÀnder ChkTag kommer ocksÄ förbli kompatibla med gamla processorer som saknar hÄrdvarustöd för ChkTag, vilket förenklar införandet av skyddet.
Den implementerade skyddmetoden innebÀr att varje minnesblock tilldelas en tagg, som fungerar som en nyckel för Ätkomst till detta minne (till exempel, i MTE-implementationen skapas en 4-bitars tagg för varje 16 byte). Taggen genereras av applikationen för det allokerade minnesomrÄdet med hjÀlp av speciella CPU-instruktioner och sparas sedan i de övre oanvÀnda bitarna av pekaren, samt i ett reserverat och otillgÀngligt omrÄde av den linjÀra/virtuella minnet. Vid Ätkomst till minnet med hjÀlp av en taggad pekare kontrollerar processorn överensstÀmmelsen mellan taggen kopplad till pekaren och de taggar som Àr kopplade till minnesblocken, och ger Ätkomst endast om taggarna matchar.
ChkTag-teknologin utvecklades genom ett samarbete mellan Intel och AMD inom EAG (x86 Ecosystem Advisory Group), som bildades för ett Är sedan för att förbÀttra kompatibiliteten mellan x86-plattformar, standardisera grÀnssnitt för Intel- och AMD-produkter, förenkla programvaruutvecklingen för x86-system och identifiera utvecklarnas behov av att utöka arkitekturen. Utöver Intel och AMD inkluderar gruppens medlemmar Linus Torvalds, skaparen av Linux-kÀrnan, Tim Sweeney, grundare av Epic Games och en av de centrala utvecklarna av spelmotorn Unreal Engine, samt representanter frÄn företagen Broadcom, Dell, Google, Hewlett Packard, Lenovo, Meta, Microsoft, Oracle och Red Hat.
Förutom ChkTag har Intel och AMD Àven standardiserat och unified implementationer av FRED-modellen för avbrottshantering (Flexible Return and Event Delivery), vektorinstruktionsuppsÀttningen AVX10 och matrismultiplikationsexpansionerna ACE (Advanced Matrix Extensions).
KĂ€lla: opennet.ru
