Полезные знания Маковый мониторинг. Отслеживаем системные события в macOS

BOOX

Стаж на ФС с 2012 года
Команда форума
Служба безопасности
Private Club
Регистрация
23/1/18
Сообщения
29.223
Репутация
11.695
Реакции
61.957
RUB
50
Можно бесконечно наблюдать за тремя вещами: горящим огнем, текущей водой и событиями в операционной системе.


И если в Windows средства мониторинга и журналирования уже хорошо изучены пользователями и системными администраторами, то в macOS с этим не все так просто. Сегодня мы поговорим о бесплатных инструментах отслеживания событий в «маке» и их практическом применении.
Как мы привыкли к событиям Windows… С ними все понятно, в сети доступно огромное количество материалов о настройке централизованного сбора событий с использованием Windows Event Forwarding. Многие гайды предлагают пошаговые инструкции с ответами на вопросы из серии «Сколько WEC (Windows Event Collector) нужно для парка в 4000 машин?».

Однако крайне мало внимания уделяется компьютерам на базе macOS. Причины очевидны: немногие организации сейчас готовы закупать «маки» для своих сотрудников. Это дорого, непонятно, как эти машины администрировать, возникает ворох проблем с совместимостью. Кроме того, на рынке доступно не так много специалистов, которые знают, как обуздать эту операционную систему и как обезопасить ее, ведь для macOS также существуют угрозы. Однако решение проблемы с мониторингом есть, и оно уже встроено в систему, начиная с версии 10.15 Catalina.

СПОСОБЫ МОНИТОРИНГА​

Всего существует три способа мониторинга событий в macOS:

  1. Коммерческий EDR.
  2. Osquery.
  3. Eslogger (ESF).
О последнем мы и поговорим, попытавшись разобраться, как устроен этот инструмент.

INFO

Ранее для мониторинга событий в macOS использовалась подсистема аудита OpenBSM. Она была разработана компанией McAfee Research по индивидуальному заказу Apple в 2004 году. Позднее исходный код передали в TrustedBSD для нужд комьюнити. Этот инструмент был убран из macOS в версии Big Sur и больше не поддерживается.

Endpoint Security Framework (ESF) — это нативный компонент macOS, который служит для проактивного поиска событий и реагирования на них. Инструмент позволяет подписываться на события Notification и Authorization. Принцип его работы можно сравнить с Event Tracing For Windows (ETW). Он позволяет просматривать низкоуровневые события, связанные с процессами, файлами, немного с сетью и памятью, а также много чего еще!


КАК ЭТО РАБОТАЕТ?​

Раньше, если какая‑то компания бралась за разработку решения Endpoint Security, ей приходилось делать так называемое Kernel Extension (модуль для ядра). Примерами таких решений служат OpenBSM, Kauth KPI, MAC Framework. Решения на базе Kernel Extension было тяжело разрабатывать и поддерживать. Незначительные баги могли привести к kernel panic, а несовершенный код пробивал новые дырки в безопасности macOS.

В Apple это прекрасно понимали и поэтому в 2019 году (лучше поздно, чем никогда) заменили Kernel Extensions, которые работали в пространстве ядра, System Extensions, которые работают в пользовательском пространстве. Теперь у разработчиков развязаны руки. Все стало гораздо удобнее.

INFO

Хотя Kernel Extensions уже устарели, они все еще могут использоваться в современных macOS — но с оговоркой, что профиль безопасности системы должен быть сильно снижен. Добиться этого бывает очень сложно, и обычно это делается исключительно в целях разработки. Если производители не заменят кексты системными расширениями, они могут поставить под угрозу безопасность систем своих клиентов.

Актуальная схема работы Endpoint Security​

Существует два типа событий: Notification и Authorization. Они оба предоставляют одинаковую информацию, но между ними все же есть разница.

  • Notification — этот тип нужен для информирования об активности. Пример: запуск бинаря.
  • Authorization — этот тип нужен для блокирования активности. Пример: при наступлении события ядро стучится в System Extension антивирусного ПО для проверки, можно ли запускать процесс. Если ответа нет, то процесс прибивается на месте, так и не запустившись в пользовательском пространстве.

Схема работы Endpoint Security

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

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

RED CANARY MAC MONITOR​

Одна из немногих компаний, которая занимается в том числе и безопасностью macOS, — Red Canary. В мае 2023 года она выпустила утилиту под названием Mac Monitor. Эта программа отлично подойдет для демонстрации того, как вообще выглядят события ESF и как с ними можно работать. Также она будет очень полезна тем, кто проводит live response в системе.

В настройках можно установить фильтры и подписки на конкретные типы событий.


Mac Monitor

Так выглядит событие запуска команды curl после парсинга.



Тут мы можем увидеть события, которые относятся к главному событию.



А вот процесс‑инициализатор.



Событие запуска команды curl в сыром виде.



Загрузить утилиту можно по .

Только для live response​

Для реализации полноценного мониторинга Red Canary Mac Monitor нам не подойдет по следующим причинам:

  1. Это приложение придется раскатывать по всем системам.
  2. Хакер может легко прибить этот процесс.
  3. Его, как приложение, проблематично замаскировать и поставить в бэкграунд.
  4. Утилита собирает далеко не все типы событий и многое упускает из виду.
Следующий инструмент — хорошая бесплатная альтернатива вендорскому EDR. Скажу по секрету, коммерческие EDR под капотом поголовно используют ESF.

НУ И КАК ЖЕ МОНИТОРИТЬ?​

Перейдем к нативным средствам. Утилиты вроде Red Canary Mac Monitor используют Endpoint Security API и делают упор на визуализацию и красоту. Решение, которое мы запряжем в наш SOC, ориентируется на нативность, полноту и безопасность.

Это eslogger, утилита командной строки, она предоставляет прямой доступ непосредственно к генерируемым ядром событиям и поставляется со всеми версиями macOS выше Ventura. Этакий поисковик среди событий.

Плюсы eslogger:

  • уже есть на каждой macOS Ventura;
  • не грузит систему при использовании;
  • выдает лог в текстовом формате, а не бинарном;
  • дает отличную видимость активности.

Продолжение следует.

 
  • Теги
    apple macos windows event forwarding
  • Сверху Снизу