SeEtwWriteKMCveEvent 函数 (wdm.h)

SeEtwWriteKMCveEvent 函数是一个跟踪函数,用于在内核模式驱动程序中检测到安全漏洞攻击尝试时发布事件。

语法

NTSTATUS SeEtwWriteKMCveEvent(
  [in]           PCUNICODE_STRING CveId,
  [in, optional] PCUNICODE_STRING AdditionalDetails
);

参数

[in] CveId

指向字符串的指针,该字符串提及与引发此事件的漏洞关联的 CVE-ID。 有关详细信息,请参阅 处理新 CVE ID 语法的技术指南

[in, optional] AdditionalDetails

指向字符串的指针,该字符串提供事件生成者可能希望向此事件的使用者提供的其他详细信息。

返回值

SeEtwWriteKMCveEvent 返回以下值之一:

返回代码 说明
STATUS_SUCCESS 已成功发布驱动程序
ERROR_INVALID_PARAMETER 传递的指向 CVE-ID 的指针无效。 事件可能由于多种原因而丢失:例如,如果事件速率过高或事件大小大于缓冲区大小。 在这些情况下, EventsLost 计数器(相应记录器 EVENT_TRACE_PROPERTIES 结构的成员)将更新为未记录的事件数。

注解

SeEtwWriteKMCveEvent 函数发布基于 CVE 的事件。 仅当应用程序检测到尝试利用已知已修补的漏洞时,才应调用此函数。 理想情况下,应将此函数调用添加为修复 (更新) 本身的一部分。 此事件的默认使用者为 EventLog-System。 若要启用另一个使用者,可以将提供程序添加到使用者会话。

提供程序 GUID:85a62a0d-7e17-485f-9d4f-749a287193a6

源名称:Microsoft-Windows-Audit-CVE 或 CVE-Audit

示例

NTStatus status;
UNICODE_STRING CVEID;
UNICODE_STRING EventDetails;

…

RtlInitUnicodeString(&CVEID, L"CVE-2015-0000");
RtlInitUnicodeString(&EventDetails, L"Vulnerable request with data is logged in %temp%\abc.log");

status = SeEtwWriteKMCveEvent( &CVEID, &EventDetails);

要求

要求
最低受支持的客户端 在 Windows 10 及更高版本的 Windows 中可用
目标平台 Windows
标头 wdm.h
Library Ntoskrnl.lib
DLL Ntoskrnl.exe