На сегодняшний день в сети Интернет достаточно много различных утилит, которые позволяют сжимать, шифровать и защищать различные файлы. Конечно, данные программы разрабатывались из благих намерений, но, к сожалению, их успешно применяют и разработчики вирусов, для того, что бы скрыть вредоносный код от анализа и детектирования.
Итак, существуют следующие типы программ:
- Архиваторы (Archivers);
- Упаковщики (Packers);
- Протекторы (Protectors, Crypters).
Архиваторы
Самые распространенные утилиты среди пользователей. Представители – ZIP, RAR, CAB и другие. Для архивирования и разархивирования на компьютере должна стоять специальная программа - архиватор. Причем, при доступе к любому файлу в архиве (чтение, запуск и т.п.) сначала этот файл распаковывается архиватором на жесткий диск (во временный каталог), а потом происходит доступ к нему.
В данном случае антивирусный сканер реального времени, даже если он не умеет проверять (лечить) архивы, нас защитит от заражения, т.к. на этапе записи файла архиватором во временный каталог антивирус его проверит.
Кстати, даже самораспаковывающиеся (Self Extractors) архивы (когда нет необходимости в установленном архиваторе для распаковки) вначале так же распаковывают файлы на жесткий диск во временный каталог.
Пакеры
Менее распространенные программы среди обычных пользователей. Представители – UPX, ASPack и другие. Данные программы работают только с определенными типами файлов, чаще всего это только исполняемые файлы и DLL файлы. Для упаковки, как и в первом случае, необходима установленная программа, а вот для запуска упакованного исполняемого файла такая программа не нужна.
Рисунок 1: Общая схема упаковки
Более того, распаковка и исполнение файла происходит, минуя операции с жестким диском, как это было в случае с архиваторами.
В итоге получается, что если антивирус не знает формата упаковщика, тогда нам совершенно не поможет наша защита (сканер реального времени) – вредоносный код в запакованном виде загрузится в память компьютера, а там он уже будет распакован и выполнен. Причем антивирус нам об этом ничего не скажет.
Протекторы
Сильно распространены в среде разработчиков программного обеспечения и применяются для защиты программного обеспечения. Схема их работы схожа со схемой работы упаковщиков, за исключением того, что программа не просто ужимается, но дополнительно шифруется. Дополнительно к этому, загрузчик протектора (см. рисунок 1) оснащен достаточно большим количеством защит против взлома, и анализа кода исходной программы.