Я прочитал и закончил оба Реверс: секреты обратной инженерии и Взлом: Искусство эксплуатации. Они оба освещали по-своему, но я все еще чувствую, что многие методы и информация, представленные в них, в некоторой степени устарели.
Когда печально известная статья Фрэка, Smashing the Stack for Fun and Profit, была написана в 1996 году, это было незадолго до того, что я рассматриваю Computer Безопасность "золотой век".
Написание эксплойтов в последующие годы было относительно простым. Некоторые базовые знания в C и Assembly были все, что требовалось для выполнения переполнения буфера и выполнения какого-либо произвольного кода оболочки на машине-жертве.
Если говорить легко, все стало намного сложнее. Теперь инженеры по безопасности должны бороться с такими вещами, как рандомизация макета пространства адресов (ASLR), Предотвращение выполнения данных (DEP), Стек Cookies, куки-куки и многое другое. Сложность написания эксплойтов поднялась как минимум на порядок.
Вы не можете запускать большую часть эксплойтов переполнения буфера в учебниках, которые вы найдете сегодня, без компиляции с кучей флагов, чтобы отключить современные защиты.
Теперь, если вы хотите написать эксплоит, вам нужно разработать способы отключения DEP, разбросать кучу с помощью кода оболочки сотни раз и попытаться угадать случайную ячейку памяти возле вашего шеллкода. Не говоря уже о распространенности используемых сегодня языков управления, которые гораздо более безопасны, когда дело доходит до этих уязвимостей.
Я хочу расширить свои знания в области безопасности, помимо написания игрушек-эксплойтов, для десятилетней системы. У меня возникают проблемы с поиском ресурсов, которые помогают решать проблемы написания эксплойтов перед всеми описанными выше защитами.
Каковы более продвинутые и распространенные документы, книги или другие ресурсы, посвященные борьбе с проблемами написания эксплойтов для современных систем?