Показать сообщение отдельно
Старый 16.07.2013, 12:42   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Переполнение буфера - модификация стека

Продолжая тему, порекомендую [1] разделы A.1 и C.1 (приложения). Кроме того, и в основном тексте книги упоминается (и доказывается на практике), что эксплуатировать дыры в безопасности ОС, можно приёмами 20-летней давности. Главная проблема (после говнокода) – политика отсутствия поддержки механизма DEP (защиты от выполнения данных) по умолчанию (режим OptIn). Подключить DEP можно несколькими путями.
Проверять наличие защиты (до кучи ещё и наличие защиты ASLR) автор [1] рекомендует при помощи утилиты Sysinternals Process Explorer или BinScope Binary Analyzer.
Виндовый DEP может быть реализован аппаратно на совместимых процессорах при помощи NX-бита. (Проблема переполнения буфера на стеке существует и для Linux – там так же есть поддержка NX-бита и его программная эмуляция посредством ExecShield и PaX [вот такой наш pax крутой!] для старых камней).
См. ещё (защита от срыва стека):
SecurityCookies
Stack-Smashing Protection (SSP)
Stack Canaries
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием