Упаковка

Упаковка

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

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

Как метод сокрытия упаковка представляет собой довольно грозное оружие. Достаточно привести пример: грамотно упакованный червь способен вызвать не менее серьезную, чем его первообраз, эпидемию, ведь такой червь распознается антивирусами как новый экземпляр. Не секрет, что большинство из ныне присутствующих в сети вредоносных программ есть не что иное, как модификации посредством упаковки. Например, широко известный троянский конь Backdoor.Rbot распространяется упакованным множеством различных упаковщиков (Ezip, Exe32Pack, ExeStealth, PecBundle, PECompact, FSG, UPX, Morphine, ASPack, Petite, PE-Pack, PE-Diminisher, PELock, PESpin, TeLock, Molebox, Yoda, Ezip, Krypton и др.).

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

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

Вам наверняка интересно понять разницу между архиватором и упаковщиком. А разница в том, что сжатое упаковщиком разжимается в память, архиватором – на диск.

Понятно, что добраться до упакованного кода можно, лишь распаковав его. Но и это не всегда просто. Посмотрим почему.

Распаковщики делятся на динамические и статические. Динамические распаковщики (например, procdump или PEiD) запускают файл и создают распакованный вариант файла из образа, загруженного в память. Однако, если этот файл содержал вирус (а он его содержит!), система может быть повреждена раньше, чем антивирус успеет что-либо сделать. Кроме того, у упаковщиков существует ряд приемов борьбы с динамической распаковкой, например расшифровывать код не полностью, а лишь по мере исполнения, или, например, расшифровывать и запускать вирус целиком только в определенный день недели.

Статические распаковщики – это те, которые пытаются распаковать файл, не запуская его (например, CUP386 или UNP). Очень часто статические распаковщики оказываются бесполезны, если алгоритм упаковки требует запуска файла.

Чтобы представить себе весь размах упаковки, достаточно привести этот скромный список упаковщиков, применяемых при сокрытии вирусного кода: EP (ExE Pack), ACProtect, Active PE Scrambler, AHTeam UPX Mutanter, Armadillo SPS, ASPack, ASProtect, ASProtect SKE, aUS [Advanced UPX Scrambler], Beria, DEF, Enigma Protector, Exe Stealth, Exe32Pack, EXECryptor, EXERefactor, eXPressor, Fake Ninja, fileEncrypt, FSG, GPcH Protect, Hide PE, HidePX, hyings PE-Armor, JDPack, KByS Packer, kkrunchy, Krypton The Krypter, Mew 11 SE, MoleBox Pro, Morphine, mPack, MSLRH, nPack, NsPack, Obsidium, ORiEN, Packman, PC Guard, PE Diminisher, PECompact, PELock, PEQuake, PESpin, PeStubOEP, Petite, PeX, Private exe Protector, PseudoSignerRLP, SDProtector Pro, Special EXE Password Protector, SHProtector, ShrinkWrap, SLVc0deProtector, Spirits PE Crasher, Stealth PE, tElock, Themida,

TPPpack, TrueEP, Unopix, UPX, VB AntiCrack, VMProtect, WinUpack, yoda Crypter, yoda Protector, [G!X]s Protector.

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Интерфейсы и упаковка

Из книги Как функции, не являющиеся методами, улучшают инкапсуляцию автора Мейерс Скотт

Интерфейсы и упаковка Herb Sutterr объяснил, что "интерфейс" класса (подразумевая, функциональные возможности, обеспечиваемые классом) включает также внешние функции, связанные с классом. Им также показано, что правила области видимости имен в C++ поддерживают эти изменения


Целлофановая упаковка

Из книги Photoshop. Мультимедийный курс автора Мединов Олег

Целлофановая упаковка Действие данного фильтра описать словами непросто, его лучше увидеть. Изображение как будто покрывается полупрозрачной целлофановой пленкой, причем эта «пленка» рельефная, местами как будто вздутая. Область применения данного фильтра зависит


Подарочная упаковка

Из книги Удвоение продаж в интернет-магазине автора Парабеллум Андрей Алексеевич

Подарочная упаковка В России эта фишка практически нигде не используется, поэтому ваш интернет-магазин может стать первопроходцем. В чем суть? После успешного оформления заказа (когда человек его оплатил) вы просто предлагаете упаковать товары в красивую подарочную


23.4.2. Упаковка виджитов, поля ввода и кнопки

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

23.4.2. Упаковка виджитов, поля ввода и кнопки Для размещения (упаковки) виджита в окне используются контейнеры. Существуют два основных вида контейнеров. Первый вид в качестве прародителя использует объект класса GtkBin, а второй — объект класса GtkContainer. Контейнеры первого


Игрушки из картонной коробки: многофункциональная упаковка для развивающихся стран Николай Маслухин

Из книги Цифровой журнал «Компьютерра» № 167 автора Журнал «Компьютерра»

Игрушки из картонной коробки: многофункциональная упаковка для развивающихся стран Николай Маслухин Опубликовано 01 апреля 2013 Каждый день организация ЮНИСЕФ (детский фонд ООН) отправляет тысячи картонных коробок в страны Африки и Азии с


Упаковка привилегий

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Упаковка привилегий SQL Firebird реализует возможности упаковки множества привилегий для назначения индивидуальным получателям, спискам или специально сгруппированным пользователям. Это пакет ALL, разделенные запятыми списки и роли SQL.Ключевое слово ALLКлючевое слово ALL


Повседневный дизайн: удобная упаковка для фастфуда Николай Маслухин

Из книги Цифровой журнал «Компьютерра» № 175 автора Журнал «Компьютерра»

Повседневный дизайн: удобная упаковка для фастфуда Николай Маслухин Опубликовано 30 мая 2013 Десятки компаний, производящих фастфуд, используют самую разнообразную упаковку для переноски, но если покупатель вместе с едой берет ещё и напиток, то обе