金山毒霸引发系统崩溃问题技术分析

安全
昨天晚上,金山论坛贴出一条公告:关于部分64位Windows 7/8用户系统启动异常的解决办法.

昨天晚上,金山论坛贴出一条公告:关于部分64位Windows 7/8用户系统启动异常的解决办法http://bbs.duba.net/thread-23083105-1-1.html

金山公告里,并没有提bug原因是什么。不过这次确实中招的很多,群里昨天就有人苦逼正加着班,中间重启下电脑系统就进不去了。也幸亏这样,金山偷偷摸摸更新驱动搞摊系统被抓了个现行。简单分析下原因吧:

一、为什么开机时会进不去系统,并提示0xC0000359错误

金山毒霸引发系统崩溃问题技术分析

操作系统在加载BOOT型驱动文件时,会调用到winload.exe! ImgpLoadPEImage,这个函数会判断IMAGE_NT_HEADERS. FileHeader. Machine的值

如果在64位系统上,Machine的值为IMAGE_FILE_MACHINE_I386(0x014c),则不加载,并返回c0000359

金山毒霸引发系统崩溃问题技术分析

二、什么驱动惹得祸

Windows启动管理器显示的很清楚:windows\system32\drivers\KAVBootC.sys

金山毒霸引发系统崩溃问题技术分析 

金山毒霸引发系统崩溃问题技术分析

进一步分析,金山毒霸有一个文件kdf.exe(md5: ecabc14be9008e79bee7696601927762,签名时间2014-03-22 15:12:54),关机时改写KAVBootC.sys服务的注册表,没有判断操作系统是32位还是64位,就把该服务的文件统一写成了\windows\system32\Drivers\KAVBootC.sys,导致64位机器上也会去加载32位的驱动程序,系统无法启动;实际上,64位系统对应的驱动文件名应该是KAVBootC64.sys

金山毒霸引发系统崩溃问题技术分析

在昨晚金山更新的版本里,kdf.exe对这个问题进行了修复,加上了先判断是32位系统还是64位系统的逻辑。(md5: 0ac5e33f91fb93c62d2db86b11446f76,签名时间2014-03-22 18:12:05)

金山毒霸引发系统崩溃问题技术分析

问问金山

你们软件更新发布前不做测试的吗?

之前跟微软补丁冲突,金山还声明说“微软没有对补丁做兼容性测试”,这次可是金山毒霸自己更新程序。这么明显的bug,在64位机器上更新后只要关机或者重启,100%必现系统无法启动的情况,竟然就草率发布了。

根据我这边一个数据,X64的比例大概在10%。昨天金山事故时间段有三个小时,而且都在白天,估算占全天用户量的15%-20%。按金山自己宣传的上亿用户,就算周末只有一半人用电脑吧,至少也是5000w*10%*15%=75w台电脑。难怪windows7贴吧昨天被刷屏。按某人说法,金山真成电脑维修商的好伙伴了。

责任编辑:蓝雨泪 来源: FreeBuf
相关推荐

2014-03-24 11:07:18

金山毒霸BUG驱动故障

2011-07-13 10:08:11

2009-07-02 18:17:21

360安全中心金山

2010-09-25 10:12:07

2013-12-11 14:51:06

2009-03-05 10:13:32

2013-06-05 17:02:42

2009-09-04 21:35:01

云安全Messenger通讯安全

2009-06-04 15:26:18

2011-08-22 15:00:26

2011-07-13 10:21:05

2011-02-09 14:35:38

2010-04-19 15:09:51

2009-10-18 17:17:15

2009-10-19 22:02:48

网络安全报告网页挂马金山毒霸

2009-11-05 11:57:42

金山毒霸国际化

2009-08-19 14:49:54

2012-04-27 08:46:48

2009-05-12 14:09:31

义卖爱心版

2011-03-30 20:36:45

点赞
收藏

51CTO技术栈公众号