Создание лаборатории анализа вредоносных программ

Опубликовано: 8 Апреля, 2023

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


Определение объема лабораторной работы


Объем лаборатории анализа вредоносных программ можно определить, изучив процессы, которые будут происходить в ней. На самом деле в лаборатории анализа вредоносного ПО решаются две основные задачи: поведенческий анализ и анализ кода.




  • Поведенческий анализ
    Поведенческий анализ включает выполнение образца вредоносного ПО в контролируемой среде. В этой среде у вас должны быть все инструменты, необходимые для имитации служб, с которыми вредоносное ПО попытается взаимодействовать. Это могут быть такие вещи, как простая приманка, IRC-сервер или веб-сервер. В дополнение к этому у вас должны быть инструменты для мониторинга действий вредоносного ПО при взаимодействии с этими службами. Это означает файловую систему, реестр и программное обеспечение для мониторинга сети.


  • Анализ кода
    Анализ кода включает в себя дизассемблирование и обратное проектирование кода вредоносного ПО. Это можно сделать в статическом состоянии, когда код анализируется без выполнения, или в динамическом состоянии, когда код проверяется по мере его обработки системой.

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


Рекомендации по операционной системе


Вредоносное ПО ведет себя совершенно по-разному в зависимости от операционной системы, в которой оно запущено. Некоторые вредоносные программы могут работать только в операционных системах на базе Windows Server; тогда как другие вредоносные программы могут работать только на определенных версиях ядра Linux. Вредоносное ПО, установленное на хосте Windows Vista, может привести к полному сбою системы, в то время как такое же вредоносное ПО, установленное в системе Windows 7, может присоединиться к каналу управления и контроля ботнета. При анализе вредоносного ПО необходимо иметь доступ к различным операционным системам.


Как минимум, у вас должен быть доступ ко всем основным операционным системам Windows и одному из наиболее популярных современных дистрибутивов Linux, которые будут использоваться в качестве зараженных хостов. Это машины, на которые вы фактически установите инструменты поведенческого анализа и анализа кода, чтобы вредоносное ПО могло быть выполнено и проверено.


В дополнение к зараженным хостам вам потребуется по крайней мере одна машина, настроенная с различными серверами приложений, чтобы зараженные машины могли с ней взаимодействовать. Например, образец вредоносного ПО может попытаться установить связь с другим хостом через IRC, поэтому вам понадобится хост с IRC-сервером, на который вы можете перенаправить зараженный хост, чтобы можно было проверить связь. Для этого я рекомендую Remnux. Remnux — это специализированный дистрибутив на основе Ubuntu, выпущенный Ленни Зельцером для его курса SANS Reverse Engineering Malware. Вы можете прочитать больше о Remnux или загрузить его с веб-сайта Ленни здесь.


Сетевая изоляция


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


Изоляции хостов для анализа вредоносных программ от других компьютеров в сети часто недостаточно. Как правило, вы также должны изолировать их от Интернета. Первая причина этого заключается в том, что некоторые вредоносные программы могут быть скомпилированы таким образом, что при запуске запускают атаку типа «отказ в обслуживании» против другого хоста в Интернете. Последнее, что вам нужно, — это гневный звонок от другой организации, утверждающей, что хост в вашей сети атакует их с помощью шквала пакетов.


Дополнительным аргументом в пользу изоляции лабораторных компьютеров от Интернета является то, что автор вредоносного ПО не узнает о вашем существовании. Вполне вероятно, что вредоносное ПО, которое вы запускаете, настроено на «звонок домой» на сервер управления и контроля, который сообщает автору, что вы его запустили. В этот момент злоумышленник может начать выполнять команды в вашей лабораторной системе, пытаясь отключить ее или помешать вашим попыткам анализа.


Принимая во внимание все эти проблемы, узлы анализа вредоносных программ должны быть полностью изолированы от сети. Это лучше всего достигается путем создания воздушного зазора между лабораторными системами, чтобы они вообще не были подключены к какой-либо сети.


Физические и виртуальные лаборатории


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


Снимки


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


Быстрое развертывание ОС


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


Расширенная сеть


Более распространенные платформы виртуализации, такие как VMWare Workstation или VirtualBox, предоставляют расширенные сетевые возможности, позволяющие создавать сегментированные или изолированные сети с собственными диапазонами адресов и DHCP-серверами. Это позволяет изолировать зараженные хосты с помощью нескольких щелчков мыши.


Стандартизированное оборудование


Хотя это преимущество обычно упускается из виду, стандартизированное оборудование имеет определенную ценность при анализе вредоносных программ. Это гарантирует, что ваши результаты будут воспроизводимыми и последовательными.


По мере того, как авторы вредоносного ПО становятся умнее, они начинают создавать подпрограммы для определения того, работают ли их двоичные файлы в виртуальной среде. После обнаружения вредоносное ПО может изменить свою работу или вообще не работать. Тем не менее, есть несколько вещей, которые вы можете сделать, чтобы заставить вредоносные программы думать, что они работают на физическом хосте, а не на виртуальной машине. Подробнее о некоторых из этих техник можно прочитать здесь.


Базовая архитектура


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


Изображение 23294
Рисунок 1: Пример архитектуры


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


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


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


Вывод


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