Packed/Upack – вирус или нет?

Тема в разделе "Новости информационной безопасности", создана пользователем Саныч, 25 авг 2009.

  1. Саныч
    Оффлайн

    Саныч Активный пользователь

    Сообщения:
    869
    Симпатии:
    1.697
    В который раз, обучая свой антивирус правильному распознаванию некоторых, “не простых” (скажем так) файлов на моем жестком диске после плановой переустановки Windows, я решил осведомиться, как обстоят дела на этом фронте у большинства пользователей, чьи знания не превышают среднего уровня. Просмотр популярных форумов сразу же дал понять, что дела эти обстоят плохо, если не сказать хуже. Поэтому и было решено произвести некоторую ликвидацию безграмотности по теме запакованных исполняемых файлов.

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

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

    В большинстве случаев один пропущенный вирус, если ему удалось запуститься, способен отключить всю защиту и в дальнейшем притащить за собой столько своих собратьев, сколько захочет, а зачастую – даже больше, чем захочет. Именно поэтому, многие современные антивирусы, в своем стремлении обеспечить максимальный уровень безопасности, видят вирус даже там, где его нет. Если абсолютная чистота файла не доказана и существует, хотя бы небольшая, вероятность наличия в файле вредоносного кода, то файл считается опасным. Довольно часто “ложная тревога” срабатывает на исполняемых файлах, упакованных мощными упаковщиками, – такими как: Upack (WinUpack), NSPack, MEW, FSG. Подобные файлы иногда даже не просто отмечаются как “подозрительные”, требующие индивидуального исследования специалистом, а определяются как вирус, помещаются в карантин или принудительно удаляются. Отношение антивируса к таким файлам может зависеть не только от его версии и производителя, но и от выбранного пользователем режима настроек. Да, сегодня многие антивирусные продукты позволяют выбрать такую степень защищенности, при которой блокироваться будет все, что шевелится, а что не шевелится – будет антивирусом предварительно расшевелено и заблокировано. И с этим приходится мириться, ведь даже такие меры не могут гарантировать 100% безопасности.

    Целиком и полностью полагаясь лишь на возможности антивируса, мы, в зависимости от выбранной политики безопасности, можем прийти либо к тому, что любые подозрительные файлы будут удаляться, либо к тому, что удаляться будут только явные вирусы. Второй вариант кажется наиболее логичным, но только, если забыть, что вирусы обычно появляются раньше, чем лекарство от них. А вот удаление всего подозрительного, хотя и обеспечивает максимальный уровень защиты, зато ставит под угрозу удаления многие полезные программы, не попавшие в ТОП-100 наиболее популярного софта. Тем не менее, этот вариант, с точки зрения безопасности, выглядит оптимальным: лучше заблокировать несколько подозрительных файлов, чем пропустить один вирус, который может испортить все файлы на жестком диске. Все просто и доступно, не так ли?

    Но что делать, если вы стопроцентно уверены, что программа не является вирусом, а ваш антивирус предлагает удалить ее по причине недоверия к запакованному содержимому? Возможно, пришла пора самому принять решение, вспомнив на минутку, что любой антивирус написан людьми, а людям свойственно ошибаться? В зависимости от уровня ваших знаний и знаний ваших знакомых, можно попробовать самостоятельно разобраться с причинами подозрений, осведомиться на специализированных форумах, или озадачить этим вопросом самих разработчиков антивируса (последнее – самое сложное, так как у них и без вас забот хватает, поэтому шансы на разумный ответ стремятся к нолю). Проверьте файл другими антивирусами, например на сайте: http://www.virustotal.com/ru/. Для сравнения, упакуйте заведомо безвредный экзешник (например, explorer.exe или notepad.exe из директории WINDOWS) тем упаковщиком, на который ругается ваш антивирус, и его проверьте там же. Сравните статистику проверки различными антивирусами “подозрительного” файла и заведомо чистого. Любой из популярных упаковщиков можно найти на странице: http://wasm.ru/toollist.php?list=8. Проведя такой нехитрый эксперимент, вы убедитесь, что практически 50 на 50 антивирусы разойдутся во мнениях, и правы будут и те и другие, как ни парадоксально это звучит. Просто ни те, ни другие не знают, есть там вирус или нет, а традиционно так сложилось, что сканер должен либо найти вирус, либо не найти. Ответ “возможно” не предусмотрен, поэтому смело добавляйте к каждому результату это слово и все будет верно: возможно заражен, а возможно чист.

    Все дело в том, что любой упакованный исполняемый файл в статическом состоянии, безусловно, является черным ящиком, мистером Икс или котом в мешке, если хотите. Для определения наличия вредоносного кода в упакованном файле недостаточно статического сканирования. Для того чтобы определить функциональное содержание упакованного файла, его необходимо запустить. Ведь упакованный исполняемый файл – это не какой-нибудь там архив, который запакован и распаковывается по определенному алгоритму. Чтобы просканировать архив на отсутствие вирусов, его достаточно распаковать по четко определенному алгоритму. А с упакованными исполняемыми файлами все иначе. Там много всего намешано, много всяческих чисто программных трюков, оптимизаций и прочего, прочего. Может даже не быть четкого момента, в который можно было бы поставить процесс на паузу и увидеть в оперативной памяти целостный код распакованной программы. Но, не запустив файл на исполнение, мы точно не сможем увидеть его содержимое. Значит, надо запускать, хорошо… А вдруг это вирус, а мы его запустим, что дальше? Дальше – тихий шелест мыслей и аплодисменты хлопающих век.

    Есть мнение, что в современных условиях стоит собирать в базу не только вирусы, но и заведомо чистые файлы. То есть создавать “белый список” проверенных файлов из числа тех, которые могут быть упакованы, а все непроверенные файлы помещать в карантин. Понятное дело, что такая база будет иметь огромный размер и возможно даже не влезет на DVD-диск, даже если в ней будут содержаться только сигнатуры самых распространенных файлов. А если даже и влезет, то представьте, сколько понадобится специалистов, чтобы своевременно вносить в базу обновившиеся продукты и сколько дисков с обновлениями! В общем, это не вариант.

    Прогрессивные разработчики антивирусов предлагают такую стратегию проверки, при которой сжатые файлы запускаются в так называемой “песочнице” (sandbox). В данном смысле, песочница – это виртуальная среда, организуемая средствами антивируса для запуска в ней особо подозрительных объектов. Запущенные в ней программы будут иметь ограниченные права, а доступ к критическим областям системы, будет разрешаться только виртуально и только после предварительного анализа намерений программы антивирусом или с разрешения пользователя.

    Такой подход помогает перейти антивирусным системам на совершенно новый уровень по сравнению с текущими методиками конца прошлого века. Но и тут не все гладко, даже если смириться с многократным снижением производительности. На словах все легко и безопасно, а вирусописатели ведь тоже на результат работают. В итоге все идет к тому, что будет и небольшой белый список для самых-самых, и песочница для тех, кто “мордой не вышел”, и старую систему с черным списком и эвристикой тоже никто не отменяет. Скажу больше: это все уже есть, но работает оно пока еще не совсем так, как хотелось бы, поэтому я и говорю “будет”. А к тому времени, когда оно будет, вирусы тоже научатся маскироваться под доверенные приложения и вылезать из песочниц через подземные ходы. Нам же остается не терять самообладания в этом потоке информации, и не становиться параноиками. В конце концов, важные данные можно ежедневно бэкапить, как положено, на три и более различных носителя, а то, что неважно – о том и не переживать.

    Ну и напоследок, в вопросе “Packed/Upack – вирус или нет?” решение, безусловно, за вами, но в наши дни я бы не доверял антивирусам, которые блокируют все подряд упакованные файлы. Безопасность данных, конечно, превыше всего, но согласитесь ли вы для полной безопасности выключить компьютер и убрать его в сейф?

    P.S. Собирая материал для данной статьи, ваш покорный слуга в очередной раз уверился, что, чем более доступной становится та или иная область знаний, тем ниже и ниже опускается общий уровень понимания этой области. Казалось бы, – парадокс? Нет, к сожалению, это закономерность, свойственная современному человеческому обществу: деградировать в погоне за прогрессом.

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



    BarMentaLisk




    Источник
     
    Последнее редактирование: 25 авг 2009

Поделиться этой страницей