凡是在业界坛子里混迹多年的网友都会发现,总会有层出不穷的问题被大家算关心、讨论,但有关木马防御方向的问题永远都是网民们所关心的话题,恰恰这些问题却又是最难回答的。比如:主动防御技术未来发展方向、大家认为防御技术现在是不是成熟?我想这些都是大家比较关心的吧。接下来我就站到圈子外面,来和大家聊聊自己的一些关于木马防御的现实和未来的观点。
谈木马防御之前,我得先讲一讲反病毒技术与木马技术的异同,现在广泛应用于商业软件反病毒技术木马、启发搜索和虚拟机:
特征码技术挺直观,因为病毒的特点是自我复制,计算机是不会创造的,就算有些病毒变形、变种、加壳、换马甲等等,但我们总能找到他们的特征,所以特征码是很合适的,它可以干掉病毒的大部分变种。
启发搜索的最大特点是基于统计和推理,在里面融入了AI的算法,其实整个思路很简单,最简单启发式搜索是五万个病毒放在一起,一百万个正常文件,你找五百万个病毒的相同性,对一百万个 文件也找相同性,你会发现他们有相匹配,这个是启发式搜索,这个在2000年达到很高的成就,欧系厂商对病毒率可以达到90%,这基本上就可以成为一个商业技术。
第三个是虚拟机,去年有厂商对虚拟机进行了一轮商业包装,虚拟机技术是模拟器,安全行业里虚拟机技术更多进行的是模拟代码执行,虚拟机主要用在处理变形和脱壳。
木马很嚣张,用户很无助,厂商很无奈,这句话很能表现当今杀毒行业的现状,那到底是为什么现在很多用户仍然抱怨病毒杀不掉?因为用户不懂,这都不是病毒杀不掉,而是木马杀不掉,或者是流氓软件清不掉,因为木马防御技术现在远远不如反病毒技术成熟。
第一个特征码对木马作用非常小,因为木马传播是手工投放,手工投放就郁闷,它可以改程序。今天投放完了以后,明天可以把程序改一改再投放,特征码作为一种静态识别技术对于改程序适应面很窄;你如果要提取特征码首先得抓住贼,但是木马不会出现一个熊猫烧香遍地开花这种情况,他是每个城市都不同这种情况,所以特证码效果很差。
第二个启发式搜索对木马也不行,因为它更多是基于人工智能分类,虽然不知道你是不是病毒,他觉得你像,为什么觉得你像,是类似于推理觉得像,基于过去对病毒数据的学习,这个就要求我们查杀对象技术深的相似性,但是木马没有固定的技术特点,因为木马的共性是特征是社会工程学,他欺骗伪装,这些都不能用一个很 固定的技术特点来界定,所以启发式搜索对木马识别率较低。
第三个虚拟机也不行,因为他很慢。
最后给从事反病毒行业造成巨大困扰的就是木马作者很勤奋,因为他们有巨大的商业利益驱动,一个木马投放放一马收回来十几万,再放一马就二十万,我觉得我的收入远远达不到这个,所以木马的更新非常快。现在我觉得这个行业最郁闷的一个问题是什么? 犯罪的利润要比抓贼的利润高,这意味着犯罪的技术提升要比抓贼技术提升快。
所以说杀毒未来技术发展应该为两个方面,第一个是响应速度,就是能不能把响应速度从两个小时减到一个小时甚至减到十分钟。 第二是技术对抗,技术对抗是一个很民工的体力活,他加壳我脱壳,他加密我解密,提高这种能力。
书归正题,“主动防御”最主要的特点是一个目标,而不是指某种特定的技术。其思路最主要是针对特征码提出的,因为特征码的思路是响应威胁,做安全就是两种思路,一种是响应式和预防式,特征码的思路是响应式,它的思路是先发现威胁,然后把精力放在如何提高响应速度、如何提高响应方案的质量,还有降低响应成本。而主动防御思路应该是预防威胁。
至于为什么说主动防御不是技术,它是目标呢。因为属于主动防御技术范畴的有几种,第一个主机入侵防御HIPS,它是来源于IDS,更多得用在黑客防御攻击上。还有程序规则审核,比如vista的uac就是。还有系统保护和应用程序保护,比如XPSP2的DEP,它防止注入代码在里面执行。还有就是恶意行为识别。现在大家提主动防御 更多的是提它的最后一点就是恶意行为识别,为什么?主动防御的想象空间很大,现有技术都不能够达到主动防御的目标,因为主动防御一个很重要的理念是无需用户干预,但是现在属于主动防御的技术对用户的干预的要求都很高。
接下来再谈一下关于木马的“技术不可判定性”。主动防御现在面对的最大问题是什么?我个人认为是木马的技术不可判定性,木马是伪装成正常程序进入用户电脑,进行破坏或者盗取用户信息。
人们对于木马的判定问题不仅是从技术上,还要从道德、法律综合因素考虑。比如灰鸽子,灰鸽子说技术上他不是木马,但是网民不同意,所以还得判定他是木马。事实上安全厂商对木马判定的依据是还是该程序主观有害性。
现有厂商对于木马的防御解决方案比较简单,第一杀毒引擎加特征码,这个占的比例有七成;第二程序规则审核恶意行为识别,这个涉及前面讲的AI的问题,可以 把代码写的很庞大,我们可不可以认为所有改EXE关联的程序都是木马,我说可以,所以说现在的恶意行为识别可以识别很基础的。杀毒引擎最後的结果是判定木马,程序审核结果是找到可疑文件,然后提示用户清除木马。为什么现在主动防御的相关技术实现有问题,这个如果做的太强对用户的干扰将会很大。
顺便再给大家介绍下金山毒霸的“可信认证”技术。既然可信认证技术的实现就是为了解决前面的问题,那它到底是个什么东西呢?它本身是一个互联网上部署的文件收集系统,和我们研发病毒处理系统是整合的。这个系统可以自动或者手工分析的方式,快速将收集到的文件分类成白名单和黑名单。毒霸2008会直接连接这个系统,会将用户计算机上可疑软件反馈。
可信认证技术是基于这样一个假设:我们认为互联网上的二进制文件能够被收集完的,迅速用工业化的方法把文件分成白名单和黑名单,它不是白就是黑,不会出现花文件,因为这是人来判定的。
在现有框架下要解决两个关键技术点,第一如何提高特征码识别率,既然现在我们都在用特征码就要把它做好。第二如何对恶意行为判定尽可能自动化?可信认证基本上就是为这两个目的来服务的。判定安全可能是现在所有的厂商都做不到,因为所有杀毒软件只能判定可以或者是不安全,而不能判定这个文件是安全的,但是假如把这些判定放在服务端,有服务支持,完全可以判定这个文件安全,因为这个文件曾经收集过,毒霸每天通过互联网爬虫和用户上报收复到的不重复文件是10G!
这种“可信认证”技术的优势在于一下四个方面:
第一个是海量数据库,比本地数据精细程度更高,因为本地病毒库要考虑到体积问题,精细程度不可能特别高,对于病毒来说我觉得本地病毒库是绰绰有余,但是对于木马来说本地特征库是远远不能满足需求的。
第二个可信认证技术是响应速度快。我对安全的一些观点是认为响应很重要,所以金山毒霸里面做及时升级,时时升级有多快?以小时为周期,但是可信认证技术是以毫秒为单位。
第三,它能够确定用户计算机上哪些文件是安全的,这个能弥补现在大多数反病毒厂商不能做的一件事。
第四是WEB2.0,迅雷为什么快?因为用迅雷的用户多,越多迅雷就越快。可信认证也是,用的用户越多,杀毒能力越强。
最后再来谈下个人一些对木马防御技术未来发展的观点。打个形象点的比喻,现在杀毒厂商是保安,不是警察,警察是具有合法性的,警察能带枪,保安不能带,只能带铁棍,杀毒厂商没有特权,而凭的是人多。
所以对于木马技术的防御,未来发展第一步还是靠操作系统安全性的提高,这是首要的,让我们至少达到两个目的,第一让杀毒软件有一个可以信任的平台,微软告诉我这一级以下微软就进不来,我就严防死守一级,所有问题都解决了。第二特别希望微软能够对反病毒厂商开特权,让我们也拿上枪,现在我们是拿着铁棍跟别人拿刀的打。毒霸不仅要杀毒还要安全贴心,但是木马可以不稳定,可以有BUG,但杀毒软件不能不稳定,不能因BUG,令系统崩溃。
第二步是互联网厂商运营能力的提高,我认为木马的猖獗是暂时的,随着操作系统安全性的提高,微软做的还可以,vista在安全方面的态度是值得赞扬的。对抗还是会趋于平衡。
第三步还是杀毒厂商在防御系统技术对抗能力跟木马平衡。对于木马防御技术发展的观点,就是本地特征码会消失,本地特征码在未来只对病毒有用,但是对木马的本地特征码消失,特征码对于木马不是特别有效的技术,如果一个木马一定会在两个月或者四个月以后变种的话,那么我们为什么还要把这个特征码留在用户的计算机上,浪费他的硬盘空间,降低我们查杀速度,所以我认为木马本地特征码消失。
[用户系统信息]Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)