Создаём среду для анализа вредоносных программ. Часть 1 | OTUS

Курсы

Программирование
Microservice Architecture
-5%
React.js Developer
-4%
C++ Developer. Professional
-5%
Scala-разработчик
-8%
Backend-разработчик на PHP
-9%
Алгоритмы и структуры данных
-9%
Python Developer. Basic
-12%
Golang Developer. Professional
-5%
HTML/CSS
-11%
C# ASP.NET Core разработчик
-5%
Kotlin Backend Developer
-8%
iOS Developer. Professional
-8%
Java Developer. Professional Web-разработчик на Python MS SQL Server Developer Android Developer. Basic Разработчик программных роботов (RPA) на базе UiPath и PIX Highload Architect Reverse-Engineering. Professional Vue.js разработчик Node.js Developer Интенсив «Оптимизация в Java» Супер-практикум по использованию и настройке GIT Symfony Framework Java Developer. Basic Unity Game Developer. Professional Супер-интенсив Azure
Инфраструктура
Microservice Architecture
-5%
Экспресс-курс «IaC Ansible»
-10%
Administrator Linux.Basic
-10%
Мониторинг и логирование: Zabbix, Prometheus, ELK
-10%
Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes»
-30%
Administrator Linux. Professional
-6%
Экcпресс-курс «ELK»
-10%
Экспресс-курс по управлению миграциями (DBVC)
-10%
Базы данных Network engineer Разработчик программных роботов (RPA) на базе UiPath и PIX Highload Architect Разработчик голосовых ассистентов и чат-ботов VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив "Tarantool"
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Создаём среду для анализа вредоносных программ. Часть 1

Reverse_Deep_7.2_site-5020-e64e7f.png

Статья переведена отсюда и будет полезна всем, кто интересуется реверс-инжинирингом в контексте информационной безопасности и анализа вредоносного ПО.

Требования к компьютеру

Процессор с поддержкой AMD-V или Intel VT-x (практически любой современный процессор). 4 Гб ОЗУ (чем больше, тем лучше). Перед началом работы убедитесь, что виртуализация (AMD-V или Intel VT-x) включена в BIOS. Для этого погуглите “включить визуализацию”, дописав версию биос или материнской платы, а затем выполните найденную инструкцию.

Выбор гипервизора

Гипервизор — программное обеспечение, которое позволяет создавать виртуальный компьютер (также называемый Виртуальная Машина или сокращенно ВМ), изолированный от настоящего. Мы воспользуемся гипервизором для создания отдельной системы Windows и заражения её вредоносным ПО без вреда для нас самих и наших данных.

Я лично использую 5 разных гипервизоров, так как все они немного отличаются и подходят для разных задач. Расскажу, для чего использую каждый из них и почему.

VMware Workstation Pro — очень высокая производительность и, пожалуй, лучший гипервизор для запуска Windows. В нём есть множество дополнительных фичей, которые делают его полезным для сложных виртуальных сетей. VMware Workstation Player — урезанная и облегчённая версия Pro, отлично подходит для простых ВМ-настроек. Но отсутствие поддержки снапшотов делают его неподходящим для анализа уязвимостей. У меня он установлен на ноутбуке для проверки на ходу.

KVM — работает на Linux, есть классный плагин, позволяющий запускать больше ВМ, чем позволяет ОЗУ, при помощи дедупликации. KVM отлично подходит тем, что не позволяет вредоносной программе обнаружить, что она запущена в ВМ, так как большинство из них зависит от наличия особых артефактов VMWare или VirtualBox, а прочие гипервизоры не пытается обнаружить.

ESXi — это не гипервизор, который вы устанавливаете на операционную систему. Это гипервизор, который сам является операционной системой. Такой подход позволяет уменьшить оверхед, так как нет необходимости в каком-либо коде, кроме требуемого для запуска гипервизора.

VirtualBox — позволяет подделывать оборудование, на котором запущена ваша ВМ, тем самым не позволяя вредоносной программе догадаться, что она запущена в виртуальной машине, проверяя виртуальное/физическое оборудование или версию прошивки. Он бесплатный, простой в настройке и обладает большинством функционала, который есть в платных гипервизорах.

Новичкам я бы посоветовал использовать VirtualBox, так как он бесплатный, поддерживает большинство операционных систем, есть инструмент снапшота, что позволяет откатывать ВМ до сохранённой точки. Именно по этой причине в этом посте я использую VirtualBox.

Выбор гостевой ОС

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

Ваши навыки

Если вы планируете заняться реверс-инжинирингом вредоносного ПО, но понимаете только ассемблер x86 (или изучаете ассемблер), то есть смысл запустить установку x86 Windows. Большинство вредоносных программ работает на WoW64 (способ Windows запускать 32-битные бинарные файлы в 64-битных системах), поэтому скорее всего придётся заниматься реверс-инжинирингом 32-битного кода вне зависимости от того, какая архитектура используется.

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

Ваше оборудование

Процессор x86_64 может запускать 32- и 64-битные ВМ, но x86 процессор может запускать только 32-битные. Поэтому, если у вас именно такой, стоит выбрать 32-битную операционную систему. Старые процессоры (особенно x86) могут не поддерживать функционал, требующийся для установки новых версий Windows, поэтому выбирайте версию не позже Windows 8.

Если у вашей машины недостаточно оперативной памяти, лучше ограничиться запуском виртуальной машины с Windows XP, так как ей нужно не более 256 МБ (убедитесь, что используете Service Pack 3 — это добавит некоторые системные фичи, на которые опирается большинство вредоносных ПО). Виртуальной машине с Windows 7 понадобится 1 Гб оперативной памяти, но можно обойтись и 768 Мб (512 Мб для Home Edition).

Ваш опыт

Большая часть вредоносных программ будет работать на всех системах Windows, начиная с XP Service Pack 3 и заканчивая Windows 10. Поэтому, если вы понимаете, что лучше разбираетесь с XP, смело используете именно её. Windows 10 очень ресурсоёмкая и может поддерживаться не всеми вредоносными программами, поэтому для повседневного анализа рекомендую использовать десятку только в случае крайней осознанной необходимости. Windows 10 также ужасно шумная с точки зрения фоновых сервисов, подключённых к интернету, что забьёт ваш перехватчик пакетов бессмысленными, ненужными данными.

Ваша вредоносная программа

64-битные операционные системы используют DSE (Driver Signature Enforcement), который не позволяет выполнять загрузку драйверов ядра, не прошедших сертификацию. Если вы анализируете вредоносное ПО, устанавливающее драйвер ядра, то стоит выбрать 32-битную систему, так как на ней не возникнет проблем с установкой несертифицированных драйверов.

Чем пользуюсь я?

Я — счастливый обладатель мощного стоечного сервера в моём подвале (любезно предоставленный моим работодателем), поэтому у меня есть ВМ каждой ОС, начиная с XP и заканчивая 10 в обеих версиях: 32- и 64-битной. Но раньше я отдавал предпочтение Windows 7 Ultimate Edition (32-битной) для работы с обычными вредоносными ПО (я использую Ultimate для функции удалённого рабочего стола, но, если вас устраивает VNC, то с Home Edition проблем не возникнет).

Также стоит помнить о том, что ВМ будет использоваться для запуска и анализа вредоносной программы, поэтому игнорировать старые операционные системы по причине их “небезопасности против хакеров/вредоносного ПО” контрпродуктивно, ведь вы пытаетесь заразить систему вредоносным ПО.

В следующей части нашей статьи поговорим о подробных настройках ВМ и среды. Следите за новостями и оставляйте комментарии!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться