Перейти к содержанию
Сергей Ильин

Тест антивирусов на детектирование упакованных вирусов (подготовка)

Recommended Posts

Phoenix

Молодцы! Огромное спасибо!

Интересно, как происходит, что какой-нибудь антивирус неупакованный вирус видит, упаковщик на одном вирусе определяет, а на другом нет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
_Stout
Друзья, наконец то, о чем так долго говорилось в этой ветке свершилось!

Мы закончили и выложили наш первый собственный тест антивирусов, разработанный и проведенный в рамках проекта Anti-Malware.ru:

Тест антивирусов на поддержку упаковщиков (08/2006)

Более подробные результаты теста доступны:

В формате HTML

http://www.anti-malware.ru/index.phtml?part=tests

В формате Excel (полная информация по каждому антивирусу и детекшену всех упакованных вредоносов).

http://www.anti-malware.ru/doc/packers_support_08.2006.xls

Ждем ваших отзывов и замечаний :-)

Хороший тест. Хороший и грамотный отчет. Можно использовать в работе.

В будущем хотелось бы увеличения кол-ва пакеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Николай Терещенко
Интересно, как происходит, что какой-нибудь антивирус неупакованный вирус видит, упаковщик на одном вирусе определяет, а на другом нет...

Все просто, тут несколько вариантов:

1. Сработала эвристика и обнаружила один вирус, а другой не осилила.

2. Данный вирус (который обнаружился) появлялся In The Wild и антивирусная компания просто добавила его сигнатуру, в том виде, в каком он упакован. А другого вируса не была в природе в таком виде, вследствие чего и no-detect.

По этому в подобном тестировании необходимо использовать не один вирус, а набор, причем разные (черви, вирусы, трояны) - эвристика на всем сработать не сможет ... 8)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
OlegSych

Что то мне непонятно почему получились такие результаты (относительно антивируса UNA). А можно файлики на oleg@una.ua кинуть для внутреннего разбора полётов? Будем глядеть что и как.

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Николай Терещенко
В будущем хотелось бы увеличения кол-ва пакеров.

Кол-во пакеров увеличим.

Замечено, что бы 8 вирусов запаковать 21 упаковщиком и все это проверить на работоспособность (составить табличку и т.п.) - 12 часов непрерывной работы одного человека. :D

Затем тестирование... Самое сложное – разобраться с антивирусом, после его устновки. :wink:

Я бы присудил еще следующие награды (мое мнение):

Самый оригинальный антивирус - UNA (Были моменты, когда не смог сдержать улыбки :) );

Самый непонятный антивирус - AVG (Некоторые задумки разработчиков мне до сих пор не ясны :) ).

Поделиться сообщением


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

Это вообще принципиальный момент теста, таким образом мы минимизируем потенциальные ошибки, хотя это значительно добавило работы.

Там в подробнов отчете хорошо видно, как некоторые упакованные вирусы берутся, а другие, упакованные этим же пакером, - нет.

Забыл написать, что подробный отчет доступен также в формате PDF:

http://www.anti-malware.ru/doc/packers_support_08.2006.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Николай Терещенко

OlegSych

Кину, только на мой взгляд важнее разобраться с самими упаковщиками, а не запакованными вирусами...

В следующем тесте, если будут тестировать эти пакеры, вирусы будут паковаться совершенно другие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
OlegSych
OlegSych

Кину, только на мой взгляд важнее разобраться с самими упаковщиками, а не запакованными вирусами...

Вы за кого нас принимаете? Ситуация заключается как раз в том, что из всех использованных упаковщиков мы точно распаковываем FSG, MEW и UPX. Насчёт остальных точно не помню, надо смотреть. Именно поэтому результаты теста мне абсолютно непонятны.

Если в результате проверки выяснится что всё действительно так - значит это внутренний баг который надо лечить (чем и займёмся).

Добавлено спустя 3 минуты 48 секунд:

Самый оригинальный антивирус - UNA (Были моменты, когда не смог сдержать улыбки :) );

Заинтригован.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Николай Терещенко

OlegSych

Дизайн антивируса очень веселый. Особенно во время обновления. ;-)

А богатырь с булавой - это прикольно. 8)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
OlegSych

Заранее извините за оффтоп, можно это переместить в другую тему.

OlegSych

Дизайн антивируса очень веселый. Особенно во время обновления. ;-)

