Х ТЕСТ: ON DEMAND СКАНИРОВАНИЕ

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
14,886
Реакции
6,796
ПРОВЕРЯЕМ ВОЗМОЖНОСТИ СИГНАТУРНОГО ПОИСКА НА МОДИФИЦИРОВАННЫХ ОБРАЗЦАХ

То, что сигнатурный поиск начинает пасовать в случае небольшой модификации кода вируса, известно уже давно. Надо сказать, что за годы эволюции антивирусы достигли определенных успехов в преодолении этой проблемы, но XXI век принес в стан антивирусов новый порок: в погоне за наградами в «независимых» исследованиях «независимых» лабораторий производители антивирусов начали детектировать вредоносные файлы по MD5-хешам. Результат хороший, вот только один измененный байт в коде малвари приводит к изменению хеша, и файл полностью перестает детектироваться. Кто из современных антивирусов грешит подобным подходом? Проверим в этом исследовании!

d15cd274736107878d0a1c8d82c2bc08.jpg

НЕМНОГО О ТЕСТАХ
Самый распространенный тест антивирусов представляет собой следующее: за некий промежуток времени собирается коллекция файлов (предположительно вредоносных), складывается в папку, а затем она по очереди сканируется разными антивирусами. Все, тест готов. По такой нехитрой канве работают абсолютно все организации и частные лица, которые проводят подобное тестирование (on demand).
Есть в этом подходе и подводные камни:
1. Если коллекция невелика (164, 932, 3022 файла), то это слишком мало — вполне может (случайно) оказаться, что какое-то небольшое семейство (десять файлов) или просто отдельные файлы были антивирусом не задетектированы, и это повлечет за собой очень большую потерю процентов. А у другого наоборот — возможно, он все эти файлы хорошо знает, в результате чего процент детекта подскочит к ста.
2. А как ты будешь на этапе сбора коллекции понимать, что перед тобой вирус и его стоит поместить в коллекцию? Разумеется, в идеале каждый файл нужно запустить в песочнице, убедиться в его рабочем вредоносном функционале и после этого поместить в коллекцию… Здесь мы снова сталкиваемся с ограничением — большую коллекцию таким способом создать трудно. Давай сразу перейдем к методу от противного — разберем, как не надо делать. На многих форумах и сайтах можно встретить выкладываемые небольшие коллекции вирусов (см. первый пункт), после чего участники проверяют архив своими антивирусами и отписываются о результатах. При написании статьи мы в общей сложности скачали более сотни таких коллекций с последующим их ручным и полуручным разбором — и чего только там не было. Чтобы долго не томить читателя, скажем сразу: чуть более половины этих коллекций — мусор. К мусору мы совершенно справедливо относим:
• читы/трейнеры/кейгены/кряки — об этих программах единого мнения у антивирусных компаний нет . Иногда на VirusTotal мы видим, что банальный кряк детектируется 30 антивирусами, а бывают кряки и с пятью детектами (именно кряки, а не склейки с троянами);
• битые файлы — возможно, что оно когда-то и было вирусом, но в процессе путешествия по сетям, крипторам и кривым рукам файл был поврежден и перестал быть работоспособным. Кстати, самый смешной пример из новенького: переслали мы тут коллегам текстовый файл с описаниями вирусов virlist.dwb, который шел со старыми версиями (конец девяностых) одного российского антивируса. Не пропустил его Гугл, объявил вредоносным. Видимо, не понравились куски кода вирусов в этом файле.
Есть общепризнанная adware, которую детектирует вплоть до 40 антивирусов из 50 (по VT). Зависит это от того, кто, как и с кем договорился, как программа распространяется, а также какое настроение у вирусного аналитика было этим утром. Поэтому бывает так: адварь поначалу детектируется двумя-тремя (а то и десятком) антивирусов, а со временем в антивирусных компаниях обращают на них внимание, и количество детектов начинает таять, в результате сокращаясь до трех-четырех эвристических детектов антивирусов десятого эшелона.
Думаю, понятно, что либо такие программы должны проходить отдельной категорией, либо должна быть в тесте «общепринятая» adware — с количеством детектов на VT от 30 (например). Или вот тебе информация из свеженького: окошко «угроза ликвидирована» от «Доктора Веб». При ближайшем рассмотрении оказывается, что это не угроза, а вполне легальная программа (MIRC, он и не отрицает , что это программа), и не ликвидирована, а автоматически проигнорирована. Но окошечко было показано грозное!
3. Редкие программы и непонятные файлы некоторые антивирусы (Avira, Bitdefender) любят добавить в базы под именем типа Kazy. В течение недели эти ложные детекты без следа исчезают: в начале недели в папке он находил 50 зловредов, а к концу только 40 — и это обычная ситуация.
4. «Что не знаю — то вирусяка» — у многих антивирусов есть облака, опираясь на которые они выносят свой вердикт . Некоторые особо хитрые антивирусы неизвестные файлы помечают «желтеньким» — дескать, не знаю что это, но подозрительно. Способ поистине универсальный — по сути, если ему дать развернуться, то ни один вирус даже теоретически не пройдет .

