Введение
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 Policies – Local 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&Ven_ADATA&Prod_USB_Flash_Drive&Rev_1100\\273170825011004C&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.







