Проект grsecurity представил первый выпуск набора патчей с реализацией механизма защиты RAP (Reuse Attack Protector) для ядра Linux, позволяющего блокировать работу эксплоитов, основанных на технике заимствования кусков кода. Набор патчей включает всю запланированную функциональность и опубликован под лицензией GPLv2 в публичной тестовой ветке grsecurity для ядра Linux 4.9 (стабильные ветки grsecurity распространяются платно).
Техника заимствования кусков кода используется для эксплуатации переполнений буфера в условиях, когда в страницах памяти стека и буфера установлен запрет на исполнение кода. Для организации выполнения кода атакующего в таких условиях логика выполнения shell-кода формируется с использованием методов возвратно-ориентированного программирования (ROP) - атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися в загруженных библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания библиоте
...
Читать дальше »