Создаём среду для анализа вредоносных программ. Часть 1
Статья переведена отсюда и будет полезна всем, кто интересуется реверс-инжинирингом в контексте информационной безопасности и анализа вредоносного ПО.
Требования к компьютеру
Процессор с поддержкой 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 проблем не возникнет).
Также стоит помнить о том, что ВМ будет использоваться для запуска и анализа вредоносной программы, поэтому игнорировать старые операционные системы по причине их “небезопасности против хакеров/вредоносного ПО” контрпродуктивно, ведь вы пытаетесь заразить систему вредоносным ПО.
В следующей части нашей статьи поговорим о подробных настройках ВМ и среды. Следите за новостями и оставляйте комментарии!