以下步骤可用于提交早期启动反恶意软件(ELAM)驱动程序:
确保驱动程序遵守 ELAM 驱动程序的记录要求。 有关详细信息,请参阅 ELAM 驱动程序要求 和 INF SignatureAttributes 部分 。
使用硬件徽标工具包(HLK)和硬件认证工具包(HCK)验证驱动程序。 如果你的驱动程序将用于 Windows 8 和 Windows 10,则需要运行这两个版本的工具包。 在提交中包括结果。 有关详细信息,请参阅 HLK 工具技术参考 。 有关所需的 HCK 测试的信息,请参阅下文。
按照 驱动程序签名策略 主题中所述遵循内核模式驱动程序签名策略。
在 Windows 硬件开发人员中心提交驱动程序包以供评估
每个驱动程序 .sys 文件都必须由Microsoft签名的代码,使用特殊证书指示它是早期启动 AM 驱动程序。
AM 驱动程序必须是单个二进制文件(不导入任何其他 DLL)。
硬件认证工具包测试
面向预 Windows 10作系统的每个驱动程序都必须通过由 ISV 管理的以下 HCK 测试:
性能测试
- 回调延迟 - 每个提前启动的 AM 驱动程序需要在0.5毫秒内将驱动程序验证回调返回到内核。 此时间是从内核向驱动程序发出回调到驱动程序返回回调的时间开始测量的。
- 内存分配 - 对于驱动程序映像及其配置(签名)数据,每个提前启动 AM 驱动程序都需要将内存中的占用空间限制为 128 KB。
- UNLOAD BLOCKING - 每个早期启动 AM 驱动程序在最后一个启动驱动程序初始化完成后接收到同步回调,表明 AM 驱动程序即将被卸载。 AM 驱动程序可以利用这一信息来提醒自身需要执行“清理”并保存任何可供运行时 AM 驱动程序使用的状态信息。 但是,早期启动 AM 驱动程序必须返回一个回调函数,以便卸载驱动程序并继续启动。
- 签名数据测试 - 每个早期启动 AM 驱动程序都必须从单个已知位置获取其恶意软件签名数据,且不能从其他任何位置获取。 这允许 Windows 对这些数据进行度量和保护。 此测试可确保每个 AM 驱动程序仅从为该驱动程序创建的注册表配置单元中读取其配置数据。
- BACKUP DRIVER TEST - 安装后,早期启动 AM 驱动程序还必须将驱动程序的备份副本安装到备份驱动程序存储中。 此要求有助于修复主驱动程序损坏的情况。 此测试可确保对于已安装的早期启动 AM 驱动程序,备份存储中存在相应的驱动程序。