API Hammering как способ избежать детектирования в песочнице

API Hammering как способ избежать детектирования в песочнице

API Hammering как способ избежать детектирования в песочнице

Исследователи из Palo Alto Networks обнаружили образцы вредоносов Zloader и BazarLoader, использующие необычные способы реализации механизма API Hammering (от hammer — стучать, долбить). Эта техника маскировки позволяет сдержать исполнение вредоносного кода в песочнице за счет многочисленных мусорных вызовов API-функций Windows: пока они обрабатываются, зловред спит, и его намерения неясны.

Чаще всего для выполнения операции сна в контролируемой среде вредоносы, со слов экспертов, используют API-функцию Sleep. Более изощренный способ самозащиты предполагает циклическую отсылку ICMP-пакетов на какой-нибудь IP. Отправка и получение этих бесполезных пингов требуют времени, и запуск вредоносных функций в итоге происходит с задержкой.

Многие песочницы уже умеют выявлять подобные трюки, поэтому вирусописателям приходится искать другие способы, чтобы уберечь свои коды от детектирования во враждебном окружении. Одним из известных и менее распространенных способов антисэндбокса является API Hammering — использование огромного количества бессмысленных обращений к Windows API.

Загрузчик BazarLoader ранее с этой целью вызывал 1550 раз функцию printf. Новая версия, попавшая в поле зрения Palo Alto, использует длинный цикл обращений к произвольным ключам системного реестра (вполне легитимное поведение), который может повторяться произвольное число раз.

Количество итераций и список ключей реестра генерируются по месту. Зловред считывает из папки System32 первый файл подходящего размера, кодирует его, удаляя почти все нулевые байты, и вычисляет для итераций значение на основе сдвига первого нулевого байта в этом файле. Список ключей реестра тоже составляется с помощью закодированного файла — из фрагментов данных фиксированной длины.

Исследователи подчеркивают, что на разных Windows-машинах число итераций маскировочного цикла и создаваемые списки ключей реестра неодинаковы — из-за разницы в версиях ОС, наборах установленных обновлений и содержимого папки System32. Механизм API Hammering встроен в упаковщик BazarLoader и тормозит, таким образом, распаковку полезной нагрузки.

Модульный троян Zloader применяет ту же технику обхода сэндбокса, но вместо длинных повторяющихся циклов использует четыре больших подпрограммы с вложенными вызовами множества мелких процедур. Последние при выполнении обращаются к Windows API (каждая вызывает по четыре функции — GetFileAttributesW, ReadFile, CreateFileW и WriteFile). В сумме количество вводящих в заблуждение вызовов, которые генерирует зловред, превышает 1 млн, при этом его поведение схоже с легитимной программой, выполняющей файловые операции ввода-вывода.

Корзина Windows показывает не те имена файлов после июньского обновления

Очередной Patch Tuesday от Microsoft принёс пользователям Windows новый сюрприз. После установки июньского обновления под номером KB5094126 некоторые владельцы компьютеров заметили странное поведение Корзины. Проблема проявляется при окончательном удалении файлов.

Обычно Windows показывает предупреждение с именем файла, который пользователь собирается стереть навсегда. Теперь же вместо привычного названия система может отображать какой-то внутренний служебный идентификатор.

Выглядит это так, будто Windows внезапно забыла, какой именно файл собирается удалить.

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

Если открыть Корзину, правильное название документа или изображения по-прежнему отображается в списке файлов. Более того, при восстановлении объект возвращается под своим оригинальным именем. То есть проблема затрагивает только окно подтверждения удаления.

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

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

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

RSS: Новости на портале Anti-Malware.ru