|
IT 世界充满了通过邮件或口口相传的神话和传说。这些传说并非指愚弄程序或连锁信件,而是假设成真而实际上并未成真的某事。可是,如果没有任何证据就想说明某事是真的是非常困难的。
这些奇怪的神话同样存在于 IT 安全的世界。其中之一,曾经被认为属实,现在却逐渐被怀疑,那就是:恶意代码的创造者都是优秀的程序员。当病毒还处于“史前”时期,这一点是属实的。
曾几何时,一个程序,要想在不被用户和安全程序发觉的情况下自动“繁殖”,它必定是由优秀的程序员创造的。程序员需要有广博的系统及相关知识,以及充足的创新精神。
可是现在,这些程序员不再是 IT 编程界的“明星”。恶意代码正在变得日益粗糙、缺乏创新。
Gaobot.AAF 事件
关于“恶意代码的创造者都是拙劣的程序员(或者至少不像我们想象的那么优秀)”的陈述并非毫无根据,因为可以通过一些方法扫描程序来了解它们是如何编写的。其中之一的方法,由于其视觉效果而被广泛应用,它可以提供程序各组件之间的图形表示。这些图形中的线条关联着代码中的每个子程序,因此一个简单而出色的程序应该得到一幅简单而清晰的图象。可是,一个没有内部组织、缺乏系统化的程序会得到一幅极其复杂而混乱的图象。
此外,两个相似的程序也会得到相似的图象。熊猫实验室,熊猫软件的恶意软件检测实验室,就使用这种方法为同一种恶意代码的不同变种建立相似性。这么做可以将不同程序对同一功能的调用图形化地表示出来。
当熊猫实验室分析一个僵尸程序 Gaobot.AAF 时,他们对结果感到吃惊:不仅因为它的外观(他们称呼它为“死星”因为它类似《星球大战》中的景色)而且因为它显得不可思议的复杂。
为什么会得到这样一幅奇怪的图象?仅仅是因为僵尸程序 Gaobot 的原始源代码为恶意代码编写者获得,然后每个人又创造了新的变种。但是这些变种并未经过优化,因此每个变种都变得更加复杂。
非但未能证明他们是优秀的程序员, Gaobot 变种的创造者的所作所为反而显示他们缺乏深层知识,他们仅仅是复制他人代码的小偷学徒。
“ 不可检测 ” 的病毒
另一个通过错误的邮件而广泛传播的神话是:存在着一些病毒(蠕虫、木马等),没有任何安全产品可以检测到。遗憾的是,虽然这并非事实,这个神话还在不断地传播。
一篇最近的新闻报道讲述了一位学生创造了一个木马,可以记录他的同学的摄像头画面,并通过邮件发送这些画面。报道还说,这个木马是“不可检测”的。
“木马是不可检测的”的陈述与这篇报道是抵触的,因为(报道中说)有权威人士创造了一个系统检测并清除了这段代码。所以,它还是不可检测的吗?
问题在于检测一个特定木马的困难程度。大多数防病毒产品的厂商根据恶意代码的样本研发出检测和清除方案。这需要两个条件:
1. 恶意代码引起了用户的怀疑。如果一封邮件显示不出内容,或者不执行任何特别的举动,这会让用户意识到发生了奇怪的事情,系统可能已经被感染了,但是样本还没有发送给实验室进行分析。
2. 恶意代码必须具有一定的感染率。这会增加受感染的用户通知实验室的几率。
在这个木马的事件中,两个条件都没有满足。就像大多数木马一样,它没有显示任何信息,也没有留下任何存在的痕迹。并且,它只传播了很少的计算机(只有黑客的同学),它没有引起任何怀疑。
这是今天恶意软件境遇的一个例证:感染减少的、隐藏良好的例证。因此,防病毒公司无法检测到它,就如报道所言。可是,这种陈述是不完全的:它没有被检测到只是因为人们没有发现它。
除此之外,这个问题只会发生在古老的恶意代码检测系统。这些系统仅仅依赖存储的关于恶意程序的数据,没有集成任何其他检测系统。因此,任何未存储在程序特征码数据库中的项目都被认为正常的。
更多抵御恶意代码的先进技术可以预防这些问题,这些技术并不依赖之前关于恶意代码的知识,而是通过分析它们的行为找出恶意代码。因此,一个试图执行恶意行为的程序会被阻止,这并不是因为它被识别出来,而是因为它试图执行的行为(是危险的)。
只要用户仍然用不完全的、过时的方案检测病毒和其他恶意程序,他们就不能充分地保护他们的计算机,因为他们还会遇到“不可检测的恶意代码”,而不会认识到其实只是“目前尚未识别的危险程序”。
|