ПРИМЕЧАНИЕ
Один из экземпляров вредоносного кода (Trojan-Win32PSW.QQShou.EH) Vba32 был определен как Trojan-Spy.Delf.13.
Как видите, некоторые из экземпляров вредоносного кода могут быть обнаружены только с максимальными настройками, и совсем не факт, что антивирус расскажет вам всю правду.
Рис. 5.6. Экспертный анализ – максимален!
Рис. 5.7. Похож на Spy-Delf…
Используем следующую партию экземпляров, случайно отобранных из коллекции:
Trojan.Spambot;
OS.cope.Worm.UK.Nuwar;
Trojan-Proxy.WIN32.Lager.aq.
Два троянских коня и червь были запакованы Tibs. Проверяем:
Nod32 2.7 "-";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.8).
Рис. 5.8. Результат проверки – Trojan.Spambot!
ПРИМЕЧАНИЕ
Как видите, здесь нас немного огорчил NOD32. Но не будем забывать, что даже качественно проработанный движок несовершенен.
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.9).
Рис. 5.9. Самый настоящий червь!
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.10).
Рис. 5.10. Прокси-троян у нас под колпаком
Продолжаем наши эксперименты. Теперь возьмем три различных вируса и наобум запакуем их тремя различными упаковщиками. Троянского коня упаковываем NsAnti. Результаты:
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.11).
Рис. 5.11. На ловца и зверь бежит!
Теперь Trojan-Spy.Win32.AimSpy запакуем SkD Undetectabler Pro 2 SkDPRO. Результаты:
Nod32 2.7 "-";
"Антивирус Касперского 6.0" "-";
Vba32 "-".
ПРИМЕЧАНИЕ
Ну вот, собственно, и настал момент истины. Заметьте, что ни один из наших антивирусных продуктов не смог обнаружить запакованный SkD Undetectabler Pro 2 SkDPRO троянский конь – SkD Undetectabler Pro 2 SkDPRO!
Едем дальше. Trojan.Mezzia пакуем Zipworx SecureEXE. Результаты:
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.12).
Рис. 5.12.Vba не спит
Тест № 2
Тест включает в себя упаковку одного вируса несколькими упаковщиками. В качестве «зло-кода» был использован известный Virus.Win32.Neshta.b. Итак, результаты.
Пропускаем нашего "нечто" через WinUpack:
Nod32 2.7 "-";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.13).
Рис. 5.13. Neshta – не уйдет! Пропускаем Neshta через Arm Protector ver.01:
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "-" (рис. 5.14).
Рис. 5.14. Vba32 не видит наше «нечто»
Пропускаем "нечто" через FSG. Результаты:
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.15).
Рис. 5.15. И опять наш антивирус на высоте
ПРИМЕЧАНИЕ
Как видите, в этом тесте Vba32 не смог обнаружить "нечто", запакованного Arm Protector ver.01. Nod32 совсем не распознал Neshta, запакованного WinUpack. Вывод: совершенной эвристики нет – к ней лишь можно стремиться.
Тест № 3
В данном тесте был использован генератор вирусов APOKALIPSES. Из десяти сгенерированных экземпляров Vba32 обнаружил 8, Nod32 2.7 – 9, «Антивирус Касперского 6.0» обнаружил все.
Для проведения четвертого теста был использован свеженаписанный вирус, форматирующий диски. Данный прием (применение в тесте вируса, заведомо отсутствующего в базах) позволяет с высокой долей вероятности определить качество эвристики, так как приближает работу эвристического анализатора к естественным, не лабораторным условиям.
Итак, посмотрим на результаты. Vba32 не обнаружил вирусный код (рис. 5.16).
Тест № 4
Рис. 5.16. «В порядке!»
"Антивирус Касперского 6.0" также ничего не обнаружил (рис. 5.17).
Рис. 5.17. «Опасных объектов не обнаружено!»
Лишь Nod32 обнаружил самописный вирус, классифицировав его как модификацию (рис. 5.18).
Рис. 5.18. Здесь NOD32 показал себя с самой лучшей стороны
Тест № 5
Тест на противодействие обфускации. Подправим наш экземпляр (Trojan. Downloader.Win32.Zlob) вручную. Для этого внедрим пару неизвестных инструкций в оригинальный код. Зачем? Чтобы усложнить задачу по эмулированию новых инструкций эвристическим анализатором тестируемого антивируса: говоря простым языком, эмулятору будет более чем сложно узнать, откуда продолжать разбор кода.
Полученную таким образом модификацию вирусного кода последовательно пропустим через ARM Protector, TeLock и Afx!AVSpoffer. Настоящий "biohazard"! Посмотрим, как с этим справятся наши антивирусы. Результаты:
Nod32 2.7 "-";
"Антивирус Касперского 6.0" "-";
Vba32 "-".