Intel CET
Что такое Intel CET?
Intel CETIntel CET (Control-flow Enforcement Technology) — функция процессора, объединяющая аппаратный теневой стек и Indirect Branch Tracking (IBT) для блокировки ROP, JOP и COP.
Intel CET появилась в Tiger Lake (11-е поколение Core) и Xeon 11-го поколения и сочетает два механизма. Теневой стек хранит адреса возврата в защищённой процессором странице, в которую пользовательский код не может писать напрямую; расхождение на RET вызывает исключение #CP. Indirect Branch Tracking (IBT) требует, чтобы любое легитимное место косвенного перехода начиналось инструкцией ENDBR, что не даёт прыгать в середину функций или гаджетов. ОС включают процессы через PROC_CET_* или SetProcessMitigationPolicy; компиляторы добавляют ENDBR через -fcf-protection=full. CET пресекает классические ROP/JOP на аппаратной скорости и дополняет ASLR, DEP, стек-канарейки и программный CFI.
● Примеры
- 01
Windows 11 включает аппаратную защиту стека через CET на Core 11-го поколения.
- 02
Linux включает USER_SHSTK для укреплённых бинарников.
● Частые вопросы
Что такое Intel CET?
Intel CET (Control-flow Enforcement Technology) — функция процессора, объединяющая аппаратный теневой стек и Indirect Branch Tracking (IBT) для блокировки ROP, JOP и COP. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Intel CET?
Intel CET (Control-flow Enforcement Technology) — функция процессора, объединяющая аппаратный теневой стек и Indirect Branch Tracking (IBT) для блокировки ROP, JOP и COP.
Как работает Intel CET?
Intel CET появилась в Tiger Lake (11-е поколение Core) и Xeon 11-го поколения и сочетает два механизма. Теневой стек хранит адреса возврата в защищённой процессором странице, в которую пользовательский код не может писать напрямую; расхождение на RET вызывает исключение #CP. Indirect Branch Tracking (IBT) требует, чтобы любое легитимное место косвенного перехода начиналось инструкцией ENDBR, что не даёт прыгать в середину функций или гаджетов. ОС включают процессы через PROC_CET_* или SetProcessMitigationPolicy; компиляторы добавляют ENDBR через -fcf-protection=full. CET пресекает классические ROP/JOP на аппаратной скорости и дополняет ASLR, DEP, стек-канарейки и программный CFI.
Как защититься от Intel CET?
Защита от Intel CET обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Intel CET?
Распространённые альтернативные названия: CET, Indirect Branch Tracking, IBT.
● Связанные термины
- appsec№ 1028
Теневой стек
Теневой стек — отдельный защищённый стек с копиями адресов возврата, позволяющий процессору обнаруживать порчу основного стека и блокировать ROP-атаки.
- appsec№ 217
Целостность потока управления
Целостность потока управления (CFI) ограничивает непрямые вызовы и возвраты программы заранее вычисленным множеством легитимных целей, блокируя ROP и JOP.
- appsec№ 925
Возвратно-ориентированное программирование (ROP)
ROP — техника эксплуатации с повторным использованием кода, в которой короткие последовательности инструкций, оканчивающиеся RET, выстраиваются в цепочку для выполнения произвольных вычислений без внедрения нового кода.
- appsec№ 303
DEP
Предотвращение выполнения данных (DEP, NX или W^X) помечает страницы памяти как неисполняемые, чтобы атакующий не мог запустить шеллкод, внедрённый в стек или кучу.
- appsec№ 064
ASLR
ASLR случайным образом размещает код, стеки, кучи и библиотеки в памяти при каждом запуске, чтобы атакующий не мог предсказать целевые адреса для эксплойтов.
- appsec№ 1095
Стек-канарейка
Стек-канарейка — это секретное значение между локальными буферами функции и сохранённым адресом возврата, позволяющее обнаружить переполнение стека до перехвата управления.
● См. также
- № 581KASLR
- № 1058SMEP / SMAP
- № 671Языки с безопасной памятью