В этой мини-статье я раскрою некоторые особенности сигнатурных антивирусов, а также расскажу, почему создателям программного обеспечения необходимо тщательно подходить к вопросу выбора упаковщиков, если они не хотят испортить репутацию себе и своей программе.
.
Пару дней назад, не планируя для себя, я провел интересный тест антивируса.
Все началось с того, что я, блуждая по затерянным папкам своего диска, наткнулся на парочку троянов.
Однажды (в 2004 году) Я уже тестировал антивирусы .
Там же вы можете посмотреть результаты проверки моих постов и постов других пользователей.
Далее я взял пару троянов и несколько программ, модифицирующих бинарник (различные упаковщики и прочий софт, полный список приведен в конце).
Вот мне и пришла идея посмотреть: что же произошло через 7 лет? К сожалению, оригинального теста у меня не осталось.
Только его части.
Но этого оказалось достаточно для эксперимента и некоторых выводов.
Испытания проводились на www.virtest.com .
Теоретически это должно гарантировать актуальность результатов сегодня.
Первое открытие меня ждало, когда я проверил трояна DTr в его первоначальном виде.
Исходный файл троянца упакован в UPX. Результат проверки: из 41 антивируса только 2 (eTrust и AVL) не смогли его обнаружить .
Далее я проверил распакованный файл того же трояна (тоже предоставленный разработчиком).
На этот раз его поймали только 31 из 41 .
Возникает резонный вопрос: а что тогда антивирусные лаборатории добавляют в пробы, если их можно обойти таким простым способом? Например, есть куча распаковщиков UPX. Далее я протестировал трояна Pinch, обработанного разными упаковщиками и другими программами из того же бородатого 2004 года.
Результат такой (количество антивирусов, нашедших вирус, по сравнению с общим количеством антивирусов):
Изучив некоторые реакции антивирусов, я пришел к выводу, что они больше жалуются на использование упаковщиков, чем на саму сигнатуру трояна.
Например, вот запись: ClamWin Pinch_1.exe PUA.Packed.ASPack
или здесь: Webroot Pinch.exe Sus/UnkPacker
Я не смог его распаковать и ругаюсь.
Я вспомнил, что Pinch поставляется с упаковщиком fsg. Еще я вспомнил, как на одном из семинаров представитель VBA32 рассказал, что в некоторых случаях в базу добавляется упаковщик — если есть уверенность, что упаковщик не очень распространен и используется специально для сокрытия сигнатуры вируса.
По словам вирусного аналитика, такие упаковщики часто пишут сами вирусописатели.
Что ж, доля правды есть.
Особенно если вспомнить, насколько широко были распространены различные «файловые криптографы».
Мой следующий эксперимент: взять безобидную программу и попробовать обработать ее различными упаковщиками.
В качестве «жертвы» я выбрал написанную мной программу АрпБилдер .
Результат:
- использовать PeCompact КламВин выругался.
- для использования ФСГ Ругали 24 антивируса.
В противном случае это может подмочить репутацию вашего ПО, и вам придется долго объяснять, что «возникло недоразумение».
По моим наблюдениям, при использовании UPX таких проблем не возникает. Для желающих провести подобные эксперименты самостоятельно, вот списки использованных программ (некоторые программы на сайтах обновлены после 2004 года):
- Avx!AVSpoffer
- DotFix FakeSigner
- ФСГ
- СкрытьPE, StealthPE
- PEКомпактный
- pe-патчер
-
Скайп
19 Oct, 24 -
Очки Будущего Уже Сейчас
19 Oct, 24 -
Идеальный Im-Клиент
19 Oct, 24