Антивирусы
Антивирусы
Термин "антивирус" исторически возник из необходимости противодействовать программам, способным к саморазмножению и нанесению вреда цифровым системам. В узком смысле антивирус — это программное средство, предназначенное для обнаружения, блокировки, удаления или нейтрализации вредоносного программного обеспечения (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 или аналогичные). Это предотвращает подмену или модификацию баз вредоносным ПО.
Защита баз от взлома и подмены
Для предотвращения компрометации антивирусные решения применяют несколько уровней защиты:
- Цифровая подпись баз — каждое обновление баз подписывается закрытым ключом разработчика. При загрузке антивирус проверяет подпись с помощью доверенного открытого ключа.
- Контроль целостности — хэширование файлов баз и регулярная проверка на соответствие эталонному значению.
- Защита от записи — файлы баз монтируются в режиме "только для чтения" или защищаются через ACL (Access Control List) или AppArmor/SELinux на Linux.
- Изоляция процесса обновления — механизм обновления запускается в отдельном процессе с минимальными привилегиями и под строгим контролем EDR-компонента.
Подмена баз — один из наиболее опасных векторов атаки (например, атака "антивирус как вектор"), поэтому ведущие вендоры используют защищённые каналы обновления (HTTPS с pinning сертификатов) и двухфакторную аутентификацию обновлений.
Обновление баз
Обновления баз происходят через регулярные запросы к облачным серверам вендора. Современные антивирусы применяют дельта-обновления — передаются только изменения, а не полная база. Это сокращает трафик и ускоряет применение новых сигнатур.
Механизм обновления включает:
- Проверку версии локальной базы.
- Запрос списка изменений с сервера.
- Загрузку и проверку цифровой подписи обновления.
- Применение обновления в фоновом режиме без перезапуска ядра защиты.
Некоторые системы используют превентивное обновление — серверы могут отправлять экстренные обновления при обнаружении активной кампании распространения нового вредоносного ПО (т.н. zero-hour response).
Сканирование и методы обнаружения угроз
Статический анализ
Статический анализ — проверка файла без его исполнения. Основные методы:
- Сравнение с сигнатурами: файл читается побайтово, и его фрагменты сопоставляются с известными сигнатурами. Применяются алгоритмы, устойчивые к незначительным изменениям (например, поиск по "плавающим" сигнатурам — с допуском на полиморфизм).
- Анализ структуры PE/ELF — проверка корректности заголовков исполняемых файлов, таблиц импорта/экспорта, секций кода/данных. Аномалии (например, секция
.textс флагом записи) могут указывать на вредоносность. - Поиск подозрительных строк: наличие строк вроде
cmd.exe /c,powershell -enc,CreateRemoteThread,RegSetValueможет быть признаком трояна.
powershell -enc
Динамический и поведенческий анализ
Динамический анализ подразумевает исполнение файла в контролируемой среде:
- Песочница (sandbox): исполняемый файл запускается в изолированной виртуальной машине или контейнере. Всё поведение (создание процессов, сетевые запросы, изменения реестра) логируется и анализируется.
- Эмуляция: вместо реального запуска файл проходит через эмулятор CPU или ОС. Это позволяет избежать рисков, связанных с запуском вредоносного кода.
Эвристические движки применяют правила поведения: если программа пытается записать себя в автозагрузку, скрыть своё окно и отправить данные на внешний IP — это поведение классифицируется как подозрительное.
Эвристика и ревизор
Эвристика — это метод обнаружения угроз на основе логических выводов и паттернов, а не точного совпадения с сигнатурой. Существуют два основных типа:
- Файловая эвристика — анализ структуры, кода и метаданных файла.
- Системная эвристика — мониторинг состояния системы в реальном времени (например, неожиданное появление большого числа скрытых процессов).
Ревизор — это компонент, периодически проверяющий целостность критических системных файлов и объектов ОС. Он сравнивает текущее состояние с эталонным (заранее сохранённым) и выявляет несанкционированные изменения. Например, если системный файл 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), микропрограмма:
- Определяет оригинальную точку входа (часто сохраняется вирусом в заголовке).
- Удаляет внедрённый код (по известному смещению или сигнатуре).
- Восстанавливает корректные флаги секций и контрольные суммы.
- Обновляет хэш файла в системе целостности.
Такие микропрограммы хранятся в базе антивируса и ассоциированы с конкретными сигнатурами. Их создание — трудоёмкий процесс, требующий реверс-инжиниринга каждого нового вируса. В документации вендоров такие инструкции часто называют Инструкциями по нейтрализации угроз (ИПУ) — формализованными описаниями методов устранения последствий заражения.
Лечение и карантин
Карантин как изоляционный механизм
Карантин — это защищённое хранилище, в которое перемещаются подозрительные файлы для предотвращения дальнейшего вреда. Это изолированная среда со следующими свойствами:
- Файлы в карантине переименовываются и зашифровываются, чтобы их невозможно было случайно или намеренно запустить.
- Доступ к карантину ограничен привилегированным процессом антивируса.
- Метаданные файла (путь, хэш, время обнаружения, тип угрозы) сохраняются отдельно.
- Из карантина возможны только три действия — восстановить, удалить, отправить на анализ.
Карантин особенно важен при обнаружении файлов с недостоверной классификацией (например, эвристическое срабатывание на легитимный инструмент разработчика). Удаление в таких случаях может нарушить работоспособность системы, тогда как карантин даёт возможность ручной верификации.
Лечение заражённых файлов
Лечение возможно не для всех типов угроз. Оно применимо в основном к резидентным вирусам, файловым вирусам и макровирусам, которые внедряют свой код в существующие файлы, не заменяя их полностью.
Процесс лечения включает:
- Идентификацию типа заражения — по сигнатуре определяется, какой именно вирус поразил файл.
- Применение соответствующей микропрограммы — алгоритм извлекает или удаляет вредоносный код.
- Восстановление структуры файла — исправление заголовков, таблиц импорта/экспорта, контрольных сумм.
- Проверка целостности — сравнение с эталонным хэшем (если он известен) или проверка на соответствие формату.
В случае троянов, шпионских программ или рансомваров лечение, как правило, невозможно — такие файлы создаются как самостоятельные исполняемые модули, и их "лечение" сводится к полному удалению.
Лечение самой системы
Помимо файлов, антивирусы могут нейтрализовать угрозы на уровне системы:
- Очистка реестра 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 при расследовании). Задачи удобны для реакции на инцидент ("просканировать подсеть бухгалтерии") и для регламентного обслуживания.
Обновления делят на два потока:
- Базы угроз и облачные репутационные данные — частые дельты, критичны при всплеске новых кампаний.
- Версии агента и модулей 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, мониторинг.
Операционная схема
- На endpoint и серверах включены сигнатурный и поведенческий анализ.
- Журналы событий уходят в централизованное хранилище.
- Критичные срабатывания автоматически создают инцидент.
- SOC или дежурный инженер проверяет, изолирует и запускает восстановление.
- После инцидента обновляются правила и playbook.
Что часто забывают
- Антивирус на рабочей станции есть, а на build-агентах CI/CD нет.
- Базы обновляются нерегулярно из-за сетевых ограничений.
- Карантин включён, но процесс разбора ложных срабатываний отсутствует.
- Нет контрольной проверки восстановления после заражения.
Чек-лист зрелости
- Время обновления баз измеряется и контролируется.
- Карантин доступен только через привилегированный контур.
- Есть отдельная процедура для ложноположительных срабатываний.
- На серверах включён минимум функций для снижения поверхности атаки.
- Для критичных файлов работает контроль целостности.
Связанные статьи
- Вирусы и вредоносные программы
- Как выявлять замаскированные вирусы? — подделка
csrss,winlogon, случайные имена процессов - Уязвимости и атаки на API
- Обеспечение безопасности