Rambler's Top100
 
 
Статьи ИКС № 3 2021
Михаил КОНДРАШИН  30 июня 2021

Игры в песочнице: как антивирусы обезвреживают неизвестные угрозы

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

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

Почему снизилась эффективность сигнатурного анализа

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

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

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

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

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

Песочницы на базе политик

В этом случае для защиты основной системы от проверяемого процесса в среде Microsoft Windows может использоваться, например, Software Restriction Policy – встроенный механизм для формирования политик запуска программ. С его помощью можно управлять разрешениями на запись или изменение объектов файловой системы и реестра, создавая соответствующие правила. 

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

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

Песочницы на базе частичной виртуализации

Это более сложный в реализации и затратный по системным ресурсам вариант. Тут для проверяемого процесса создаются копии объектов файловой системы и реестра на компьютере пользователя. Если вредонос попытается записать что-либо в файловую систему или в реестр, то для основной системы ничего не изменится – модификации подвергнется лишь дубликат внутри песочницы, реальные данные не пострадают. Дополнительным слоем защиты остается контроль прав процесса. Он блокирует атаки изнутри песочницы через интерфейсы операционной системы.

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

Песочницы на базе полной виртуализации

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

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

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

Сетевые песочницы

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

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

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

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

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

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

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

Взгляд в будущее

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

Помимо этого, мы прогнозируем расширение перечня поддерживаемых операционных систем в качестве сред анализа объектов и развитие функциональности для встраивания песочниц в экосистемы заказчиков с минимальными изменениями ИТ-инфраструктуры.

Михаил Кондрашин, технический директор в России и СНГ, Trend Micro
Поделиться:
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!