А богатырь с булавой - это прикольно. 8)

Национальный колорит. Новые продукты (выход планируем через 4-5 месяцев) будут уже в привычном всем стиле, рассчёт на западных пользователей. А пока отрабатывали технологии :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nones
Ждем ваших отзывов и замечаний

Если учесть, что F-Secure сделан на движке Kaspersky Lab, то в победителях только Kaspersky .. что в общем и не удивительно .. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин
Если учесть, что F-Secure сделан на движке Kaspersky Lab, то в победителях только Kaspersky .. что в общем и не удивительно ..

Да, я в подробном анализе это написал, что по сути победил один движок - Лаборатории Касперского. Но стоит заметить, что BitDefender и DrWeb остали всего не 5% (1 пакер) - копейки, хотя и получили "Серебро".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Dmitry Perets

Внимательно посмотрел свежие результаты тестирования антивирусов на знание упаковщиков: http://www.anti-malware.ru/doc/packers_support_08.2006.pdf. Заметил неточность. NOD32 не обнаружил Worm.Win32.AimVen, упакованный Petite, и несмотря на это ему присудили 100% знание упаковщика Petite. Таким образом, в соответствии с методологией тестирования, если это не опечатка в таблице результатов, НОД знает не 13 упаковщиков из 21, а лишь 12, что равняется 57% и автоматически лишает Eset награды Silver Packers Support...

Так же мне интересно, какие антивирусы используют только generic-распаковку, а какие - нет. Это, к сожалению, тестами узнать сложно. Например, тот же НОД использует generic-распаковку, и иногда она не справляется даже с UPX, по совершенно непонятной причине... У меня пример есть. Но это я только про НОД знаю, а на самом деле это может быть верно и для других...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Николай Терещенко

Каимся! Наш косяк с НОДом ... :(

Сейчас поправим.

Первый тест, большой объем - не заметили спрятавшегося NO ... :shock:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Mr. Justice

Тест несомненно интересный и очень нужный. У меня возник один вопрос. Как определялась популярность упаковщиков?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
romank

Действительно, очень интересный тест, спасибо.

От себя добавлю, что f-secure некоторые упаковщики детектит проактивно http://www.f-secure.com/v-descs/packed.shtml, и как результат ему достаточно понять, что использовался определенный упаковщик, и заблокировать на этой основе. Morphine и Obsidian вполне могут попадать под эту категорию.

Говоря о популярности - в свое время мы делали подобный тест на основе большой базы данных зловредов. Я не помню точные цифры, но на первом месте с большим отрывом был UPX, затем в этом порядке AsPack, FSG, Yoda, PeCompact, Petite, Yoda, MEW и дальше разная мелочь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
broker

поражают результаты TM и Symantec :puzzled:

Просьба к команде исследователей выложить упакованные образцы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Николай Терещенко
поражают результаты TM и Symantec

Просьба к команде исследователей выложить упакованные образцы

Да даже выкладывать ничего не надо, особенно в случае TrendMicro ... Берешь любой вирус, пакуешь (практически любым упаковщиком) и с очень большой вероятностью Trend его не поймает.

По поводу выбора упаковщиков - http://www.anti-malware.ru/index.phtml?par...=packers_choice

Конечно у нас в списке с самого начала было порядка 60 упаковщиков, но первый тест...

Лично наша заслуга во включении Private EXE Protector (который не задетектил никто) в тестирование. Написан качественно имеет интересные фичи, причем постоянно обновляется (уже есть новая версия).

Причем, когда проверяли экземпляры на работоспособность было замечено, что многие вирусы клонируют себя пакованными... :shock:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
A.
От себя добавлю, что f-secure некоторые упаковщики детектит проактивно http://www.f-secure.com/v-descs/packed.shtml, и как результат ему достаточно понять, что использовался определенный упаковщик, и заблокировать на этой основе.

Это не так :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Семашко
Друзья, наконец то, о чем так долго говорилось в этой ветке свершилось!

Мы закончили и выложили наш первый собственный тест антивирусов, разработанный и проведенный в рамках проекта Anti-Malware.ru:

...

Ждем ваших отзывов и замечаний :-)

Спасибо, интересный тест.

