Microsoft рассказала, как выявить атаку UEFI-буткита BlackLotus

Microsoft рассказала, как выявить атаку UEFI-буткита BlackLotus

Microsoft рассказала, как выявить атаку UEFI-буткита BlackLotus

Специалисты Microsoft изучили зараженные устройства и составили список артефактов, по которым можно определить присутствие стойкого импланта. В помощь жертвам BlackLotus также опубликованы рекомендации по очистке и защите от атак на UEFI-платформу.

Объявившийся в прошлом году зловред BlackLotus относится к классу буткитов. Такие инфекции сложно обнаружить, так как вредоносный код загружается из прошивки BIOS / UEFI или системного раздела EFI (EPS) и исполняется на начальных этапах загрузки ОС, то есть до запуска средств антивирусной защиты.

Новобранец примечателен тем, что для обхода защиты UEFI Secure Boot использует уязвимость CVE-2022-21894 (пропатчена в январе прошлого года). В целях самообороны он умеет отключать Microsoft Defender, защиту целостности кода HVCI и BitLocker.

Свидетельства заражения BlackLotus, согласно блог-записи Microsoft:

  • недавно созданные и заблокированные файлы загрузчика;
  • наличие папки /system32/ в файловой системе EPS;
  • изменения в разделе реестра, ассоциируемом с HVCI;
  • специфические записи в журналах событий Windows;
  • изменение конфигурации загрузки (журналы MeasuredBoot);
  • исходящие подключения winlogon.exe на порту 80 (попытки зловреда связаться с C2).

Файлы загрузчика BlackLotus (фейковые winload.efi, bootmgfw.efi, grubx64.efi) записываются в ESP, доступ к ним блокируется во избежание модификации / удаления. Подмена таких файлов, по словам экспертов, может расцениваться как заражение.

 

Если время изменений не выглядит подозрительным, можно попробовать вычислить хеши с помощью CertUtil. Поскольку BlackLotus блокирует свои файлы, попытка доступа выдаст ошибку ERROR_SHARING_VIOLATION с развернутым объяснением причины, что подтвердит вредоносную активность.

 

Папка /system32/ создается в ESP в процессе установки UEFI-зловреда. В случае успеха она чистится, но удаленные файлы при желании можно отыскать.

 

Отключение HVCI позволяет BlackLotus загрузить неподписанный код ядра. С этой целью он меняет на 0 значение Enabled ключа реестра HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity. Непрошеный останов Microsoft Defender найдет отражение в журналах событий Windows.

 

Изучение логов MeasuredBoot тоже позволит выявить признаки компрометации — подключение загрузочных драйверов grubx64.efi и winload.efi. Прочесть содержимое файлов в данном случае можно с помощью криминалистической копии жесткого диска или специального инструмента декодирования.

Для очистки устройства после заражения следует отключить его от сети и переформатировать разделы диска с OS и EFI. Как вариант для восстановления подойдет также чистая резервная копия с разделом EFI.

Предотвратить подобное заражение, по мнению Microsoft, помогут принцип наименьших привилегий и гигиена учетных данных. Для запуска UEFI-буткита требуется привилегированный доступ к машине (удаленный или физический), поэтому эксперты советуют меньше пользоваться аккаунтами уровня домена и ограничить привилегии локальных админов. Минимизировать риски можно также, построив систему многоуровневой защиты.

DROIDBREAKER обходит ML-детекторы Android-вредоносов без поломки APK

Машинное обучение в антивирусах снова получило неприятный привет. Исследователи представили DROIDBREAKER — фреймворк для создания модифицированных Android-приложений, которые могут обходить ML-детекторы вредоносных приложений и при этом сохранять работоспособность.

Авторы работы отмечают, что многие прежние атаки на Android-детекторы выглядели красиво в статьях, но плохо жили в реальности.

Одни методы добавляли в APK целые доброкачественные модули, из-за чего приложение обрастало лишними признаками и часто ломалось еще на этапе сборки. Другие меняли байт-код слишком грубо: формально APK получался валидным, но нормально работать уже не мог.

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

 

DROIDBREAKER пытается решить именно эту проблему. Фреймворк меняет только те компоненты APK, которые сильнее всего влияют на решение целевой ML-модели. Для этого используются более точечные и безопасные манипуляции: изменение API-вызовов, модулей приложения, разрешений, URL и элементов обфускации.

Главная фишка — проверка сохранения поведения. DROIDBREAKER сравнивает журналы выполнения и API-трейсы исходного и измененного приложения, чтобы убедиться: APK не просто собрался и запустился, а действительно продолжает делать то, что должен.

В экспериментах на свежем наборе Android-приложений фреймворк показал высокую эффективность обхода как в сценариях white-box, так и в black-box. При этом ему требовалось относительно мало запросов к модели, а побочных изменений в приложении было меньше, чем у прежних подходов.

Более того, модифицированные APK заметно реже детектировались коммерческими сканерами, представленными на VirusTotal.

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