НАШ ХИТРЫЙ ПЛАН
С оглядкой на все вышеперечисленное и имея определенные знания и умения можно видоизменить on demand тест антивирусов и показать, кто «затачивается» под такие тесты и играет нечестно, кто работает добросовестно и добавляют именно вирусы, а не использует bash-скрипт , который детектит по MD5 все подряд.
План относительно прост:
1. Разумеется, проводить тестирование по обычной методологии надо — на этом этапе можно отсеять как явно липовые антивирусы (кто сказал «антивирус Бабушкина»? :)), так и просто откровенно слабые поделки, основной смысл жизни которых — попасть под какие-либо гранты, целевые программы или откатные схемы. Причем с первого взгляда выделить их бывает непросто.
2. Почему Евгений Касперский в свое время упоминал про липовый вирлаб с детектом файлов по MD5? Потому что это просто, быстро, незатратно по человеческим и аппаратным ресурсам и фактически исключает возможность ложных срабатываний (меняем один байт в файле, и в корне меняется его MD5-хеш). Но такой детект был бы раем для хакеров — поменял один байт в вирусе (или при копировании с места на место он бы сам менял его в самом себе), и антивирус его не видит!
Проще говоря, для прохождения тестов такого детекта вполне хватит , а для реальной защиты — нет . Если антивирусная компания широко практикует технологию «детектим глупым, но точным детектом по хешу типа MD5 все, что движется, для прохождения тестов», то для ее обнаружения достаточно взять большую коллекцию вирусов, сбить им хеш (меняем пару незначащих для работо-способности байт — они не должны быть «отличительной чертой» данного вируса, по которой может быть сделана сигнатура), и тогда результаты сканирования будут совсем другими (чем сильнее уменьшится после этого процент обнаружения вирусов из данной коллекции, тем сильнее компания применяет описанную технологию).
Главное — не наткнуться на байты, которые служат той самой «приметой» этого файла. Разумеется, можно забить нулями десять байт на точке входа, но тогда нельзя будет винить антивирус, что он перестал обнаруживать этот файл, — вирус превратился в мусор, и плюс к тому мы изменили те байты, которые могут быть как раз характерными именно для данного семейства.
Поэтому менять байт мы будем в тех местах, которые не являются «приметой» и детектировать по которым при обычном режиме работы никто не будет.
В современном PE-файле остался пережиток прошлого — DOS-заголовок, из которого для нормальной работы используются только несколько байт , а остальные можно редактировать.
Большинство компиляторов заполняют эту «заглушку» примерно сходным образом, там содержится всем знакомая фраза «That program cannot...» — вот в ней мы и будем менять один байт . А для верности запишем еще один байт в конец файла (в оверлей).
3. Крайне важно обнаружить антивирусы, которые считают вирусами практически весь новый/неизвестный софт , а потом, если файл становится популярен, снимают детекты (очень распространенная практика).

Именно по этой причине в комплекте с сигнатурным детектом идет тест на ложные срабатывания, ведь какой толк в антивирусе, который обнаруживает 99% вирусов, но при этом 50% чистых программ тоже считает малварью? Сделать такую поделку до безобразия просто — считаем угрозой все, что не имеет валидной цифровой подписи.

