Содержание статьи
В *nix-системах антивирус всегда был опциональным компонентом, а у пользователей Windows даже с ним остается шанс, что в их систему проскользнет неизвестный зловред. Эвристика и проактивная защита тоже не панацея. При мягких настройках они пропускают многие потенциально опасные программы, а при параноидальных — ругаются на все подряд и парализуют нормальную работу. Режим обучения может длиться вечно, поскольку программная среда постоянно меняется.
Казалось бы, можно установить второй, третий, десятый антивирус и повысить свою защиту, мирясь с избыточностью. Вероятность того, что зловред не будет опознан ни одним из них, по идее, должна быть меньше. Однако на практике все наоборот: каждый современный антивирус содержит резидентный модуль и средства самозащиты, которые несовместимы с аналогичными разработками других компаний. Если ты детально представляешь механизм их работы и планируешь вручную устранять конфликты, то нужно быть готовым к тому, что проблемы возникнут сразу во время установки: когда инсталлятор одного антивируса находит в системе другой, то обычно он просто отказывается продолжать установку.
Есть более универсальный и безопасный способ проверить любой подозрительный файл сразу по нескольким базам — отправить его на автоматический анализ в одну из специализированных служб. Они отличаются возможностями, но принцип работы у всех один и тот же. На удаленном сервере запущено несколько виртуальных машин, в которых параллельно проверяется присланный файл. Помимо полусотни антивирусов, современные сервисы бесплатно предоставляют расширенный анализ, отчет о репутации файла или сайта, а также имеют возможность выполнения повторной проверки и просмотра предыдущих результатов. Поскольку у файлов могут быть разные имена при одинаковом содержимом, их идентификация выполняется по контрольным суммам. Для этого используются хеш‑функции MD5, SHA-256 и другие.
Великолепная четверка
VirusTotal (https://www.virustotal.com/ru/) — самая известная среди бесплатных онлайновых служб многоуровневой антивирусной проверки. Она была создана десять лет назад испанской фирмой Hispasec Sistemas. Осенью 2012 года ее выкупила компания Google, но для пользователей практически ничего не изменилось. Во всяком случае, в худшую сторону. Как и прежде, сервис выполняет анализ подозрительных файлов и ссылок на предмет наличия в них вирусов, червей, троянов и фрагментов вредоносного кода другого типа. Поддерживается анализ любого бинарного кода: исполняемых файлов Windows, пакетов APK для Android, документов PDF, скриптов и так далее. Для проверки в настоящее время используется 53 антивируса, 15 утилит глубокого автоматического анализа (включая SandBox, Snort, Wireshark и другие) плюс 61 репутационная база данных веб‑сайтов. Весь арсенал обновляется каждый час. Интерфейс переведен на 32 языка, включая русский. Ограничения на размер файла — 128 Мб, однако по индивидуальному запросу можно попросить проанализировать файлы и большего объема. Вариантов отправки на VirusTotal больше, чем у любого подобного ресурса. Это может быть традиционная веб‑форма, электронная почта, собственный клиент загрузки или модуль для отправки по HTTP через открытый API из любого стороннего приложения.
Основной конкурент VirusTotal — это Metascan online (https://www.metascan-online.com), бесплатный сервис анализа файлов производства американской компании OPSWAT. Она была основана в 2002 году и предлагает чуть менее жесткие ограничения: на анализ можно прислать файл объемом до 140 Мб. Проверять его будут 42 антивируса. Их общее количество хоть и меньше, чем у VirusTotal, но включает некоторые отсутствующие там программы: сейчас это Preventon, STOPzilla, VirIT, XVIRUS, Zillya и Zoner. Репутационный список гораздо скромнее — всего 13 источников, однако среди них тоже есть уникальные, такие как Brute Force Blocker, Chaos Reigns, Dragon Research Group, Feodo Tracker, The Spamhaus Project и OpenBL. Таким образом, наборы средств для проверки у VirusTotal и Metascan не полностью дублируют друг друга. На практике целесообразно использовать оба ресурса для получения расширенных результатов анализа.
Менее известен Jotti virusscan.jotti.org/ru — бесплатный онлайновый сканер, использующий 22 антивируса (только те, у которых есть версия для Linux). Максимальный объем загружаемого файла здесь очень мал — всего 25 Мб, но этого обычно хватает для анализа отдельных exe и dll. Набор средств анализа у Jotti скромен и полностью перекрывается сервисами VirustTotal и Metascan. Хорошо знать о нем на случай, если другие недоступны, но на практике сам он оказывается перегружен запросами гораздо чаще.
Еще один подобный проект — VirSCAN virscan.org. Ограничения на максимальный размер загружаемых файлов в нем совсем жесткие — 20 Мб, однако сервис поддерживает анализ архивов в форматах RAR и ZIP. Правда, лишь при условии, что внутри архива находится не более 20 файлов. Почему разработчики так любят число 20 — загадка.
Загрузке файла на любой из перечисленных сервисов может помешать антивирус, установленный локально или на стороне провайдера. В первый можно добавить временное исключение, а для обхода второго — использовать парольную защиту архива. VirSCAN автоматически распаковывает архивы с паролями virus и infected. В настоящее время сервис использует 39 антивирусов, но примерно треть из них сильно устарела. Десять сканеров не обновлялись с прошлого года, а базы AhnLab и CTCH датируются 2013 годом. Оставшиеся 27 актуальных сканеров полностью дублируются у VirustTotal и Metascan, где базы обновляются постоянно.
Полевые испытания
Сравнивать заявленные характеристики сервисов не так интересно, как проверять их на практике. Конечно, я не претендую на уровень сравнительного тестирования аналитической компании, но мой небольшой эксперимент все же дал некоторые результаты.
Для начала я запустил в виртуальной машине чистую Windows XP и устроил веб‑серфинг в IE. Честное извращенское, я кликал на все подряд, и тем охотнее, чем гаже выглядел баннер. Примерно за полчаса в кеше браузера набралось несколько вредоносных Java-скриптов и пара мелких троянов.
Подумав, что это как‑то несерьезно, я отправился на охоту, вооружившись хитрой флешкой. Хитрость заключалась в том, что при помощи команды mkdir
на ней был создан каталог AUTORUN.INF и подкаталог LPT5. Имя последнего совпадает с идентификатором параллельного порта, поэтому штатными средствами ОС Windows такую запись (и все связанные с ней) в файловой системе нельзя ни создать, ни переименовать, ни удалить.
Соответственно, вирусы с чужих компьютеров будут спокойно копироваться на флешку, но не будут представлять угрозы до их ручного запуска. Они не станут заражать другие компьютеры автоматически, так как не смогут создать файл autorun.inf и прописать себя на автозапуск. После посещения пары вузов, интернет‑центра городской библиотеки и компьютерного клуба (да, они еще существуют!) тестовый набор был готов.
В архив вошли шесть представителей разных вредоносных семейств, включая троян, бэкдор, пару сетевых червей, упакованный вирус для Win32 и одну «нежелательную программу» — SFX-архив с паролем, вымогающий деньги за свою распаковку. Это не результат работы трояна‑шифровальщика, а банальный социальный инжиниринг. Поиск по сайтам антивирусных компаний показал, что все тестовые объекты были добавлены в базы данных более двух лет назад. Как видишь, их копии встречаются до сих пор.
Тем любопытнее, что при проверке с помощью VirusTotal «показатель выявления» составил 48 из 53 (bit.ly/14Nc3YB). Пять антивирусов не заметили ни одного из шести зловредов в архиве.
Здесь нужно пояснить, что AegisLab ищет только угрозы для Android (в тесте их не было), поэтому его вердикт понятен. SUPERAntiSpyware нацелена преимущественно на рекламные модули и ожидаемо плохо справляется с троянами. ByteHero вообще не использует базы, а опирается на эвристический алгоритм. Как покажет дальнейшее тестирование, проблема заключается не в качестве его эвристики, а в некорректной распаковке архивов на выделенной ему у VirusTotal виртуальной машине.
Что до AhnLab V3 и MicroWorld-eScan, то полный провал удивителен. Оба антивируса позиционируются как комплексные решения для обеспечения безопасности на разных платформах, но проморгали все шесть угроз и сочли архив безопасным. Еще один сканер (Sophos) был недоступен на момент теста (видимо, обновлялся), а все остальные указали в результатах имя первого зараженного файла.
Загружаем тот же архив в Metascan. В первую очередь сервис порадовал детальностью отчета: он единственный показал на отдельной вкладке статистику обнаружения для каждого распакованного файла. Полностью безопасным архив сочли лишь два антивируса: Tencent и Xvirus (bit.ly/1DR9CQd). Обрати внимание: ByteHero здесь обнаружил вредоносный код, но не смог этого сделать при анализе того же архива на VirusTotal. Видимо, у этих сервисов есть свои особенности распаковки. Пока архивы лучше слать на Metascan.
Скромный сервис Jotti дал стопроцентно верный вердикт зараженному архиву. По количеству сканеров он уступает другим ресурсам онлайнового анализа, но в его подборку вошли действительно проверенные решения. Статистика здесь, правда, не такая детальная, как у Metascan.
Только Eset NOD32 рапортовал об обнаружении множественных угроз (без расшифровки), в то время как остальные ограничились упоминанием первого зараженного файла (bit.ly/1y5BBNr).
Сервис VirSCAN оказался самым капризным. При выборе русского или английского языка интерфейса он продолжал показывать сообщение на китайском. Оказывается, ему не нравится имя архива, содержащее буквы AV. Без Google Translate я бы этого никогда не узнал.
После игр с переименованием (список некошерных имен нигде не указан) наконец‑то удалось отправить файл на анализ. Из 39 сканеров 34 сочли архив зараженным (bit.ly/1ss2V5N). По понятным причинам ничего не нашли только антивирусы для Android и откровенно китайские поделки (jiangmin, hauri, pcc). Информативность отчета средняя: как обычно, в строке результата указывается только имя первого из обнаруженных зловредов.
Образцом того, как не надо выполнять облачный анализ, стал сервис IObit Cloud (cloud.iobit.com). В его отчете вообще не было никакой информации, кроме невнятного статуса «риск» и очевидных вещей. Тип присланного файла, его размер и контрольные суммы были известны заранее. Чем проверялось и с каким результатом — великая тайна!
Хакер #193. Вардрайвинг на расстоянии
Прицельный огонь
При желании можно выполнить проверку и конкретным антивирусом. Такая услуга обычно доступна на сайте его разработчика, но способ ее предоставления может быть разным.
Первой сервис бесплатной онлайновой проверки (в 1996 году) создала отечественная компания Dr.Web. Форма для анализа файлов по‑прежнему доступна по ссылке www.freedrweb.ru/aid_admin.
Проверку в облачной системе автоматизированного анализа можно выполнить и у Comodo (camas.comodo.com). Отвечает за нее сервис Instant Malware Analyzer, использующий фирменную технологию CAMAS (Comodo Automated Malware Analysis System). Код загруженных файлов проверяется по сигнатурным совпадениям, а затем его поведение анализируется в виртуальной среде. Если файл имеет признаки вредоносных программ, то он будет добавлен в глобальный черный список и передан аналитикам.
Другую разновидность составляют утилиты, способные проверять, помимо отдельных файлов, активные процессы в ОЗУ компьютера, локальные и сетевые диски. Например, ЕSET Online Scanner может быть как запущен в окне IE, так и загружен в виде отдельного клиентского приложения. Настроек в нем доступно больше, чем у многих бесплатных антивирусов.
Подобным образом работает Kaspersky Security Scan. Приложение выполняет поиск вредоносных программ и компонентов, но в отчете также перечисляет еще и найденные уязвимости, а также оценивает состояние защитного ПО.
Bitdefender QuickScan предлагает самую быструю облачную антивирусную проверку запущенных на компьютере процессов. Он определяет активный вредоносный код примерно за минуту, но не выполняет глубокий анализ файловой системы.
Trend Micro HouseCall — бесплатная утилита для поиска и удаления вирусов, троянов, бэкдоров и компонентов назойливой рекламы. Есть версии для ОС с разрядностью 32 или 64 бита.
Из множества других можно отметить Panda ActiveScan и F-Secure Online Scanner.
Спецназ
В 2005 году на базе пяти технических университетов разных стран была учреждена организация The International Secure Systems Lab. Ее коллектив разработал специфические утилиты для анализа файлов, на базе которых затем создали общедоступные веб‑сервисы — Wepawet и Anubis.
Wepawet (wepawet.iseclab.org) проверяет типичное содержимое веб‑сайтов (Flash, JavaScript и PDF). Присланные файлы анализируются по собственному алгоритму для выявления подозрительной сетевой активности, наличия известных эксплойтов, вредоносных компонентов ActiveX и других неблагонадежных фрагментов исполняемого кода.
Anubis (anubis.iseclab.org) анализирует исполняемые файлы Windows, пакеты Android APK и подозрительные ссылки.
Это экспериментальные проекты, ориентированные в первую очередь на программистов, веб‑дизайнеров и других профессионалов.
И немного об анонимности
Результаты проверки бесплатными онлайновыми сканерами становятся доступны всем пользователям, а копии подозрительных файлов отправляются разработчикам антивирусных программ. Если по какой‑то причине тебе понадобилось выполнить проверку без огласки, то некоторые сервисы готовы предоставить подобные услуги конфиденциально, но уже за деньги. Проблема в том, что гарантий здесь никаких, а деньги настоящие. Например, на Scan4You.net обещается проверка присланных файлов 35 антивирусами и введенных ссылок по 32 пополняемым черным спискам. Насколько это соответствует действительности — неизвестно.
Теоретически такой сервис может пригодиться для сравнительного тестирования антивирусов или для того, чтобы не потерять конкурентное преимущество при разработке своего. Движок антивирусного сканера можно лицензировать (сегодня это частая практика), а вот база с сигнатурами актуальных зловредов — ценная интеллектуальная собственность. К тому же перед релизом любой программы полезно проверить реакцию антивирусов на нее. Ложные срабатывания могут быть на упаковщики исполняемых файлов, общие компоненты или не самую аккуратную реализацию сетевых функций. Вдруг ты написал «вирус» и даже не знаешь об этом?