金山毒霸与 360 安全卫士内核驱动曝高危漏洞

安全研究员 Patrick Saif(GitHub: sai2fast)披露了金山毒霸和 360 安全卫士两款国产杀毒软件的内核驱动存在高危安全漏洞。两个漏洞均已提交至 LOLDrivers 数据库,目前均未获得 CVE 编号,也未被列入 Windows HVCI(Hypervisor-enforced Code Integrity)屏蔽名单。

金山毒霸与 360 安全卫士内核驱动曝高危漏洞

金山毒霸:内核堆溢出

金山毒霸的防火墙驱动 kdhacker64_ev.sys(持有金山 EV 数字签名)通过 IOCTL 0x120140 暴露了一个内核堆缓冲区溢出漏洞。问题的根源在于输入验证与内存分配之间存在尺寸校验不匹配:输入校验使用 count * 0x488 作为缓冲区大小判定条件,而实际内核池分配仅按 count * 0x248 字节进行——分配量约为预期的一半。

当输入的 Unicode 字符串缺少空终止符时,RtlInitUnicodeString 会在无边界检查的情况下继续扫描相邻内存,生成超长的 ANSI 字符串,最终导致约 512 字节的数据溢出到相邻的内核池分配区。任何本地用户无需认证即可访问设备路径 \\.\KDHacker 触发此漏洞。

此外,该驱动还具备 TDI 网络钩子、进程监控回调、文件系统过滤和摄像头监控等能力,一旦被利用,攻击者可破坏内核池元数据,实现任意代码执行。

360 安全卫士:内核任意读写与进程终止

360 安全卫士的反 Rootkit 驱动 DsArk64.sys(持有微软 WHQL 签名)存在更为严重的安全问题。该驱动的签名校验机制可通过进程空洞(process hollowing)技术绕过,攻击者无需在目标机器上安装 360 软件即可加载带有合法 WHQL 签名的驱动文件。

更关键的是,驱动二进制文件中硬编码了 AES 密钥,用于通信加密。一旦密钥被逆向提取,攻击者可以通过该驱动实现任意内核内存读写操作,并终止受 PPL(Protected Process Light)保护的进程——这是 Windows 上最高级别的进程保护机制之一。

BYOVD 攻击风险

两个漏洞驱动均持有合法数字签名(EV 或 WHQL),且不在 Windows HVCI 屏蔽名单中,这意味着它们随时可能被用于 BYOVD(Bring Your Own Vulnerable Driver)攻击。在这种攻击模式下,攻击者不需要在目标机器上安装任何恶意软件——只需要将签名的漏洞驱动加载到内核空间,即可获得最高权限。

利用这些漏洞,攻击者可以从普通用户权限提权至 SYSTEM,绕过 KASLR(内核地址空间布局随机化),窃取内核凭据,甚至修改内核回调表来隐藏恶意行为。

防御建议

在厂商发布补丁之前,企业和个人用户可以考虑以下防护措施:

  • 将相关驱动的 SHA256 哈希加入 EDR 检测规则,阻止驱动加载
  • 启用 HVCI(内存完整性)并在可能时将相关驱动哈希手动加入屏蔽名单
  • 对终端上安装的杀毒软件驱动进行定期审计
  • 关注 LOLDrivers 项目更新以获取最新的已知漏洞驱动信息

来源:LOLDrivers Project · Patrick Saif (@weezerOSINT)

相关推荐