Песочница (Sandbox)
Песочница – это система для выявления вредоносных программ, при использовании которой подозрительный объект запускается в виртуальной машине с полнофункциональной операционной системой, а для обнаружения зловредности объекта применяется анализ его поведения. Если объект выполняет вредоносные действия, песочница признает его вредоносной программой. Виртуальные машины песочницы изолированы от реальной инфраструктуры компании.
Анализ поведения объекта в процессе его выполнения позволяет эффективно бороться с теми вредоносными программами, которые способны обмануть статический анализ. При этом песочница безопаснее других средств поведенческого анализа, так как корпоративная сеть компании не подвергается риску.
Несколько лет назад в «Лаборатории Касперского» была разработана собственная песочница. Она используется в качестве одного из инструментов для анализа вредоносных программ, для исследований и создания антивирусных баз. Кроме того, песочница является частью платформы для защиты от целенаправленных атак Kaspersky Anti Targeted Attack (KATA) и портала Kaspersky Threat Intelligence Portal (KL TIP). Она помогает классифицировать файлы и URL-адреса (вредоносный или безопасный) и получать полезные сведения об их активности для разработки правил и алгоритмов обнаружения.
Функциональные возможности песочницы
- В основе песочницы лежит аппаратная виртуализация, обеспечивающая скорость и стабильность работы.
- Доступны виртуальные машины для следующих платформ:
- ОС Windows (все версии для персональных компьютеров, начиная с Windows XP; все серверные версии, начиная с Windows Server 2003);
- ОС Android (x86, архитектура процессора ARM).
- Песочница отслеживает взаимодействие исследуемого процесса с операционной системой. В подозрительных случаях производится углубленный анализ.
- Песочница обеспечивает выявление эксплойтов, начиная с ранних этапов выполнения. Она обнаруживает типичное поведение эксплойтов, например использование цепочки возвратно-ориентированного программирования (ROP), heap spraying, подмену стека, изменение токенов безопасности и защиты памяти и др. Песочница позволяет выявлять даже продвинутые эксплойты, используемые в целевых атаках.
Типы объектов, которые могут исполняться в песочнице:
- Windows: любые файлы, например *.exe, *.dll, объекты .NET, файлы MS Office, PDF-файлы.
- Android: APK (DEX).
- URL-адреса: песочница переходит по URL-адресу и выявляет загрузки, события JavaScript, исполнение Adobe Flash и др.
Рабочий процесс обнаружения вредоносных программ
- Песочница получает от другой системы безопасности запрос на проверку объекта (файла или URL-адреса) со следующими инструкциями: операционная система и конфигурация для запуска объекта, параметры выполнения объекта, другие сторонние приложения, установленные в виртуальной машине, ограничение времени проверки и др.
- Выполняется запуск проверяемого объекта.
- Песочница собирает артефакты в течение заданного интервала времени. Если объект взаимодействует с другими процессами или URL-адресами с известной репутацией, песочница собирает соответствующие данные.
- Песочница анализирует артефакты и предоставляет запрашивающей системе заключение по объекту: вредоносный или нет. Песочница добавляет к заключению данные по объекту (идентификатор, функции, журналы, сведения о поведении), которые помогают при дальнейшем анализе без отправки нового запроса в песочницу.
Артефакты, собираемые песочницей:
- Журналы выполнения приложений (вызовы функций API с параметрами, события выполнения)
- Дампы памяти
- Дампы загруженных модулей
- Изменения файловой системы, реестра
- Сетевой трафик (файлы PCAP)
- Снимки экрана (для упрощения аудита и анализа вручную, если требуется)
- Артефакты активности эксплойтов
Предотвращение уклонения от анализа
Современные вредоносные программы, как правило, пытаются обнаружить песочницу и избежать анализа в ней. Обнаружив выполнение в песочнице, такие программы отказываются от выполнения любых вредоносных действий, удаляют себя с дисков, полностью прекращают работу или используют другие техники.
Простая техника мониторинга в аппаратной песочнице (например, привязка функций API) может «оставлять следы», говорящие о наблюдении за подозрительным процессом. Поэтому в нашей песочнице были использованы другие техники мониторинга, которые не являются интрузивными и не оставляют признаков мониторинга, доступных для обнаружения проверяемым объектом. Песочница контролирует ЦП и оперативную память, но не изменяет операции процессов, память, системные библиотеки на диске и в памяти.
Кроме того, мы отслеживаем новые техники уклонения и добавляем в нашу песочницу соответствующие механизмы противодействия. Вот пара примеров:
Техника уклонения
Механизм противодействия
Среда песочницы типична для песочниц определённого производителя. Вредоносная программа выявляет это и уклоняется от обнаружения.
Наша песочница рандомизирует среду виртуальной машины перед ее запуском.
Из-за отсутствия действий пользователя вредоносная программа понимает, что находится в песочнице. Для запуска некоторых вредоносных программ пользователь должен ввести пароль из сообщения электронной почты, нажать кнопку в мастере установки или выполнить другие «человеческие» действия. Многие песочницы не моделируют такое поведение, и поэтому не выявляют вредоносную программу.
Наша песочница моделирует активность пользователя, включая перемещения мыши и прокрутку открываемых документов. Также наша песочница может выполнять многие действия, которые должен проделать пользователь для активации вредоносного ПО.
Атаки, обнаруженные с помощью песочницы «Лаборатории Касперского»
Примеры новых целевых атак, обнаруженных с помощью песочниц в продуктах или инфраструктуре «Лаборатории Касперского» в 2016–2017 гг.: Sofacy (октябрь 2017 г.), Zero.T (октябрь, ноябрь 2016 г., апрель 2017 г.), Enfal (сентябрь, октябрь, ноябрь 2016 г.), Freakyshelly (октябрь 2016 г.), NetTraveller (август 2016 г.), CobaltGoblin (август 2016 г.), Microcin (июнь 2016 г.) и др.