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

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

Техники вредоносных программ для обхода песочниц


На первых порах подход был достаточно прямолинеен: если ВПО проверяет пользователя с именем test, значит назовем его John; если с помощью ключа реестра SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_VMware_&Prod_VMware_Virtual_S выясняем, а не находимся ли мы в виртуальной среде, значит (если возможно) подменим ключ или возвращаемые результаты, перехватив обращение. В результате многочисленных исследований набиралась некая база знаний методов обхода обнаружения, которая затем использовалась при настройке окружения. Годы шли, вирусописатели (и не только) все чаще стали использовать эти знания в своей работе, что в итоге привело к следующему.

Вопрос «А не исследовательская ли это среда?» был заменен на «Интересно ли окружение?». И интерес не в том, чтобы найти следы какого-нибудь FTP-клиента для последующей кражи данных. Вот если это машина сотрудника бухгалтерии, который использует специфичное ПО, — тогда другое дело. Есть и другие подходы: заразить пользователя легковесным загрузчиком, который соберет всю необходимую информацию о системе, отправит на управляющий сервер и… не получит полезную нагрузку в ответ. Неизвестная серверная логика приняла решение, что данная жертва интереса не представляет.

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

Как мы боремся с ними?


Простыми словами, мы предлагаем изготовить уникальный образ изолированной среды. Цель — воссоздать окружение, максимально похожее на АРМ сотрудника, с заманчивым для злоумышленников доступом: финансовый отдел, билд-сервер для обеспечения непрерывной интеграции при разработке, веб-сервер, машина доменного администратора, в конце концов станция генерального директора.

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

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

Почему нужно эмулировать работу «живого» компьютера?


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

Иногда незначительные действия просто необходимы: пользователь должен открыть какой-нибудь документ и что-нибудь записать или скопировать пароль в буфер обмена для дальнейшего ввода — именно в такие моменты может сработать троян-шпион, который перехватит важные данные и отправит на сервер своего автора.

Как это сделано у нас?


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

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

Для этого мы используем технологию Extended Page Table (EPT) корпорации Intel. Она представляет собой промежуточные страницы памяти, которые располагаются между гостевой физической памятью и хостовой физической памятью. Вкратце, это позволяет делать следующее:

  • изучить отображение страниц памяти гостевой машины;
  • выделить интересные участки (например, содержащие адреса или код ядерных функций);
  • разметить выбранные страницы таким образом, чтобы права доступа к страницам памяти в EPT не совпадали с правами доступа к страницам в гостевой машине;
  • отловить обращение к размеченным участкам памяти (в этот момент случится ошибка доступа (#PF), в результате гостевая машина будет приостановлена);
  • проанализировать состояние, извлечь необходимую информацию о событии;
  • переразметить страницу памяти в правильное состояние;
  • восстановить работу гостевой машины.

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

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

Все индикаторы компрометации (IOC), которые удалось выявить в процессе исследования, проверяются по репутационным спискам. Прежде чем пройти динамический анализ, образец отправляется на статическую обработку: проходит префильтеринг на нескольких антивирусах и сканируется нашим собственным движком с детектирующими правилами от специалистов экспертного центра безопасности (PT Expert Security Center). Мы используем разностороннюю экспертизу, в том числе для выявления аномалий в метаинформации и вложенных артефактах образца.

С какими задачами PT Sandbox справляется максимально хорошо и почему?


PT Sandbox объединяет в себе знания и опыт нескольких команд и продуктов для противодействия таргетированным атакам. Несмотря на то, что продукт можно использовать в режиме противодействия угрозам (prevention), все же в первую очередь это средство мониторинга (detection) безопасности IT-систем. Ключевое отличие от классических решений endpoint-защиты в том, что задача PT Sandbox — обратить внимание на аномалии и зарегистрировать ранее неизвестную угрозу.

Автор: Алексей Вишняков, старший специалист группы исследования угроз Positive Technologies