Архитектура современного антивируса: от сигнатурного анализа к машинному обучению

13.01.2023
22/10/25
Б-152
Архитектура современного антивируса: от сигнатурного анализа к машинному обучению
Ежедневно в мире создаются сотни тысяч новых образцов вредоносного программного обеспечения. Ведущие вендоры кибербезопасности обрабатывают десятки миллионов событий в день. При таком объеме угроз ручной анализ и традиционные подходы к детектированию окончательно исчерпали себя. Перед инженерами по безопасности встал критический вопрос: как защищать то, что атакуют методами, которые еще не известны?
Ответом стала фундаментальная перестройка самого ядра антивирусных решений. На смену простым сканерам пришли сложные архитектурные ансамбли, где каждому типу угроз противостоит специализированный модуль. 
Эволюция защиты движется по пути от реагирования к предсказанию. В данной статье мы исследуем, как устроена эта многослойная оборона. Мы начнем с истоков — сигнатурного анализа, который заложил основу, — и проследим, как его дополняли и в итоге усилили технологии поведенческого анализа и машинного обучения, чтобы создать проактивный и интеллектуальный механизм безопасности.

Первый червь

Но прежде, чем мы перейдем к рассмотрению средств борьбы с вирусными программами, стоит отдать дань истории и вспомнить, что способствовало их созданию.
Удивительно, что один из первых сетевых червей был создан и выпущен в сеть не для злого умысла, а из чистого человеческого любопытства и стремления создать инновацию. 
Аспиранту Корнельского Университета Роберту Таппену Моррису было интересно узнать размеры сети ARPANET (предшественник Интернета) и заодно создать нечто, что могло бы самостоятельно распространяться по еще только развивающейся сети. 
Так, примерно в 20:30 2 ноября 1988 года Роберт запустил с компьютера Массачусетского технологического института свое творение, над которым работал долгое время, и которое вскоре окрестят «Червь Морриса».
Запустившись с дискеты и оказавшись в сети, червь активно начал распространяться и за первые 24 часа успел поразить 6.000 из примерно 60.000 компьютеров, подключенных к ARPANET. Червь использовал уязвимости в почтовом сервере Sendmail, сервисах Finger (текстовый протокол), rsh/rexec (клиенты удаленного выполнения команд) с подбором паролей по словарю (около 400 ключевых слов). 
После проникновения в компьютеры червь маскировал свое присутствие, меняя имя, удаляя временные файлы или шифруя данные о себе в памяти.
По задумке Морриса, червь должен был атаковать только компьютеры с 32-битной архитектурой и операционными системами 4BSD и SunOS 3. Однако червь был написан на портируемом С-коде, позволяющим ему запускаться на множестве платформ без каких-либо изменений. Ущерб от вируса был оценен в 96,5 миллионов долларов (по тем временам). Роберт даже не осознавал, что реализовал распределенную атаку типа «DDoS».
Скорее всего, Морриса бы никто не смог вычислить и доказать его причастность, так как он отлично скрыл код программы. Но, по иронии судьбы, его отец оказался компьютерным экспертом Агентства национальной безопасности и заставил сына во всем признаться.
Червь Морриса дал понять, что сеть уже — не безобидное доверительное пространство, а место для потенциальных нарушителей. Это послужило толчком к развитию компьютерной безопасности и средств защиты, о которых мы будем говорить далее.

Сигнатурный анализ

Первые антивирусы разрабатывались энтузиастами программистами в ответ на уже существующие вирусы. Каждая утилита была написана под код конкретного вируса, и нацеливалась не на предотвращение атаки, а устранение ее последствий с зараженных компьютеров.
Антивирусы того времени использовали сигнатурный анализ, обнаруживая уникальные последовательности байтов, так называемую сигнатуру (маску), по которой можно было идентифицировать вирусную программу. Принцип работы был прост:
1. Антивирус получает файл для проверки;
2. Вычисляет его хэш и/или сканирует его код на предмет наличия известных последовательностей байтов;
3. Полученные данные сверяются с записями в базе сигнатур;
4. При нахождении совпадения, файл признается вредоносным и отправляется в карантин, лечится или же удаляется.
Применение такого метода позволяет безошибочно обнаруживать и нейтрализовывать давно известные угрозы, не нагружая при это систему. 
Однако против угроз нулевого дня (zero-day) такие программы абсолютно бесполезны, так как не имеют возможности обнаруживать неизвестные заранее сигнатуры. К тому же, злоумышленники не стояли на месте и научились обходить антивирусы, применяя принцип полиморфизма, шифруя тело вируса и выдавая его за легитимную программу.

Эвристический анализ

Осознавая беспомощность сигнатурного анализа перед новыми угрозами, был разработан метод, который мог не просто обнаруживать, но и предполагать вредоносность кода — эвристический метод (эвристический анализ).
Эвристический анализатор исследует код программы на наличие:
  • подозрительных команд и последовательностей: это могут быть инструкции по записи на диск, манипуляции с загрузочными секторами, шифрование сегментного кода;
  • структурных и поведенческих шаблонов: попытка скрыть свое присутствие в системе, мимикрирование под упаковщика или полиформный двигатель;
  • нетипичного поведения для легитимного ПО: рассылка копий программы по сети, прописка в автозагрузке.
