Применительно к современным антивирусным технологиям само понятие «антивирус» это скорее дань моде, нежели термин, правильно отражающий суть вещей. Классические файловые вирусы, то есть вредоносные программы, способные заражать исполняемые файлы или динамические библиотеки и распространяться без участия пользователя, сегодня очень большая редкость. Подавляющее большинство встречающихся сейчас в «дикой природе» вредоносов это трояны, не способные ни к заражению файловых объектов, ни к саморепликации. Чуть реже в руки аналитиков попадаются черви: эти программы могут создавать свои копии на съемных носителях или сетевых дисках, «расползаться» по сети или каналам электронной почты, но файлы заражать не умеют. Все остальные традиционные категории вредоносного ПО отличаются друг от друга лишь базовым набором функций, но по своей архитектуре могут быть сведены к этим трем группам.
Как образцы вредоносов попадают в вирусные лаборатории? Каналов поступления новых семплов у антивирусных компаний традиционно несколько. Прежде всего, это онлайн-сервисы вроде VirusTotal, то есть серверы, на которых любой анонимный пользователь может проверить детектирование произвольного файла сразу десятком самых популярных антивирусных движков. Каждый загруженный образец вне зависимости от результатов проверки автоматически отправляется вендорам для более детального исследования.
Очевидно, что с подобных ресурсов в вирусные лаборатории прилетает огромный поток мусора, включая совершенно безобидные текстовые файлы и картинки, поэтому на входе он фильтруется специально обученными роботами и только после этого передается по конвейеру дальше. Этими же сервисами успешно пользуются небольшие компании, желающие сэкономить на содержании собственных вирусных лабораторий. Они копируют в свои базы чужие детекты, из-за чего регулярно испытывают эпические проблемы, когда какой-нибудь вендор в шутку или по недоразумению поставит вердикт infected на тот или иной компонент такого антивируса, после чего тот радостно переносит в карантин собственную библиотеку и с грохотом падает, вызывая шок у пользователей и истерический хохот у конкурентов.
Второй канал «самотек», подозрительные файлы, которые пользователи передают в вирлаб через сайт антивирусной компании, по запросу службы поддержки или выгружают из карантина. Третий канал ханипоты, специальные приманки для вирмейкеров в виде виртуальных серверов с открытыми наружу портами и логинами-паролями вроде root/root, куда некоторые ботоводы радостно заливают свои творения, дивясь криворукости админов. Наконец, четвертый путь обмен базами между самими вендорами, но в последние годы в силу обострившейся конкуренции на рынке и сузившейся кормовой базы кооперация между антивирусными компаниями практически сошла на нет.
После того как семпл попадает в вирусную лабораторию, он сортируется по типу файла и исследуется автоматическими средствами аналитики, которые могут установить вердикт по формальным или техническим признакам например, по упаковщику. И только если роботам раскусить вредоноса не удалось, он передается вирусным аналитикам для проведения инструментального или ручного анализа.
Компоненты антивирусной программы
Антивирусные программы различных производителей включают в себя разное число компонентов, и даже более: одна и та же компания может выпускать несколько версий антивируса, включающих определенный набор модулей и ориентированных на различные сегменты рынка. Например, некоторые антивирусы располагают компонентом Родительского контроля, позволяющего ограничивать доступ несовершеннолетних пользователей компьютера к сайтам определенных категорий, или регулировать время их работы в системе, а некоторые нет. Так или иначе, обычно современные антивирусные приложения обладают следующим набором функциональных модулей.
После того как семпл попадает в вирусную лабораторию, он сортируется по типу файла и исследуется автоматическими средствами аналитики, которые могут установить вердикт по формальным или техническим признакам например, по упаковщику. И только если роботам раскусить вредоноса не удалось, он передается вирусным аналитикам для проведения инструментального или ручного анализа.
Компоненты антивирусной программы
Антивирусные программы различных производителей включают в себя разное число компонентов, и даже более: одна и та же компания может выпускать несколько версий антивируса, включающих определенный набор модулей и ориентированных на различные сегменты рынка. Например, некоторые антивирусы располагают компонентом Родительского контроля, позволяющего ограничивать доступ несовершеннолетних пользователей компьютера к сайтам определенных категорий, или регулировать время их работы в системе, а некоторые нет. Так или иначе, обычно современные антивирусные приложения обладают следующим набором функциональных модулей.
Антивирусный сканер утилита, выполняющая поиск вредоносных программ на дисках и в памяти устройства по запросу пользователя или по расписанию.
Резидентный монитор компонент, выполняющий отслеживание состояния системы в режиме реального времени и блокирующий попытки загрузки или запуска вредоносных программ на защищаемом компьютере.
Брандмауер (фаервол) компонент, выполняющий мониторинг текущего соединения, включая анализ входящего и исходящего трафика, а также проверяющий исходный адрес и адрес назначения в каждом передаваемом с компьютера и поступающем на компьютер пакете информации данные, поступающие из внешней среды на защищенный брандмауэром компьютер без предварительного запроса, отслеживаются и фильтруются. С функциональной точки зрения брандмауэр выступает в роли своеобразного фильтра, контролирующего поток передаваемой между локальным компьютером и Интернетом информации, защитного барьера между компьютером и всем остальным информационным пространством.
Веб-антивирус компонент, предотвращающий доступ пользователя к опасным ресурсам, распространяющим вредоносное ПО, фишинговым и мошенническим сайтам с использованием специальной базы данных адресов или системы рейтингов.
Почтовый антивирус приложение, выполняющее проверку на безопасность вложений в сообщения электронной почты и (или) пересылаемых по электронной почте ссылок.
Анти-руткит модуль, предназначенный для борьбы с руткитами (вредоносными программами, обладающими способностью скрывать свое присутствие в инфицированной системе).
Модуль превентивной защиты компонент, обеспечивающий целостность жизненно важных для работоспособности системы данных и предотвращающий опасные действия программ.
Модуль обновления компонент, обеспечивающий своевременное обновление других модулей антивируса и вирусных баз;
Карантин централизованное защищенное хранилище, в которое помещаются подозрительные (в некоторых случаях определенно инфицированные) файлы и приложения до момента вынесения в их отношении окончательного вердикта.
В зависимости от версии и назначения антивирусной программы, она может включать в себя и другие функциональные модули, например компоненты для централизованного администрирования, удаленного управления и т. д.
Сигнатурное детектирование
Современные антивирусные программы используют несколько различных методик обнаружения вредоносных программ в различных сочетаниях. Основная из них это сигнатурное детектирование угроз.
Данный метод детектирования вредоносных программ основывается на создании так называемых сигнатур уникальных цифровых идентификаторов файла, представляющих собой специальный набор байтов и получаемых на основе содержимого исследуемого файла. Фактически сигнатура представляет собой своего рода «отпечаток пальцев» файла с помощью сигнатуры можно однозначно идентифицировать тот или иной файл или приложение.
Сигнатуры собираются в набор, называемый вирусными базами. Вирусные базы антивирусных программ периодически обновляются с целью добавления в них сигнатур новых угроз, исследованных за истекшее с момента последнего обновления время в лаборатории антивирусной компании.
Сигнатуры собираются в набор, называемый вирусными базами. Вирусные базы антивирусных программ периодически обновляются с целью добавления в них сигнатур новых угроз, исследованных за истекшее с момента последнего обновления время в лаборатории антивирусной компании.
В процессе проверки защищаемого устройства антивирусная программа исследует хранящиеся на дисках (или загружаемые из Интернета) файлы и сравнивает результаты исследования с сигнатурами, записанными в антивирусной базе. В случае совпадения такой файл считается вредоносным. Данная методика сама по себе имеет значительный недостаток: злоумышленнику достаточно изменить структуру файла на несколько байт, и его сигнатура изменится. До тех пор, пока новый образец вируса или троянца не попадет в вирусную лабораторию и его сигнатура не будет добавлена в базы, антивирус не сможет распознать и ликвидировать данную угрозу.
Поведенческий анализ
Помимо сигнатурного детектирования большинство современных антивирусных программ используют те или иные механизмы поведенческого анализа. Поведенческий анализ можно отнести к разновидности вероятностного анализа как следует из наименования данного метода, антивирусная программа следит за поведением приложений, и если оно кажется ей «подозрительным», блокирует работу потенциально опасной программы.
Одним из методов безопасного исследования поведения приложения является его запуск в так называемой песочнице (sandbox) защищенном изолированном виртуальном контейнере, из которого приложение не может получить доступ к компонентам ОС и файловой системе. Если поведение программы вызывает у антивируса подозрения например, она пытается встроиться в процессы запущенных приложений (выполнить инжект), модифицировать загрузочную запись, изменить структуру исполняемого файла и т. д., она может быть признана потенциально опасной или вредоносной.
Одним из вариантов поведенческого анализа является, в частности, технология Origin TracingTM, активно применяемая компанией «Доктор Веб» в некоторых программных решениях, например в Антивирусе Dr.Web для Android. В рамках данной технологии для каждого образца вредоносной программы создается специальная запись, описывающая поведение троянца в инфицированной системе. Если приложение, запустившись на устройстве, действует в соответствии с этим шаблоном, оно признается вредоносным. Такой подход позволяет, во-первых, заметно сократить объем вирусных баз (поскольку одной записью в этом случае детектируется целое семейство вредоносных программ), а во-вторых, успешно определять еще неизвестные аналитикам угрозы: если поведение приложения укладывается в эталонную модель, оно будет обезврежено вне зависимости от того, попадал раньше этот образец в вирусную лабораторию на анализ или нет. Нужно отметить, что в мобильной операционной системе Android, где у вредоносных программ (в отличие от Windows) не так много свободы действий, этот метод работает весьма эффективно. Все угрозы с префиксом «origin», детектируемые на смартфонах и планшетах Антивирусом Dr.Web для Android, обезвреживаются при помощи технологии Origin TracingTM.