Я прочитал об атаке переполнения буфера и хотел узнать, может ли его изменить, если сменить процессор, чтобы он отказался выполнять инструкцию, которая не находится в области кода? thanksКак преодолеть атаки переполнения буфера?
0
A
ответ
1
Обычно это делается путем установки бит без выполнения на странице памяти или сегменте (например, стек) в современных процессорах. Это помогает избежать некоторых переполнений на основе стека, но не является 100% -ным доказательством безвредности.
+2
Примечательно, что это предотвращает выполнение кода, вставляемого в стек. Например, поскольку переполнение буфера может переписать указатель возврата, система по-прежнему уязвима для [возврата в libc-атаку] (http://en.wikipedia.org/wiki/Return-to-libc_attack). –
Смежные вопросы
- 1. Обычные атаки переполнения буфера
- 2. Как «чисто» завершить программу после атаки переполнения буфера
- 3. Понимание причин переполнения стека атаки
- 4. Почему ROP-атаки происходят, несмотря на обнаружение переполнения буфера?
- 5. Изменение адреса возврата с помощью атаки переполнения буфера
- 6. Атаки переполнения кучи
- 7. Ошибка переполнения переполнения буфера
- 8. Длина буфера переполнения буфера
- 9. Переполнение буфера атаки
- 10. Как использовать эксплойт переполнения буфера
- 11. Поиск переполнения буфера стека
- 12. Взлом: как выполнить атаку переполнения буфера?
- 13. Использование переполнения буфера
- 14. Проблема переполнения буфера
- 15. Простой запуск переполнения буфера
- 16. C - Детали переполнения буфера
- 17. Реализация переполнения буфера
- 18. Проверка переполнения буфера
- 19. Пример использования переполнения буфера
- 20. буфера помощь переполнения
- 21. Exploit переполнения буфера
- 22. Исключение переполнения кучи/буфера
- 23. переполнения буфера - Изменения переменных
- 24. переполнения буфера не произошло
- 25. Проверка переполнения буфера ввода
- 26. Разбор символов переполнения буфера
- 27. C# создания переполнения буфера
- 28. Массив переполнения буфера
- 29. Последствия этого переполнения буфера?
- 30. Вызов функции после переполнения буфера
Nah. Просто попробуй проверить свои массивы. 'snprintf()', 'fgets()' и т. д., а 'sizeof' - ваши друзья. –
@userXXX, если вы ** действительно ** не позволяете чему-либо идти дольше, чем предполагалось, то вы в значительной степени отсортированы, даже без написания трюка для записи XOR (что все разумные ОС делают ** в любом случае ** OS X и Linux, но, конечно, не Windows ...) –