Мониторинг USB-накопителей на Windows с помощью Wazuh

Введение

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

Важно проводить мониторинг USB-накопителей, поскольку они часто служат точкой входа для злонамеренного ПО. Кроме того, это способствует защите конфиденциальной информации и предотвращению утечек данных.

В блоге также есть публикация про мониторинг USB-накопителей на Linux.

Инфраструктура

  • Настроенная и готовая к использованию последняя версия виртуальной машины Wazuh OVA, которая содержит основные компоненты решения (сервер, indexer, дешборд).

  • Установленная и зарегистрированная на сервере Wazuh конечная точка Windows 10 с агентом Wazuh.

Конфигурация

Конечная точка Windows

Аудит активности PNP – это функция Windows, которая помогает выявлять USB-накопители и генерировать события Plug and Play (PnP). Эта функция доступна в Windows 10, Windows Server 2016 и более поздних версиях.

Чтобы включить эту функцию, нужно выполнить следующие действия:

1) Запустить утилиту Windows Run с помощью комбинации клавиш Windows + R. Ввести secpol.msc в графу и нажать OK. После этого откроется окно Local Security Policy (Локальная политика безопасности), как показано ниже.

Local Security Policy

2) Перейти к Advanced Audit Policy Configuration > System Audit PoliciesLocal Group Policy Object > Detailed Tracking и дважды щелкнуть Audit PNP Activity. В новом всплывающем окне выбрать Configure the following audit events: и Success, далее – ОК.

Всплывающее окно Audit PNP Activity Properties

В этой публикации рассмотрено событие Windows с ID 6416, отвечающее за аудит внешних устройств.

Примечание. Аудит активности PNP генерирует четыре события, когда подключен внешний USB-накопитель. Это можно проверить с помощью инструмента Windows для просмотра событий (Event Viewer).

Сервер Wazuh

В этом разделе показано создание кастомного правила для выявления действий, связанных с USB-накопителями.

1) Добавить следующее правило в файл /var/ossec/etc/rules/local_rules.xml сервера Wazuh:

<group name="windows-usb-detect,">
  <rule id="111000" level="7">
    <if_sid>60103</if_sid>
    <field name="win.system.eventID">^6416$</field>
    <match>USBSTOR\\Disk</match>
    <options>no_full_log</options>
    <description>Windows: A PNP device $(win.eventdata.deviceDescription) was connected to $(win.system.computer)</description>
  </rule>
</group>

Где:

  • Правило ID 111000 обнаруживает событие с eventID 6416. Этот тип события возникает, когда система Windows распознает внешнее устройство. В этом случае это касается USB-накопителя, подключенного к отслеживаемой конечной точке Windows.
  • <match> обнаруживает событие, содержащее ключевое слово USBSTOR\\Disk. Оно включает в себя название поставщика и продукта, номер версии и серии. События с другими ключевыми словами игнорируются.

2) Перезапустить менеджер Wazuh, чтобы изменения вступили в силу:

systemctl restart wazuh-manager

Проверка конфигурации

1) Подключить USB-устройство к контролируемой конечной точке Windows.

2) Перейти во вкладку Security events на дешборде Wazuh, чтобы просмотреть сгенерированные оповещения.

События подключения USB-накопителя на дешборде Wazuh

Фильтрация авторизованных и неавторизованных USB-накопителей

Создание списка CDB для авторизованных USB-накопителей

Необходимо создать список CDB (constant database, постоянная база данных) для авторизованных USB-накопителей, используя их поля deviceId. Устройство, которого нет в этом списке, будет отмечено как неавторизованное.

1) На дешборде Wazuh развернуть оповещение правила ID 111000 и взять значение поля data.win.eventdata.deviceId. Эта графа содержит имя поставщика и продукта, номер версии и серии.

Получение значения идентификатора устройства с событий USB-накопителя

