荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: michaelx (我这样可以吗?--睡觉), 信区: Virus
标  题: 以毒攻毒是一种异想天开
发信站: 荔园晨风BBS站 (Sun Jul 29 22:23:03 2001), 转信

以毒攻毒是一种异想天开
    一个叫VirusMD的美国安全公司CTO Cyrus Peikari博士(生物学),在拉斯韦加斯
的黑客大会上大力宣传了以毒攻毒的思想,就是所谓 “设计一种反电脑病毒的电脑病毒
”,而这种非常荒唐的观点,竟然被某些国内媒体追捧为美国专家的提出反病毒新思路
。(详情请见本站以前的新闻报导)
    其实以毒攻毒即不是一种新观点,也并不是一种新实践,早在80年代,清除Jeruso
lem等恶性病毒的所谓“好”病毒就多次出现,最近又出现了可以修补lion蠕虫留下的漏
洞的病毒。根据我们的不完全统计,类似目的的病毒至少出现过大约几十个。
    为什么以毒攻毒,是一种异想天开?让我们首先从病毒的数量说起,根据现有的资
料,国际上先后流行或者局部流行过的病毒约45000-50000种左右,那种影响力非常广的
病毒(in the wild),在 wildlist 2001年7月列表上是213个,除了其中的十几个还是
dos病毒外,其余的都是对当前系统,依然具有极大威胁的病毒。况且,并非只有在wil
dlist列表中的病毒对用户才有威胁。
    如果让当前国内外流行的反病毒产品处理这些病毒,当然是易如反掌,但如果让本
身就需要非常小的病毒来来处理不要说成千上百种机理各不相同的流行病毒,就是简单
的处理十几个当前最流行病毒也几乎是不可能的。
    当前,能查杀4万种以上的反病毒软件的大小一般是20M左右,去掉了监控、控制台
等程序,反病毒库和反病毒引擎的容量大约在10M 以内,如果把容量平均到病毒总数上
,只有2k左右,似乎很小。但事实上,如果反病毒软件是采用子程序1对1的方法,反病毒
软件的大小恐怕早就突破100M了。目前反病毒产品都是采用一个通用的扫描引擎,和一
个定义比较合理的检测清除数据库。这样才提高了软件的可靠性,也大大降低了反病毒
软件自身的大小。
    同时,反病毒软件所采用的虚拟机、启发式扫描等技术形成的对未知病毒的检测技
术,综合的系统监控对病毒的防御能力、通过控制台调度扫描行为并自动升级等等,都
是非常成熟有效的技术,根本不是以毒攻毒这种粗糙的方法能够比拟的。
    80年代是那种能查某一种病毒的小程序的流行的时代,所谓以毒攻毒的思想,其实
是把反病毒技术退化到1对1的时代。
    以毒攻毒的另一个问题其实是更严重的,是传播的不确定性,既然Peikari是从生物
学的天花疫苗获得了启示,那我们就从生物学的角度说起。因为接种是一种人的意识行
为,或者一种主动行为,即使婴儿接受疫苗,也是监护人许可的行为,是在医疗控制之
中的。如果科学家制造出一种新的微生物,假定这种微生物能预防美国正在大爆发的脑
炎,科学家会像使用细菌武器一样散播这种生物来预防脑炎么?肯定不会,因为离开了
实验室或者工业化的培养基,离开了确定的培养条件、温度,微生物如何变化,不得而
知,会不会由治病变成一种恶性的致病菌,也完全可能。因此科学家只会用其通过严格
监控条件下的工业生产,做成类似青霉素一样的药品。而绝对不会通过蚊子、跳蚤去传
播。
    电脑病毒同样是如此,在传播的过程中,同样有很多不确定性,会不断遭到各种修
改,发作条件,发作现象都可以被熟练的程序员的修改。比如, Anti-cih(一种能够对
抗cih病毒的病毒)完全可以被改造成破坏力被cih还大的病毒。而同时,这种Peikari设
想中的疫苗病毒其如果感染手段越丰富,运行越可靠,对用户影响越小,其传播感染机
制和程序就越会为病毒的编制者感兴趣。这样的结果,最终只是给病毒编制者提供了新
的营养或者参照系而已。只要把我们良性的“Peikari病毒”的检测清除代码换成cih的
破坏代码,那么一个新的恶性病毒Peikari.cih就诞生了。
    而Cyrus Peikari居然说:“生产反电脑病毒软件的公司肯定会强烈反对我的主意,
