Мы знаем, как правильно тестировать ПО для обеспечения ИБ, но пока на рынке такие тесты не востребованы. Тестирование антивирусных продуктов всегда было непростым делом. Самые сильные участники этого бизнеса постоянно улучшают стандарты в данной области, что поднимает планку в тестировании.
Наиболее известные стандарты тестирования сегодня стремительно теряют свою ценность для пользователей. Тесты WildList и VB100 существуют сегодня благодаря традиции, участники рынка просто не хотят “раскачивать лодку”. Но эти традиции постепенно утрачивают свое значение. Инновационное тестирование будет в состоянии улучшить показатели способности средств защиты обнаруживать вредоносный код и того, насколько качественно они это делают. Такие компании, как TrendMicro, уже отказались от VB100, а вот Symantec его полностью поддерживает.
Большинство нововведений по тестированию вредоносного кода появляется в Германии (сложно сказать почему). Андреас Маркс из компании AV-Test не только разрабатывает самые современные антивирусные программы и проводит тестирование, но еще и активно пишет на эту тему статьи. Посмотрите материалы конференции “AVAR 2007”, проходившей в Сеуле, в разделе “Статьи по антивирусным тестам”. В его статье “Testing of “Dynamic Detection” обсуждаются многие проблемы, с которыми сегодня сталкиваются тестеровщики антивирусного ПО.
В фокусе традиционных методов всегда были количественные показатели. Во многом это определяется политикой тех журналов, которые финансируют большую часть тестов. На таком подходе основан AV-Test, он мог протестировать множество продуктов на наличие сотен тысяч образцов вредоносного кода. Однако есть и новые подходы, ориентированные в том числе и на качество.
За последние годы количество вредоносного ПО очень сильно выросло. Соответственно растет и число обновлений антивирусных программ. Большая часть тестов проводится автоматически, что порождает свои требования к тестированию. Например, использование виртуальных машин может существенно повысить скорость тестирования, но некоторое вредоносное ПО способно определить, что его поиск проводится в виртуальной среде, и изменить свое поведение, распознав, что виртуальная машина запущена исследователем-тестеровщиком. Поэтому оптимальным окружением, в котором следует тестировать антивирусные продукты, является обычный настольный, подключенный к Интернету ПК, на котором и должно работать вредоносное ПО.
Производители антивирусных программ рассказывали мне, что в будущем именно так и будет происходить, в отличие от нынешнего тестирования, проводимого в локальной сети (или на ПК, вообще не подключенных к ЛВС, как это делается в соответствие с правилами тестирования WildList). К тому же многие из тестируемых продуктов в процессе работы соединяются с сайтами компаний-производителей не только для обновления списка вирусных сигнатур, но и для корректировки “черных” и “белых” списков ресурсов Интернета.
Следующая большая проблема, находящаяся в фокусе статьи “Testing of “Dynamic Detection”, — эвристическое выявление вредоносного ПО. Я участвовал в попытках создания бенчмарков для эвристического обнаружения, и поверьте мне, это очень большая проблема. Она требует сложных процедур и длительной подготовки. Например, как вы сможете понять, что файл заблокирован из-за вредоносного ПО, а не из-за собственного функционирования? AV-test решает эту проблему, останавливая на время инсталляционные механизмы программы, не давая ей обновляться самостоятельно. Обратная сторона этой ситуации в том, что вы можете тестировать версию программы, эвристический механизм которой на следующей неделе будет отличаться от тестируемого сегодня. Что тогда делать?
Но главная проблема состоит в том, что, когда вы проводите тесты на реальном ПК в реальном окружении и ограничиваете такие параметры, как, например, блокировку обновления антивирусных сигнатур, эвристического механизма, фильтра URL или чего-то еще, то вы не можете автоматизировать процесс тестирования в той же степени, как при простом сканировании файла. По словам Маркса, работая вдвоем, не получается проверять более 50 образцов за два дня, даже при наличии огромного количества вспомогательного ПО. Проводить тестирование с такой скоростью просто не имеет смысла, пока кто-нибудь не оплатит его. Сегодня же тот, кто заказывает тестирование, получает огромный набор поверхностно просканированных образцов вместо небольшого списка реальных угроз, выявленных в реальном рабочем окружении.
Вот к таким выводам я пришел после тестирования огромного числа самых различных продуктов. Тестирование ПО для обеспечения ИБ сегодня представляет собой нечто большее, чем просто сканирование файлов, и старые способы проверки не помогут определить, какие из продуктов здесь лучше других. Мы знаем, что нужно делать, но я чувствую, что на нашем рынке инерция сильнее логики.