无意中看到英国的安全爱好者Graham Sutherland的一篇旧文《The anti-virus age is over》,尽管是一年前所写,但仍旧可以以“呵呵”的态度一览作者之AV观:
就目前我的关注,我认为反病毒系统已然是强弩之末。或者,如果反病毒系统还没有没落,那也正走在即将终结的路上。
基于特征码的分析技术,包括静态分析(比如SHA1、哈希)和启发式(比如模式匹配)对于多态病毒都显得毫无用处,如果你知道编写病毒生成器是多么的容易,就明白这是个大问题。当从具体的多态引擎中找到特定的模式时,坏家伙们早已编写出了新的多态引擎。当你想到绝大多数浏览器脚本语言都具有图灵完备性,那么很明显,只需要开发人员的小小努力,相同的恶意代码行为便可以通过无限多种手段重写。行为分析或许可以提供一种低成功率的检测方式,但是至多也是一种弱标志。
在过去几年中,我们也看到APT(Advanced Persistent Threat)模式中的攻击潮。这些威胁有特定的目标或对象,而非随处拿软柿子捏。APT模式下的攻击涵盖社会工程学、自编写恶意软件、自发掘漏洞利用工具及平台以及未披露的0-day漏洞——反病毒方案确是面临相当棘手的威胁。
另外一个问题是内存驻留恶意软件。对于AV(anti-virus)厂商来说监视程序内存非常难,更别说在系统中精确检测内存问题。如果恶意软件不触及硬盘,大多数AV软件将永远也不会发现它。在趋势科技高级研究员Robert > McArdle的报告“HTML5-A Whole New Attack > Vector”中,谈及用HTML5编写的驻留在浏览器标签页中的僵尸程序和恶意软件。假设浏览器不在硬盘上建立缓存,那么可以在不利用浏览器漏洞的前提下感染内存驻留恶意程序,如此很容易迷惑用户,并且具有网络连接能力。另外一方面,浏览器中的任意可执行代码均可以作为杠杆加载可执行代码到进程内存中。在浏览器中或者在系统常规进程内存中驻留恶意代码如此相当简单。此外阻止内存页面交换也是可能的,最终便可以阻止恶意代码被交换到硬盘存储中。这对于AV软件和取证分析来说简直是梦魇一般!
如果说恶意软件攻击的技术方面大煞AV软件的锐气,那么从经济层面来说就是AV行业棺材板的钉子。根据PayScale的数据,印度软件开发者的平均年薪是320,000卢比,大约是5700美元。相比之下,恶意软件分析师或系统安全分析师在扣除保险金、养老金以及其他支出型成本之前的年薪是60,000美元。这意味着,AV公司每雇佣一个分析师,坏家门便可以雇佣10个软件开发者。对于同时开发3到4个恶意软件来说也相当容易。如此便毫无争议——坏家伙们相比之下可以用相对少的成本雇佣更多人为他们工作,而且他们不需要顾及雇佣标准和职业操守。结果是坏家伙们可以比AV公司分析师们更快、更有效、更显著地创造和更新恶意软件。
不要误会,AV行业在信息安全世界中仍有一席之地——没有它,系统管理员就不得不处理由脚本小子编写的如洪水般的恶意代码,但是,AV软件已不是抵御大多数基本攻击的利器。
Graham所说并非毫无准备,上文是他研究了众多AV引擎之后所写。时至今日,尽管Graham对于上文中的内容略有改观,比如印度软件开发人员不再是那么便宜,但其仍然认为:AV产业正面临窘境!之所以这样说,是因为:
- 对于平散列(flat hash)甚至CRC32的严重依赖来保持AV性能导致修改一个字节即可达到免杀效果。
- 在模糊哈希方面没有真正的建树。
- I/O访问优化的止步不前。
- 对操作系统的不良修改,比如非ASLR动态文件被注入到进程。
- 反内核缓冲区溢出/堆喷射机制不再有效。
- 在文件、进程、系统对象等等方面ACL的应用贫乏。
- 脆弱而又易被攻击的组件。
- 对于敏感数据的低效加密方式,比如:512位的RSA加密。
- 松散的QA管理,比如曾经有篇文章名为《AV \ detescts itself as
malware,screws everyone's boxes》。 - 相当、相当、相当糟糕的用户界面。
- 在白名单机制和“known good”列表上没有实际的创新。
Graham言下之意,是在新型安全威胁形势下,AV厂商所面对的是新老问题共存,对AV抱有的是极其悲观的态度。如果这仅是一家之言,不妨看看2007年高德纳公司研究主管Anton Chuvakin的发现:
假设有人参与在一所美国著名的公共大学的受感染计算机上提取病毒样本,并将这些样本提交给VirusTotal,通过当时主流杀毒软件或类产品做检测,猜猜检测率有多高(比如一款病毒样本被检测、定义为恶意软件)?
有以下答案供选择:
- 100%
- 94%
- 90%
- 70%
- 50%
- 33%
- 22%
- 14%
- 2%
- 其他?
答案是33%,所有AV产品中最高检测率为50%,最低检测率仅有2%。令人印象深刻且难以置信的是,你花钱买来(免费下载)的杀毒软件可能只有2%的效果,对于大多数恶意软件可能根本无能为力!
有一台Windows XP SP2系统的电脑,系统补丁已更新至最新,并采取以下措施保护该系统:
- 赛门铁克企业版10.X反病毒软件,并开启所有保护措施,包括间谍程序/广告程序检测功能。
- Windows Defentder 1.0版本,并设置每天更新且扫描,以及开启所有保护功能。
- ZoneAlarm 6.X免费版防火墙,并配置了良好的出站策略,以及禁止了所有入站连接。
此外,该系统删除了所有可能遭受攻击和感染的Windows自带协议(比如NetBIOS),停止了许多无关服务,配置IE浏览器禁用注入ActiveX等风险项。
一天,这台电脑的用户发现ZoneAlarm报警有一系列企图对外连接的请求,出于某种警惕性,这名用户点击ZoneAlarm弹出框上的“拒绝”按钮,却发现“拒绝”按钮是灰色状态,无法点击。随后这名IT人员Google了发起网络连接的程序名:uvcx.exe,但仍不得不关闭了这台电脑,直到Anton博士介入调查此事……
是的,Anton正是上面那个问题的参与者,由此他推论:多年来有不少安全产品一直在糊弄大众,“主流”AV产品已死!
笔者也有类似遭遇,多年前笔者电脑遭受某种木马下载者感染,本企图借助杀毒软件清除病毒,却在先后试用国产两款反病毒产品后以查无病毒告终,不得已还是以手动清除解决。但笔者远不如Graham和Anton博士那样对AV产业悲观,相反,在未来信息安全发展中AV产业及企业需要做适应性转型,且任重而道远!
计算机病毒从上世纪80年代中期发展至今,经历了恶作剧、报复心理、经济驱使以及当下的政治因素诱导,制作技术愈加纯熟,特别是在互联网时代病毒制作技术已变地成本愈加低下。由此参与病毒编写的人群不会减少,反而会越来越多,有需求便会有产业,这绝非是计算印度开发人员收入和反病毒工程师收入可以衡量趋势的,好奇心、报复性、金钱诱惑、使命所为均会成为参与病毒编写的驱使因素,想想参与黑产所获得暴利吧!
多态病毒早在20多年前便已诞生,如今也早已不是什么新鲜话题,只是传统的特征码和启发式技术对于此类病毒显得捉襟见肘罢了!反病毒产品的功能主要有三部分:阻止、检测、响应,而如今主动防御也早已兴起多年,沙盒技术也已逐渐在各大软件厂商的产品(比如微软Office 2012)中应用,通过加密/解密变形的多态病毒的防御(虚拟机技术)也已不是问题。因此仅仅因为多态病毒的发展来否定AV的重要性是片面的。
AV产业真正面临的困难,是病毒多平台、多渠道、多技术的发展,比如移动设备、蓝牙传输、与木马技术混合,看似四面楚歌之势,也是对于AV厂商的重大考验:既要应对多态、rookit等,亦要应对早已老掉牙的bat、vbs编写的病毒(《伊朗:重新回到.bat病毒时代》),如此便有不同技术/平台优势的AV厂商的出现以及不同AV引擎的结合,比如致力于智能手机病毒的Lookout公司、结合小红伞和BitDefentder杀毒引擎的360安全卫士。
在病毒数量不断增长的趋势下以及传统特征码存储的尴尬境遇下,云查杀顺势而出,国内某安全公司的安全产品甚至采取“非白即黑”的查杀策略。
而如今APT攻击已然成常态,各类自编写的特定恶意软件则依然必须由AV厂商应对及披露,尽管在阻止方面似乎仍然无能为力,正如笔者在《兵临城下——信息安全的新挑战》中所写,震网、火焰病毒均是由AV厂商发现并公之于众的。但仅仅如此还不够,纯粹的技术对抗在未来势必难上加难,反病毒技术及常识的普及对于AV厂商、安全人员才是以柔克刚之策。以笔者所见闻,倘若普通民众能够在个人电脑、电子设备操作上养成良好习惯(比如甚访问可疑网页、注意软件安装所附带插件/程序),并助以选择合适且安全的软件产品(比如甚用IE浏览器)以及安全产品,足以大大减少个人遭受恶意软件侵害的可能性,比如笔者家中父母所用电脑便因随意安装各类软件、插件而遭受木马攻击而不自知。
事实上,不仅AV产业,整个安全行业的趋势中,人员的因素显得愈加重要,所谓7分管理3分技术,安全更是如此:7分意识3分技术。因此,合作方能共赢是安全厂商发展之趋势,安全意识培养方为个人信息之保障!
补充说明
就在本文写完后的第二天,笔者在网上看到,ESET公司(NOD32反病毒软件和ESET智能安全产品所属公司)市场和营销专员Ignacio Sbampato对于AV行业所面临挑战的评论,他认为:在商业层面上的挑战来自于基于云计算的服务、社交网络(AV产品无法触及)以及免费经济时代的软件,此外还有智能手机应用发展所带来的挑战,这不同于传统的反病毒领域,在用户行为层面上的挑战来自于盗版软件使用,这不仅影响AV厂商,也影响AV的保护层面和程度,比如盗版的Windows系统安装盘很可能被植入有病毒程序。