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 11 проиграла всем: XP, 7 и 8.1 оказались быстрее

Windows 11 давно не балуют комплиментами — её ругают за прожорливость, жёсткие требования к железу, странные интерфейсные решения и всё более навязчивые сервисы Microsoft. И вот масла в огонь подлил ютубер TrigrZolt, который устроил довольно жестокое сравнение сразу шести поколений Windows — от XP до 11. Спойлер: новейшая система почти везде оказалась аутсайдером. Но, как обычно, есть нюансы.

Для эксперимента взяли шесть одинаковых Lenovo ThinkPad X220 с процессором Core i5-2520M, 8 ГБ ОЗУ и обычным жёстким диском на 256 ГБ.

На каждый ноутбук поставили «последнюю возможную» версию своей Windows — от XP до 11. Уже на этом этапе понятно, что условия максимально благоприятны для старых ОС: Windows 11 официально такое железо вообще не поддерживает.

Тем не менее тесты стартовали. В загрузке системы быстрее всех оказалась Windows 8.1, а вот Windows 11 — самой медленной. Более того, у неё заметно «задумалась» панель задач — фирменная проблема, знакомая пользователям с релиза системы.

 

По занимаемому месту на диске ожидаемо победила Windows XP — всего 18,9 ГБ со всеми программами. Windows 11 заняла 37,3 ГБ и оказалась лишь третьей… уступив даже Vista и Windows 7. Да, лишнего в системе стало заметно больше.

С оперативной памятью ситуация ещё печальнее. Windows XP в простое довольствовалась 0,8 ГБ, а Windows 11 спокойно съедала 3,3–3,7 ГБ. Причина банальна — фоновые сервисы и телеметрия. На старом железе это напрямую превращается в тормоза.

 

Во втором этапе ОЗУ-теста проверяли, сколько вкладок браузера система выдержит до 5 ГБ использования памяти. Здесь Windows 11 снова оказалась последней — 49 вкладок. Для сравнения: Windows 8.1 осилила 252. Даже XP дошла до 50 — просто дальше начинала падать, а не упиралась в лимит.

По автономности Windows 11 тоже «умерла» первой, а XP показала лучший результат. Правда, разница составила всего пару минут, так что в реальной жизни это почти ни на что не влияет.

Экспорт аудио в Audacity, рендер видео, запуск приложений — почти везде Windows 11 стабильно оказывалась внизу таблицы. Она проиграла даже в таких простых задачах, как открытие Проводника, Калькулятора или Paint. В веб-тестах ситуация была чуть лучше, но ненадолго. Из приятных исключений — высокая скорость копирования файлов (второе место после Windows 10).

В бенчмарках картина не сильно изменилась: Windows 11 держалась в середине, но первые места не брала. CPU-Z, Cinebench, Geekbench — везде либо четвёртое место, либо борьба за то, чтобы не оказаться последней.

Итог выглядит разгромно: Windows 11 не выиграла ни одного теста. Но даже сам автор подчёркивает — это скорее исторический эксперимент, чем практическое сравнение. Использовать современную ОС на ноутбуках 2011 года с HDD — идея сомнительная. На актуальном железе с NVMe-SSD и свежими процессорами Windows 11 чувствует себя заметно бодрее, а часть проблем легко сглаживается настройками и «деблоатом».

Любопытно, что общую победу TrigrZolt отдал Windows 8.1 — системе, которую в своё время нещадно критиковали. По его словам, она оказалась неожиданно быстрой, плавной и при этом визуально не такой уж далёкой от Windows 10 и 11.

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