В статье расскажем о техниках обхода песочниц злоумышленниками и методах анализа, которые позволяют решению выявлять даже самую продуманную маскировку.
В текущих условиях базовых средств защиты организации, таких как антивирусы, системы обнаружения вторжений, антиспам-решения, межсетевые экраны и другие, уже явно недостаточно для надежной ИБ-защиты организации. Компании борются с современными угрозами, сложность которых растет с каждым днем: неизвестные вредоносные программы, новые вирусы и программы-вымогатели, эксплойты нулевого дня. Для защиты от подобных угроз разработан класс решений под названием Sandbox («Песочница»). Это виртуальная среда, в которую попадает файл – после запуска производится анализ его поведения и выдается вердикт, вредоносный он или нет.
Но современные киберпреступники делают все, чтобы не попасть в подобную ловушку и не дать вредоносному ПО (ВПО) обнаружить себя. В этой статье мы расскажем о техниках обхода песочниц злоумышленниками и методах анализа, которые позволяют решению выявлять даже самую продуманную маскировку.
Песочница должна стоять «в разрыв» трафика – так она сможет эффективно блокировать угрозы. В противном случае это продвинутое решение будет выполнять функцию обычного обнаружения (когда в систему отправляются копии файлов), а в это время угроза достигнет цели. Поэтому для почтового и веб-трафика песочницу требуется устанавливать «в разрыв». При этом веб-трафик необходимо проверять весь, включая SSL.
Современная песочница структурирует значительный объём данных динамического анализа, передавая их на дальнейшую оценку специалисту или по стандартным протоколам обмена в другие ИБ-системы компании. Все это требует высокой скорости проверки файлов и надежности решения. Обычно функции проверки в песочнице у вендоров реализованы по-разному, но включают перечисленные ниже типы анализа.
1. Сигнатурный анализ. Проверка файла по характеристикам, таким как хэш. Здесь большое значение имеет наличие объемной базы актуальных вредоносных сигнатур. Данный этап важен, чтобы заблокировать известные угрозы, при этом сэкономив ресурсы и время на обнаружение.
2. Статический анализ. Набор действий и техник для анализа характеристик без запуска самого файла. Это глубокое исследование самого файла, включая выявление атрибутов, вредоносных паттернов, артефактов, изучение потенциально опасного содержимого. На основе этого исследования выдается вердикт (часто с использованием моделей машинного обучения). При этом статический анализ занимает доли секунды, что значительно экономит ресурсы.
3. Динамический анализ. Изучаются действия файлов, когда они активны. Для этого отслеживаются изменения в файловой системе, реестре, системных вызовах, а также процессы создания, удаления и модификации файлов и другие признаки нелегитимной активности.
4. Анализ сетевого трафика. Изучается сетевой трафик, автоматически выявляется и предотвращается скачивание каких-либо нелегитимных дополнительных объектов. А также блокируется распространение вредоносом своей копии по сети, загрузки на другие ресурсы.
5. Поведенческий анализ. Категория техник, комбинирующих статический и динамический анализ для автоматического выделения паттернов вредоносного поведения. Алгоритмы могут находить закономерности в больших наборах данных.
С развитием технологий класса песочниц развиваются и техники их обхода, которые призваны скрыть вредоносную активность, когда файл находится в эмуляции. Ниже разберем самые популярные техники обхода.
1. Проверка файлов. Виртуальное окружение включает в себя специальные файлы и директории, которые идентифицируют наличие потенциально вредоносных элементов. Например, в VMware в папке драйверов добавляется файл «c:\windows\system32\drivers\vmxnet.sys». Также есть простая проверка на наличие в корне диска определенных файлов, которые добавляет гипервизор.
2. Проверка регистра. Виртуальная среда включает определенные ключи и значения, которых обычно не бывает на реальном компьютере. Так вредонос может искать вложенные ключи и проверять, содержит ли имя какую-либо фразу, связанную с виртуализацией. Например, в пути «HKLM\SYSTEM\ControlSet001\Services\» осуществляется поиск с наличием «vm», который есть в окружении VMware.
3. Проверка окружения операционной системы. Виртуальные машины могут присваивать определенные имена пользователям и компьютерам. Часто это могут быть: sandbox, malware, test, vmware, currentuser. Виртуальную машину от ОС хоста также отличают: минимальный размер оперативной памяти, размер жесткого диска, расширение экрана, количество CPU, время работы с момента запуска и так далее. Также песочницы собирают статистику во время эмуляции, что может зафиксировать вредонос.
4. Дополнительные объекты ОС, которые добавляются в виртуальной среде. Например, виртуальные устройства в VirtualBox добавляются как «\\.\VBoxMouse» и «\\.\VBoxGuest».
Также проверяется количество открытых фоновых окон, количество которых на виртуальной машине обычно невелико.
5. Проверка привилегированного доступа к критическим процессам ОС. Вредонос пытается получить полный доступ к таким процессам, как smss.exe и lsass.exe и завершить их. На реальной рабочей станции сделать этого нельзя, даже с административным доступом, а вот в виртуальной – возможно. Это перезагружает виртуальную среду, вызывая BSOD или «синий экран». Тем самым вредонос обнаружит виртуализацию и не проявляется.
6. Проверка сетевых параметров. Предполагает проверку значений MAC-адресов (принадлежность к определенному производителю) и наименований сетевых адаптеров, которые на реальной и виртуальной машинах отличаются. Также вредонос может обратиться к сервисам получения информации об IP-адресе и определить организацию. Если это кто-то из ключевых ИБ-вендоров, то ВПО скрывает свою активность. Существуют даже специальные техники для обхода конкретных решений.
7. Проверка на уровне процессора. Это набор техник, которыми пользуются злоумышленники, чтобы обходить программные песочницы. Например, проверка Vendor ID и идентификационной информации о процессоре, которую виртуальная среда обычно не меняет. Также есть различия в реализации инструкций процессора, когда используется гипервизор.
8. Проверка аппаратного окружения. Предполагает проверку Vendor ID жесткого диска, который позволяет определить принадлежность к определенному производителю. Проверка аппаратного окружения дает возможность ВПО избежать обнаружения в изолированных средах. Например, проверка наличия аудиоустройства, как делал троян-шифровальщик TeslaCrypt (отсутствие аудиоустройства может свидетельствовать о работе в изолированной среде). Или запрос информации о температуре процессора – такую технику использовал GravityRAT (это может быть применено для выявления виртуальных сред, так как физические устройства обычно имеют более стабильные и предсказуемые температуры).
9. Манипуляции со временем и датами. Эмуляция файлов проходит в среднем 3-5 минут – это время вредонос может затаиться и подождать. Также есть хитрая техника, когда вирус проявляет активность только после перезагрузки компьютера. Иногда зловред проявляется только в будние дни. Таким образом хакеры отправляют вредоносную ссылку в выходные, песочница ее проверяет и видит, что она не содержит опасный контент и «пропускает» письмо дальше. А в будни, когда получатель открывает почту, ссылка активируется и уже ведет на вредоносный файл.
10. Отслеживание действий пользователя. Самые интересные техники наиболее креативны и сложны для обнаружения. Есть, например, классическая проверка истории браузера – реальный пользователь всегда открывает несколько вкладок. ВПО может проверить, установлен ли какой-либо сторонний софт, а также есть ли документы, которые хотя бы раз открывали. Виртуальную машину выдают и движения мышью – курсор не может быть статичен во время открытия и просмотра файлов, а офисные документы должны быть проскроллены по всем страницам. При этом сам скроллинг должен быть похожим на человеческий с остановками на изображениях, графиках и формулах, которые специально вставляются злоумышленниками.
Есть и особые хитрости с интерфейсом. Например, реальный пользователь, скорее всего, должен кликнуть на кнопки закрытия, развертывания, кнопки «установить», «далее» и т.д. Песочницы, в свою очередь, имитируют все эти действия, но злоумышленники специально делают их скрытыми или размером в 1 пиксель, чтобы проверить, работает ли с файлом человек или машина.
Функциональность обнаружения попыток обхода (Anti-Evasion) просто необходима для современной песочницы. Более того, описание большинства перечисленных способов обхода можно найти в открытых сообществах и ими легко воспользоваться даже неопытным хакерам. Но эти методы нацелены на бесплатные решения, то есть совсем простые песочницы, которые не в состоянии защитить инфраструктуру. Что уж говорить о более сложных техниках.
Именно поэтому для надежной защиты компании надо искать надежное решение от проверенного вендора, который постоянно отслеживает изменения киберландшафта и непрерывно дорабатывает свой продукт. Для этого необходима команда опытных разработчиков и специалистов, обслуживающих песочницу.
При этом компании нужно выбрать не только производителя, но и способ установки песочницы: через сервис-провайдера или самостоятельно. При самостоятельной закупке, инсталляции и обслуживании оборудования организация несет и капитальные, и операционные затраты. При сервисной модели инфраструктура песочницы разворачивается в дата-центре сервис-провайдера, а его специалисты выполняют полную настройку и поддержку решения. Второй вариант более экономный за счет замены капитальных затрат операционными, отсутствия расходов на ФОТ штатных специалистов и закупку «железа». Более подробно об экономии за счет сервисной модели мы рассказывали ранее.
Песочница способна защитить компанию от продвинутых угроз, целевых атак, неизвестных ранее уязвимостей и ВПО. Решение должно сочетать в себе разные виды анализа трафика, чтобы наиболее эффективно выявлять зловредные файлы. При этом решение должно динамично обновляться и дорабатываться, ведь киберпреступники тоже не стоят на месте – они постоянно придумывают новые техники обхода песочниц и способы выявления виртуальной среды.
Клименко Егор, руководитель направлений SEG и Sandbox ГК «Солар»
От классики до авангарда — наука во всех жанрах