本篇参考Eugene Kaspersky所写的The contemporary antivirus industry and its problems而成,由于该篇文章年代久远,因此这篇也加了一些现在所讨论的课题。本人才疏学浅,写得不好还请多多包含并提供意见。
自从电脑病毒诞生以后,网路上就充斥着许多的犯罪活动。不论是政府机关、大型企业、中小企业以及个人电脑,每年因网路犯罪损失的金额都非常可观。网路犯罪的议题也总是被广泛讨论。
早期骇客为了证明自己有高超的能力,或是为了报复以及政治目的,大多数的犯罪活动多是以恶作剧或破坏为目的;但是近年来,这些攻击都是以利益(金钱)为目标,例如:
1. 窃取信用卡卡号
2. 窃取银行帐密
3. 窃取游戏帐密或社交网站帐密
4. 建立僵尸网路(由一群遭到感染的电脑组成,这些电脑会在一般命令与控制基础结构下自动执行程式)以获得大量资料
5. 利用强制捆绑广告软体来获取金钱
6. 自动拨号程式让手机费用暴增骇客组织所从事的地下经济早就远远超越了防毒软体公司的产值。即使许多知名的骇客已经被警方瓦解(例如:鲁兹安全),但是网路犯罪并没有因此减少,新的骇客团体还是不断出现,并威胁着全球企业的安全(例如:Anonymous)。根据研究,2004年因为网路犯罪的损失高达180亿美元,并预估每年将以30~40%的比例扩大。
而这些犯罪活动则成了下列三种情况的循环:
1. 骇客散布恶意程式躲避防毒软体侦测或找新的漏洞
2. 使用者的电脑及网路遭到骇客攻击
3. 资讯安全厂商开发解决方案以对付各方威胁
防毒厂商概况以下列出防毒公司的概况,这些公司都有提供完整的防毒解决方案,从网路闸道防毒、伺服器防毒、邮件过滤软体到个人防毒软体以及手机防毒。
第一线公司,指的是在全球都设有据点:
公司 年营业额(百万)
2003 2004
Symantec 1098 1364
McAfee 577 597
Trend Micro 382 508
第二线公司,在特定区域取得领导:
公司 年营业额(百万)
2003 2004
Sophos 97 116
Panda Software 65 104
Computer Associates 61 74
F-Secure 36 51
Norman 23 31
AhnLab 21 28
第三线公司,虽然市占率较低但也正快速成长中,包括:Alwil,Arcabit,Doctor Web,ESET,Frisk Software,GriSoft,Avira,Hauri,BitDefender,VirusBuster。
上面的资料是我从尤金的文章中贴来的,我们也可以从2012年3月市场占有率看出最新的防毒软体使用率:
http://www.opswat.com/sites/default/files/OP...port-march-2012.pdf每家防毒软体都在增加产品的新技术,从早期特征码比对、启发式扫瞄,到现在的入侵防御系统、云端防毒、档案信誉评鉴,每家产品也都非常类似。使用者或是网管人员在选购产品时,往往依据各大测试报告(主要是侦测率)、介面友善程度、资源占用度或是其他人的使用心得来选择产品。举个简单的例子:A、B、C三种防毒软体的病毒侦测率分别是10%、50%、99%,A防毒软体介面复杂且消耗大量记忆体,B防毒软体记忆体消耗量中等且介面普通,C防毒简洁易懂且记忆体占用少,消费者理所当然会选择C产品;如果选择了A,则电脑将暴露在危险当中,也会导致作业效率变慢,这也是消费者在选购产品上重要的依据。
防毒软体目前所面对的问题一个良好的防毒解决方案,理论上应该100%不让病毒入侵,但这是不可能做到的事,这也正是防毒软体目前所面对的问题。问题一:恶意程式大量爆发恶意程式量以每年倍增的情况成长,即使全球有四十几家防毒软体公司,也无法对付如此庞大的威胁,也就是说,任何一个产品都不能抵抗全部的恶意程式。然而,大多数的使用者会还是会因为防毒产品宣称的功能而去购买。例如:轻巧不占资源、连续通过VB100测试等等。
从趋势科技Smart Protection Network可看出每天的恶意程式量非常庞大:
http://go.trendmicro.com/i...attracker/1990年代我们可以说安装防毒软体就能保护电脑安全,那时恶意程式多半是恶作剧、或是因为好玩,并没有强大的破坏性,数量也在防毒厂商所能应付的范围(还记得趋势科技当时是用寄磁片的方式替客户更新病毒码)。使用者只需针对被感染的文件做隔离、解毒或删除即可。但是,现在许多恶意程式是由地下组织所设计,网路上也流传许多恶意程式产生器,平均每4秒就有一个新的恶意程式产生。(说词来自:
http://www.trendmicro.com...ro/faq.asp)
样本的捕捉来自于防毒厂商建置的Honeypot(专门诱捕未经授权、非法存取的行为,使分析师能进行侦测或反制)、已被感染的电脑(透过防毒软体内建的回报系统)、公司网管人员、网友的回报或其他防毒厂商。虽然防毒厂商表面上是互相竞争,但若一个新的恶意程式爆发,第一个侦测到的厂商大部分会将资讯发送给其他对手,各家厂商平常也都会进行技术交流。
假设有一个恶意程式A被防毒软体侦测到,这表示已经有许多电脑被恶意程式A感染了而且正在散布,若是利用作业系统的漏洞,则可能已经传出严重的灾情。例如conficker(Net-Worm.Win32.Kido系列),利用MS08-067这个漏洞大量散布。同时,防毒软体公司必须在最短时间内提供特征码,而且在作业系统厂商尚未修补此项漏洞时提供防护,这也将面临第二个问题。
问题二:特征码品质低落为了防范恶意程式的大量散布,防毒厂商也被迫在最短时间内释出特征码,以减少感染风险。不幸的是,当特征码释出前,早就有许多电脑遭到感染,而快速释出的特征码不一定能「清除」该恶意程式(「侦测到」和「清除」是有差别的)。
由于特征码释出时间要快,许多厂商现在都依赖机器自动分析,虽然速度增快了,但是错误率也提升了,因为机器分析终究没有人工分析来得精准,许多破解文件、序号机或是加壳程式往往并不具有恶意行为,却被报称为毒。若恶意程式经过加密(例如SHA-256),机器分析也不一定会去做解密动作,这等于是遗漏了这方面的样本,而有些防毒厂商命名规则也是很松散的,可参考:
不得不公布!现在还有大厂在使用档案大小判毒!http://www.avira.com/en/...f-history实际案例:软体序号机Nero 8 Ultra Edition v8.x Keymaker.exe
将Nero 8软体序号机送到Threat Expert:
http://www.threatexpert.com/report.aspx?...fc8dbe1f99e97e7dbb从报告得知,这个档案并不会对系统造成任何损害,但是将它送到Virus Total后......
http://www.virustotal.com/file-scan/report.html?id=3d2f949292c954...f4117878f579236fb84-1312617009AhnLab-V3 2011.08.05.01 2011.08.05 -
AntiVir 7.11.12.233 2011.08.05 -
Antiy-AVL 2.0.3.7 2011.08.06 -
Avast 4.8.1351.0 2011.08.05 -
Avast5 5.0.677.0 2011.08.05 -
AVG 10.0.0.1190 2011.08.06 -
BitDefender 7.2 2011.08.06 -
CAT-QuickHeal 11.00 2011.08.06 Trojan.Agent.IRC
ClamAV 0.97.0.0 2011.08.06 -
Commtouch 5.3.2.6 2011.08.06 -
Comodo 9648 2011.08.06 -
DrWeb 5.0.2.03300 2011.08.06 -
Emsisoft 5.1.0.8 2011.08.06 Riskware.Keygen.Nero!IK
eSafe 7.0.17.0 2011.08.04 Win32.Banker
eTrust-Vet 36.1.8486 2011.08.05 -
F-Prot 4.6.2.117 2011.08.05 -
F-Secure 9.0.16440.0 2011.08.06 -
Fortinet 4.2.257.0 2011.08.06 W32/Turkojan.LWD!tr.bdr
GData 22 2011.08.06 -
Ikarus T3.1.1.104.0 2011.08.06 not-a-virus.Keygen.Nero
Jiangmin 13.0.900 2011.08.05 Backdoor/Turkojan.bvw
K7AntiVirus 9.109.4973 2011.08.02 -
Kaspersky 9.0.0.837 2011.08.06 -
McAfee 5.400.0.1158 2011.08.06 generic!bg.gyj
McAfee-GW-Edition 2010.1D 2011.08.06 generic!bg.gyj
Microsoft 1.7104 2011.08.06 -
NOD32 6354 2011.08.06 -
Norman 6.07.10 2011.08.05 -
nProtect 2011-08-06.01 2011.08.06 -
Panda 10.0.3.5 2011.08.05 -
PCTools 8.0.0.5 2011.08.06 -
Prevx 3.0 2011.08.06 -
Rising 23.69.03.03 2011.08.04 -
Sophos 4.67.0 2011.08.06 -
SUPERAntiSpyware 4.40.0.1006 2011.08.06 -
Symantec 20111.2.0.82 2011.08.06 -
TheHacker 6.7.0.1.272 2011.08.06 -
TrendMicro 9.200.0.1012 2011.08.06 CRCK_KEYGEN.BB
TrendMicro-HouseCall 9.200.0.1012 2011.08.06 CRCK_KEYGEN.BB
VBA32 3.12.16.4 2011.08.06 -
VIPRE 10081 2011.08.06 Trojan.Win32.Generic!BT
ViRobot 2011.8.6.4609 2011.08.06 -
VirusBuster 14.0.154.0 2011.08.05 -
令人惊讶的是,毫无恶意行为可言的样本竟然被许多防毒软体厂商侦测出,报not-a-virus或是keygen也就算了,有些甚至显示为Trojan。
防毒软体误报也时有所闻。以前防毒厂商并没有建立系统档案白名单,在制作特征码时可能会误删重要档案,使得系统崩溃。因此现在的防毒厂商甚至会和合格厂商合作,将他们的程式建立在白名单内。
问题三:防毒软体占用资源任何一款软体使用时都会利用电脑资源,防毒软体尤甚于此,因为防毒软体会随时监控使用者开启档案、读取档案、上网流量、下载过程、封包传送,侦测与删除一个档案也都会消耗电脑资源。若调高防护品质,则效率就会下降,所以要在两者之间取得平衡。
这样的情况其实很难去解决,若防毒软体提供快速的扫瞄,势必会遗漏一些可疑的档案,但扫瞄速度慢不代表能做深入的检查。
问题四:防毒软体互不相容在大多数的案例中,安装两个不同的防毒软体在同一部电脑上以增加保护是不可能的,且两者会互相干扰。有人说这样会造成不公平竞争,其实这是没办法的事,软体设计师都想让其产品不会与其他产品互相排斥,包含防毒软体,可惜在技术层面上是不可行的。
为了能顺利扫瞄档案并提供完整保护,防毒软体几乎会写到系统核心内。若某个档案被认定是有问题的,由于防毒软体安装了中断点,可以传回防毒引擎上来中断这些档案存取、网路封包或其他可疑行为。然而,有时是无法很轻易地安装两个中断点在核心中,因此造成防毒软体之间的不相容,使得第二组防毒软体无法中断系统事件,或当两者同时中断却造成系统崩溃。
问题五:云端防毒真如其名抑或是噱头?近来许多厂商标榜「云端防毒」,透过网路将庞大的运算处理程序自动分拆成无数个较小的子程序,再交由多部伺服器所组成的庞大系统经搜寻、运算分析之后将处理结果回传给用户。
云端防毒做得比较好的就是趋势科技的Smart Protection Network(简称SPN)。根据趋势科技表示其特点如下(参考integear所写
一鸣惊人:TMSPN上市发表会心得整理):
(1)透过SPN搜集的资料反向追踪,可以找到恶意程式作者、地下组织,并通知警方。
(2)SPN不是只分析一个威胁,而是34000台以上的伺服器配合1000多位专家进行分析,快速处理大量资料,因此使用者能得到立即的更新。
(3)SPN是透过Host-based Intrusion Prevention(简称HIPS,安装在电脑上,监控所有在电脑上的程序活动)、启发式、大量而复杂的演算法、异常行为来抓取样本。并非是使用者中毒之后才回传样本。
(4)SPN透过「社群智慧」、「关连性分析」、「整合回报」架构起来;社群智慧包含「Smart Feedback」,它会记录网路上的可疑行为,再透过演算法过滤,最后以云端技术达到立即更新的资讯;关连性分析则包含「Monitor And Select」,透过演算法撷取大量资料,并选取必要的资讯,接下来「Incident Trigger」会标记顺序先后,之后「Correlate」交叉比对寻找众多档案之间的关联性。最后利用「Intelligent Scoring」给样本打上分数。
(5)SPN会将类似的网址做关连性分析。因为恶意程式作者可能会为了逃避追踪而设定乱数网址。
(6)SPN每天处理的资料大于1.2TB,每天分析用户50亿次的查询。
因此像趋势科技这样的云端,是可以有效达到遏止恶意程式的流窜。然而某些防毒软体打着「99秒云鉴定」或是「1秒云鉴定」,只是将云端技术拿来分析单一档案,这样对于恶意程式的防护能力明显下降许多。
没有完美的解决方案很显然地,大家都希望寻找一个永久的防毒软体解决方案,但不幸的是,
世界上没有一个永久的方法可以避免电脑遭受感染。由于恶意程式是人写的,不是自然演化,因此防毒厂商都是猜测骇客下一步的行动来设计软体,或是对已经存在的骇客技术来做预防,基本上,防毒厂商都是站在「被动」的一方。
就拿两个防毒厂商最常用的技术来说,特征码比对法就是拿一个被制作成2进位的程式码,来比对被扫瞄的档案是否符合,若符合则判定有威胁,若不符合则安全。这个方法的优点就是可以百分之百确定档案是否有问题,而缺点就是恶意程式越多,储存于资料库的资料也就越多,造成防毒公司的负担。
「启发式扫瞄法」则会根据一个档案的后续动作来判定是否有威胁,优点就是可以侦测未知的恶意程式,缺点就是误判率较高。假设有一个防毒软体A它写的启发规则可以百分之百正确判断「现有」的档案,骇客知道了以后,就会想办法用别的技术来躲避防毒软体A的启发规则,而防毒公司知道启发规则被破解了又会写新的规则来预防新的威胁,这就会造成无限循环。所以我们才需要每年不断购买新的防毒产品,或是更新防毒产品的版本,以因应新的威胁。
购买防毒软体虽然说了许多防毒软体所面临的问题,但我们还是需要购买一款好的防毒软体来保护自己(请参考:
我必须不客气的说:大部分的End User根本不懂网路安全!),那该如何选购呢?客观而言,就是参考一些来自世界各地机构的测试报告,这些测试包含了侦测率、0-day漏洞、扫瞄速度、防毒厂商对新威胁的反应速度以及清除率等。然而许多机构并未针对防毒品质做测试,因为进行这样的测试必须搜集大量的样本,并记录防毒软体从安装到移除的过程,费时又费工。
目前有提供完整测试的有AV-test(
http://www.av....org)及AV-Comparatives(
http://www.av-com...es.org),这些机构对于防毒软体的侦测率、防毒公司对新恶意程式的反应时间、中毒电脑的解毒率、受感染网站防御率及系统资源使用等,均进行完整的测试。另外,PC Security Labs(
http://www.pcsecu...bs.net)、Virus Bulletin(
http://www.virusb.../index)及WestCoastLabs(
http://www.westc...bs.org)等则主要是针对侦测率做测试。
结论恶意程式与防毒软体、骇客与资安专家,这两个善恶面是共存的,使用者收集到越多的资讯,才能避免令人遗憾的后果。
最后废话:大家好像都知道现实世界要防诈骗集团、小心歹徒,却在网路世界让自己处于危险