MaxPatrol EDR

Защищает конечные точки со всеми популярными ОС от сложных и целевых атак

T1553.001: Обход Gatekeeper

Злоумышленники могут изменить атрибуты файла и обойти технологию Gatekeeper, чтобы выполнить недоверенные программы без подтверждения со стороны пользователя. Gatekeeper является частью модели безопасности Apple и обеспечивает выполнение на хосте только доверенных приложений. Технология Gatekeeper создавалась на базе функции "карантин файлов" в ОС Snow Leopard (версия 10.6, 2009) и включает такие возможности, как проверка подписи исполняемого кода и соответствия политике безопасности, заверение и другие. Gatekeeper обрабатывает впервые запускаемые приложения иначе, чем запускаемые повторно.

В зависимости от используемой системы, во время загрузки файлов приложение, выполняющее загрузку, может установить для файла расширенный атрибут (xattr) com.apple.quarantine (флаг карантина). Службы запуска открывают приложение в приостановленном состоянии. Если приложение с флагом карантина запускается впервые, Gatekeeper выполняет следующие операции.

  1. Проверка расширенного атрибута — Gatekeeper проверяет, установлен ли флаг карантина, и запрашивает разрешение пользователя на запуск приложения.

  2. Проверка системных политик — Gatekeeper разрешает выполнение приложений, загруженных либо только из App Store, либо из App Store или от зарегистрированных разработчиков, в соответствии с системной политикой безопасности.

  3. Проверка подписи исполняемого кода — Gatekeeper проверяет наличие действительной подписи кода сертификатом на основе Apple Developer ID.

  4. Заверение — Gatekeeper обращается к серверам Apple через API api.apple-cloudkit.com, чтобы проверить билет заверения приложения и убедиться, что он не аннулирован. Пользователи могут игнорировать заверение, в результате чего политика безопасности будет изменена, а пользователь увидит уведомление о запуске "неавторизованного приложения".

Злоумышленники могут обойти один или несколько механизмов безопасности Gatekeeper, пользуясь логическими ошибками (см., например, технику Эксплуатация уязвимостей для предотвращения обнаружения), непроверенными типами файлов и внешними библиотеками. Например, до выхода macOS 13 Ventura проверка подписи исполняемого кода и заверение выполнялись только при первом запуске приложения, что позволяло злоумышленникам добавлять вредоносные исполняемые файлы к ранее открытым приложениям и обходить проверки Gatekeeper.

В файлах и приложениях, загруженных в систему с USB-накопителя, оптического диска, внешнего жесткого диска, из сетевой папки или с использованием команды curl, не всегда устанавливается флаг карантина. Кроме того, избежать установки флага карантина возможно с помощью техники теневой (drive-by) компрометации.

Какие продукты Positive Technologies покрывают технику

Описание методов обнаружения техники пока недоступно

Способы обнаружения

IDDS0009Источник и компонент данныхПроцесс: Создание процессаОписание

Monitor and investigate attempts to modify extended file attributes with utilities such as xattr. Built-in system utilities may generate high false positive alerts, so compare against baseline knowledge for how systems are typically used and correlate modification events with other indications of malicious activity where possible.

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Monitor and investigate attempts to modify extended file attributes with utilities such as xattr. Built-in system utilities may generate high false positive alerts, so compare against baseline knowledge for how systems are typically used and correlate modification events with other indications of malicious activity where possible.

IDDS0022Источник и компонент данныхФайл: Изменение файлаОписание

The removal of the com.apple.quarantine flag by a user instead of the operating system is a suspicious action and should be examined further. Also monitor software update frameworks that may strip this flag when performing updates.

IDDS0022Источник и компонент данныхФайл: Метаданные файлаОписание

Review false values under the LSFileQuarantineEnabled entry in an application's Info.plist file (required by every application). false under LSFileQuarantineEnabled indicates that an application does not use the quarantine flag. Unsandboxed applications with an unspecified LSFileQuarantineEnabled entry will default to not setting the quarantine flag.

QuarantineEvents is a SQLite database containing a list of all files assigned the com.apple.quarantine attribute, located at ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2. Each event contains the corresponding UUID, timestamp, application, Gatekeeper score, and decision if it was allowed.

Меры противодействия

IDM1038НазваниеЗащита от выполненияОписание

System settings can prevent applications from running that haven't been downloaded through the Apple Store which can help mitigate some of these issues.