Предотвращение доступа в режиме супервизора
-
Предотвращение доступа в режиме супервизора (SMAP)
- Функция процессоров, позволяющая программам в режиме супервизора блокировать доступ к пользовательской памяти.
- Затрудняет вредоносным программам «обманывать» ядро.
-
История и преимущества
- Дополняет функцию предотвращения выполнения в режиме супервизора (SMEP).
- Предотвращает эксплойты повышения привилегий.
- Обнаруживает дефектный код ядра.
-
Технические детали
- Процессоры указывают поддержку SMAP через CPUID leaf.
- Включается при активной подкачке и установленном бите SMAP в CR4.
- Можно временно отключить для явного доступа к памяти.
-
Поддержка операционных систем
- Linux поддерживает SMAP с 2012 года.
- FreeBSD поддерживает SMEP с 2012 года, SMAP с 2018 года.
- OpenBSD поддерживает SMEP и SMAP с 2012 года.
- NetBSD поддерживает SMEP с 2015 года, SMAP с 2017 года.
- macOS поддерживает SMAP с версии 10.13.