反病毒话题探讨: 高级病毒很可能会躲过安全检测 |
|---|
|
| www.iselong.com 作者: |
|
许多IT人士在持续不断地阻塞或者拦击蠕虫和病毒的斗争中,感到十分的无助。使用防病毒软件是一种方法,这种方法常用的规则是定期自动更新或者下载最新的病毒定义或者病毒特征。但是防病毒软件的问题在于它只能为防止已知的病毒提供保护。因此,防病毒软件只是在检测已知的特定模式的病毒和蠕虫方面发挥作用。但是或许某一天这也将成为不可能。
人们对恶意代码的查找和分类的根据是:对恶意代码的理解和对恶意代码“签名”的定位来识别恶意代码。然后将这个签名加入到识别恶意代码的签名列表中,这就是防病毒软件的工作原理。防病毒软件成功的关键是它是否能够定位“签名”。例如,去年发现的Datom.A蠕虫,这个蠕虫虽然可以通过“签名”机制来检测从而保护计算机免于某些恶意代码的攻击,但是“签名”机制却越来越无效。
恶意代码基本上可以分为两类:脚本代码和自执行代码。实现对脚本蠕虫的防护很简单,例如,VBScript蠕虫的传播是有规律的,因此常常可以通过运行一个应用程序的脚本来控制这块代码或者让这个代码失效。
对于自执行的或者已编译的蠕虫和病毒来说,其处理方式不是这样简单。因为这些病毒大多数是用C语言或者用汇编语言写出来的。机器代码是微处理器的本地指令,而那些能够编写C语言或者汇编语言恶意代码的人常常都是一些非常高级的程序员。
这也就是为什么防病毒的公司愿意使用那些能够进行反汇编工作或者能够“分解”恶意代码并且能够识别这些恶意代码的工程师的原因。病毒作者和防病毒公司之间一直存在着一场持续不断的“军备竞赛”。对于病毒和蠕虫的作者来说,使用先进的方法来躲开防病毒软件的检测成了他们和防病毒公司之间展开的一场高级游戏。
现在面临的问题是蠕虫可能会使用数据加密的方法来保护自己。使用数据加密技术的恶意代码使得人们很难理解蠕虫和病毒的真实“目的”。
病毒作者将继续使用那些更高级的编程技术。例如,使用自修改执行代码(通常是指代码的多态性)加上数据加密技术,这将使得防病毒软件无法检测到任何恶意代码。
虽然没有人能够预测下一个最大的蠕虫、病毒或者特洛伊木马将是什么样子——因为这些恶意代码的作者总是先于防病毒的研究人员一步——可以确信的是病毒作者现在在研究更高级的病毒技术,而其他的恶意代码将使用数据加密和多态性来躲开防病毒软件的检测。
我们期望将来能够从操作系统和微处理器设计的角度出发来提高计算机防病毒的能力。虽然目前我们所能够采取的最好的防病毒方法仍然是保证防病毒软件的及时更新,但是在将来的日子里可能会证明采用防病毒软件的方法是错误的。说实话,这只是时间问题。
|