Hlavní navigace

Glibc přidává podporu pro Memory Protection Keys

Petr Krčmář

Florian Weimer z Red Hatu napsal podporu pro Memory Protection Keys (MPK) do knihovny Glibc. Přidává wrappery pro funkce pkey_alloc, pkey_free a pkey_mprotect a implementoval pkey_get a pkey_set jako abstrakci nad PKRU CPU. Podpora pro MPK je v linuxovém jádře už od verze 4.9, podpora v GCC je už dokonce dva roky. Nyní se konečně dostalo i na Glibc, předpokládá se, že novinka se dostane do verze 2.27.

MPK je zatím součástí procesorů Intel Xeon, v budoucnu se dostane ale i do běžných modelů. Umožňuje chránit citlivé stránky v paměti pomocí zvláštního registru, který může nabývat jednu z 16 hodnot. Jednotlivé paměťové stránky jsou označeny stejnou hodnotou, což umožňuje jednodušší a velmi rychlý přístup k určitým oblastem paměti. Takto chráněná paměť se hodí například pro ukládání šifrovacích klíčů, které pak nejsou dostupné neautorizovaným procesům.

Našli jste v článku chybu?