|
|
aTrust 客户端 SdpNetFilter1.sys 驱动引发 PAGE_FAULT_IN_NONPAGED_AREA (0x50) 蓝屏 ,已排除三方工具
新手585400
2026-9-16 17:48
13
本帖最后由 新手585400 于 2026-9-16 17:53 编辑
一、问题现象
Windows 系统频繁出现蓝屏,终止代码为:
PAGE_FAULT_IN_NONPAGED_AREA (0x50)
失败的操作: NETIO.SYS
问题已持续 超过两年
公司上百台电脑安装aTrust都会出现,版本涉及两年前到V2.5.10.32全部版本
蓝屏频率无规律,从半月一次到一天多次不等
近期在没有启动任何开发工具、仅使用浏览器的情况下也会触发
二、系统环境
项目 信息
操作系统 Windows 10/11 (Build 26100.xxxx)
aTrust 客户端 已更新至官网最新版本
其他安全软件 火绒已卸载 / Npcap 已卸载
开发环境 IntelliJ IDEA(蓝屏与其无必然关联,未启动IDE时也会触发)
三、Dump 文件分析结论
通过 WinDbg 分析多次蓝屏转储文件,结果如下:
3.1 故障调用栈(四次 dump 完全一致)
SdpNetFilter1+0xf143
↓
fwpkclnt!FwpsCompleteClassify0
↓
NETIO!FeCompleteClassify+0x6d ← 读取无效内存地址,触发 0x50 蓝屏
3.2 关键证据
Dump 文件 时间 场景 Failure ID Hash
070926-16750-01.dmp 2026-07-09 IDEA 启动/调试 {6d4ee901-11a0-d690-6b19-b1986a7743ee}
072326-16562-01.dmp 2026-07-23 IDEA 启动/调试 {6d4ee901-11a0-d690-6b19-b1986a7743ee}
080626-15687-01.dmp 2026-08-06 仅浏览器上网 {6d4ee901-11a0-d690-6b19-b1986a7743ee}
09xxxx-xxxxx-01.dmp 2026-09-xx 无IDE、最新版aTrust {6d4ee901-11a0-d690-6b19-b1986a7743ee}
四次蓝屏的错误指纹(Failure ID Hash)完全相同,调用栈结构、崩溃指令地址、模块偏移量均一致,证明是 SdpNetFilter1.sys 驱动内部同一处代码缺陷导致的稳定复现问题。
3.3 崩溃指令
NETIO!FeCompleteClassify+0x6d:
movups xmm0, xmmword ptr [rsi] ← 访问已释放/无效的内存地址
四、已完成的排查与验证
为排除第三方因素干扰,已执行以下操作:
✅ 卸载 Npcap 抓包驱动(Wireshark 相关组件)
✅ 卸载火绒安全软件及其 NDIS 过滤驱动(hrndis6)
✅ 将 IntelliJ IDEA 加入 aTrust 白名单
✅ 更新 aTrust 客户端至官方最新版本
✅ 验证蓝屏与 IDEA 无必然关联(未启动 IDE 时也会触发)
以上操作均未解决问题,蓝屏频率有所降低(从一天多次降至约两周一次),但故障模式未改变。
五、根因判断
根据四次 WinDbg 分析结果,问题根因为:
aTrust 网络过滤驱动 SdpNetFilter1.sys 在偏移 +0xf143 处调用 Windows 过滤平台(WFP)的 FwpsCompleteClassify0 回调时,传递了无效内存地址,导致 NETIO.SYS 在 FeCompleteClassify 函数中访问非法内存,触发内核级 0x50 蓝屏。
该缺陷位于 aTrust 驱动自身代码中,与操作系统网络子系统交互时存在 Use-After-Free 或 内存越界 问题。
六、诉求
请深信服技术支持确认该缺陷,并基于提供的四个 dump 文件进行内部复现分析
提供紧急热修复补丁,修复 SdpNetFilter1.sys 在 +0xf143 偏移处的内存访问缺陷
如短期内无法修复,请提供 workaround 方案,例如:
可关闭引发该缺陷的特定 WFP 回调功能
或提供不含该缺陷的历史稳定版本进行回退
片段1:蓝屏基本信息(第32-46行)
Loading Dump File [C:\Windows\Minidump\080626-15687-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Windows 10 Kernel Version 26100 MP (12 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Debug session time: Thu Aug 6 15:39:44.512 2026 (UTC + 8:00)
System Uptime: 0 days 6:49:46.348
片段2:终止代码和故障模块(第79-98行)
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced. This cannot be protected by try-except.
Typically the address is just plain bad or it is pointing at freed memory.
Arguments:
Arg1: fffffe8e0e787e78, memory referenced.
Arg2: 0000000000000000, X64: bit 0 set if the fault was due to a not-present PTE.
bit 1 is set if the fault was due to a write, clear if a read.
bit 3 is set if the fault was due to a corrupted PTE.
bit 4 is set if the fault was due to attempted execute of a no-execute PTE.
- ARM64: bit 1 is set if the fault was due to a write, clear if a read.
bit 3 is set if the fault was due to attempted execute of a no-execute PTE.
Arg3: fffff8021834488d, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 0000000000000002, (reserved)
*** WARNING: Unable to verify timestamp for SdpNetFilter1.sys
片段3:调用栈(第349-356行)—— 这是最关键的证据
STACK_TEXT:
fffffe8e`111632a8 fffff802`84efd030 : 00000000`00000050 fffffe8e`0e787e78 00000000`00000000 fffffe8e`11163510 : nt!KeBugCheckEx
fffffe8e`111632b0 fffff802`84e43c56 : ffffcd85`cfbde080 ffff8000`00000000 fffffe8e`0e787e78 0000007f`fffffff8 : nt!MiSystemFault+0x850
fffffe8e`111633a0 fffff802`852badcb : 00000000`00000000 00000000`00000000 ffffcd85`e87224a0 00000000`00000000 : nt!MmAccessFault+0x646
fffffe8e`11163510 fffff802`1834488d : 00000000`00000000 fffff802`00000001 0000045c`0000045c fffff802`300a30f9 : nt!KiPageFault+0x38b
fffffe8e`111636a0 fffff802`1841a0b7 : 00000000`00000000 fffffe8e`11163820 00000000`00000074 ffffcd85`fb262af0 : NETIO!FeCompleteClassify+0x6d
fffffe8e`111636f0 fffff802`3009f143 : 00000000`00000000 ffffb001`00000000 fffffe8e`11163820 00000000`00000074 : fwpkclnt!FwpsCompleteClassify0+0x17
fffffe8e`11163720 00000000`00000000 : ffffb001`00000000 fffffe8e`11163820 00000000`00000074 fffffe8e`11163760 : SdpNetFilter1+0xf143
片段4:故障定性和错误指纹(第359-377行)
SYMBOL_NAME: NETIO!FeCompleteClassify+6d
MODULE_NAME: NETIO
IMAGE_NAME: NETIO.SYS
IMAGE_VERSION: 10.0.26100.8875
FAILURE_BUCKET_ID: AV_NETIO!FeCompleteClassify
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {6d4ee901-11a0-d690-6b19-b1986a7743ee} |
解决该疑问,预计可以帮助到 18074 人!
回帖即可获得
2S豆
,被楼主采纳即奖励 20S豆+10分钟内回帖奖励 10S豆
[已过期]
, 了解更多S豆奖励信息
完善手机号和公司名称,让服务更省心更便捷!立即完善
|