О НАШЕЙ ВИРУСНОЙ КОЛЛЕКЦИИ
Собрано чуть более десяти тысяч образцов исполняемых файлов формата PE. Файлы, которые признаны adware, в тестировании участие не принимали, хакерские утилиты, битые файлы и прочий мусор также были отбракованы на этапе сбора коллекции. Файлы «отлежались» не менее двух недель в теплом и сухом месте, чтобы даже самый ленивый антивирус успел добавить их в свои базы.
По нашим подсчетам, в собранной коллекции «мусора» (в том числе и спорных файлов) осталось не более 1% — косвенным доказательством для читателя может стать крайне высокий уровень детекта сразу у нескольких антивирусов.
Примерный состав коллекции (топ), согласно детектам Касперского:
• 30% HEUR:Trojan.Win32
• 15% Trojan.Win32
• 12% Backdoor.Win32
• 7% Trojan-Downloader. Win32
• 6% Packed.Win32
• 5% Trojan-Dropper.Win32
• 5% Trojan-Spy.Win32
Эта же коллекция подвергалась модификации по указанной выше методологии и сканировалась повторно.
Источники вирусов: спам, антивирусные статьи на разных блогах, даунлоад по ссылкам с malware-трекеров (кстати, содержал рекордный процент мусора), парсинг результатов поисковиков (их пометки зараженных сайтов) и другие. Мини-коллекции по 100 файлов с форумов и популярные архивы VirusSign мы не использовали.

О НАШЕЙ КОЛЛЕКЦИИ ЧИСТЫХ ФАЙЛОВ
C сайтов и торрентов мы скачали «сборники софта» для некоторых профессий — коллекции составлены давно, почти всем файлам больше трех лет (судя по времени их первой заливки на VT). Пакеты известного софта (типа «все версии AutoCad»), мы не качали, а искали сборники более мелкого и специализированного софта — в идеале, чтобы это были наборы разных утилит для конкретных целей (вроде расчета удельной теплоемкости).
Всего мы подготовили чуть больше сотни ехе-файлов (в идеале счет должен идти на тысячи), но даже на этом наборе тенденции проследить можно. Коллекция не секретна (чистые файлы согласно УК РФ распространять можно), спрашивай — поделимся. О том, что из коллекции были убраны хакерские программы и прочие сомнительные файлы (за детект которых нельзя ругать даже чуть- чуть), можно и не повторять.

продолжение в следующем посте.
 
1.jpg
3.jpg

2.jpg

Рис. 1. Результаты первого теста*
Рис. 2. Результаты теста сигнатурного обнаружения после модификации пары байт
Рис. 3. Третий тест: на ложные срабатывания*
* Антивирусы отсортированы по странам

Итак, как же выявить таких бракоделов? Достаточно в тест брать не широко распространенный софт для чтения-печати-соцсетей. Мы возьмем малопопулярные программы — профильный/специализированный софт для представителей прекрасных и уважаемых с детства профессий: врачей, инженеров, спортсменов, учителей, программистов, системных администраторов...
Все просто, но нужно учесть и вычесть следующие моменты:
1. Никаких хакерских утилит (keygen/crack).
2. Не должно быть патченного софта.
3. Долой спорные файлы.

РЕЗУЛЬТАТЫ ТЕСТА СИГНАТУРНОГО ОБНАРУЖЕНИЯ
Первый тест нас не удивил: большинство антивирусов показало близкие и одинаково высокие результаты с разницей в пару процентов. Это логично, ведь если бы он их дал, то это бы говорило о том, что мы где-то ошиблись. Но что же произошло после того, как мы модифицировали два байта в файле?
Как видно из рис. 2, чем выше уровень уменьшения детекта, тем больше антивирус «затачивается» под тесты, а у кого уровень детекта после модификации поменялся мало — те детектируют вирусы более добросовестно. Аутсайдеры — Norton и Nano: на четверть вирусов у них пропадает детект при незначительном изменении файла.
Причем если от Nano такое поведение было вполне ожидаемо и может объясняться его уровнем технологий (на фоне в целом невысокого детекта), то Norton предстает как самый «затачивающийся» антивирус — то есть он обнаруживает по точным хешам вообще все хоть немного подозрительное/неизвестное, включая наш возможный 1% спорных файлов. Зато после самой незначительной модификации файла «сбрасывает» уровень детекта больше, чем все остальные антивирусы первого эшелона, вместе взятые. К сожалению, параноидальный и уважаемый нами Comodo тоже оказался выше всяких «похвал» по результатам этого теста.
Кстати, а может быть, таким способом сбивается только детект на сканировании спокойно лежащего на диске файла, а при его запуске монитор антивируса вдруг «очнется» и обнаружит малварь? Проверим!
«Остатки» выборочно запускались, но антивирусы, как и следовало ожидать, сигнатурным методом ничего не обнаруживали. Нередко срабатывали файрволы и поведенческие анализаторы, но к нашему тесту это не имеет никакого отношения — мы не ставили своей целью показать, кто из антивирусов как часто задает пользователю вопрос о доступе приложения в Сеть. Кстати, проясним момент с сигнатурным детектом при запуске: если правильно задетекченный файл за- криптовать неким криптором до степени пропажи детекта, то при запуске детект может произойти в памяти, когда криптор возвращает код в первоначальное состояние и передает ему управление. то происходит не со всеми крипторами и антивирусами, но такое имеет место быть.