Хотелось бы прокомментировать результаты VBA32. Как видно в таблице, промахи детектирования преимущественно сгруппированы как по горизонтальным строкам, так и по вертикальным столбцам. Промахи сгруппированные по горизонтали - проблема с распаковкой. Промахи по вертикали - неудачная запись детектирования, которая не обязательно сигнализирует о проблемах с распаковкой. Например, Worm.Win32.AimVen детектируется только в исходном неупакованном варианте, нам еще повезло, что при упаковке его с помощью Yoda Protector получился неработоспособный вариант. Если исключить даного червя из тестирования, статистика радикальным образом поменяется. Причем аналогичная картина прослеживается в целом и для многих остальных антивирусов.

В том виде, в котором проведено данное тестирование, финальные результаты получаются довольно странными и неоднозначными. В частности, можно сделать вывод, что VBA32 не знает UPX (с ним уж точно никаких проблем быть не должно) и уступает по знанию упаковщиков ClamAV.

В общем есть предложение в следующем тестировании применить некую вариацию "олимпийской" системы оценки, т.е. для каждого антивируса исключить 1 сэмпл, упаковка которого дает самый худший результат (хотя в данном тесте для Symantec попалось целых 2 неудачных сэмпла, которые радикальным образом выбиваются из общей картины). Неудачный файл можно подобрать для любого антивируса, в том числе и для KAV, и это не показатель качества именно распаковки (хотя, конечно, лучше бы таких файлов не было).

Да, и еще, в отчете упоминается очень странная версия VBA32 3.1 (такой не существует), хотелось бы уточнить, где она бралась и насколько свежая, т.е. какой у нее реальный номер. Если вам для тестирования нужна нормальная полнофункциональная версия VBA32, свяжитесь с нами, без проблем сделаем вам ключ :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин

Сергей Семашко, спасибо за комментарии по тесту, это очень ценно для нас. Будем думать, возможно в будущих тестах будем корректировать методику подсчета итоговых результатов.

Да, и еще, в отчете упоминается очень странная версия VBA32 3.1 (такой не существует), хотелось бы уточнить, где она бралась и насколько свежая, т.е. какой у нее реальный номер. Если вам для тестирования нужна нормальная полнофункциональная версия VBA32, свяжитесь с нами, без проблем сделаем вам ключ

Тестировалась версия VBA32 3.11, вторую единичку не дописали, поправим. За ключик спасибо, обязательно поспользуемся предложением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Николай Терещенко

Уже решено, что следующий тест будет проводиться с фиксацией того, как антивирус поймал вирус - по эвристике или дженерик.

Я думаю, это сразу многое прояснит ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
broker

ведь никто не задумывается о том, что фактически это один большой список багов, наличие которых может привести к любым последствиям.

преславутая палка о двух концах, представляете сколько скрипт киддеров возьмут этот ресёч на вооружение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Dmitry Perets

Думается мне, что достаточно тестов было, есть и будет, из которых скрипт-киддеры могут черпануть информацию. Не зря одним из базовых принципов информационной безопасности является предположение-аксиома о том, что любая дыра известна всем, кому надо =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nones
преславутая палка о двух концах, представляете сколько скрипт киддеров возьмут этот ресёч на вооружение.

