Лекция: Классификация атак переполнения буфера

Цель переполнения Внедрение кода Внедрение параметров Внедрение кода не требуется
Искажение адреса возврата из функции Атака «срыв стека» Атака «срыв стека» с параметризацией Атака «срыв стека» с передачей управления
Искажение указателей функций Атака на указатели функций Атака на указатели функций с параметризацией Атака на указатели функций с передачей управления
Искажение таблиц переходов Атака на таблицы переходов Атака на таблицы переходов с параметризацией Атака на таблицы переходов с передачей управления
Искажение указателей данных Атака с искажением указателей данных Атака с искажением указателей данных с параметризацией Атака с искажением указателей данных с оригинальным кодом

 

При построении атаки переполнения буфера возникают следующие трудности:

1) строковые переполняющиеся буферы не позволяют внедрять символы «0», которые очень часто используются при формировании машинного кода;

2) размер переполняющихся буферов обычно очень мал;

3) абсолютный адрес буфера обычно не известен, поэтому приходится оперировать относительными адресами;

4) базовые адреса системных функций изменяются от одной версии операционной системы к другой (в ОС Windows Vista / Seven базовый адрес системной библиотеки всегда разный);

5) адреса уязвимых мест программ часто не постоянны;

6) требуются глубокие знания спецификаций процессоров, особенностей функционирования ОС, компиляторов различных производителей.

 

еще рефераты
Еще работы по информатике