BOWall
(Доступен полный исходный код)
BOWall это программа, реализующая защиты от атак на переполнение буфера для исполняемых файлов Windows NT 4.0. Защита предоставляется в виде двух методов.
1) Мониторинг уязвимых функций
Производится модификация ряда потенциально уязвимых функций DLL. К числу таких функций относятся strcpy, wstrcpy, strncpy, wstrncpy, strcat, wcscat, strncat, wstrncat, memcpy, memmove, sprintf, swprintf, scanf, wscanf., gets, getws, fgets, fgetws. Модификация заключается в добавлении кода проверки целостности базы кадра локальных переменных. Подробнее.
2) Препятствие исполнения функций динамических библиотек из областей данных и стека
Сущность метода заключается в препятствии работе эксплоита. Последнее реализуется за счет модификации экспортируемых функций основных DLL путем добавления кода проверки адреса вызова данных функций. Если адрес вызова принадлежит области данных или стека происходит блокировка работы программы. Подробнее.
Оба метода реализованы так, что при обнаружении переполнения буфера или деятельности эксплоита выполняется аварийное завершение текущего процесса путем вызова привилегированной инструкции. Данные методы защиты лишь детектируют факт переполнения, но не предотвращают само переполнение.
Скачать