首页
社区
课程
招聘
[原创]WINDOWS VISTA/WIN7 内核完整性校验解析PE 蓝屏BUG
发表于: 2009-6-8 23:08 8887

[原创]WINDOWS VISTA/WIN7 内核完整性校验解析PE 蓝屏BUG

2009-6-8 23:08
8887

在VISTA 和WINDOWS 7 (ALL SP,全补丁)的内核代码完整性校验组件中,存在一处解析PE的BUG,可引发系统蓝屏。不过从现在看来,此问题似乎需要LoadDriver权限才能触发,因此不能算安全性问题,属于稳定性问题。

在VISTA以后的操作系统,系统使用MmLoadSystemImage加载驱动之前,会调用MmCheckSystemImage函数来检查镜像正确性,在VISTA及以后的操作系统中,MmCheckSystemImage发生了一个有意思的变化.

原本MmCheckSystemImage(vista以前的系统上),会使用SEC_IMAGE作为AllocationAttributes来调用ZwCreateSection为驱动文件创建Section,但是VISTA以后的系统上,该参数被换成了一个未公开的值: 0x100000(注意,SEC_IMAGE是0x1000000,6个0)。

在ZwCreateSection 中,系统会检查如果调用线程的上个模式不是KernelMode,则不允许使用这个未公开的AllocationAttributes:

NtCreateSection:

............无关部分........

//取当前线程上个模式

  if (KeGetPreviousMode() != KernelMode)
  {

//如果是用户模式,如果Attributes有0x2000000或0x10000的话,则返回无效参数
    v13 = 0;
    if ( !(Attributes & 0x2100000) )
    {
        .....无关处理.... 

    }
    return STATUS_INVALID_PARAMETER_6;
  }

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (8)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
M$自己都整不明白了,牛~
2009-6-9 07:21
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
3
好深奥。。保存下来。。好好研究。。。
2009-6-9 09:17
0
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
4
不懂,标记学习,谢谢MJ
2009-6-13 12:51
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不懂,收藏学习
2009-6-15 08:51
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
牛啊!
2009-6-16 19:18
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
收藏起来,慢慢研究一下。
2009-6-30 16:51
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
膜拜王小姐
2009-6-30 17:31
0
雪    币: 284
活跃值: (106)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
9
原理好像懂了,对触发流程就还是不太明白……
2009-6-30 18:19
0
游客
登录 | 注册 方可回帖
返回
//