微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

作者:
标题: 微点和火绒冲突问题说明
╭ァの修罗
新手上路





积分 6
发帖 6
注册 2012-6-16
#1  微点和火绒冲突问题说明

今天在火绒官网看到的帖子:
Table of Contents



    1 环境
    2 说明
    3 结论

1 环境



    微点:微点主动防御软件体验版,程序版本 2.0.20266.0140
    火绒:火绒系统诊断工具/火绒安全防御软件,产品版本 v0.8-rc1



2 说明
通过BSOD时的Dump,可以得知导致系统最终崩溃的原因是无限递归导致的栈溢出,下面是崩溃时的调用栈:

    kd> kv
    ChildEBP RetAddr Args to Child
    80546cb0 804f880d 00000003 8054700c 00000000 nt!RtlpBreakWithStatusInstruction (FPO: [1,0,0])
    80546cfc 804f93fa 00000003 00000000 00000000 nt!KiBugCheckDebugBreak+0x19 (FPO: [Non-Fpo])
    805470dc 8053f6e2 0000007f 00000008 80042000 nt!KeBugCheck2+0x574 (FPO: [Non-Fpo])
    805470dc badf6fe8 0000007f 00000008 80042000 nt!KiTrap08+0x44 (FPO: TSS 28:0)
    WARNING: Stack unwind information not available. Following frames may be wrong.
    efd67078 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0xc4
    efd670c4 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd67164 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd671b0 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd67250 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6729c badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6733c f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd67388 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd67428 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd67474 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd67514 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd67560 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd67600 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6764c badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd676ec f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd67738 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    ……………………………………此处省略过多重复数据………………………………………
    efd6b3c4 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6b410 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6b4b0 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6b4fc badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6b59c f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6b5e8 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6b688 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6b6d4 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6b774 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6b7c0 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6b860 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6b8ac badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6b94c f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6b998 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6ba38 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6ba84 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6bb24 f89cfde2 81beaf10 83040f20 f89cfd50 mp110003!f0018+0x254
    efd6bb70 badf7178 f89cfd50 81beaf10 83040f20 sysdiag+0x13de2
    efd6bc10 804eedf9 81beaf10 83040f20 806d12e8 mp110003!f0018+0x254
    efd6bc20 8064c5a8 81803230 806d12d0 83040f20 nt!IopfCallDriver+0x31 (FPO: [0,0,0])
    efd6bc44 80574b3a 83040fd8 816b3620 83040f20 nt!IovCallDriver+0xa0 (FPO: [Non-Fpo])
    efd6bc58 805759c9 81beaf10 83040f20 816b3620 nt!IopSynchronousServiceTail+0x60 (FPO: [Non-Fpo])
    efd6bd00 8056e326 00000364 00000558 00000000 nt!IopXxxControlFile+0x5e7 (FPO: [Non-Fpo])
    efd6bd34 8053d808 00000364 00000558 00000000 nt!NtDeviceIoControlFile+0x2a (FPO: [Non-Fpo])
    efd6bd34 7c92eb94 00000364 00000558 00000000 nt!KiFastCallEntry+0xf8 (FPO: [0,0] TrapFrame @ efd6bd64)
    0159f710 7c92d8ef 76d325cf 00000364 00000558 ntdll!KiFastSystemCallRet (FPO: [0,0,0])


通过分析Dump可以看到,微点会Hook火绒驱动的所有IRP请求回调函数:

    kd> !drvobj sysdiag 3
    Driver object (814ce2d8) is for:
    \FileSystem\sysdiag
    Driver Extension List: (id , addr)

    Device Object list:
    81821a20 81be0248 81be0368 81cb34e8
    814c2678 8155fb60

    DriverEntry: f8be75e0 sysdiag!DriverEntry
    DriverStartIo: 00000000
    DriverUnload: bade4b92 fltMgr!FltpMiniFilterDriverUnload
    AddDevice: 00000000

    Dispatch routines:
    [00] IRP_MJ_CREATE badf6fda mp110003!f0018+0xb6
    [01] IRP_MJ_CREATE_NAMED_PIPE badf6fda mp110003!f0018+0xb6
    [02] IRP_MJ_CLOSE badf6fda mp110003!f0018+0xb6
    [03] IRP_MJ_READ badf6fda mp110003!f0018+0xb6
    [04] IRP_MJ_WRITE badf6fda mp110003!f0018+0xb6
    [05] IRP_MJ_QUERY_INFORMATION badf6fda mp110003!f0018+0xb6
    [06] IRP_MJ_SET_INFORMATION badf6fda mp110003!f0018+0xb6
    [07] IRP_MJ_QUERY_EA badf6fda mp110003!f0018+0xb6
    [08] IRP_MJ_SET_EA badf6fda mp110003!f0018+0xb6
    [09] IRP_MJ_FLUSH_BUFFERS badf6fda mp110003!f0018+0xb6
    [0a] IRP_MJ_QUERY_VOLUME_INFORMATION badf6fda mp110003!f0018+0xb6
    [0b] IRP_MJ_SET_VOLUME_INFORMATION badf6fda mp110003!f0018+0xb6
    [0c] IRP_MJ_DIRECTORY_CONTROL badf6fda mp110003!f0018+0xb6
    [0d] IRP_MJ_FILE_SYSTEM_CONTROL badf6fda mp110003!f0018+0xb6
    [0e] IRP_MJ_DEVICE_CONTROL badf6fda mp110003!f0018+0xb6
    [0f] IRP_MJ_INTERNAL_DEVICE_CONTROL badf6fda mp110003!f0018+0xb6
    [10] IRP_MJ_SHUTDOWN badf6fda mp110003!f0018+0xb6
    [11] IRP_MJ_LOCK_CONTROL badf6fda mp110003!f0018+0xb6
    [12] IRP_MJ_CLEANUP badf6fda mp110003!f0018+0xb6
    [13] IRP_MJ_CREATE_MAILSLOT badf6fda mp110003!f0018+0xb6
    [14] IRP_MJ_QUERY_SECURITY badf6fda mp110003!f0018+0xb6
    [15] IRP_MJ_SET_SECURITY badf6fda mp110003!f0018+0xb6
    [16] IRP_MJ_POWER badf6fda mp110003!f0018+0xb6
    [17] IRP_MJ_SYSTEM_CONTROL badf6fda mp110003!f0018+0xb6
    [18] IRP_MJ_DEVICE_CHANGE badf6fda mp110003!f0018+0xb6
    [19] IRP_MJ_QUERY_QUOTA badf6fda mp110003!f0018+0xb6
    [1a] IRP_MJ_SET_QUOTA badf6fda mp110003!f0018+0xb6
    [1b] IRP_MJ_PNP badf6fda mp110003!f0018+0xb6


