Как захватить Etw в режиме ядра? - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь перехватить некоторые системные вызовы, используя Etw в своем драйвере, чтобы быть более точным, мне нужно перехватить вызовы пользовательского режима NtWriteVirtualMemory и NtReadVirtualMemory, я попытался с помощью провайдера: Microsoft Windows анализ угроз , я использовал PerfView для выгрузки Threat Inteligence xml для Windows 10 1909 и использовал компилятор сообщений для компиляции манифеста (именно то, что сказал Microsoft), и проверил образец кода Microsoft Etw, но по какой-то причине мой обратный вызов вызывается только один раз (когда вызывается EtwRegister в моем DriverEntry), чтобы зарегистрировать мой обратный вызов, я только что вызвал EtwRegister, что я должен сделать для вызова моего обратного вызова? Я использую пример кода Microsoft с файлом заголовка, сгенерированным m c .exe (компилятор сообщений)

1 Ответ

1 голос
/ 12 марта 2020

Пример, на который вы смотрели, относится к провайдеру ETW, а не к потребителю. Я не уверен, что есть документированный способ использования событий ETW из ядра. Вы можете проверить примеры использования событий из пользовательского режима: https://github.com/microsoft/Windows-driver-samples/tree/master/general/tracing/SystemTraceControl

Также обратите внимание, что поставщик Microsoft Windows Threat Intelligence ETW может использоваться только в процессе типа Anti-Malware PPL. Для этого требуется наличие драйвера Раннего запуска AntiMalware с соответствующей службой AntiMalware. Более подробную информацию можно найти по адресу: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/early-launch-antimalware https://docs.microsoft.com/en-us/windows/win32/services/protecting-anti-malware-services-

...