Статический анализ
Строки и заголовки
«Статический анализ» — бесплатный урок Ethical Hacking Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ethical Hacking Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ethical Hacking Academy содержит 4 уроков всего.
Что такое статический анализ
Статический анализ исследует образец вредоносного ПО без его запуска. Вы изучаете содержимое, структуру и метаданные файла, чтобы понять, что он может делать.
Это безопаснее запуска неизвестного кода и обычно является первым этапом любого расследования вредоносного ПО.
Работайте безопасно
Даже статический анализ следует проводить в изолированной среде: на выделенной виртуальной машине без конфиденциальных данных, по возможности с отключённой сетью.
Никогда не анализируйте вредоносное ПО на основной машине. Случайный запуск или вредоносный архив могут вывести её из-под контроля.
Вычисление хеша образца
Сначала вычислите хеш файла (MD5, SHA-1, SHA-256). Хеш — это цифровой отпечаток, который используют для идентификации образца и поиска информации о нём в базах данных анализа угроз.
Если отправить в VirusTotal только хеш, сам образец загружать не потребуется.
sha256sum sample.exeИзвлечение строк
Команда strings извлекает из двоичного файла печатный текст. Она может обнаружить URL, IP-адреса, пути к файлам, ключи реестра и сообщения об ошибках.
Эти артефакты дают представление о возможностях вредоносного ПО и его инфраструктуре управления и контроля.
strings -n 8 sample.exe | lessОпределение типа файла
Не доверяйте расширению файла. Используйте file и изучите магические байты, чтобы подтвердить настоящий формат.
Исполняемый файл Windows начинается с MZ (формат PE), а двоичный файл Linux в формате ELF — с 0x7F ELF. Знание типа определяет дальнейший анализ.
file sample.exe
# sample.exe: PE32 executable (GUI) Intel 80386Заголовки PE
Исполняемые файлы Windows используют формат Portable Executable (PE). Заголовки описывают разделы, точку входа и временные метки.
Такие инструменты, как PEview, pefile или PE-bear, разбирают эту структуру за Вас.
import pefile
pe = pefile.PE('sample.exe')
print(pe.FILE_HEADER.TimeDateStamp)Импорты и IAT
Таблица адресов импорта (IAT) перечисляет функции API, которые программа вызывает из других DLL. Это один из самых богатых источников сведений о поведении программы.
Такие импорты, как InternetOpenUrl, CreateProcess или RegSetValue, указывают на работу с сетью, выполнение и закрепление в системе.
Разделы и энтропия
Файлы PE разделены на разделы, такие как .text (код), .data и .rsrc (ресурсы).
Высокая энтропия раздела часто указывает на упаковку или шифрование и говорит о том, что настоящий код скрыт до момента выполнения.
Мало строк — мало импортов?
Если в образце очень мало читаемых строк и почти нет импортов, вероятно, он упакован. Упакованное вредоносное ПО распаковывает себя в памяти во время выполнения.
Это означает, что одного статического анализа будет недостаточно; позже понадобятся динамический анализ и распаковка.
Правила YARA
Правила YARA описывают шаблоны строк или байтов для классификации и обнаружения семейств вредоносного ПО. Проверка образца по набору правил позволяет быстро выявлять известные угрозы.
Аналитики также пишут собственные правила на основе артефактов, найденных при статическом анализе.
yara malware_rules.yar sample.exeДокументирование результатов
На протяжении статического анализа записывайте каждый артефакт: хеши, подозрительные строки, импорты и аномалии разделов. Они становятся индикаторами компрометации (IOCs) и помогают определить следующие шаги.
Хорошие заметки также позволяют сопоставить образец с известными семействами и не повторять работу при последующем возвращении к нему.
Быстрая проверка
Вспомните, на что обычно указывает высокая энтропия раздела.
Итоги
Теперь Вы понимаете, как проводить статический анализ вредоносного ПО:
- Исследуйте образец без его запуска в изолированной виртуальной машине.
- Вычисляйте хеши, извлекайте строки и подтверждайте тип файла.
- Разбирайте заголовки PE, импорты (IAT) и разделы; высокая энтропия указывает на упаковку.
- Используйте YARA для классификации известных семейств.
Далее Вы увидите поведение вредоносного ПО с помощью динамического анализа.
Часто задаваемые вопросы
Урок «Статический анализ» бесплатный?
Да — полный текст урока «Статический анализ» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ethical Hacking Academy, подпишись на CoddyKit PRO. Курс Ethical Hacking Academy содержит 4 уроков всего.
Чему я научусь в уроке «Статический анализ»?
Строки и заголовки Ты практикуешь Ethical Hacking Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ethical Hacking Academy?
Предыдущий опыт не требуется. Ethical Hacking Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Статический анализ»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ethical Hacking Academy?
Да. Каждый урок Ethical Hacking Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Статический анализ
- Динамический анализ
- Основы дизассемблирования
- Распаковка