РЕЗУЛЬТАТЫ ТЕСТА НА ЛОЖНЫЕ СРАБАТЫВАНИЯ
Как мы уже отмечали, для получения адекватных результатов теста на ложные срабатывания наша выборка не кажется достаточно обширной. Будем над этим работать, но с результатами на малой выборке ты можешь ознакомиться на рис. 3.
ВЫВОДЫ
В качестве заключения нам не хотелось бы подвергать критике одни антивирусы и возвеличивать другие. Как говорится — разумному достаточно, а если сомневаешься — всегда можешь повторить наше исследование.
 
Доброго дня!
Спасибо за интерес к тесту, его (в смысле интерес) мы отслеживаем, потому мы все увидим, прочитаем, обдумаем.

Небольшой комментарий по оформлению: при переводе из pdf потерялась небольшая, но достаточно важная деталь - расшифровка звездочки к рис1 и рис3. Смысл расшифровки в том, что мы не делали распределения мест внутри группы, т.е есть 8 антивирусов, набравшие в детекте более 97%, но мы не тестировали сигнатурный детект, нам без разницы кто там и что набрал, поэтому в группе мы их отсортировали по алфавиту страны.

Тест крайне узок и интересен может быть только специалистам - тестировали работу автодятлов (кто как работает и настолько сильно балуется детектом по хешам). О влиянии этого фактора на защищенность мы и не говорили, даже выводов не делали никаких. Просто сделали и показали что получилось.

Небольшое обсуждение получилось тут: http://www.anti-malware.ru/forum/index.php?showtopic=28976&st=0 (вкратце так если неохота много букв читать: многим было очевидно, что автоматы (кто-то больше/кто-то меньше) любят лепить детекты по хешам от файла, а улучшить тест можно сделав разбивку по типам - увидим тогда кто какие детекты кладет на разные форматы файлов (vbs, bat, pe) и на угрозы (распространенная, малоизвестная, адварь и т.д).
 
Небольшой комментарий по оформлению: при переводе из pdf потерялась небольшая, но достаточно важная деталь - расшифровка звездочки к рис1 и рис3.
спасибо, поправил.
 
petr-ru,
"Хакер"
ru-sphere.ru
КЛС
AM
SZ
У вас просто какой-то кочующий по сети тест. Но цель теста едва улавливается.
Что вы хотите от своего теста, кроме того, что описали? Одобрения, признания, продвижения?

Ну тогда надо бы сначала с "именами" определиться.
petr-ru, serg-ru, x-shar, x-oleg, еще мутный на АМ - раздвоенность какая-то для признания. Немного ли "имен"? Реальные кто?
 
Последнее редактирование:
SNS-amigo,
1) На SZ запостил я, @petr-ru ака Nedovirus к этому отношение не имеет. Да и по-моему это нормально, что на компьютерных форумах по безопасности обсуждают/публикуют такие тесты.
2)
Ну тогда надо бы сначала с "именами" определиться.
petr-ru, serg-ru, к x-shar, x-oleg, еще мутный на АМ - раздвоенность какая-то для признания. Немного ли "имен"? Реальные кто?
переход на личности и тролинг. Тем более в раздвоение личности тогда справедливо можно обвинить и вас, на форуме КЛС у вас также другой ник и вообще у вас кажись везде разные ники ;). Будете продолжать в этом духе выпишу карточку.
3) По существу теста есть что сказать?
 
