我们都看过一部或两部关于僵尸的电影。某些医疗或化学事故创造出第一个,然后是一批,然后是成千上万几乎不可摧毁的无意识生物。除为剧情上的相似以外,大多数僵尸电影中常见的一个共同点是都有这样的情景。其中一个即将成为僵尸的受害者遇到一个僵尸,这个僵尸是以前一个亲爱的人变成的,因此这个人想“我们亲密的关系和信任所具有的力量可以保护我”,于是没有逃跑或进行防卫。结果是他被变成了另一具僵尸。
对信任的背叛是无情的。当我们依赖的、为我们提供支持和保护的人或事倒戈时,我们是最脆弱的。就像化学实验室药液的意外混合导致僵尸部队的产生一样,不断升级的病毒/“防病毒的军备竞赛”已经催生了网络空间中与此类似的背叛式威胁:内核态root-kits。
传统的病毒防护解决方案通常是在主机上安装防病毒软件(基于主机的防病毒)。最初,这种防护是完全够用的。当检测到新病毒的时候,防病毒公司将提供更新的病毒库文件,然后用户通过手工或自动方式将病毒库安装到客户主机上,从而可以提供针对新威胁的防护能力。
然而,在过去的几年时间里,由于出现了一类攻击主机防御系统的病毒,因此这一方法的有效性在某种程度上正在降低。这类病毒,如Goner、Sober、Klez、Fizzer、Antiav及其变种,试图使已安装的防病毒和防火墙软件不起作用,或者试图阻止基于主机的防御系统正常工作。(例如改写主机文件使得主机无法访问微软公司的Windows Update或者阻止访问防病毒软件供应商的站点来获得病毒库更新定义。)
基于主机的防病毒仍然有方法来对付这类威胁,但用户却会发现处境不妙:特别是主机能否在病毒入侵前或者漏洞被利用前就获得最新的病毒库文件。基于主机的防病毒保护方式实际上已经有点力不从心了。
当然如果用户在这场竞赛中不幸失败,还是有可能清除感染的病毒,因为病毒仍然会留下可检测的痕迹和证据,如文件、运行的进程和注册表项等。
信任背叛
最近,出现了一类更为恶毒和危险的威胁。现在有证据显示,病毒编写者正在制造并传播称为嵌入式root-kits的一些古老病毒的变种。这种新类型病毒的攻击目标就是防护系统。Root-kits并非最新才出现的,但其使用却越来越多。Root-kits通过利用目标系统上的一些漏洞入侵目标系统,其主要目的是隐藏自己的行踪并为未来对宿主主机的控制提供一个通道。
截止到目前为止,处理器和操作系统供应商提供的“拒绝执行”(“No Execute”)和“数据执行保护”(“Data Execution Prevention”)等形式的防护机制对于此类病毒的传播基本上没有什么作用。如果试图提高这些方法的有效性,即提高对程序和进程审查的严格程度,那么也会同时提高“合法”程序和进程受到影响的风险;这是全球技术支持中心或IT服务人员所无法接受的。
传统上,root-kits运行在用户态。操作系统和CPU对用户态进行了限制,权限较低,主要用于运行大多数非核心代码,避免了程序对存储器和处理器进行完全的直接的未经检查的访问。只要恶意进程还是运行在用户态,运行在内核态的“好”进程(如基于主机的防病毒软件)就有机会检测并禁止掉恶意代码。对于内核态,操作系统提供了所有的权限和控制能力。
然而,最近的root-kits病毒开始利用漏洞来获得内核态的权限。这意味着他们拥有对整个OS的全面直接控制,可以操纵最核心的数据,如运行进程的显示、文件和目录列表、注册表键值等。换句话说,root-kits病毒几乎可做到完全不被检测到,真正“暗中”活动。
我们又能够信任谁?
因此,如果你甚至无法信任系统内核所告诉您的东西,即内核所报告的系统是否被感染的信息,那么又应当相信谁呢?
除了采用基于主机的防病毒系统以外,为防病毒解决方案增加一个网关防病毒(GAV)设备可以提供一层额外的防护,从而可以大大增强总的病毒防护能力。网关防病毒设备是专用设备,与PC机不同,通常不能够任意运行代码。因此,由于这种加固的封闭式系统所具有的优点,网关防病毒设备能够避免病毒攻击。换句话来说,他们的设计目标就是要坚不可摧,始终警惕且忠诚,永远不会背叛您的信任。
尽管并非所有网关防病毒解决方案都是一样的(有些对于文件大小有限制,有些甚至只能扫描某些应用或协议类型),在现有以及未来的病毒威胁面前,这一额外的防护层仍然能够提供一种最忠实的防护能力。作为一种不会被攻占的外部守护设备,网关防病毒设备是您目前与病毒进行战斗最好也最值得依赖的解决方案。