在过去几年中,我们的计算机受到了前所未有的攻击,恶意软件正变得越来越聪明,越来越强大。我们不禁要想,在未来的互联网世界里,防病毒软件还是不是拼图的一部分?
安全从来没有存在于PC世界
在以前的很长一段时期里,我们今天所说的安全性问题根本不存在于PC世界。防病毒软件的出现并不是为了帮助早期的操作系统和软件抵御什么攻击,而更多地是解决使用者自己的失误。它们单独工作,很少与网络连接。在那时,除了极少数像1988年11月的莫里斯蠕虫等几乎没有什么恶意软件能够造成严重的威胁。
然而随着网络连接和下载的盛行,恶意软件也开始流行普及。这时的防病毒程序演变成普遍性的系统保护套件,监视和守卫着一切从网络到磁盘的活动。
问题是这些防病毒解决方案对系统资源的消耗是可怕的。一台PC可能会因此变得更安全,但人们无法忍受它以一半的速度运行。更糟糕的是这些程序创造出的虚假安全感,人们经常在日常更新后就放松了警惕,并因此遭受了攻击。
限制权限终于出现
保护机制的重大变化是加入了用户权限。一个程序在默认情况下不能够随意改变系统的任何配置。如果要修改系统设置,必须拥有管理员的权限。
Linux、OS X和NT版本的Windows(NT、2000、XP和以上)都设置了这种权限限制。但是直到最近,这种权限功能仍然不能很好的发挥作用:比如在Windows中大多数人都会以管理员的身份登录,这是因为如果不这样就太麻烦了。有太多的Windows应用程序在编写时仍然假设它们可以改变一切,直到Vista和User Account Control出现之后,情况才发生了变化:Windows程序员现在开始养成了不使用root权限运行的习惯。【编者按,相对而言,Windows 7在这方面也有了更长足的进步,详见“Windows 7在安全性上的五件你应该知道的事”】
恶意软件的杀手锏:零日攻击
如果操作系统处于完全没有bug的环境中,这时限制用户权限可能是个相对安全的办法。但不幸的是,bug没法不存在,这为恶意软件的制造者们提供了探索那些新的没来得及打上补丁的漏洞的机会,比如臭名昭着的“零日攻击”。近期发现的OS X内核缺陷也同时强调了这一点:有人完全可以通过这样的漏洞绕过权限机制,直接写入内核空间。
在零日攻击之外,更多的问题是在最终用户仍然有许多漏洞长期没有打上补丁,并最终可能为坏人敞开大门。正如51CTO此前曾经介绍过的,网络安全企业Qualys的研究发现行业中打补丁的时间一般是30天。而讽刺的是最长时间得不到修补的软件正是那些最广泛使用的:微软Office、Windows Server 2003、Sun Java和Adobe Acrobat。
白名单真的有效吗?
在系统安全性中的一个相对较新的方法是白名单,也就是预先定义好允许运行的程序目录。白名单能够非常严厉的对待任何运行的程序,这使它能在本地防御中良好的对抗例如keylogger等恶意软件。但如51CTO.com安全频道此前报道,有观点认为,白名单可能会影响杀毒软件市场。
白名单中比较难办的问题是需要创建和维护列表,这和黑名单一样。但好的一面是白名单比黑名单往往要小得多,更易于维护,也直接有效。例如Windows中的Group Policy可以基于文件路径等设置白名单。
另一种方法是由第三方维护白名单,例如使用卡巴斯基实验室预先创建的白名单,只装载和运行那些“好”的软件。本地用户当然也可以添加自己需要的已知的常规应用。
追溯保护价值何在?
如果反病毒的概念需要扩大到包括一般性的“系统保护”,那么它现在还应该包括如何从灾难中恢复,或者怎样容纳灾难。
容纳灾难可以用“沙箱”的方法实现,允许任何下载或安装的软件运行在一个虚拟的空间中,并且分析其行为。沙箱操作在目前确实帮助提高了安全性,而从长远来看,它最好发展成为一个成熟的平台,而不再作为一项附加应用。
灾难恢复方法是假定事情可能出错,但可以轻松地进行恢复。Vista和Windows 7或者OS X的全系统镜像可以提供很大的援助,结合沙箱技术能够更加有效。
针对恶意软件的最好的长期解决方案需要基于平台完成,尽管目前软件的复杂性使目前还不太可能搭建起一个统一的安全平台,这样的平台不可能十全十美,但可以达到更高程度的安全性,通过不断的严格内外部改进。而最有用的临时性解决方案仍然会来自第三方,但需要改变的老观念是“扫描一切行动”,它在解决问题的同时带来了更多的麻烦。
也许,防病毒软件没有死,而会改变形状以适应时代的要求,它将会发展成为主流计算的补充方案,继续帮助我们防范各种威胁。