记一次360FsFlt.sys蓝屏问题

最近电脑突然蓝屏了。错误码为0x3B: SYSTEM_SERVICE_EXCEPTION(https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0x3b–system-service-exception)。
发生这种情况的原因可能是取消引用 NULL 指针或访问了随机的错误地址。这可能是由于内存过早释放或数据结构损坏引起的。

于是我打开蓝屏dmp查看崩溃时堆栈,可以看到是360的一个文件系统过滤驱动(360FsFlt.sys)在调用内核API。
在这里插入图片描述
于是我打开了ida,逆向了一下360这个驱动,定位到伪代码如下,对比windbg的参数,发现第一个参数也就是Token为0。
在这里插入图片描述
那么这里结合windg和ida的现象,初步认为该蓝屏是360驱动在调用SeQueryInformationToken的时候,抛出了一个错误为访问了非法内存。而直接原因是因为token的值不对,那么token的值为什么不对呢?到底是360驱动本身的bug,还是我们的驱动给他改掉了?不确定,继续往下排查。

github上有个开源项目reactos,是一个开源的windows内核系统,有很多值得借鉴的地方。于是我们在这个项目里面查看SeQueryInformationToken的编码实现,通过IDA逆向nt内核模块计算偏移计算定位到这里。在这里插入图片描述

在这里插入图片描述
然后查看UserAndGroupCount,holyshit,这个值怎么这么大,明显不合理啊。
在这里插入图片描述
这时候好像没法查了,不知道这个值被谁改的。没办法,只能找360的社区问问了。(问题链接:https://bbs.360.cn/thread-16093498-1-1.html?openid=ZYxwVgs4hBgA08%2BQfRuNbYdAUyTjq%2BQjcVX8fzgUl2k%3D&ticket=gQGO7zwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyNEthVlFicHdhTWUxZ3MzYnhCYy0AAgQM9UplAwQQDgAA)
结果技术工程师说他们驱动没问题,就是被别人改了,然后我重试了三十次都没复现。

在这里插入图片描述


虽然最后没查出来根因,但是蓝屏的时候我们的驱动已经卸载掉了,而且也没有我们申请的内存(没有我们的tag)。所以基本可以自证清白。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值