Зато имя у меня везде одно. Не скрывается. Включая АМ. И главный админ SZ все мои явки знает. :Biggrin:
По существу теста есть что сказать?
Уже сказал. >>>
Что вы хотите от своего теста, кроме того, что описали? Одобрения, признания, продвижения?
:) Остальное лишнее. Del. :Thank You:
 
Последнее редактирование:
Вы создали такую интригу, что даже пояснять не хочется - до того все банально и примитивно у нас в этом плане.

"Хакер"
ru-sphere.ru
КЛС
AM
SZ
Все просто: на ru-sphere шла выработка методологии, само тестирование, обсуждение, да и делалось оно командной этого форума без привлечения коллег с других ресурсов. Сделали, написали - отправили в хакер, они опубликовали в журнале. Затем на КЛС в тему "бу-га-га" копирнули (тамошние форумчане) кусок статьи и стали дружно угорать, мы пришли туда и стали вопрошать "а о чем угораем-то?", в ответ угара стало больше, мы начали сомневаться в правильности методологии (вдруг мы что-то упустили из виду реально важное) и запостили (мы) тогда тему на АМ - обсудили там, оказалось, что все в порядке с тестом по большому счету и мы успокоились. На SZ тест опубликовал regist наверное по собственной инициативе - мы лично с ним не знакомы (разве что заочно - я видел его сообщения и ник был знаком), откуда он узнал о тесте и почему решил его опубликовать мне неведомо, но лично я узнал о том, что тест тут опубликован из соответствующего сообщения на КЛС (там дали сюда ссылку).


x-shar ака @@petr-ru к этому отношение не имеет
petr-ru, serg-ru, x-shar, x-oleg, еще мутный на АМ - раздвоенность какая-то для признания. Немного ли "имен"? Реальные кто?
Понятно, что для вас мы все на одно лицо на данный момент, а так нас два-три человека. С приставкой х - один человек, с окончанием ru - другой (производные от ФИО: пример - сергей иванов - могут быть ники иван/серж). Зайдете если к нам на форум, то в обсуждениях сможете наблюдать тех самых двух-трех человек, которые разрабатывали методологию и тестили. x-shar там админ (ник этот у него и есть).
Я не x-shar, если что...

Что вы хотите от своего теста, кроме того, что описали? Одобрения, признания, продвижения?
Лишь немногие из нас (участники иб-форумов) имеют с этого какую-то материальную выгоду, большинством движет одно - интерес, все построено на нем. Это клуб по интересам, если у нас будет больше знакомых с такими же интересами, с которыми мы сможем общаться, спрашивать у них совета, сами помогать чем можем, то будет интереснее, так ведь?

Да и пользуясь случаем совета хочется спросить - есть еще идеи по небольшим узкоспециализированным тестам? На антималваре посоветовали и мы над этим думаем (там хорошо, но без конкретики - надо еще самим мозгами пошевелить, в рот готовое не положили).
Здесь у вас был интересный тест на реакцию вирлабов на присылание им сэмплов - отличный пример узкоспециалированного теста, но повторять его мы не будем - тест не наш, повторюшить нехорошо.
 
Последнее редактирование:
В последнее время вообще мало слежу за сравнениями антивирусов по детекту сканирования. Вообщем и целом подавляющее большинство справляется не плохо. Гораздо важнее на мой субъективный взгляд сравнивать работу проактивного модуля. В настоящее время (и скорее всего в будущее) выигрывать будет именно "искусственный интеллект" :) по действиям запускаемых программ и приложений. Маркетинг маркетингом, но нужных тестов мало http://interface31.ru/tech_it/2013/01/testiruem-proaktivnuyu-zashhitu-populyarnyh-antivirusov.html
 
1. Мы не делали тест на уровень детекта. Мы тестировали совершенно другое - понимаем, что букв много, но мы и так стараемся как можем кратко описать.
2. По ссылке на "тест" двухлетней давности лежит неподобающий материал без методологии и автор там сам даже не понимает, что он делает (и это уже не говоря о той "мегапоказательности" запуска одного файла). А подобные "тесты" - делаются на каждом форуме, где есть тема про антивирусы (берется пак из 10 штук и по очереди запускаются при включенном авере, алерты скринятся и выкладываются).
 
Назад
Сверху Снизу