Как работает антивирусный движок в составе MaxPatrol EPP

О чем материал 

Кратко объясняем, как работает наш антивирус для защиты компьютеров, серверов и виртуальных рабочих мест. 

Минск, жаркое лето 2024 г.: мне посчастливилось попасть в команду экспертов, приглашенных на обзор антивируса VBA32 в офис компании «ВИРУСБЛОКАДА». Мы изучали код, смотрели исходники эмулятора, разбирались, как устроены антивирусные базы и какие процессы внедрены в вирлабе. 

Взвесив все за и против, мы решили, что игра стоит свеч — Позитиву нужен свой антивирус! Май 2025 г.: первый PoC, пока на базе агента MaxPatrol EDR. Октябрь 2025 г.: отдельный продукт MaxPatrol EPP с интегрированным антивирусом.

Движок PT AV

Антивирусный движок, который мы назвали PT AV, ориентирован на обнаружение файловых угроз на компьютерах с Windows и Linux. В первую очередь экспертиза продукта направлена на анализ исполняемых файлов, поскольку они представляют наибольшую угрозу (могут нести вред сами по себе) и именно на них раскрывается вся сила детектирующей технологии.

Мы интегрировали PT AV в состав нового продукта MaxPatrol EPP. По сути, антивирус представляет собой модуль EPP, который устанавливается на конечные устройства в составе единого агента. Мы используем этот подход и в других наших продуктах, например MaxPatrol EDR и PT ISIM.

Важное значение в работе технологии играет эмулятор файлов. Он позволяет безопасно исследовать поведение PE-файлов в специально сформированном окружении и определять, какие действия выполнял бы процесс, запущенный из анализируемого файла. Отмечу, что в ряде случаев обнаружение ВПО этим способом оказывается избыточным. Кроме того, иногда исследуемые образцы предназначены для исполнения на платформе / вычислительной архитектуре, для которых поддержка эмуляции еще не реализована. Здесь на помощь приходят эвристические подходы и универсальные сигнатурные детекты, которые есть в PT AV. В конечном счете это дает устойчивость к переупаковке, шифрованию и полиморфизму, позволяет выявлять и блокировать даже замаскированные угрозы. 

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

Для оценки эффективности движка мы применяем следующие тесты:

  • False Alarm Test (FATest) — проверка ложных срабатываний. Для его проведения мы формируем коллекцию легитимных файлов, которые продукт не должен воспринимать как ВПО. 
  • Detection Rate Test (DRTest) — уровень обнаружения. По логике напоминает FATest, но отличается составом коллекции: здесь она состоит из заведомо вредоносных файлов, которые продукт обязан детектировать. Для повышения уровня обнаружения мы используем файловый процессинг PT ESC и планово пишем новые правила.
  • Performance Test (PerfTest) — производительность. Мы нагружаем антивирус смешанной коллекцией файлов, после чего измеряем потребление ресурсов. Отмечу, что под большой нагрузкой агенту требуется не более 250 МБ оперативной памяти и не более половины доступных CPU-ресурсов.

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

Экспертиза PT ESC в PT AV

Мы используем в PT AV файловый процессинг, за который в PT ESC отвечает команда Threat Intelligence. Это сложная система сбора вредоносных файлов из различных источников и обогащения их дополнительной информацией (формат, вердикты СЗИ и др.). Результативность процессинга напрямую влияет на эффективность обнаружения: чем больше образцов ВПО получает Антивирусная лаборатория PT ESC, тем больше угроз сможет выявить наш продукт. 

Формирование антивирусных баз

В PT AV есть несколько видов антивирусных записей, например:

  • Raw-записи — по сути, классические сигнатуры.
  • Behaviour-Scope-записи — правила на последовательность эмулированных API-вызовов.
  • T-записи — микс из сигнатур и правил на лог эмуляции.
  • V-записи — T-записи с лечением на языке Squirrel.
  • Trojan-Scope-записи — правила противодействия антиэмуляции.
  • Антизаписи — по принципу работы аналогичны Raw-записям, но имеют обратный эффект, то есть «обеление» файлов. 

Изначально антивирусная запись создается в текстовом формате на специальном языке и выглядит примерно так:

RawFileVirus =
{
  VirusName   = "Trojan.Agent"
  EventClass  = "RawHeader", EventValue = 0xF12CBD90
  // FILE: 12345678901234567890123456789012

  EventOffset = 0
  CrcMask     = "594944"
  CrcValue    = 0x66129322
  CheckPoints =
  {
     { 0x0006A9, 0x2A }, { 0x000A55, 0x1B }, { 0x0015B5, 0x30 }
     { 0x00409F, 0x33 }, { 0x0837DE, 0x30 }, { 0x085BE1, 0x30 }
  }
}

Формировать антивирусные записи можно вручную или автоматически:

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

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

Интеграция в MaxPatrol EPP 

Благодаря антивирусному модулю, MaxPatrol EPP может не только обнаруживать, но и предотвращать вредоносную активность на всех этапах развития атаки. При этом PT AV не просто сокращает время обнаружения злоумышленников на узлах, но и существенно усложняет им работу. Атакующим придется искать способы обхода технологий превентивной защиты или же добиваться отключения антивирусного модуля (что не так просто, поскольку он работает под защитой драйвера). 

Мы будем пополнять перечень превентивных мер защиты по мере разработки продукта: от контроля устройств и приложений до anti-ransomware и др.

Среди настраиваемых параметров: возможность блокировать / не блокировать вредоносные файлы, запускать сканирование по расписанию, задавать исключения для проверок и ограничивать максимальный размер сканируемых файлов (см. рис. 1). Для обновления антивирусных баз в продукте предусмотрен модуль.

Рисунок 1. Параметры антивируса в Max Patrol EDR

Единый агент на конечном устройстве устанавливает на хост антивирусный движок, драйвер и службу. Служба принимает события от драйвера и передает файлы на сканирование в движок. Запуски процессов сканируются синхронно, то есть запускаемый процесс блокируется до получения вердикта от движка. Если выставлен флаг «Блокировать вредоносные файлы», то при получении вредоносного вердикта сканируемый процесс завершается, а на сервер отправляется событие о детекте (см. рис. 2). 

Рисунок 2. Событие о детекте
Рисунок 3. Возможные действия с вредоносным файлом

Комбинация MaxPatrol EDR и MaxPatrol EPP позволяет защищать хосты от массовых и таргетированных атак, в частности шифровальщиков, RAT и Spyware.

***

Напоследок кратко обозначим направления развития MaxPatrol EPP:

  • Расширение списка поддерживаемых платформ (включая отечественные ОС).
  • Повышение эффективности обнаружения вредоносных ELF-файлов. 
  • Разработка модулей, реализующих превентивные меры защиты. Включая контроль приложений / подключаемых устройств, а также технологии противодействия последствиям работы шифровальщиков.
  • Развитие технологий обнаружения угроз в неисполняемых форматах (документы, скрипты и т. д.).

Мы дěлаем Positive Research → для ИБ-экспертов, бизнеса и всех, кто интересуется ✽ {кибербезопасностью}