金山让我失望,在两个月前,金山推出了它的反病毒产品--金山毒霸。当时我好惊讶啊,记得在《深入Windows编程》书中提到过黄玫瑰小组曾在9 0年写过一个防病毒软件--“免疫90”,但很快就夭折了。没想到事隔9年,又一反病毒软件问世了。
这次可与9年前不一样了,号称可查杀超过 20,000 种的病毒家族及其变种,支持十几种流行压缩文件格式,具备先进的病毒防火墙实时反病毒技术,好象要与世界知名反病毒厂商进行竞争。
惊讶之余,一个问题产生了--是金山独立完成的吗?不是我看到先进的国产反病毒软件就怀疑,因为做反病毒软件不同于其它软件,它必须要经过长时间的积累。这个长时间的积累既包括病毒样品的积累也包括反病毒技术的积累。
目前全世界有两万多种病毒,这是近十几年病毒的总和。能查杀两万种病毒,就说明金山有两万种病毒样品。金山以前没做过反病毒软件,那么这些病毒样品又是从何而来呢?可能有人会说可以从I nternet上下载。就算是可以弄到,如果该产品是自己独立开发的,让我们来计算一下:如果平均每天分析20个病毒样品(这可是相当多的了),那得需要多少天呢?我想小学生就可以算出来,是1 000天,也就是3年。这么长的时间只分析而不出产品,我想金山不是傻瓜吧!
至于反病毒技术的积累决不是通过分析一两个著名病毒就可以的。目前,国外的反病毒技术已远远超过国内的反病毒技术。各种国外反病毒厂商采用的技术原理上大同小异,但却是他们自己的技术,因此会有一些性能上的差异。其实,这些技术我们中国人也可以做到,但并不是完全的照搬。
怀疑归怀疑,还得有证据,也许是我错了(我对金山和雷军的印象很好)。由于那时SDXF已经停止更新近一个月了,又冒出个JSDB,让人很容易把这两件事联系起来。而且J SDB的DOS版的界面风格同AV2000一致。因此我怀疑刘X离开了SDXF,去了金山,JSDB可能也是盗用了AVP。但分析过以后,并未找到AVP的特征库。直到昨天,我还未找到新的证据。
不过在这阶时期有人在金山的病毒讨论区中,也提到过类似问题。我首先声明,在病毒讨论区留言的SAC不是我本人。我只是经常去看,在没有任何证据之前我是不会发表什么断言的。有人问过J SDB和AV98的关系,金山说过他们是独立开发的。在看到那个SAC说JSDB和PC-Cillin98的有关系时,我没有太理会,还以为那个人在信口开河。
直到今天,我才看到网易BBS上的一篇文章,大致内容如下:
“我是趋势反毒软件的老用户,在没事的时候,曾用s-ice仔细跟踪过其查毒原理,自认为对其内核相当熟悉。最近我下传了最新的金山毒霸,忍不住用s -ice分析,令我大吃一惊的竟然完全相同!!!包括内核和病毒库(解码后)每个字节都是一样的!毒霸99.08.09的病毒库就是 PC-cillin98 LPT-566,(当然在病毒命名是毒霸经过了
一个转换,以免露馅),我不大相信自己的眼睛,请虫虫用s-ice(for win)帮大家看看,
借你的慧眼识别识别。。。。
不知是不是中国反病毒界的悲哀
近日江湖传闻,金山毒霸和AV98有不同寻常的关系,连夜急追,无奈让杀手逃脱,寻不到蛛丝马迹.....
正彷徨无助之际,0.07 传来小道消息...... 召3000病毒士兵逐一和AV98,金山毒霸,PC-cillin98喂招......
历时七又五分之二小时,尸痕遍野,惨不忍睹清点战场如下:
AV98 杀敌2439,删除 547,共2986人,让敌人逃脱 14名
金山毒霸 杀敌 792,删除1521,共2313人,让敌人逃脱687名
PC-cillin98 杀敌 792,删除1521,共2313人,让敌人逃脱687名
结论《很有意思》
1AV98和金山毒霸依然关系不明,寻不到蛛丝马迹.....
2金山毒霸和PC-cillin98,呵呵呵....嘿嘿嘿......哈哈哈........很有意思”
由于我从来没用过PC-Cillin,就更没分析过它了。今天终于把它D/L下来,比较分析了一下,结果也令我大吃一惊。我的怀疑终于变成了肯定。下面来列举几个证据:
一。病毒特征库(病毒积累的体现):
虽然JSDB的库大小是PC-Cillin库的一半,但大体结构是一致的,主要的病毒特征也完全一样。小一半是由于JSDB去掉了PC-Cillin特征库中冗余的部分,连病毒名表也缩小了一半(不知为什么P C-Cillin特征库中病毒名表要重复两次)。由于PC-Cillin的病毒名长度不能超过16个字节,JSDB也一样,而且把很多名字都改了。(与A VP的命名规则挺相似的)让我最来气的是它把对EICAR的标准测试文件的识别成Trivial.Eicar.12病毒。这难道是一个真正的反病毒厂商做的吗?
二。反病毒引擎(病毒技术的体现):
JSDB的引擎库去掉了大量PC-Cillin引擎中的提示信息(用于调试),但却留下了下面几个文件名:
IMMUNE.SYS,PCRXVT.SYS,PCCILLIN.SYS,PCCSTSR.COM,TSRSCAN.DAT,PCSCAN.COM,PCC_DEV.SYS,PCC_DEV.SYS(当初分析时怎么没有看到这些名字呢,真遗憾)。另外还加入了C IH病毒的免疫代码。可就是这个新加入的功能在几次版本更新中BUG不断。我真替金山感到羞愧!
还有很多明显相同的地方我就不一一列举了,总之大量的事实证明JSDB盗用PC-Cillin98。
认清了JSDB的本质后,我想再讨论一下PC-Cillin被盗用的可行性。PC-Cillin不同于AVP,AVP的病毒引擎在库中是一些OBJ文件,很容易被盗用;而P C-Cillin就是二进制的可执行代码。但是PC-Cillin的引擎代码很规整(似乎是用汇编写成的),而且有大量的提示信息。我把它的引擎库初步反汇编了一下,结果完全可以生成可编译的汇编语言文件,再把它变成自己的代码应该不是件难事。还有一种可能就是北京乐亿阳趋势经贸有限责任公司与金山公司有不可告人的秘密合作。但我想这种可能性很小。如果北京乐亿阳趋势经贸有限责任公司事先不知道金山公司的盗用行为,并想起诉金山公司的话,我会无偿提供证据的。
再回头看看上面几个反病毒软件的测试结论:
结论1:“AV98和金山毒霸依然关系不明,寻不到蛛丝马迹.....”
解释1:AV98盗用AVP,JSDB盗用PC-Cillin98,而AVP与PC-Cillin98是两个完全不同的
反病毒产品,AV98和JSDB当然毫无联系了。
结论2:“金山毒霸和PC-cillin98,呵呵呵....嘿嘿嘿......哈哈哈........很有意思”
解释2:有什么希奇的,同一个反病毒引擎,同一个病毒特征库,结果当然相同。
这不但是中国反病毒界的悲哀,而且是中国软件产业的悲哀。说“悲哀”可能好听一些,我认为应该用“耻辱”二