Функция предназначена для защиты от атак с применением возвратно-ориентированного программирования (ROP).
Компания Google реализовала в версии своего браузера Chrome 90 новую функцию безопасности Windows 10 под названием Hardware-enforced Stack Protection («аппаратная защита стека») для защиты стека памяти от кибератак.
Microsoft представила Hardware-enforced Stack Protection в марте 2020 года. Функция предназначена для защиты от атак с применением возвратно-ориентированного программирования (ROP). Для этого Hardware-enforced Stack Protection использует аппаратное обеспечение процессора для защиты кода приложений, запущенного в его памяти. Функция добавлена в Chrome 90 на Windows 20H1 с декабрьскими или более поздними обновлениями и на процессорах Intel 11-го поколения и AMD Zen 3 с технологией Control-flow Enforcement Technology (CET).
В течение нескольких лет Intel и Microsoft работали над технологией CET для защиты от ROP-атак, способных обходить существующие меры по предотвращению эксплуатации памяти для установки вымогательского ПО. CET базируется на «теневых стеках», использующихся специально для контроля над операциями трансфера. «Теневые стеки» изолированы от стека данных и защищены от взлома.
«При включенных теневых стеках инструкция CALL помещает адрес возврата как в стек данных, так и в теневой стек. Инструкция RET извлекает адрес возврата из обоих стеков и сравнивает их. Если адреса возврата из двух стеков не совпадают, процессор сигнализирует control protection exception (#CP)», - говорится в документации Intel.
Как предупредила команда Chrome, «теневой стек» может вызывать проблемы с некоторым установленным в браузере ПО.
«[CET] улучшает безопасность, усложняя создание эксплоитов. Тем не менее, это может затронуть стабильность, если загружающееся в Chrome ПО не совместимо с этой технологией», - сообщила команда Chrome.
Google также предоставила подробную информацию для разработчиков, которым необходимо отладить проблему в «теневом стеке» Chrome. Разработчики могут видеть, для каких процессов включена функция Hardware-enforced Stack Protection в диспетчере задач Windows.
Гравитация научных фактов сильнее, чем вы думаете