Mastodon Mastodon Mastodon Mastodon

Упаковщик

Обновлено: · CyberSecureFox Editorial Team

Упаковщик (packer) — инструмент, который сжимает или шифрует исполняемый файл и добавляет небольшой код, распаковывающий оригинал в памяти при запуске.

Как работает упаковщик

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

  • Упаковщики-компрессоры, например открытый UPX, просто уменьшают размер файлов.
  • Протекторы вроде Themida или VMProtect добавляют защиту от отладки и виртуализацию кода, чтобы коммерческий софт было сложнее взломать.
  • Крипторы — упаковщики, которые продают на криминальных форумах специально для того, чтобы сделать вредоносное ПО незаметным для антивирусов.

Чем упаковщики важны для безопасности

Большинство современного вредоносного ПО упаковано. Упаковка скрывает строки, импорты и шаблоны кода, по которым работают сигнатуры, а каждая новая сборка может выглядеть уникально. Поэтому специалисты считают упаковку тревожным признаком: высокая энтропия секций, очень мало импортируемых функций или необычные имена секций. Одного статического анализа часто недостаточно, и аналитики распаковывают образцы в песочницах, через дампы памяти и отладчики. При этом легитимный софт тоже бывает упакован, так что упакованный файл — ещё не приговор.

Рекомендации

  • Используйте защиту конечных точек с анализом поведения и памяти, а не только сигнатуры файлов.
  • Считайте упакованные файлы из неизвестных источников высокорисковыми и проверяйте их в песочнице.
  • Разработчикам — подписывать упакованные файлы, чтобы их можно было отличить от вредоносных.
Синонимы:
Пакер, Packer