14/06/2016
Компания Intel заявила, что будет бороться с уязвимостями в программном обеспечении на уровне процессора. Разработчики уже объявили о выходе новой технологии, которая нейтрализует эксплоиты, использующие возвратно-ориентированное программирование (ROP и JOP). Такие атаки весьма сложно обнаружить и предотвратить, поскольку атакующий использует код самого приложения в памяти для выполнения злонамеренных действий.

Отметим, что в настоящий момент самой надежной техникой защиты является ASLR, однако довольно часто злоумышленники успешно обходят подобные механизмы безопасности.

Для защиты пользователей от эксплуатации уязвимостей в программном обеспечении Intel разработала новую технологию контроля за выполнением кода (Control-flow Enforcement Technology - CET).

Новая технология будет работать следующим образом: CET будет хранить в ОЗУ скрытый стек с адресами возврата. Этот стек будет защищен механизмом управления памятью процессора. Во время вызова процедуры, адрес возврата записывается в стек потока, как обычно, а также в скрытый стек. Когда процессор достигает функции возврата, он будет осуществлять проверку подлинности возвращаемого процедурой адреса и адреса, записанного в скрытом стеке. В случае, если адреса разные, будет вызвано исключение, что позволит операционной системе перехватить его и остановить выполнение кода.

Попытки прочитать данные из скрытого стека с помощью операции mov блокируются механизмом управления памятью процессора.
Таким образом, эксплуатацию уязвимостей, связанных с переполнением буфера в стеке, можно будет нейтрализовать на уровне процессора.