Дискуссии о том, нужны ли антивирусы, или они совершенно бесполезны, не утихают с момента появления самих антивирусных приложений. Примерно столько же длится непрекращающаяся борьба между вирмейкерами и производителями защитного ПО: одни постоянно изобретают все новые и новые алгоритмы детектирования, другие стремятся во что бы то ни стало их обойти.
Как работают современные антивирусные программы и какие методы используют злоумышленники для борьбы с ними? Об этом — сегодняшняя статья.
Применительно к современным антивирусным технологиям само понятие «антивирус» — это скорее дань моде, нежели термин, правильно отражающий суть вещей. Классические файловые вирусы, то есть вредоносные программы, способные заражать исполняемые файлы или динамические библиотеки и распространяться без участия пользователя, сегодня очень большая редкость. Подавляющее большинство встречающихся сейчас в «дикой природе» вредоносов — это трояны, не способные ни к заражению файловых объектов, ни к саморепликации. Чуть реже в руки аналитиков попадаются черви: эти программы могут создавать свои копии на съемных носителях или сетевых дисках, «расползаться» по сети или каналам электронной почты, но файлы заражать не умеют. Все остальные традиционные категории вредоносного ПО отличаются друг от друга лишь базовым набором функций, но по своей архитектуре могут быть сведены к этим трем группам.
Как образцы вредоносов попадают в вирусные лаборатории? Каналов поступления новых семплов у антивирусных компаний традиционно несколько. Прежде всего, это онлайн-сервисы вроде VirusTotal, то есть серверы, на которых любой анонимный пользователь может проверить детектирование произвольного файла сразу десятком самых популярных антивирусных движков. Каждый загруженный образец вне зависимости от результатов проверки автоматически отправляется вендорам для более детального исследования.
Очевидно, что с подобных ресурсов в вирусные лаборатории прилетает огромный поток мусора, включая совершенно безобидные текстовые файлы и картинки, поэтому на входе он фильтруется специально обученными роботами и только после этого передается по конвейеру дальше. Этими же сервисами успешно пользуются небольшие компании, желающие сэкономить на содержании собственных вирусных лабораторий. Они тупо копируют в свои базы чужие детекты, из-за чего регулярно испытывают эпические фейлы, когда какой-нибудь вендор в шутку или по недоразумению поставит вердикт infected на тот или иной компонент такого антивируса, после чего тот радостно переносит в карантин собственную библиотеку и с грохотом валится, вызывая баттхерт у пользователей и истерический хохот у конкурентов.
Второй канал — «самотек», подозрительные файлы, которые пользователи передают в вирлаб через сайт антивирусной компании, по запросу службы поддержки или выгружают из карантина. Третий канал — ханипоты, специальные приманки для вирмейкеров в виде виртуальных серверов с открытыми наружу портами и логинами-паролями вроде root/root, куда некоторые ботоводы радостно заливают свои творения, дивясь криворукости админов. Наконец, четвертый путь — обмен базами между самими вендорами, но в последние годы в силу обострившейся конкуренции на рынке и сузившейся кормовой базы кооперация между антивирусными компаниями практически сошла на нет.
После того как семпл попадает в вирусную лабораторию, он сортируется по типу файла и исследуется автоматическими средствами аналитики, которые могут установить вердикт по формальным или техническим признакам — например, по упаковщику. И только если роботам раскусить вредоноса не удалось, он передается вирусным аналитикам для проведения инструментального или ручного анализа.
Антивирусные программы различных производителей включают в себя разное число компонентов, и даже более того, одна и та же компания может выпускать несколько версий антивируса, включающих определенный набор модулей и ориентированных на различные сегменты рынка. Например, некоторые антивирусы располагают компонентом родительского контроля, позволяющего ограничивать доступ несовершеннолетних пользователей компьютера к сайтам определенных категорий или регулировать время их работы в системе, а некоторые — нет. Так или иначе, обычно современные антивирусные приложения обладают следующим набором функциональных модулей:
Современные антивирусные программы используют несколько методик обнаружения вредоносных программ в различных их сочетаниях. Основная из них — это сигнатурное детектирование угроз.
Данный метод детектирования малвари основывается на создании так называемых сигнатур — уникальных цифровых идентификаторов файла, представляющих собой специальный набор байтов и получаемых на основе содержимого исследуемого файла. Фактически сигнатура — это своего рода «отпечаток пальцев» файла: с помощью сигнатуры можно однозначно идентифицировать тот или иной файл или приложение. Схожим образом устроены хеши файлов, например SHA-1 или SHA-256, — при этом под хешированием в данном случае понимается преобразование содержимого файла с использованием однонаправленной математической функции (алгоритма криптографического хеширования), в результате которого получается уникальный набор шестнадцатеричных символов. Однонаправленной такая функция называется потому, что получить из файла хеш очень просто, а вот восстановить из хеша исходный файл уже невозможно. Вирусная сигнатура устроена несколько сложнее: помимо хеша, она содержит еще целый ряд уникальных признаков файла.
Сигнатуры собираются в блок данных, называемый вирусными базами. Вирусные базы антивирусных программ периодически обновляются, чтобы добавить в них сигнатуры новых угроз, исследованных за истекшее с момента последнего обновления время.
Антивирусная программа исследует хранящиеся на дисках (или загружаемые из интернета) файлы и сравнивает результаты исследования с сигнатурами, записанными в антивирусной базе. В случае совпадения такой файл считается вредоносным. Данная методика сама по себе имеет значительный недостаток: злоумышленнику достаточно изменить структуру файла на несколько байтов, и его сигнатура изменится. До тех пор пока новый образец вредоноса не попадет в вирусную лабораторию и его сигнатура не будет добавлена в базы, антивирус не сможет распознать и ликвидировать данную угрозу.
Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.
Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке
1 год7590 р. Экономия 1400 рублей! |
1 месяц720 р. 25-30 статей в месяц |
Уже подписан?
Читайте также
Последние новости