Статический и динамический анализ образца
Анализ вредоносного ПО и реверс-инжиниринг (оборонительная практика)Что можно узнать из файла без запуска и как наблюдать поведение в контролируемой среде.
Зачем это нужно
- Статический анализ даёт первые ответы быстро и без риска исполнения.
- Динамический анализ показывает реальное поведение, включая обращения к сети и файлам.
- Комбинация методов даёт достоверную картину вместо догадок.
Теория
Статический анализ: тип файла и архитектура, строки и константы, импортируемые функции и библиотеки, подписи и сертификаты, секции и их энтропия, упаковщики, встроенные ресурсы, встроенные адреса, домены и ключи шифрования, метаданные. Инструменты: разбор заголовков, дизассемблеры, средства извлечения строк, средства определения упаковщиков, платформенные утилиты для форматов исполняемых файлов, языки для описания скриптов. Индикатор упаковки или высокой энтропии означает, что для понимания логики потребуется распаковка или динамический анализ.
Динамический анализ: запуск в изолированной среде с наблюдением за процессами, файлами, реестром, сетевыми соединениями, загрузкой модулей, изменениями конфигурации и созданием задач. Ключевые вопросы: что создаётся и где, куда обращается образец, какие данные передаёт, как сохраняется после перезапуска, какие учётные данные пытается читать. Наблюдение ведут одновременно несколькими средствами: монитор процессов, монитор файловой системы и реестра, перехват трафика, журналы операционной системы.
Отдельно: обнаружение анализа. Образцы могут вести себя иначе в среде с отладкой, виртуальными признаками или отсутствием ожидаемых сервисов. Это не повод усложнять стенд до бесконечности, а повод фиксировать условия эксперимента и учитывать их при выводах. Хорошая практика — повторять наблюдение, менять порядок действий и описывать, какие условия влияют на поведение.
Ключевые концепции
- Энтропия секции
- Показатель «случайности» содержимого: высокая энтропия часто указывает на сжатие или шифрование.
- Таблица импортов
- Список функций, которые образец заимствует у системы: подсказывает возможности.
- Упаковщик
- Механизм сжатия или защиты исполняемого файла: усложняет статический анализ.
- Наблюдение за поведением
- Фиксация действий образца: процессы, файлы, реестр, сеть, автозапуск.
- Точки закрепления на практике
- Места сохранения после перезапуска: службы, задания, автозагрузка, подписки.
- Условия эксперимента
- Описание среды и настроек, при которых получены результаты: обязательная часть отчёта.
Инструменты
- Adobe/PE-инструменты и средства разбора форматов исполняемых файлов.
- Дизассемблеры и декомпиляторы: Ghidra, ради и аналоги.
- Средства извлечения строк и поиска индикаторов.
- Мониторы процессов, файлов и реестра (Procmon и аналоги).
- Перехват трафика и наблюдение DNS в изолированном стенде.
Практика в легальных лабораториях
- Проведите статический анализ учебного образца: тип, секции, импорты, строки, сертификаты.
- Составьте список подозрительных строк и объясните, что они могут означать.
- Запустите учебный образец в изоляции и зафиксируйте поведение: процессы, файлы, реестр, сеть.
- Сравните результаты статического и динамического анализа: где они дополняют друг друга.
- Оформите таблицу: действие → артефакт → инструмент, которым это видно.
Защита, детект и защитные меры
- Знание поведения образцов превращается в правила обнаружения: процессы, пути, обращения, изменения.
- Фиксируйте артефакты, которые можно искать на других системах после инцидента.
- Учитывайте обнаружение анализа: если образец ведёт себя иначе, это тоже важный вывод.
- Комбинируйте статический и динамический анализ: по отдельности они дают неполную картину.
Правовая рамка и этика
- Запуск образца допускается только в изолированном стенде и только для учебных или служебных образцов, полученных легально.
- Не распространяйте образцы и не публикуйте сведения, которые помогают их доработать или применить.
Типичные ошибки
- Делать выводы по одному инструменту.
- Запускать образец без наблюдения и фиксации результатов.
- Игнорировать условия эксперимента и переносить выводы на другие среды.
- Публиковать работающие образцы и пошаговые операционные описания.
Чек-лист «умею»
- Умею быстро охарактеризовать файл статически.
- Настраиваю наблюдение за поведением и собираю артефакты.
- Сравниваю статические и динамические выводы.
- Фиксирую условия эксперимента в отчёте.
- Извлекаю из наблюдений артефакты для поиска на других системах.
Вопросы на интервью
- Как вы начнёте анализ неизвестного файла?
- Какие артефакты вы соберёте при динамическом наблюдении?
- Что делать, если образец не проявляет активности в вашей среде?