Перейти к основному содержимому

Антивирусы

Разработчику Инженеру

Антивирусы

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

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

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

Play ITЗагрузка интерактивного демо…


Базы антивирусов

Что такое база антивируса

База антивируса — это набор данных, содержащий информацию о вредоносных программах и методах их идентификации. В её состав входят:

  • Сигнатуры — уникальные последовательности байтов или логические правила, однозначно идентифицирующие конкретный образец вредоносного ПО.
  • Эвристические правила — алгоритмы и шаблоны поведения, позволяющие обнаруживать неизвестные или модифицированные угрозы.
  • Метаданные угроз — информация о происхождении, семействе, методах распространения, уязвимостях, используемых угрозой.
  • Микропрограммы восстановления — инструкции по нейтрализации или лечению заражённых файлов.
  • Цифровые отпечатки — хэши известных чистых и вредоносных файлов (например, по SHA-256).

Эти данные организованы в структурированный формат, оптимизированный для быстрого поиска и применения в реальном времени.


Формат и организация баз

Базы антивирусов хранятся в проприетарных файлах, часто сжатых и зашифрованных. Используются как плоские структуры (например, хэш-таблицы), так и древовидные (например, префиксные деревья, B-деревья), позволяющие эффективно выполнять поиск по сигнатурам или фрагментам поведения. Некоторые антивирусы используют виртуальные машины для исполнения сигнатурных правил (например, ClamAV с его языком сигнатур).

Размер баз может достигать сотен мегабайт и даже гигабайтов. Например, база Kaspersky или Bitdefender содержит миллионы записей, включая данные о вирусах, потенциально нежелательных программах (PUP), рекламном ПО (adware) и троянах.


Где и как хранятся базы

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

  • Windows%ProgramData%\KasperskyLab, %ProgramFiles%\DrWeb, %ProgramData%\Avast Software
  • Linux/var/lib/clamav, /opt/kaspersky, /usr/share/avast

Современные антивирусы используют механизм sandbox-хранения — базы размещаются в изолированных контейнерах или защищённых разделах с контролем целостности (например, через технологию Microsoft WIM или аналогичные). Это предотвращает подмену или модификацию баз вредоносным ПО.


Защита баз от взлома и подмены

Для предотвращения компрометации антивирусные решения применяют несколько уровней защиты:

  1. Цифровая подпись баз — каждое обновление баз подписывается закрытым ключом разработчика. При загрузке антивирус проверяет подпись с помощью доверенного открытого ключа.
  2. Контроль целостности — хэширование файлов баз и регулярная проверка на соответствие эталонному значению.
  3. Защита от записи — файлы баз монтируются в режиме "только для чтения" или защищаются через ACL (Access Control List) или AppArmor/SELinux на Linux.
  4. Изоляция процесса обновления — механизм обновления запускается в отдельном процессе с минимальными привилегиями и под строгим контролем EDR-компонента.

Подмена баз — один из наиболее опасных векторов атаки (например, атака "антивирус как вектор"), поэтому ведущие вендоры используют защищённые каналы обновления (HTTPS с pinning сертификатов) и двухфакторную аутентификацию обновлений.


Обновление баз

Обновления баз происходят через регулярные запросы к облачным серверам вендора. Современные антивирусы применяют дельта-обновления — передаются только изменения, а не полная база. Это сокращает трафик и ускоряет применение новых сигнатур.

Механизм обновления включает:

  • Проверку версии локальной базы.
  • Запрос списка изменений с сервера.
  • Загрузку и проверку цифровой подписи обновления.
  • Применение обновления в фоновом режиме без перезапуска ядра защиты.

Некоторые системы используют превентивное обновление — серверы могут отправлять экстренные обновления при обнаружении активной кампании распространения нового вредоносного ПО (т.н. zero-hour response).


Сканирование и методы обнаружения угроз

Статический анализ

Статический анализ — проверка файла без его исполнения. Основные методы:

  • Сравнение с сигнатурами: файл читается побайтово, и его фрагменты сопоставляются с известными сигнатурами. Применяются алгоритмы, устойчивые к незначительным изменениям (например, поиск по "плавающим" сигнатурам — с допуском на полиморфизм).
  • Анализ структуры PE/ELF — проверка корректности заголовков исполняемых файлов, таблиц импорта/экспорта, секций кода/данных. Аномалии (например, секция .text с флагом записи) могут указывать на вредоносность.
  • Поиск подозрительных строк: наличие строк вроде cmd.exe /c, powershell -enc, CreateRemoteThread, RegSetValue может быть признаком трояна.
powershell -enc

Динамический и поведенческий анализ

