суббота, 1 октября 2016 г.

Отзыв о книге Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software

В недавнем времени столкнулся с необходимостью проанализировать некоторые виды malware, оно же вредоносное ПО, и тут задался вопросом о подборе материалов и литературы на соответствующую тему.  Одной из лучших книг на эту тему,  исходя из рекомендаций на профильных форумах, оказалась книжка Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software. Не смотря на то, что  книга 2012 года издания ее русскоязычного перевода до сих пор нет. Может оно и к лучшему, все таки оригинал есть оригинал. 

В сегодняшнем отзыве хочу поделиться своими общими впечатлениями о книге, и предложить еще несколько советов, тем, кто так же сталкиваеся с подобными задачами


Книгу можно купить уже не только в западных магазинах, но и, к примеру, на отечественном Ozon.ru

Вот краткое описание самого издательства.

Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software

Malware analysis is big business, and attacks can cost a company dearly. When malware breaches your defenses, you need to act quickly to cure current infections and prevent future ones from occurring. For those who want to stay ahead of the latest malware, Practical Malware Analysis will teach you the tools and techniques used by professional analysts. With this book as your guide, you'll be able to safely analyze, debug, and disassemble any malicious software that comes your way.

You'll learn how to:
  • Set up a safe virtual environment to analyze malware
  • Quickly extract network signatures and host-based indicators
  • Use key analysis tools like IDA Pro, OllyDbg, and WinDbg
  • Overcome malware tricks like obfuscation, anti-disassembly, anti-debugging, and anti-virtual machine techniques
  • Use your newfound knowledge of Windows internals for malware analysis
  • Develop a methodology for unpacking malware and get practical experience with five of the most popular packers
  • Analyze special cases of malware with shellcode, C++, and 64-bit code
By Michael Sikorski, Andrew Honig
Year 2012
Publisher No Starch Press
ISBN978-1593272906

Изначально стоит сказать, что специализированные книги по анализу вредоносного ПО, реверсингу, отладке и т.д. большая редкость. А тем более книги, которые довольно подробно и с азов объясняют все этапы исследования. Конечно помимо Practical Malware Analysis есть и другие не менее достойные издания на рассматриваемую тему. Однако, именно Practical Malware Analysis сочетает в себе некое подобие учебного пособия, где подробно описываться рабочие инструменты и используемые техники реверсинга, а так же в конце главы приводятся список лабораторных работ к описанному выше материалу. С каждой новой главой читатель узнает больше материала, а так же выполняет все более усложняющиеся  домашние задания.

Доставшийся мне книга была без CD с лабами, но, как заверяет описание к книге, их можно  на официальном сайте книги. Семплы малвари для анализа запакованы в архив, так, что при скачивании антивирус, уставленный на ваш компьютер, опознает файл как вредоносное ПО, что вообщем то логично. Помимо этих Labs, доступна для скачивания авторская программа FakeNet, симулятор сетевой среды, который имитирует взаимодействие с центром управления (С&C) и его доступность. В программе реализована поддержка основных протоколов DNS, HTTP, и SSL. Вообщем, всем фанам этого дела будем чем себя развлечь.

Сама книга состоит из 6 частей и 21 главы.

Chapter 0: Malware Analysis Primer
Part 1: Basic Analysis
Chapter 1: Basic Static Techniques
Chapter 2: Malware Analysis in Virtual Machines
Chapter 3: Basic Dynamic Analysis

Part 2: Advanced Static Analysis
Chapter 4: A Crash Course in x86 Disassembly
Chapter 5: IDA Pro
Chapter 6: Recognizing C Code Constructs in Assembly
Chapter 7: Analyzing Malicious Windows Programs

Part 3: Advanced Dynamic Analysis
Chapter 8: Debugging
Chapter 9: OllyDbg
Chapter 10: Kernel Debugging with WinDbg

Part 4: Malware Functionality
Chapter 11: Malware Behavior
Chapter 12: Covert Malware Launching
Chapter 13: Data Encoding
Chapter 14: Malware-Focused Network Signatures

Part 5: Anti-Reverse-Engineering
Chapter 15: Anti-Disassembly
Chapter 16: Anti-Debugging
Chapter 17: Anti-Virtual Machine Techniques
Chapter 18: Packers and Unpacking

Part 6: Special Topics
Chapter 19: Shellcode Analysis
Chapter 20: C++ Analysis
Chapter 21: 64-Bit Malware

Appendix A: Important Windows Functions
Appendix B: Tools for Malware Analysis
Appendix C: Solutions to Labs

Часть 1 посвящена базовому анализу, и скорее вводит читателя я вскурс дела объясняя основные моменты с которыми потом придется работа. Подробно рассказывается о развертывании виртуального стенда и подготовки рабочего места для реверсинга.

Часть 2 является логическим продолжением предыдущего раздела. Авторы повествуют об архитектуре x86 процессоров, а после  чего  уже происходит обзор возможностей широко используемого дизассемблера IDA Pro, а так же  базовых методик его использования  Рассказывается и об использовании нативного интерфейса WinAPI с точки зрения наиболее часто встречаемого функционала в современных вредоносных программах.

Часть 3 Представляет собой переход статического  к динамическому анализу. Речь идет об  отладке и используемых отладчиков. Ключевой отладчик о котором идет повествование это OllyDbg, раскрываются методики его использования. В заключении речь заходит об отладки на уровне ядра при помощи специализированного отладчика WinDbg. Используя этот софт, рассматривается типичные примеры анализа руткит функционала популярных malware. 

Часть 4, где авторы проводят классификацию вредоносных программ. Рассматриваются методы сокрытия в системе (руткит-технологии), различные типы перехвата системных функций и варианты повышения привилегий без эксплуатации уязвимостей. 

Часть 5 данной книги целиком посвящена техникам анти-отладки (методы противодействия анализу вредоносных программ).  В заключении главы идет обсуждение принципов работы упаковщиков/протекторов, а так же в практические методы  их распаковки.

Часть 6 книги  является заключительной, в которой авторы авторы рассматривают специализированные темы, такие как отладка шелл-кода и анализ эксплойтов. анализ Так же речь заходит о специфики анализа 64-битных приложений.

В самом конце книги есть решения лабораторных работ, которые позволят проверить результаты практических занятий и или помогут решить какой-нибудь практический вопрос.

Заключение

В целом книга показалась довольно занятной. Что очень важно с практической направленностью и возможностью выполнять некоторые практические задания я по ходу чтения книги.

P.S.  Доплнительыне материалы

Тем кто активно интересуется рассматриваемой тематикой так же будут интересны и дополнительные материалы
 
На тему рверсинга  в целом, можно почитать 

Лаборатория ExeLab (бывший CrackLab)


и перевод на форуме reverse4you

А тут семплы самих  бинарных кодов malware для изучения

KernelMode (Focuses on Win32 and novel rootkit techniques)
DamageLab.org (People occasionally will post their unpacked executables here, which differ from ‘in the wild’ executables they are seeking to drop on victim’s computers, but interesting none the less, many many rips of more well known techniques and software ranging from TDL to Zeus can be found at sites like this)
Malware URLs. This is a list I maintain myself and is updated daily. Here you will find many live malware samples. Be careful and don’t open the URLs in a browser
Open Malware. This is the new site for the old Offensive Computing.
VirusShare.com, which has about 5.6 million samples. You will need to request access, but explain your research intention.

Комментариев нет:

Отправить комментарий

Вы можете добавить свой комментарий...

Примечание. Отправлять комментарии могут только участники этого блога.