Скрипткиддеры как раз не представляют сейчас проблему. А профи все это так давно известно ..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
      Иногда спрашивают, как загрузиться в командную строку без диска, я постоянно забывают дополнить Общий FAQ.
      И вот наконец-то я про это вспомнил:
      Q: Как запустить uVS с командной строки Windows без использования загрузочного диска/флешки для работы с НЕактивной системой.
         (!) Для текущей версии uVS работа с командной строки доступна только для 32-х битных систем. (что бы работало в x64 системах, нужно делать uVS x64 и это запланировано).
         1. Если у вас Windows 8 и старше, то запустите start.exe и нажмите кнопку "Перезагрузить систему в меню дополнительных параметров загрузки".
         2. Далее в меню "Поиск и устранение неисправностей->Дополнительные параметры->Командная строка"
         3. Выберите админскую учетную запись и введите для нее пароль.
         4. Запустите start.exe из каталога uVS с командной строки.
            (!) Обычно система расположена на диске D.
                Например: uVS лежит в каталоге С:\uvs (в командной строке это будет D:\uvs)
                Для запуска uVS необходимо последовательно набрать 3 команды, завершая каждую нажатием клавиши Enter.
                1. d:
                2. cd d:\uvs
                3. start.exe
         5. Выбрать каталог Windows (обычно D:\Windows).
         Если у вас Windows 7 и младше, то в меню вы можете попасть только нажав F8 при перезагрузке системы
         (!) Использовать msconfig для этого не рекомендуется, система может не загрузиться после его использования.
         Для младших систем доступен только безопасный режим с поддержкой командной строки, т.е. система будет активна.
       
    • demkd
      ---------------------------------------------------------
       4.15.5
      ---------------------------------------------------------
       o Обновлена функция трансляции переменных окружения USERPROFILE, HOMEPATH, LOCALAPPDATA, APPDATA.
         Значения этих переменных теперь зависят от того где физически находится lnk файл.
         Теперь с разбором lnk файлов будет меньше проблем, но я все же рекомендую удалять ссылки
         на отсутствующие объекты только под текущем пользователем.

       o Исправлена функция разбора путей не содержащих букву диска.

       o Исправлена функция разбора аргументов rundll32.

       o Обновлен start.exe.
         o Обновлен интерфейс.
         o Изменена кнопка по умолчанию, теперь это "запуск под текущим пользователем".
         o Исправлена ошибка: при определенных параметрах повторный запуск uVS в режиме "до запуска эксплорера" был невозможен.
         
    • Ego Dekker
      Домашние антивирусы для Windows были обновлены до версии 17.1.13.
    • demkd
      ---------------------------------------------------------
       4.15.4
      ---------------------------------------------------------
       o Обновлен интерфейс.

       o Из Ф портировано окно "История запуска процессов" для комфортного распутывания цепочек запуска и взаимодействия
         процессов с задачами.
         Доступ к окну можно получить через меню "Дополнительно->История процессов и задач".
         В первом списке отображается история запуска процессов с момента старта системы (по данным журнала Windows).
         В списке доступен фильтрующий поиск по имени, PID и фильтрация по родительскому процессу (см. контекстное меню).
         В нижнем списке отображается история воздействия процессов на задачи с момента запуска системы, а если установлен
         фильтр родительского процесса то отображаются лишь те задачи с которым взаимодействовал родительский процесс.
         (!) История доступна лишь при активном отслеживании процессов и задач (Твик #39).
         (!) История не доступна для неактивных систем.

       o Обновлен формат образа автозапуска, образы созданные v4.15.4 не будут читаться старыми версиями uVS.
         Добавлено:
          o Мгновенный срез активности процессов на момент завершения создания образа (Запустить->Просмотр активности процессов [Alt+D])
          o История процессов и задач (Дополнительно->История процессов и задач)
            (!) История доступна лишь при активном отслеживании процессов и задач (Твик #39).
          o Защита образа от повреждений.

       o Утилита cmpimg обновлена до версии 1.04 для поддержки нового формата образов автозапуска.

       o Утилита uvs_snd обновлена до версии 1.05 для поддержки нового формата образов автозапуска.

       o Теперь при подключении к удаленной системе всегда запускается "v" версия uVS, если клиентская система не младше Vista.
         На удаленной системе всегда запускается обычная версия uVS для совместимости с системами младше Vista.

       o Исправлена ошибка отображения имени процесса при работе под Win2k в окне "Активность процессов".
         (!) Английская версия uVS НЕ_совместима с Win2k, с Win2k работает только русская версия.

       o Исправлена ошибка разбора состояния TCPIPv6 соединений.
       
    • demkd
      Если пишет что файлов нет то так оно и есть, по пути в принципе видно, что их там точно быть не может.
      Проблема же в том что при запуске под SYSTEM, API windows не способен правильно разбирать некоторые ярлыки, где не указан абсолютный путь, такие ярлыки меняют цель в зависимости от того под каким пользователем работает конкретный процесс, зачем это сделал microsoft для меня загадка.
      Единственное решение - это написать api для разбора любых ярлыков с нуля и добавить еще нехилую надстройку для анализа относительных путей в них, но это довольно сложная задача и на данный момент реализована лишь в малой части и скорее всего никогда не будет реализована на 100%.
      Потому если хочется удалить ссылки на отсутствующие объекты имеющие ярлыки то нужно запускаться под текущим пользователем, проблем будет меньше... если пользователь один Все системные файлы имеют внешнюю эцп и вполне определенные имена.
×