Динамический анализ подразумевает исполнение файла в контролируемой среде:

  • Песочница (sandbox): исполняемый файл запускается в изолированной виртуальной машине или контейнере. Всё поведение (создание процессов, сетевые запросы, изменения реестра) логируется и анализируется.
  • Эмуляция: вместо реального запуска файл проходит через эмулятор CPU или ОС. Это позволяет избежать рисков, связанных с запуском вредоносного кода.

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


Эвристика и ревизор

Эвристика — это метод обнаружения угроз на основе логических выводов и паттернов, а не точного совпадения с сигнатурой. Существуют два основных типа:

  1. Файловая эвристика — анализ структуры, кода и метаданных файла.
  2. Системная эвристика — мониторинг состояния системы в реальном времени (например, неожиданное появление большого числа скрытых процессов).

Ревизор — это компонент, периодически проверяющий целостность критических системных файлов и объектов ОС. Он сравнивает текущее состояние с эталонным (заранее сохранённым) и выявляет несанкционированные изменения. Например, если системный файл lsass.exe был заменён, ревизор зафиксирует расхождение хэшей и сгенерирует алерт.


Проверка запущенных процессов

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

  • Инжектов кода — когда в легитимный процесс (например, explorer.exe) внедряется вредоносный код.
  • Резидентных вирусов — программ, оставшихся в памяти после завершения основного процесса.
  • Rootkit’ов — скрытых компонентов, маскирующихся под системные функции.

Для этого применяются драйверы ядра (kernel-mode drivers), имеющие прямой доступ к памяти процессов и дескрипторам. На уровне ядра антивирус может читать таблицы виртуальной памяти, сравнивать образы в памяти с исходными файлами на диске и обнаруживать несоответствия.


Сигнатуры, нейропрофили и методы детектирования нового поколения

Сигнатуры

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

  • YARA-правила — декларативный язык описания паттернов в файлах, сочетающий байтовые шаблоны, регулярные выражения и логические условия. Пример:
rule Suspicious_Powershell_Encoded
{
strings:
$cmd = /powershell.*-enc/
condition:
$cmd
}

Такие правила позволяют описывать целое семейство вредоносов.

  • Композитные сигнатуры — сочетают анализ структуры файла, его хэша и поведенческих черт. Например, сигнатура может срабатывать только если файл имеет определённый импорт API и пытается подключиться к известному C2-серверу.

  • Обфускационно-устойчивые сигнатуры — ориентированы на выявление логики, а не конкретного представления. Такие сигнатуры могут анализировать граф потока управления (control flow graph) или данные о вызовах функций, что делает их устойчивыми к простым методам обфускации.


Нейропрофили и машинное обучение

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

  • Энтропия секций (высокая энтропия может указывать на упаковку или шифрование).
  • Наличие редко используемых API-вызовов.
  • Статистика имён секций, размеров, флагов.
  • Поведенческие метрики (если файл ранее анализировался в песочнице).

Эти признаки подаются на вход нейросети или другому классификатору (например, градиентному бустингу), который выдаёт вероятность того, что файл вредоносен. Ключевое преимущество — способность обнаруживать ранее неизвестные угрозы (zero-day), не имеющие сигнатур.

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


Микропрограммы лечения и Инструкции по нейтрализации угроз (ИПУ)

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

Например, если вирус добавил в конец исполняемого файла свой код и изменил точку входа (entry point), микропрограмма:

  1. Определяет оригинальную точку входа (часто сохраняется вирусом в заголовке).
  2. Удаляет внедрённый код (по известному смещению или сигнатуре).
  3. Восстанавливает корректные флаги секций и контрольные суммы.
  4. Обновляет хэш файла в системе целостности.

Такие микропрограммы хранятся в базе антивируса и ассоциированы с конкретными сигнатурами. Их создание — трудоёмкий процесс, требующий реверс-инжиниринга каждого нового вируса. В документации вендоров такие инструкции часто называют Инструкциями по нейтрализации угроз (ИПУ) — формализованными описаниями методов устранения последствий заражения.


Лечение и карантин

Карантин как изоляционный механизм

Карантин — это защищённое хранилище, в которое перемещаются подозрительные файлы для предотвращения дальнейшего вреда. Это изолированная среда со следующими свойствами:

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

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


Лечение заражённых файлов

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

Процесс лечения включает:

  1. Идентификацию типа заражения — по сигнатуре определяется, какой именно вирус поразил файл.
  2. Применение соответствующей микропрограммы — алгоритм извлекает или удаляет вредоносный код.
  3. Восстановление структуры файла — исправление заголовков, таблиц импорта/экспорта, контрольных сумм.
  4. Проверка целостности — сравнение с эталонным хэшем (если он известен) или проверка на соответствие формату.

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


Лечение самой системы