而且他们可能永远不会接受这个主意,因为那样这些公司就无事可做了。”我不知道这
是一种巧妙的自我标榜还是真的很天真,如果Cyrus Peikari的鼓动真能引起编写反病毒
之病毒的热潮,反病毒公司的业务只会更加繁忙。
    让我们看看所谓以毒攻毒技术可能带来的大好局面,譬如Peikari 的FANS们,可以
不要任何杀毒软件,他们所面对的是:
    1、当他们感染了病毒A 后,只能等待病毒anti-A传播到他们机器上的时候,A才能
被清除。而且他们必须祈祷传播来的anti-A不是已经被别有用心的人修改为了另一个恶
性病毒B.由于anti-A过了3个月也没有传播到一些用户的机器上。这些用户的机器被病毒
a破坏了。
    2、Peikari突然发现出现了一个专门对付ANTI-A的恶性病毒,ANTI -ANTI-A,因此
他只好又写了个病毒anti- anti- anti-A。
    3、这时候又有病毒c、d、e、f流行了,Peikari发出警告,想要防御c、d、e、f的
用户,机器需要同时被anti-c、anti-d、anti-e、anti-f四种病毒感染。
    4、不巧,那年病毒大爆发,一下又有10种蠕虫通过邮件传播,于是Peikari编写了
一个能查杀这十个病毒的新病毒ANTI-10VIURS。由于ANTI-10VIURS需要快速的传播,因
此也像一个蠕虫一样通过邮件附件传播。ANTI-10VIURS的大小是2M,用户邮箱反复被包
含ANTI-10VIURS的邮件占据,都被堆满而无法正常使用。
    5、由于病毒越来越多,Peikari最终决定把自己的产品做成一个带有感染机理的,
能通过邮件传播的可以查杀10000种病毒的超级病毒ANTI-10000VIURS,ANTI-10000VIUR
S经过优化大小只有10m,那天无论局域网络的共享目录上还是internet上,都是 ANTI-
10000在通过不同手段发送自己的copy,最后,整个网络瘫痪了,那天被定为Peikari日

    尽管推理的有些夸张,但我想足够使Peikari的fans们清醒。
    另外,Peikari同样是免疫法的鼓吹者,所谓免疫就是在引导区或者程序中加上某种
病毒的感染标记。这其实同样是一种早就被否定的方法。世界上有这样多的病毒,依靠
加感染标记的方法,根本是不切实际的。同时即使是应急来针对某种流行的病毒,这种
方式也是不可靠的,老一点的反病毒工作者是否记得pingpang病毒那条非常典型的指令
CMP BYTE PTR [81FB],00,在病毒中埋下反免疫的特性,当pingpang泛滥,用户无奈的
为程序加上感染标记1357H作为预防时,VXER只变化了一个字节 ,就使变种的病毒,轻
松的感染哪些已经加了感染标记的程序。
    避免通过修改用户引导区、用户文件的极端方式保护安全,已经是成熟反病毒技术
基本准则。CPAV因为加壳免疫而名噪一时,但最终还是被兼并它的公司放弃了。
    我想试图误导反病毒技术Peikari还没有这样的能力,无论Dr somolon还是Kaspers
ky 都只会对此嗤之以鼻。但必须避免所谓“稳定全球网络、防止文化崩溃需要电脑病毒
”以及“病毒编写者能够挽救世界”的观点对公众和程序员的误导,不能让程序员认为
,为了某种善意的目的写病毒是合法。我们的程序员们必须知道底线在哪里。病毒不可
能不占用系统资源,不可能不非法取得整个系统或者局部的控制权,不可能不对用户运
行没有任何影响,不可能不给系统带来任何不稳定的隐患。从这个角度来说,破坏力为
零的病毒是不存在的。编写病毒的人可能其实是善良的,但病毒传播的结果谁也无法保
证,特别期望国内的程序员们注意的是,既然不存在善意病毒,也就不存在正义的病毒
。写病毒都是违法的。
    VirusMD只是一家做单机FIREWALL、加密产品的小型安全企业,在反病毒问题上没有
什么业绩。Cyrus Peikari的新思路也没有表现出一个安全公司 CTO应有的技术水准,至
少除了一个作为生物学博士的善意联想,没有提出任何技术上可操作的东西。也许作为
在生物学方面,他会是一个专家。但至少在我的“反病毒专家”的字典里,没有他的名
字。

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 203.93.19.1]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店