VBA32 v3.12.6.8. Тест-обзор
На сегодняшний день существует большой выбор антивирусных продуктов от различных производителей. Сделать правильный выбор порой очень сложно, да и не каждый способен на это. Порой, доверяя рекламным трюкам, чаша весов перевешивает в сторону отнюдь не лучшего антивируса, вследствие чего приходится жалеть о своем выборе. Именно это подвигло меня на написание обзора одного из лидеров в этой индустрии. Сегодня им стал продукт под названием VBA32 от белорусской компании "ВирусБлокАда".
Интерфейс
Сразу после того, как мы перезагрузим компьютер по требованию инсталлятора, если щелкнуть по мигающей иконке в трее, можно будет наблюдать инициализацию управляющего центра, через который в дальнейшем будет настраиваться вся работа Антивируса. Первым делом он начинает проверять запущенные процессы, загрузочные сектора и потенциально опасные места на диске, где могут находиться вредоносные программы (рис. 1). После завершения проверки системы начнет запускаться сам Диспетчер VBA32 (управляющий центр). На его вкладках мы можем найти параметры инициализации, а также дополнительные настройки (Введение Log-файла, выключение звукового оформления, язык интерфейса, а также есть возможность указать сервер обновлений). В главном же окне находится меню, позволяющее быстро перейти к настройкам каждой антивирусной компоненты, а именно: Монитор, Сканер, Карантин. Также существует весьма полезная опция, позволяющая установить пароль на изменение настроек Антивирусной Системы (рис. 2).
Настройки самого монитора достаточно обширны. Можно разрешить проверять файлы с определенным расширением либо же, наоборот, исключить некоторые типы из процесса сканирования. Очень гибко настраивается модель поведения монитора при выявлении угрозы, регулирование уровня анализа, ну и, наконец, вывод подробной статистики работы. Настройки же сканера, мало чем отличаются от настроек Монитора, поэтому не имеет смысла опять их расписывать. В качестве объектов сканирования можно выбрать отдельные диски/папки, в работе он выглядит примерно как на рис. 3. Карантин обладает всем набором необходимых функций. Помимо этого, есть возможность хранения файлов, помещенных на карантин на удаленном сервере. Собственно, на этом можно заканчивать рассматривать оболочку антивируса и перейти к тестированию его внутренних механизмов. В заключение лишь добавлю, что оболочка продукта выполнена весьма удачно, обладает гибкими настройками, интуитивно понятным и не перегруженным графикой интерфейсом.
Внутренние механизмы
Первое, что мне бросилось в глаза после установки антивируса, — это то, что вместе с ним устанавливается несколько драйверов режима ядра. Один из них предназначен в первую очередь для самозащиты антивируса. Все это осуществляется перехватом стандартного набора Native Api функций. К сожалению, эта техника защиты достаточно известна и так же часто применяется в руткитах, поэтому нейтрализовать ее не составляет особого труда. После снятия перехватов антивирус не пытается их восстановить, из-за чего может быть с легкостью завершен стандартными средствами. Что ж, раз уж речь зашла о руткитах, то не обойдем стороной механизмы противодействия им. Для начала мной был сделан тестовый руткит, работающий в user-mode. Основная задача, возложенная на него, — сокрытие файла с известной вирусной сигнатурой на жестком диске. После активации руткита файл действительно исчез, и антивирусный монитор не сигнализировал о наличии подозрительного объекта. Но в конечном итоге антивирус обмануть не удалось, т.к. при сканировании папки со скрытым вирусом VBA32 успешно обнаружил его (антивирус также использует свой драйвер для низкоуровневой работы с файловой системой — именно это помогло обнаружить руткит). На следующем этапе была использована уже более продвинутая технология kernel- mode-руткитов. В качестве первого примера был взят руткит, использующий технологию DKOM (Direct Kernel Object Manipulation). Основная задача тестового варианта — сокрытие вредоносного процесса. На этом этапе VBA32 сразу же обнаружил скрытый процесс (не стоит забывать, что проверка памяти выполняется в момент инициализации Антивирусного комплекса либо во время инициализации Сканера, кроме того, опции режима проверки памяти должно быть присвоено значение Полная или Избыточная) (рис. 4).
Далее было решено проверить, как VBA реагирует на концептуальные методики сокрытия. Простым и ясным примером служит утилита HideToolz. Она не представляет собой что-то вредоносное, но вовсю использует продвинутые руткит-технологии. К сожалению, здесь VBA не смог ничего противопоставить ухищрениям, которые использует данная программа. Сигнатурный сканер повел себя намного лучше. Для теста была взята коллекция из 6000 вирусов и самая свежая антивирусная база на момент тестирования (08.07.08). Было обнаружено и обезврежено порядка 87%. Вполне хороший результат, учитывая тот факт, что в коллекцию входили экземпляры, которые уже неактуальны для ОС Windows (почти все оставшиеся 13% составляли именно эти вирусы). Причем тест на более свежей коллекции, состоящей из 140 вирусов, дал лучшие результаты (103 определено при помощи сигнатур, 24 — при помощи эвристики). Именно в этом сканировании VBA32 неплохо проявил эвристику — он смог не только опознать неизвестный вирус, но и в некоторых случаях определить семейство, которому он принадлежит. Скрипт-Фильтр также проявил себя в испытании надежно и блестяще блокировал все угрозы. Несомненно, порадовало то, что разного рода попытки изменить код скрипта не смогли сбить VBA с толку. На заключительном этапе было решено проверить возможности эмулятора VBA32. Для теста было взято 50 полиморфных вирусов старого образца (включая полиморфные модификации одного и того же вируса), а также 10 вирусов, выбранных случайным образом из коллекции для проверки сигнатурного сканера (все 10 вирусов были обнаружены на предыдущих этапах) и набор из упаковщиков исполняемых файлов, статических и полиморфных крипторов. В первом случае было обнаружено 42 из 50 вирусов — достаточно неплохая статистика. А теперь самое интересное. На втором этапе этого теста 10 (как уже ранее говорилось, взятых из предыдущего теста сигнатурного сканера) вирусов были обработаны упаковщиками, результат — 10 из 10. Накрыты Статическими крипторами, результат — 10 из 10. Всевозможные комбинации статических крипторов и упаковщиков — и снова результат был 10 из 10. Основываясь на вышеизложенных результатах, можно сделать вывод, что среди внутренних механизмов VBA присутствует так называемый Generic Unpacker (механизм, позволяющий распаковывать неизвестные крипторы и упаковщики), основанный на эмуляторе кода.
Итоги
Ну вот и пришло время подвести итоги тест-обзора антивирусной системы VBA32. Несмотря на то, что монитор успешно выполняет свои функции, ему однозначно не хватает возможностей проактивной защиты. Претензий в сторону сигнатурного сканера нет, т.к. результаты, показанные во время тестирования, оказались вполне удовлетворительными. За все время тестирования эвристика почти не давала ложных срабатываний (был единичный случай, но он оправдан, ибо подозреваемый объект обладал всеми признаками Trojan-Dropper-подобной программы). Антируткит-технологии пока еще не доведены до ума — связанно это с тем, что разработчики только недавно стали внедрять данные методики и не успели охватить некоторые методы сокрытия. Судя по всему, также имеется база процедур распаковки, которая в совокупности с эмулятором кода способна обнаружить полиморфные вирусы или же вирусы, защищенные неизвестными крипторами. В целом продукт VBA32 выполнен в лучших традициях классических антивирусных систем и является одной из наилучших реализаций компромисса между скоростью работы и предоставляемым уровнем безопасности.
Ne0n, q@sa-sec.org
Интерфейс
Сразу после того, как мы перезагрузим компьютер по требованию инсталлятора, если щелкнуть по мигающей иконке в трее, можно будет наблюдать инициализацию управляющего центра, через который в дальнейшем будет настраиваться вся работа Антивируса. Первым делом он начинает проверять запущенные процессы, загрузочные сектора и потенциально опасные места на диске, где могут находиться вредоносные программы (рис. 1). После завершения проверки системы начнет запускаться сам Диспетчер VBA32 (управляющий центр). На его вкладках мы можем найти параметры инициализации, а также дополнительные настройки (Введение Log-файла, выключение звукового оформления, язык интерфейса, а также есть возможность указать сервер обновлений). В главном же окне находится меню, позволяющее быстро перейти к настройкам каждой антивирусной компоненты, а именно: Монитор, Сканер, Карантин. Также существует весьма полезная опция, позволяющая установить пароль на изменение настроек Антивирусной Системы (рис. 2).
Настройки самого монитора достаточно обширны. Можно разрешить проверять файлы с определенным расширением либо же, наоборот, исключить некоторые типы из процесса сканирования. Очень гибко настраивается модель поведения монитора при выявлении угрозы, регулирование уровня анализа, ну и, наконец, вывод подробной статистики работы. Настройки же сканера, мало чем отличаются от настроек Монитора, поэтому не имеет смысла опять их расписывать. В качестве объектов сканирования можно выбрать отдельные диски/папки, в работе он выглядит примерно как на рис. 3. Карантин обладает всем набором необходимых функций. Помимо этого, есть возможность хранения файлов, помещенных на карантин на удаленном сервере. Собственно, на этом можно заканчивать рассматривать оболочку антивируса и перейти к тестированию его внутренних механизмов. В заключение лишь добавлю, что оболочка продукта выполнена весьма удачно, обладает гибкими настройками, интуитивно понятным и не перегруженным графикой интерфейсом.
Внутренние механизмы
Первое, что мне бросилось в глаза после установки антивируса, — это то, что вместе с ним устанавливается несколько драйверов режима ядра. Один из них предназначен в первую очередь для самозащиты антивируса. Все это осуществляется перехватом стандартного набора Native Api функций. К сожалению, эта техника защиты достаточно известна и так же часто применяется в руткитах, поэтому нейтрализовать ее не составляет особого труда. После снятия перехватов антивирус не пытается их восстановить, из-за чего может быть с легкостью завершен стандартными средствами. Что ж, раз уж речь зашла о руткитах, то не обойдем стороной механизмы противодействия им. Для начала мной был сделан тестовый руткит, работающий в user-mode. Основная задача, возложенная на него, — сокрытие файла с известной вирусной сигнатурой на жестком диске. После активации руткита файл действительно исчез, и антивирусный монитор не сигнализировал о наличии подозрительного объекта. Но в конечном итоге антивирус обмануть не удалось, т.к. при сканировании папки со скрытым вирусом VBA32 успешно обнаружил его (антивирус также использует свой драйвер для низкоуровневой работы с файловой системой — именно это помогло обнаружить руткит). На следующем этапе была использована уже более продвинутая технология kernel- mode-руткитов. В качестве первого примера был взят руткит, использующий технологию DKOM (Direct Kernel Object Manipulation). Основная задача тестового варианта — сокрытие вредоносного процесса. На этом этапе VBA32 сразу же обнаружил скрытый процесс (не стоит забывать, что проверка памяти выполняется в момент инициализации Антивирусного комплекса либо во время инициализации Сканера, кроме того, опции режима проверки памяти должно быть присвоено значение Полная или Избыточная) (рис. 4).
Далее было решено проверить, как VBA реагирует на концептуальные методики сокрытия. Простым и ясным примером служит утилита HideToolz. Она не представляет собой что-то вредоносное, но вовсю использует продвинутые руткит-технологии. К сожалению, здесь VBA не смог ничего противопоставить ухищрениям, которые использует данная программа. Сигнатурный сканер повел себя намного лучше. Для теста была взята коллекция из 6000 вирусов и самая свежая антивирусная база на момент тестирования (08.07.08). Было обнаружено и обезврежено порядка 87%. Вполне хороший результат, учитывая тот факт, что в коллекцию входили экземпляры, которые уже неактуальны для ОС Windows (почти все оставшиеся 13% составляли именно эти вирусы). Причем тест на более свежей коллекции, состоящей из 140 вирусов, дал лучшие результаты (103 определено при помощи сигнатур, 24 — при помощи эвристики). Именно в этом сканировании VBA32 неплохо проявил эвристику — он смог не только опознать неизвестный вирус, но и в некоторых случаях определить семейство, которому он принадлежит. Скрипт-Фильтр также проявил себя в испытании надежно и блестяще блокировал все угрозы. Несомненно, порадовало то, что разного рода попытки изменить код скрипта не смогли сбить VBA с толку. На заключительном этапе было решено проверить возможности эмулятора VBA32. Для теста было взято 50 полиморфных вирусов старого образца (включая полиморфные модификации одного и того же вируса), а также 10 вирусов, выбранных случайным образом из коллекции для проверки сигнатурного сканера (все 10 вирусов были обнаружены на предыдущих этапах) и набор из упаковщиков исполняемых файлов, статических и полиморфных крипторов. В первом случае было обнаружено 42 из 50 вирусов — достаточно неплохая статистика. А теперь самое интересное. На втором этапе этого теста 10 (как уже ранее говорилось, взятых из предыдущего теста сигнатурного сканера) вирусов были обработаны упаковщиками, результат — 10 из 10. Накрыты Статическими крипторами, результат — 10 из 10. Всевозможные комбинации статических крипторов и упаковщиков — и снова результат был 10 из 10. Основываясь на вышеизложенных результатах, можно сделать вывод, что среди внутренних механизмов VBA присутствует так называемый Generic Unpacker (механизм, позволяющий распаковывать неизвестные крипторы и упаковщики), основанный на эмуляторе кода.
Итоги
Ну вот и пришло время подвести итоги тест-обзора антивирусной системы VBA32. Несмотря на то, что монитор успешно выполняет свои функции, ему однозначно не хватает возможностей проактивной защиты. Претензий в сторону сигнатурного сканера нет, т.к. результаты, показанные во время тестирования, оказались вполне удовлетворительными. За все время тестирования эвристика почти не давала ложных срабатываний (был единичный случай, но он оправдан, ибо подозреваемый объект обладал всеми признаками Trojan-Dropper-подобной программы). Антируткит-технологии пока еще не доведены до ума — связанно это с тем, что разработчики только недавно стали внедрять данные методики и не успели охватить некоторые методы сокрытия. Судя по всему, также имеется база процедур распаковки, которая в совокупности с эмулятором кода способна обнаружить полиморфные вирусы или же вирусы, защищенные неизвестными крипторами. В целом продукт VBA32 выполнен в лучших традициях классических антивирусных систем и является одной из наилучших реализаций компромисса между скоростью работы и предоставляемым уровнем безопасности.
Ne0n, q@sa-sec.org
Компьютерная газета. Статья была опубликована в номере 26 за 2008 год в рубрике soft