Избранные ссылки по реверс-инжинирингу
Безопасность — это искусство. И если вы хотите этим искусством овладеть, нужно постоянно развиваться. В этой статье вы найдёте подборку материалов, которые будут хороши не только для старта, но и останутся актуальны в течение долгого времени.
1. Reverse engineering:
• «Искусство дизассемблирования», Крис Касперски — это не новая, но до сих пор актуальная книга, где знания прекрасно систематизированы. Однозначно must read; • «Practical RE tips» — прекрасный вебинар на английском. Содержит множество полезных советов и скриптов; • «OPENSECURITYTRAINING.INFO» — это сайт, где можно найти хорошие видеоролики и обучающие лекции по RE; • «Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation» — более новая книга, написанная известными специалистами по информационной безопасности. Её особенность в том, что она покрывает моменты и темы, не раскрытые в книге Криса Касперски; • «Реверсинг для начинающих», Денис Юричев — бесплатная и известная книга, переведённая на множество языков. После каждой главы есть интересные задания для нескольких архитектур сразу; • «Digging Through the Firmware» — серия статей для тех, кто только погружается в тему реверс-инжиниринга прошивок устройств; • «CRYPTO101» — введение в криптографию, без которой вам тоже не обойтись.
2. Поиск уязвимостей:
• «Fuzzing: Brute Force Vulnerability Discovery» — тоже книга и тоже не новая. Но зато отлично подходит для понимания основ фаззинга. Можно найти на русском языке; • «The Evolving Art of Fuzzing» — полезная статья про развитие фаззинга; • «Modern Security Vulnerability Discovery» — компиляция различных техник поиска уязвимостей, собранных в одном месте; • «(State of) The Art of War: Offensive Techniques in Binary Analysis» — этот документ включает в себя все существующие техники поиска уязвимостей; • «The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities» — опять же, не новая, но весьма полезная и актуальная книга про различные подходы к поиску уязвимостей.
3. Примеры эксплуатации уязвимостей:
• «Exploit Writing Tutorials by Corelan Team» — серия постов про написание шеллкодов и эксплоитов, начиная с основ. Некоторые посты есть в переводе; • «Modern Binary Exploitation» — подбор материалов от команды RPISEC с их учебного курса, который они проводили в Rensselaer Polytechnic Institute; • «Web-архив блога компании Vupen» — блог, который канул в лету. Тем не менее, сетевые технологии сохраняют всё или почти всё. В нашем случае нас интересуют примеры эксплуатации сложных уязвимостей в Firefox, IE10, VirualBox, XEN, Windows Kernel, Adobe Flash/Reader; • «Project Zero» — блог, который ведёте исследовательская команда из Google. Здесь частенько встречаются интересные истории по эксплуатации крутых уязвимостей; • «Browser mitigations against memory corruption vulnerabilities» — технологии защиты, которые используются в популярных браузерах: • «SoK: Eternal War in Memory» — в этом документе показана модель атаки и описаны разные механизмы предотвращения эксплуатации на различных стадиях для разных типов уязвимостей, которые связаны с повреждением памяти; • «Writing Exploits for Win32 Systems from Scratch» — пишем эксплоит с нуля для уязвимости в программе SLMAIL; • «Phrack» — знаменитый журнал для хакеров. Есть много полезных материалов; • «The Shellcoder's Handbook: Discovering and Exploiting Security Holes» — опять книга, но на этот раз перед вами легендарное произведение, посвящённое написанию шеллкодов.
4. Анализ вредоносных программ:
• «Practical Malware Analysis» — хорошая книга, а вот её исходники на гитхабе: «Practical Malware Labs»; • «Malware Analysis Tutorials: a Reverse Engineering Approach» — серия статей, посвящённых настройке окружения с последующим анализом вредоносных программ. Есть перевод; • «Course materials for Malware Analysis by RPISEC» — снова курс от RPISEC, но уже про вредоносные программы; • «Компьютерные вирусы и антивирусы. Взгляд программиста» — в книге рассматриваются вредоносные программы, начиная со времён DOS. Но она всё равно будет вам полезна, т. к. кроме анализа кода показываются примеры написания антивирусов под каждый конкретный случай.
За подборку материалов выражается благодарность специалистам из компании Digital Security.