Упаковка программного обеспечения - это метод, сочетающий сжатие и шифрование программного обеспечения для уменьшения его размера и предотвращения обратного проектирования. Злоумышленники используют упаковку программ для сокрытия вредоносного ПО и избежания обнаружения по сигнатурам путем изменения сигнатуры файла.
Обфусцированные файлы или данные: Упаковка программного обеспечения
Упаковщики - это утилиты, которые используются для упаковки программного обеспечения. В большинстве случаев упаковщики можно условно разделить на три категории:
Сжимающие упаковщики используются для распространения исполняемых файлов в сжатом формате, в основном для уменьшения размера файла.
Шифрующие упаковщики используются для шифрования или обфускации распространяемого исполняемого файла, чтобы конечные пользователи не смогли провести его обратную разработку.
Гибридные упаковщики используются как для сжатия, так и для шифрования исполняемых файлов.
Например, MPRESS и UPX - два примера сжимающих пакеров, которые законно используются для уменьшения размера исполняемых файлов. Однако разработчики вредоносного ПО злоупотребляют ими, чтобы избежать обнаружения по сигнатурам. Кроме того, упаковщики могут значительно замедлить ручной анализ вредоносного ПО, что потенциально позволяет вредоносному ПО находиться в системе более длительное время. VMProtect, ASPack, Themida, Exe Packer и Morphine - вот некоторые другие распространенные упаковщики. Чтобы снизить вероятность обнаружения, злоумышленники также используют модифицированные версии упаковщиков.
Существуют некоторые индикаторы, указывающие на то, что исполняемый файл упакован:
- Имена секций: Большинство упаковщиков присваивают собственные имена секциям в двоичном файле. Например, UPX использует UPX0, UPX1 MPRESS использует MPRESS1, MPRESS2, а VMProtect использует vmp0 и vmp1 в качестве имен секций.
- Значения энтропии: Энтропия файла - это показатель случайности символов, содержащихся в файле. Если файл сжат или зашифрован, он будет иметь высокую энтропию.
- Таблица импорта: Таблица импорта упакованного файла включает очень мало функций, таких как VirtualProtect, GetProcAddress и LoadLibraryA, потому что упакованный файл скрывает большинство функций и оставляет только те, которые необходимы в процессе распаковки.
Например, китайская APT-группа Iron Tiger использует VMProtect для переупаковки компонентов легитимного чат-приложения вместе с вредоносными исполняемыми файлами. Испорченное чат-приложение впоследствии используется в фишинговых атаках.