【51CTO.com 专家特稿】国外著名的某安全公司指出:2007年互联网上传播的有记载的新型恶意程序(包括病毒,蠕虫,木马等)数目达2,227,415个,同2006年的结果(535,131个)相比翻升了四倍,恶意软件总数量达到354GB。许多反病毒专家认为这些恶意软件的急速增加已经达到了一种很极端的情况。恶意软件的快速发展、广泛传播,以及新型化、复杂化,使得展示出更强的破坏性和更多样的传播方式。2008年安全公司对于恶意软件的分析研究也将面临更大的挑战。叶子在本篇文章中将带领大家初步了解一下恶意代码及其相关的分析研究过程。
恶意代码(malicious code)是一种程序,它通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。恶意程序创作者有一套不断扩充且技术先进的工具组合可供他们任意运用,其中包含了傀儡程序与傀儡网络、Rootkit、社交工程技巧、间谍程序与广告程序等等。他们受到金钱利益驱使的情况更甚于以往,而且创造出许多专门生产恶意程序、犯罪程序与间谍程序/广告程序的地下经济体。他们不再制作以删除文件及破坏大量计算机为目的的恶意程序,改以潜藏于计算机中,等候傀儡程序主控者下达命令采取各种行动,或在适当时机窃取个人信息的恶意程序取而代之。他们不断创造出行踪更隐匿的恶意程序,像是视频垃圾邮件-内含视频而非文字的垃圾邮件。
恶意代码按传播方式可以分成几类:病毒,木马,蠕虫,移动代码。
病毒一般都具有自我复制的功能,同时,它们还可以把自己的副本分发到其他文件、程序或电脑中去。病毒一般镶嵌在主机的程序中,当被感染文件执行操作的时候(例如:打开一个文件,运行一个程序,点击邮件的附件等),病毒就会自我繁殖。
特洛伊木马这类恶意代码是根据古希腊神话中的木马来命名的,它从表面上看是正常的程序,但是实际上却隐含着恶意意图。一些木马程序会通过覆盖系统中已经存在的文件的方式存在于系统之中,同时它能以加载恶意代码动态库的方式携带恶意代码程序,还有一些木马会以一个软件的身份出现(例如:一个可供下载的游戏,将木马捆绑在软件安装程序上),但它实际上是一个窃取密码的工具。这类应用通常在网络游戏盗号木马上。大多数木马都可以使木马的控制者登录到被感染电脑上,并拥有绝大部分的管理员级别的控制权限。为了达到这个目的,木马一般都包括一个客户端和一个服务器端。客户端放在木马控制者的电脑中,服务器端放置在被入侵电脑中,木马控制者通过客户端与被入侵电脑的服务器端建立远程连接。一旦连接建立,木马控制者就可以通过对被入侵电脑发送指令来传输和修改文件。通常木马具有很强的隐敝性,会采用多种手段隐藏木马。隐藏恶意进程的痕迹,例如使恶意进程不在进程列表中显示出来等。常见的木马有灰鸽子、彩虹桥、Poison_Ivy、守望者、上兴远控、turkojan等一些木马。
蠕虫是一种能在没有任何用户动作的情况下自动传染计算机的病毒变形。蠕虫不修改文件,而是常驻在内存里并复制自己。蠕虫使用操作系统的一部分,这部分对于用户来说是自动且无形的。通常只有在它的无法控制的疯狂复制占用了系统资源使得其他的 任务缓慢甚至停滞的情况下才会发现它们。蠕虫的自我复制不像其他的病毒,它可以自动创建与它的功能完全相同的副本,并在没人干涉的情况下自动运行。蠕虫是通过系统存在的漏洞和设置的不安全性(例如:设置共享)来进行入侵的。它的自身特性可以使它以极快的速度传输(在几秒中内从地球的一端传送到另一端)。其中比较典型的有Blaster和SQL Slammer。
移动代码是能够从主机传输到客户端计算机上并执行的代码,它通常是作为病毒,蠕虫,或是特洛伊木马的一部分被传送到客户计算机上的。另外,移动代码可以利用系统的漏洞进行入侵,例如非法的数据访问和盗取root账号。通常用于编写移动代码的工具包括Java applets,ActiveX,JavaScript,和VBScript。