Вступ
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.