Помимо файлов, антивирусы могут нейтрализовать угрозы на уровне системы:

  • Очистка реестра Windows — удаление автозагрузочных записей, вредоносных COM-объектов, перехватчиков DLL.
  • Восстановление хост-файла: если вирус модифицировал %SystemRoot%\System32\drivers\etc\hosts для перенаправления трафика.
  • Удаление планировщиков задач: отмена задач, созданных вредоносом.
  • Сброс параметров браузера: очистка перенаправлений, вредоносных расширений.

Некоторые решения включают системный ревизор, который после лечения сравнивает состояние системы с известным "чистым" снимком и предлагает дополнительные корректировки.


Цифровые подписи и доверенные файлы

Современные ОС (Windows, macOS, Linux с использованием IMA/EVM) активно применяют цифровые подписи для верификации подлинности системных компонентов.

Антивирусы интегрируются с этой инфраструктурой:

  • При сканировании файл проверяется на наличие валидной цифровой подписи от доверенного издателя (Microsoft, Apple, Mozilla и т.д.).
  • Отсутствие подписи или её недействительность (например, из-за модификации файла) является серьёзным индикатором компрометации.
  • Некоторые антивирусы поддерживают доверенные списки (whitelist): если файл подписан корпоративным сертификатом организации, он автоматически считается безопасным.

Однако злоумышленники всё чаще используют поддельные или украденные сертификаты, поэтому проверка подписи — лишь один из множества факторов в общей модели риска.


Восстановление системы

В случае масштабного заражения (например, активностью рансомвара или rootkit’а) антивирус может инициировать:

  • Откат системы — с использованием точек восстановления Windows (Система Restore Points), если они не были уничтожены вредоносом.
  • Восстановление из резервной копии — через интеграцию с корпоративными системами резервного копирования.
  • Переустановку критических компонентов — например, перезапись системных файлов из кэша %WinDir%\System32\dllcache или через DISM (Deployment Image Servicing and Management).

В enterprise-средах антивирусы могут взаимодействовать с системами управления конфигурациями (например, SCCM, Ansible), чтобы автоматически переразворачивать заражённые хосты.


Основа по протоколу

Базовый разбор HTTP и HTTPS находится в отдельной статье — HTTP как основа веб-интеграций.


Kaspersky Endpoint Security и централизованное управление

На рабочих станциях и серверах корпоративной среды одиночного "домашнего" антивируса недостаточно — нужен агент на каждом хосте и единая консоль, где задаются политики, видны события и выполняются массовые операции. Типичный стек "Лаборатории Касперского" для организаций — Kaspersky Endpoint Security (KES) на конечных точках и Kaspersky Security Center (в документации и лицензировании часто фигурирует как часть линейки Endpoint Security and Management) для администрирования. Ниже — как устроен жизненный цикл такой системы от внедрения до сопровождения; принципы применимы и к другим EPP/EDR-платформам (Defender for Endpoint, CrowdStrike и т.д.), но детали интерфейса и модулей привязаны к KES.

Связка с общей архитектурой ИБ: агент закрывает превентивный и детективный контур на хосте; журналы и алерты уходят в мониторинг и SIEM; при компрометации срабатывают сценарии из жизненного цикла атаки и реагирования на вредоносное ПО.


Внедрение системы защиты на базе KES

Внедрение начинают с инвентаризации — ОС, домен или автономные ПК, сегменты сети, критичные серверы, ограничения (изолированные VLAN, прокси без прямого доступа к интернету). На этой основе выбирают способ доставки агента:

  • Установка из консоли — пакет агента KES + регистрация в Security Center по адресу сервера администрирования.
  • Развёртывание через домен — MSI/скрипт, групповые политики, SCCM/Intune или аналог для массовой установки.
  • Пилотная группа — 5–10 % парка с урезанной, но репрезентативной выборкой (бухгалтерия, разработка, удалённые пользователи), затем поэтапное расширение.

До массового rollout задают базовую политику — обновление баз, расписание сканирования, запрет отключения защиты без прав администратора, интеграция с каталогом (Active Directory, LDAP). Отдельно планируют точки обновления (distribution points / ретрансляторы), если интернет с рабочих мест ограничен — агенты тянут сигнатуры с внутреннего сервера, а не с публичных зеркал.

Типичная ошибка при внедрении

Политика "максимальной жёсткости" на весь парк с первого дня даёт волну ложных срабатываний и отключений исключений вручную. Сначала — мониторинг и отчёты в режиме обучения, затем блокирующие правила для Application Control и сетевого контроля.


Управление защитой — политики, задачи, обновления

Политики в Security Center наследуются по иерархии (корень → группы устройств → отдельные хосты). В одной политике KES обычно настраивают:

ОбластьЧто задаёт администратор
Антивирусуровень эвристики, действия при обнаружении, исключения по пути и хэшу
Сканированиеполное/быстрое, расписание, сканирование съёмных носителей
Обновлениеисточник баз, интервал, поведение при сбое
Устройства и приложенияконтроль USB, запуск ПО (Application Control), шифрование съёмных носителей при наличии модуля
Сетьвеб-контроль, контроль подключений, интеграция с корпоративным прокси

Задачи — разовые или периодические операции на выбранных узлах — принудительное обновление баз, полное сканирование, перезапуск агента, удалённая установка компонента, сбор диагностики (KLNAGENT / trace при расследовании). Задачи удобны для реакции на инцидент ("просканировать подсеть бухгалтерии") и для регламентного обслуживания.

Обновления делят на два потока:

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

В закрытых сетях настраивают иерархию обновлений: один или несколько серверов-ретрансляторов в DMZ или доверенном сегменте синхронизируются с вендором, остальные агенты — только с внутренними узлами.


Контроль безопасности — файлы и сеть

Защита файлов реализуется прежде всего проверкой по доступу (on-access): при открытии, запуске и копировании файл сверяется с базой и эвристиками; по требованию (on-demand) — по расписанию или задаче администратора. Дополнительно KES может блокировать изменение критичных каталогов, отслеживать массовое шифрование (типичный признак ransomware) и отправлять событие в консоль. Для расследования важны карантин, журнал действий над объектом и возможность выгрузить образец в песочницу (если подключён облачный анализ Kaspersky).

Контроль сетевых соединений включает компоненты межсетевого экрана на хосте и веб-антивируса — фильтрация исходящих подключений к известным C2, блокировка фишинговых URL, учёт политик "какому процессу разрешён выход в интернет". Это дополняет, но не заменяет корпоративный периметральный firewall и прокси — EPP на хосте видит контекст процесса, которого нет на границе сети.


EDR и защита от сложных угроз и шифровальщиков

Классический антивирус опирается на сигнатуры; EDR-слой (в линейке Kaspersky — поведенческий анализ, расширенное обнаружение, интеграция с Kaspersky Endpoint Detection and Response при наличии лицензии) отслеживает цепочки — создание процессов, инъекции, работа с реестром и автозагрузкой, подозрительные PowerShell-сценарии. Цель — поймать без файловой сигнатуры или с задержкой обновления баз (fileless, living-off-the-land).

Против шифровальщиков сочетают несколько механизмов:

  • поведенческое блокирование массового изменения расширений;
  • контроль резервного копирования теневых копий (где ОС это поддерживает);
  • изоляция хоста из консоли при критическом алерте;
  • восстановление отдельных файлов из локального/облачного хранилища событий (зависит от редакции и настроек).

Для SOC полезно настроить экспорт событий в SIEM (syslog, API, готовые коннекторы) и согласовать severity с playbook: "подозрительный процесс" → проверка EDR → изоляция → сбор артефактов.


Сопровождение и обслуживание на всех этапах эксплуатации

ЭтапЗадачи сопровождения
Эксплуатациямониторинг статуса агента (онлайн, версия, дата баз), лицензий, переполнения диска на сервере администрирования
Инцидентыразбор ложных срабатываний, точечные исключения с обоснованием, эскалация в SOC
Измененияревизия политик при смене ПО (новая ERP, CI/CD-агенты), тест на пилоте перед продом
Аудитотчёты о незащищённых узлах, устаревших базах, нарушениях политики Application Control
Вывод из эксплуатацииснятие агента, отзыв лицензии, очистка записей в AD/консоли

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

Связь с остальным разделом

Теория сигнатур и баз — выше в этой статье; классификация malware и сценарии реагирования — в Вирусы и вредоносные программы; централизованный мониторинг — в Мониторинг и SIEM.


Как встроить антивирус в реальный процесс

Антивирус эффективен, когда работает как часть общей системы — endpoint, сервер, CI/CD, мониторинг.


Операционная схема

  1. На endpoint и серверах включены сигнатурный и поведенческий анализ.
  2. Журналы событий уходят в централизованное хранилище.
  3. Критичные срабатывания автоматически создают инцидент.
  4. SOC или дежурный инженер проверяет, изолирует и запускает восстановление.
  5. После инцидента обновляются правила и playbook.

Что часто забывают

  • Антивирус на рабочей станции есть, а на build-агентах CI/CD нет.
  • Базы обновляются нерегулярно из-за сетевых ограничений.
  • Карантин включён, но процесс разбора ложных срабатываний отсутствует.
  • Нет контрольной проверки восстановления после заражения.

Чек-лист зрелости

  • Время обновления баз измеряется и контролируется.
  • Карантин доступен только через привилегированный контур.
  • Есть отдельная процедура для ложноположительных срабатываний.
  • На серверах включён минимум функций для снижения поверхности атаки.
  • Для критичных файлов работает контроль целостности.

Связанные статьи