Вредоносность программы определяется на основе правил и весов. Каждое подозрительное действие добавляет баллы «вредоносности». Если сумма баллов превышает пороговое значение, файл признается подозрительным или вредоносным.
IF (код содержит инструкцию по письму в загрузочный сектор) AND (не имеет цифровой подписи) THEN +50 баллов вредоносности
Также антивирус, использующий эвристический метод, создает виртуальную среду — так называемую песочницу — и запускает в ней исследуемую программу на короткое время, чтобы посмотреть на ее поведение. Эмулятор имитирует процессор, память и системные вызовы, наблюдая за всеми действиями программы.
Такой метод позволяет раскрыть полиформные и метаморфные вирусы, прячущиеся за оболочкой легитимности, а также обнаруживать ранее неизвестные угрозы и модификации известных вирусов. Однако с повышением производительности увеличилось и число ложных срабатываний. Также злоумышленники предусмотрели, что их вирус может выполняется в «песочнице», и в таком случае прописали сценарий поведения программы как «нормальной».
Эвристический анализ стал мощным прорывом, но его Ахиллесова пята — ложные срабатывания и возможность обхода — указал на необходимость еще более глубокого и интеллектуального подхода. Если эвристика — это подозрения на основе правил, то следующий шаг — это принятие решений на основе опыта и статистики. Это привело к появлению методов поведенческого анализа и машинного обучения, которые позволяют антивирусам отличать вредоносное поведение от легитимного с гораздо более высокой точностью.

Поведенческий анализ и машинное обучение

На основе эвристического анализатора базировался следующий метод, давший новый виток развития современным антивирусам — поведенческий анализ.
Поведенческий анализ непрерывно ведет мониторинг активности программ в реальном времени с целью выявления и немедленного пресечения подозрительных или вредоносных действий.
Поведенческий анализатор работает по циклу:
  • Встраивается в ядро операционной системы и перехватывает все вызовы системных
  • API-функций. Любое действие программы проходит через этот фильтр. Система анализирует контекст действия:
  • Действие программы сверяется с базой поведенческих правил и шаблонов. Правила могут быть как заранее прописаны, так и предсказанными с помощью машинного обучения.
  • Если действие признается вредоносным, анализатор незамедлительно его блокирует и уведомляет пользователя.
  1. Репутация программы, цифровая подпись, права;
  2. На какой объект направлено действие программы;
  3. В какой последовательности выполняются действия;
  4. С какими другими процессами взаимодействует программа
Применение машинного обучения в антивирусах позволило принимать решения не только на основе правил, заранее прописанных человеком, но и  на основе найденных, с помощью анализа огромных массивов данных, закономерностях и предсказаниях.
Машинное обучение разделяется на два этапа:
1 этап: Обучение
На этом этапе формируется огромный датасет из миллионов файлов, содержащих в себе как вредоносные, так и легитимные программы для «насмотренности» модели. Каждый файл преобразуется в набор характеристик (признаков), которые может понять машина.
2 этап: Детектирование
Обученная и оптимизированная модель загружается на компьютер в формате ПО. Антивирус получает файл, извлекает из него те же самые признаки, что использовались при обучении модели и подает ей на «вход» для анализа. Модель в кратчайшие сроки выдает вердикт (вероятность) того, что файл является вредоносным. Антивирус принимает решение о легитимности программы на основе предсказания модели.
Далее на заранее размеченных данных обучается выбранный алгоритм (модель). Обученная модель проверяется на отдельном, неизвестном ей наборе данных, чтобы оценить ее реальную эффективность и количество ложных срабатываний.

Современные антивирусы

Современные антивирусы используют комбинированные подходы к обнаружению вредоносного программного обеспечения, так как все рассмотренные ранее методы имеют свои преимущества. Сейчас типичный сценарий проверки файла выглядит следующим образом:
  • Сигнатурный анализ: проверка по классическим базам данных известных вирусов.
  • Статистический ML-анализ: быстрая оценка файла легковесной ML-моделью прямо на устройстве.
  • Эмуляция в «песочнице»: если предыдущие этапы не дали результата, файл запускается в изолированной среде, и его поведение записывается.
  • Динамический ML-анализ: поведенческие признаки из песочницы анализируются другой ML-моделью.
  • Поведенческий блокер: если файл все же был запущен, он продолжает находиться под наблюдением в реальном времени.
Совокупность методов позволяет современному антивирусу эффективно противостоять как массовым, так и целевым атакам.

Заключение

От простых сигнатурных сканеров до сложных систем, предсказывающих угрозы с помощью искусственного интеллекта, — эволюция антивирусов является наглядным ответом на стремительное усложнение ландшафта киберугроз.
Ключевой вывод заключается в том, что ни одна технология не вытеснила другую. Сигнатурный анализ остается быстрым и точным солдатом первой линии, эвристика и поведенческий анализ формируют подвижную оборону, а машинное обучение стало стратегическим центром принятия решений, анализирующим данные в невиданных ранее масштабах. Их синергия — это и есть современная антивирусная защита.
Ввод оборотных штрафов за утечки откладывается минимум до 1 июля 2023 года
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!
реклама
бизнес
юридические вопросы
маркетинг
Материалы по теме