2) На сервере Wazuh создать список CDB usb-drives в каталоге /var/ossec/etc/lists:

sudo touch /var/ossec/etc/lists/usb-drives

3) Добавить вышеупомянутое значение deviceId с двоеточием (:) в список CDB:

USBSTOR\\Disk&amp;Ven_ADATA&amp;Prod_USB_Flash_Drive&amp;Rev_1100\\273170825011004C&amp;0:

Списки CDB обычно используют пары <key>:<value>, но также могут принимать значение <key>:.

4) Добавить <list>etc/lists/usb-drives</list> к блоку <ruleset> файла /var/ossec/etc/ossec.conf:

<ruleset>
  <!-- Default ruleset -->
  <decoder_dir>ruleset/decoders</decoder_dir>
  <rule_dir>ruleset/rules</rule_dir>
  <rule_exclude>0215-policy_rules.xml</rule_exclude>
  <list>etc/lists/audit-keys</list>
  <list>etc/lists/amazon/aws-eventnames</list>
  <list>etc/lists/security-eventchannel</list>

  <!-- User-defined ruleset -->
  <decoder_dir>etc/decoders</decoder_dir>
  <rule_dir>etc/rules</rule_dir>
  <list>etc/lists/usb-drives</list>
</ruleset>

Добавление правил для фильтрации USB

1) Добавить следующие правила в предварительно созданную группу windows-usb-detect в файле /var/ossec/etc/rules/local_rules.xml:

<rule id="111001" level="5">
  <if_sid>111000</if_sid>
  <options>no_full_log</options>
  <description>Windows: Authorized PNP device $(win.eventdata.deviceDescription) was connected to $(win.system.computer).</description>
</rule>

<rule id="111002" level="8">
  <if_sid>111000</if_sid>
  <list field="win.eventdata.deviceId" lookup="not_match_key">etc/lists/usb-drives</list>
  <options>no_full_log</options>
  <description>Windows: Unauthorized PNP device $(win.eventdata.deviceDescription) was connected to $(win.system.computer).</description>
</rule>

Где:

  • Правило ID 111001 генерирует оповещение, когда авторизованные USB-накопители подключаются к конечной точке.

  • Правило ID 111002 генерирует оповещение, когда неавторизованные USB-накопители подключаются к конечной точке (ведь идентификатор устройства не найден в списке CDB).

2) Перезапустить менеджер Wazuh, чтобы изменения вступили в силу:

systemctl restart wazuh-manager

Проверка конфигурации

1) Подключить авторизованное устройство USB к конечной точке Windows, поле deviceId которого было добавлено в список CDB.

2) Подключить неавторизованное USB-устройство к конечной точке Windows.

Перейти к Security events на дешборде Wazuh, чтобы просмотреть сгенерированные оповещения.

Событие авторизованного USB-накопителя

Событие неавторизованного USB-накопителя

Импорт кастомной визуализации оповещений об авторизованных и неавторизованных USB

В этом разделе продемонстрировано, как на дешборд Wazuh импортировать кастомную визуализацию, отображающую авторизованные и неавторизованные USB-накопители.

1) Загрузить кастомный файл визуализации. Ссылка для мгновенного скачивания: windows-usb-drive-monitoring-visualization.ndjson.

2) Выбрать опцию Import в Management > Stack Management > Saved Object.

Импорт кастомной визуализации

После успешного импорта новый объект под названием Windows USB drive monitoring должен быть виден в списке Saved Objects.

Импортируемый файл визуализации в списке Saved Objects

3) Выбрать файл Windows USB drive monitoring, чтобы просмотреть его содержимое. На изображении ниже показаны оповещения об авторизированных и неавторизованных USB-накопителях, сгенерированные правилами ID 111001 и ID 111002.

Содержимое Windows USB drive monitoring

Импортируемый объект кастомной визуализации также отображается в разделе Visualize под OpenSearch Dashboards.

Подписаться на новости