分析mp110003.sys代码可知,该驱动会在拦截到对被拦截驱动的IRP请求时,通过驱动对象和IRP请求号查找原始回调函数地址并调用:

    .text:BADF7044 loc_BADF7044: ; CODE XREF: irp_dispatch_hook+62j
    .text:BADF7044 movzx eax, [edi+IO_STACK_LOCATION.MajorFunction]
    .text:BADF7047 push eax ; irp_major
    .text:BADF7048 mov eax, [ebp+devobj]
    .text:BADF704B push [eax+DEVICE_OBJECT.DriverObject] ; drvobj
    .text:BADF704E call find_origin_entry ; find origin dispatch routine by irp_major and drvobj


    .text:BADF716B push [ebp+irp]
    .text:BADF716E mov esi, [ebp+devobj]
    .text:BADF7171 push esi
    .text:BADF7172 push edi
    .text:BADF7173 call call_origin_dispatch


而火绒的部分内部处理流程也会调用自身的IRP请求回调。 mp110003.sys的Hook并没有考虑此类情况,只通过IRP请求号和驱动对象来关联被Hook的原始函数地址导致了错误的重入,最终导致系统崩溃。下图分别说明了正常的处理流程和被mp110003.sys拦截后异常的处理流程之间的区别:



3 结论
mp110003.sys没有正确管理并处理被Hook函数地址,从而导致错误的代码重入,最终导致系统崩溃。

by vardyh
http://www.huorong.cn/bbs/thread-74-1-1.html

那么微点会解决这个问题吗?

※ ※ ※ 本文纯属【╭ァの修罗】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2012-6-19 23:44
查看资料  发送邮件  发短消息   编辑帖子
Legend
超级版主

超级版主



积分 77171
发帖 70170
注册 2005-10-29
#2  

感谢楼主的反馈,此问题已经记录,另外由于安全类软件的特殊性所以不推荐您安装多款安全类软件一起使用。

※文章所有权归【Legend】与【东方微点论坛】共同所有,转载请注明出处!※

微点官方认证新浪微博:欢迎进入 微点新浪微博
微点技术支持邮箱: support@micropoint.com.cn
给Legend发短消息
2012-6-19 23:59
查看资料  发短消息   编辑帖子
冷调丫
新手上路





积分 19
发帖 19
注册 2012-5-22
来自 江苏东盛
#3  

了解一下。。

※ ※ ※ 本文纯属【冷调丫】个人意见,与【 微点交流论坛 】立场无关※ ※ ※

[url=http://www.casyuming.com/]金属杂质[/url]
2012-6-21 13:06
查看资料  发送邮件  访问主页  发短消息  QQ   编辑帖子
羽落云飞
新手上路





积分 2
发帖 2
注册 2012-6-23
#4  

微点 这也是为了安全    这个说明很安全    拦截到非法调用   火绒刚刚出来  误报 很正常的

※ ※ ※ 本文纯属【羽落云飞】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2012-6-23 18:27
查看资料  发送邮件  发短消息   编辑帖子
乐在天涯
注册用户





积分 64
发帖 64
注册 2010-11-6
#5  



  Quote:
Originally posted by Legend at 2012-6-19 23:59:
感谢楼主的反馈,此问题已经记录,另外由于安全类软件的特殊性所以不推荐您安装多款安全类软件一起使用。

L版 软件的兼容性也是软件好坏的一个重要指标吧。这样看来 微点似乎对自己的兼容性很不自信。

※ ※ ※ 本文纯属【乐在天涯】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2012-6-24 23:23
查看资料  发短消息   编辑帖子
羽落云飞
新手上路





积分 2
发帖 2
注册 2012-6-23
#6  



  Quote:
Originally posted by 乐在天涯 at 2012-6-24 23:23:


L版 软件的兼容性也是软件好坏的一个重要指标吧。这样看来 微点似乎对自己的兼容性很不自信。

额   为什么说兼容性很重要,每个杀毒或主动防御软件,有自己的逻辑来解决病毒,另一个杀毒软件,想获得更高的权限,和病毒行为一样,那么微点看到了必定拦截,额,两个软件在争着抢电脑的监控权,一定会冲突啊。。。。。
  说的不是术语  不专业  大家别喷

※ ※ ※ 本文纯属【羽落云飞】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2012-6-25 15:39
查看资料  发送邮件  发短消息   编辑帖子



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号