计算机专业论文:恶意代码分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

恶意代码分析
目录
摘要: (2)
关键词: (2)
1.概要介绍 (3)
2.恶意代码综述 (3)
2.1 恶意代码的特征 (4)
2.2 恶意代码的传播 (4)
2.2.1 恶意代码的传播手法 (4)
2.2.2 恶意代码的趋势 (4)
2.3 恶意代码的类型 (5)
2.4 恶意代码的发展 (7)
2.5 恶意代码攻击机制 (10)
3. 恶意代码实例 (11)
4. 恶意代码分析实验操作 (13)
5. 恶意代码侦测 (19)
5.1 现行恶意代码侦测情况 (19)
5.2 应有恶意代码侦测机制 (21)
5.2.1 恶意代码传播的不易控性 (21)
5.2.2 路径跟踪的新方法:沾染图 (22)
5.2.3 沾染图的基础 (23)
5.2.4 Panorama (25)
6. 小组感想 (28)
7. 小组分工 (30)
8. 参考文献 (32)
摘要:
恶意代码(Malicious Code)是指没有作用却会带来危险的代码,其最主要特征是目的的恶意性、程序的执行性与执行的传播性。

在探索了恶意代码的基本属性与特征后,我组进而对一个真实的恶意代码实例进行了较为详细的分为,并在真实代码旁均作了详实的批注。

除此,为了进一步跟踪恶意代码的破坏途径,我组在我们的笔记本电脑中装入了VWare虚拟机,并试图运行TEMU软件,进行此方面研究。

最后,在完成上述工作后,我们产生了这样的观点,即:仅仅了解恶意代码的实质与恶性并不足以产生对现实生活有益的效果,为了能学有所用,我们更应了解的是如何对恶意代码进行侦测和防治。

因而,我组最后的研究内容是与探索一条侦测途径,即:Panorama系统,以遍更有效地抵消恶意代码的进攻。

关键词:
恶意代码(恶意软件),TEMU,恶意代码侦测,Panorama
1.概要介绍
生活质量的提高、信息的海量增加、科技的日益普及等无一不使电脑的泛化与网络的兴荣呈现愈演愈烈的趋势。

随着这种趋势的日益明显,人们愈发地离不开电脑的应用与网络所呈现出的便利与快捷。

然而,不可忽视的是,这种繁华背后的另一面却也有着令人胆寒的发展。

恶意代码,无疑是这种现象最不可替代的承担者。

它们窃取私人用户信息、严重破坏网络秩序、使得数以万计的资产流失等等。

特洛伊木马、蠕虫病毒、键盘记录器、密码窃贼、网络嗅探器、隐形后门、间谍软件等,数不胜数的计算机病毒、恶意代码、恶意软件等,每天都在窥探着人们的生活,伺机下手以进行破坏行为。

为此,我组于是决定进行恶意代码方面的探究,以求更好地理解其本质、属性等一些基本信息,为的是对于其防御措施亦能被提高。

鉴于此,我组进行的第一项内容即是对恶意代码进行了概要性学习,主要包括了其概述、类型、发展与进攻机制等四方面内容。

接下来,本着学以致用的原则,我们详细分析了一个恶意代码实例,一是用以验证之前学习内容的正确性,二则是切实展示出其之所以“恶意”的原因。

所谓“知己知彼,百战不殆”,正确理解其进攻机制,观测出其恶性成分,才能切实明了最为有效的侦测的途径。

在学习完恶意代码的基本属性与恶意代码实例后,我组想进行更深一步的实验,即利用虚拟机中的软件进行恶意代码的跟踪,以求得其进攻途径。

于是,我们在自己的电脑中安装了VWare Workstation 7作为试验用虚拟机,并在虚拟机中安装了Ubuntu 9.04 版本作为虚拟机中的操作系统。

后,在虚拟机中安装了QEMU以为安装最终的实验工具TEMU做准备。

然而,在安装TEMU时,我组遇到了一个比较大的困难,并最终导致本部分探究内容并不是非常完美。

具体内容,我们会在之后的相应内容(本篇第4部分)进行详细说明。

正如我组一开始便提出的观点,进行恶意代码本省的学习并不是我们的目的,因为至少我组成员没有想在今后进行破坏性事业的打算,因而,所有的学习内容均本着学以致用的态度,即:如何进行侦测与预防。

因而,在本次学习的最后阶段,我们探究了一个概念系统Panorama,并与之前(即现大多数应用的)侦测系统进行了比对,来说明最为切实有效的侦测理应来源于对于底层、对于终端、对于沾染路径的多方位立体侦测途径。

综上所述,我组本篇文档的主要思路如下:
第一部分:概要描述;第二部分:恶意代码概述;第三部分:恶意代码实例与分析;第四部分:恶意代码分析实验操作;第五部分:恶意代码侦测;第六部分:组内成员感想;第七部分:组内分工;第八部分:参考文献。

2.恶意代码综述
代码,指计算机程序代码,可以被执行完成特定功能。

任何事物都有正反两面,人类发明的所有工具既可造福也可作孽,这完全取决于使用工具的人。

恶意代码(Malicious Code)是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件。

计算机程序也不例外,软件工程师们编写了大量的有用的软件(操作系统,
应用系统和数据库系统等)的同时,黑客们在编写编写扰乱社会和他人的计算机程序,这些代码统称为恶意代码。

2.1 恶意代码的特征
恶意代码(Malicious code)或者,恶意软件(Malware,Malicious Software)具有如下共同特征:
(1)恶意的目的
(2)本身是程序
(3)通过执行发生作用
有些恶作剧程序或者游戏程序不能看作是恶意代码。

对滤过性病毒的特征进行讨论的文献很多,尽管它们数量很多,但是机理比较近似,在防病毒程序的防护范围之内,更值得注意的是非滤过性病毒。

2.2 恶意代码的传播
2.2.1 恶意代码的传播手法
恶意代码编写者一般利用三类手段来传播恶意代码:软件漏洞、用户本身或者两者的混合。

有些恶意代码是自启动的蠕虫和嵌入脚本,本身就是软件,这类恶意代码对人的活动没有要求。

一些像特洛伊木马、电子邮件蠕虫等恶意代码,利用受害者的心理操纵他们执行不安全的代码;还有一些是哄骗用户关闭保护措施来安装恶意代码。

2.2.2 恶意代码的趋势
●种类更模糊
恶意代码的传播不单纯依赖软件漏洞或者社会工程中的某一种,而可能是它们的混合。

比如蠕虫产生寄生的文件病毒,特洛伊程序,口令窃取程序,后门程序,进一步模糊了蠕虫、病毒和特洛伊的区别。

●混合传播模式
“混合病毒威胁”和“收敛威胁”的成为新的病毒术语,“红色代码”利用的是IIS 的漏洞,Nimda实际上是1988年出现的Morris 蠕虫的派生品种,它们的特点都是利用漏洞,病毒的模式从引导区方式发展为多种类病毒蠕虫方式,所需要的时间并不是很长。

●多平台
多平台攻击开始出现,有些恶意代码对不兼容的平台都能够有作用。

来自Windows的蠕虫可以利用Apache的漏洞,而Linux蠕虫会派生exe格式的特洛伊。

●使用销售技术
另外一个趋势是更多的恶意代码使用销售技术,其目的不仅在于利用受害者的邮箱实现最大数量的转发,更重要的是引起受害者的兴趣,让受害者进一步对恶意文件进行操作,并且使用网络探测、电子邮件脚本嵌入和其它不使用附件的技术来达到自己的目的。

恶意软件(malware)的制造者可能会将一些有名的攻击方法与新的漏洞结合起来,制造出下一代的WM/Concept, 下一代的Code Red, 下一代的Nimda。

对于防病毒软件的制造者,改变自己的方法去对付新的威胁则需要不少的时间。

程度加深
这似乎是一个不争的事实。

然而想要从根本上了解这个特点的实质,我们还需要从两个方面理解:恶意程度,发展速度。

在2.4节中的图2-2,我们会详细给出说明。

2.3 恶意代码的类型
我们从图2-1中可以很清楚地看到,计算机恶意代码,包括病毒、木马程序等,可谓千差万别,千变万化。

我们之所以要学习此部分内容,目的是进行有针对的侦测与预防,因为,每一种恶意代码其进攻机制不尽相同(我们会在下一部分详细说明),大致分类如下图:
图2-1 恶意代码大致分类
具体分类与其所对应特点可见如下几部分:
(1)计算机病毒
定义:指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。

而在一般教科书及通用资料中被定义为:利用计算机软件与硬件的缺陷,由被感染机内部发出的破坏计算机数据并影响计算机正常工作的一组指令集或程序代码。

特点:寄生、潜伏、隐蔽、可触发、传染和破坏。

(2)计算机蠕虫
定义:指通过计算机网络自我复制,消耗系统资源和网络资源的程序。

计算机蠕虫是一种软件程序,可以将自身从一台计算机复制到另一台,同时并不需要人的干预。

与计算机病毒不同,蠕虫可以自动复制自己。

特点:扫描、攻击和扩散。

(3)特洛伊木马
定义:指一种与远程计算机建立连接,使远程计算机能够通过网络控制本地计算机的程序。

一种秘密潜伏的能够通过远程网络进行控制的恶意程序。

控制者可以控制被秘密植入木马的计算机的一切动作和资源,是恶意攻击者进行窃取信息等的工具。

特点:欺骗、隐蔽、自动运行、自动恢复和信息窃取。

不产生图标木马虽然在你系统启动时会自动运行,但它不会在"任务栏"中产生一个图标,木马程序自动在任务管理器中隐藏,并以"系统服务"的方式欺骗操作系统。

(4)逻辑炸弹
定义:指一段嵌入计算机系统程序的,通过特殊的数据或时间作为条件触发,试图完成一定破坏功能的程序。

计算机中的“逻辑炸弹”是指在特定逻辑条件满足时,实施破坏的计算机程序,该程序触发后造成计算机数据丢失、计算机不能从硬盘或者软盘引导,甚至会使整个系统瘫痪,并出现物理损坏的虚假现象。

特点:计算机中的“逻辑炸弹”是指在特定逻辑条件满足时,实施破坏的计算机程序,该程序触发后造成计算机数据丢失、计算机不能从硬盘或者软盘引导,甚至会使整个系统瘫痪,并出现物理损坏的虚假现象。

因为一个逻辑炸弹不自我复制,这是很容易写一逻辑炸弹的计划。

这也意味着一个逻辑炸弹将不会蔓延到意想不到的受害者。

在某些方面,逻辑炸弹是最文明的程序的威胁,因为一个逻辑炸弹,必须针对特定的受害者。

经典使用一个逻辑炸弹,是要确保支付软件。

如果付款是不是由某一特定日期,逻辑炸弹激活和软件会自动删除本身。

一个更恶意的形式,即逻辑炸弹也将删除系统上其他数据。

(5)病菌
定义:指不依赖于系统软件,能够自我复制和传播,以消耗系统资源为目的的程序。

特点:传染和拒绝服务。

(6)用户级RootKit
定义:指通过替代或者修改被系统管理员或普通用户执行的程序进入系统,从而实现隐藏和创建后门的程序。

Rootkit是一种奇特的程序,它具有隐身功能:无论静止时(作为文件存在),还是活动时,(作为进程存在),都不会被察觉。

特点:Rootkit 是一种特殊类型的malware(恶意软件)。

Rootkit 之所以特殊是因为您不知道它们在做什么事情。

Rootkit 基本上是无法检测到的,而且几乎不可能删除它们。

虽然检测工具在不断增多,但是恶意软件的开发者也在不断寻找新的途径来掩盖他们的踪迹。

在发现系统中存在Rootkit 之后,能够采取的补救措施也较为有限。

由于Rootkit 可以将自身隐藏起来,所以您可能无法知道它们已经在系统中存在了多长的时间。

而且您也不知道Rootkit 已经对哪些信息造成了损害。

对于找出的Rootkit,最好的应对方法便是擦除并重新安装系统。

虽然这种手段很严厉,但是这是得到证明的唯一可以彻底删除Rootkit 的方法。

(7)核心级RootKit
定义:指嵌入操作系统内核进行隐藏和创建后门的程序。

Rootkit 的目的在于隐藏自己以及其他软件不被发现。

它可以通过阻止用户识别和删除攻击者的软件来达到这个目的。

Rootkit 几乎可以隐藏任何软件,包括文件服务器、键盘记录器、Botnet 和Remailer。

许多Rootkit 甚至可以隐藏大型的文件集合并允许攻击者在您的计算机上保存许多文件,而您无法看到这些文件。

特点:隐蔽,潜伏。

以上内容,我组进行了总结,为了方便阅读,我组将其其结果概括成了如下的表格:
2.4 恶意代码的发展
恶意代码经过20多年的发展,破坏性、种类和感染性都得到增强。

随着计算机的网络化程度逐步提高,网络传播的恶意代码对人们日常生活影响越来越大。

(1)1988 年11 月泛滥的Morris蠕虫,顷刻之间使得6000 多台计算机(占当时Internet 上计算机总数的10%多)瘫痪,造成严重的后果,并因此引起世界范围内关注。

(2)1998 年CIH病毒造成数十万台计算机受到破坏。

1999 年Happy 99、Melissa 病毒大爆发,Melissa 病毒通过E-mail 附件快速传播而使E-mail 服务器和网络负载过重,它还将敏感的文档在用户不知情的情况下按地址簿中的地址发出。

(3)2000 年5 月爆发的“爱虫”病毒及其以后出现的50 多个变种病毒,是近年来让计算机信息界付出极大代价的病毒,仅一年时间共感染了4000 多万台计算机,造成大约87 亿美元的经济损失。

(4)2001 年,国信安办与公安部共同主办了我国首次计算机病毒疫情网上调查工作。

结果感染过计算机病毒的用户高达73%,其中,感染三次以上的用户又占59%多,网络安全存在大量隐患。

(5)2001 年8月,“红色代码”蠕虫利用微软Web 服务器IIS 4.0 或5.0 中Index 服务的安全漏洞,攻破目标机器,并通过自动扫描方式传播蠕虫,在互联网上大规模泛滥。

(6)2003 年,SLammer 蠕虫在10 分钟内导致互联网90%脆弱主机受到感染。

同年8月,“冲击波”蠕虫爆发,8天内导致全球电脑用户损失高达20亿美元之多。

(7)2004年到2006年,振荡波蠕虫、爱情后门、波特后门等恶意代码利用电子邮件和系统漏洞对网络主机进行疯狂传播,给国家和社会造成了巨大的经济损失。

(8)目前,恶意代码问题成为信息安全需要解决的,迫在眉睫的、刻不容缓的安全问题。

图2-2 恶意代码发展趋势
上图可以很清晰地表明,从第一例计算机病毒(APPLE II,1981年)到2003年的冲击波病毒,恶意程度增加之迅猛,种类数量程度增加之快速,令人瞠目。

从而,我们也可以很清晰地回答2.2.2节最后遗留下来的问题。

为了更好的理解上图,并对上图进行补充(此图只截止到2003年产生的病毒),我们查阅了相关资料并进行了整理,现将结果公示如下:
(1).Elk Cloner(1982年)
它被看作攻击个人计算机的第一款全球病毒,也是所有令人头痛的安全问题先驱者。

它通过苹果Apple II软盘进行传播。

这个病毒被放在一个游戏磁盘上,可以被使用49次。

在第50次使用的时候,它并不运行游戏,取而代之的是打开一个空白屏幕,并显示一首短诗。

(2).Brain(1986年)
Brain是第一款攻击运行微软的受欢迎的操作系统DOS的病毒,可以感染感染360K软盘的病毒,该病毒会填充满软盘上未用的空间,而导致它不能再被使用。

(3).Morris(1988年)
Morris该病毒程序利用了系统存在的弱点进行入侵,Morris设计的最初的目的并不是搞破坏,而是用来测量网络的大小。

但是,由于程序的循环没有处理好,
计算机会不停地执行、复制Morris,最终导致死机。

(4).CIH(1998年)
CIH病毒是迄今为止破坏性最严重的病毒,也是世界上首例破坏硬件的病毒。

它发作时不仅破坏硬盘的引导区和分区表,而且破坏计算机系统BIOS,导致主板损坏。

此病毒是由台湾大学生陈盈豪研制的,据说他研制此病毒的目的是纪念1986年的灾难或是让反病毒软件难堪。

(5).Melissa(1999年)
Melissa是最早通过电子邮件传播的病毒之一,当用户打开一封电子邮件的附件,病毒会自动发送到用户通讯簿中的前50个地址,因此这个病毒在数小时之内传遍全球。

(6).Love bug(2000年)
Love bug也通过电子邮件附近传播,它利用了人类的本性,把自己伪装成一封求爱信来欺骗收件人打开。

这个病毒以其传播速度和范围让安全专家吃惊。

在数小时之内,这个小小的计算机程序征服了全世界范围之内的计算机系统。

(7).“红色代码”(2001年)
被认为是史上最昂贵的计算机病毒之一,这个自我复制的恶意代码“红色代码”利用了微软IIS服务器中的一个漏洞。

该蠕虫病毒具有一个更恶毒的版本,被称作红色代码II。

这两个病毒都除了可以对网站进行修改外,被感染的系统性能还会严重下降。

(8).“Nimda”(2001年)
尼姆达(Nimda)是历史上传播速度最快的病毒之一,在上线之后的22分钟之后就成为传播最广的病毒。

(9).“冲击波”(2003年)
冲击波病毒的英文名称是Blaster,还被叫做Lovsan或Lovesan,它利用了微软软件中的一个缺陷,对系统端口进行疯狂攻击,可以导致系统崩溃。

(10).“震荡波”(2004年)
震荡波是又一个利用Windows缺陷的蠕虫病毒,震荡波可以导致计算机崩溃并不断重启。

(11).“熊猫烧香”(2007年)
熊猫烧香会使所有程序图标变成熊猫烧香,并使它们不能应用。

(12).“扫荡波”(2008年)
同冲击波和震荡波一样,也是个利用漏洞从网络入侵的程序。

而且正好在黑屏事件,大批用户关闭自动更新以后,这更加剧了这个病毒的蔓延。

这个病毒可以导致被攻击者的机器被完全控制。

(13).“Conficker”(2008年)
Conficker.C病毒原来要在2009年3月进行大量传播,然后在4月1日实施全球性攻击,引起全球性灾难。

不过,这种病毒实际上没有造成什么破坏。

(14).“木马下载器”(2009年)
本年度的新病毒,中毒后会产生1000~2000不等的木马病毒,导致系统崩溃,短短3天变成360安全卫士首杀榜前3名(现在位居榜首)
(15).“鬼影病毒”(2010年)
该病毒成功运行后,在进程中、系统启动加载项里找不到任何异常,同时即使格式化重装系统,也无法将彻底清除该病毒。

犹如“鬼影”一般“阴魂不散”,所以称为“鬼影”病毒。

(16)..“极虎病毒”(2010年)
该病毒类似qvod播放器的图标。

感染极虎之后可能会遭遇的情况:计算机进程中莫名其妙的有ping.exe 和rar.exe进程,并且cpu占用很高,风扇转的很响很频繁(手提电脑),并且这两个进程无法结束。

某些文件会出现usp10.dll、lpk.dll文件,杀毒软件和安全类软件会被自动关闭,如瑞星、360安全卫士等如果没有及时升级到最新版本都有可能被停掉。

破坏杀毒软件,系统文件,感染系统文件,让杀毒软件无从下手。

极虎病毒最大的危害是造成系统文件被篡改,无法使用杀毒软件进行清理,一旦清理,系统将无法打开和正常运行,同时基于计算机和网络的帐户信息可能会被盗,如网络游戏帐户、银行帐户、支付帐户以及重要的电子邮件帐户等。

2.5 恶意代码攻击机制
恶意代码的行为表现各异,破坏程度千差万别,但基本作用机制大体相同,其整个作用过程分为6个部分:
(1)侵入系统。

侵入系统是恶意代码实现其恶意目的的必要条件。

恶意代码入侵的途径很多,如:从互联网下载的程序本身就可能含有恶意代码;接收已经感染恶意代码的电子邮件;从光盘或软盘往系统上安装软件;黑客或者攻击者故意将恶意代码植入系统等。

(2)维持或提升现有特权。

恶意代码的传播与破坏必须盗用用户或者进程的合法权限才能完成。

(3)隐蔽策略。

为了不让系统发现恶意代码已经侵入系统,恶意代码可能会改名、删除源文件或者修改系统的安全策略来隐藏自己。

(4)潜伏。

恶意代码侵入系统后,等待一定的条件,并具有足够的权限时,就发作并进行破坏活动。

(5)破坏。

恶意代码的本质具有破坏性,其目的是造成信息丢失、泄密,破坏系统完整性等。

(6)重复(1)至(5)对新的目标实施攻击过程。

恶意代码的攻击模型如图2-1所示。

图2-3 恶意代码进攻机制
3.恶意代码实例
在我组展示我们所学习的真实恶意代码前,我们认为有必要先了解一下木马病毒的发展,毕竟,在了解一个真实的木马程序之前了解其背景总会有些好处。

第一代木马:伪装型木马
这种木马通过伪装成一个合法性程序诱骗用户上当。

世界上第一个计算机木马是出现在1986年的PC-Write木马。

它伪装成共享软件PC-Write的2.72版本(事实上,编写PC-Write的Quicksoft公司从未发行过2.72版本),一旦用户信以为真运行该木马程序,那么他的下场就是硬盘被格式化。

在我刚刚上大学的时候,曾听说我校一个前辈牛人在W AX机房上用BASIC作了一个登录界面木马程序,当你把你的用户ID,密码输入一个和正常的登录界面一模一样的伪登录界面后后,木马程序一面保存你的ID,和密码,一面提示你密码错误让你重新输入,当你第二次登录时,你已成了木马的牺牲品。

此时的第一代木马还不具备传染特征。

第二代木马:AIDS型木马
继PC-Write之后,1989年出现了AIDS木马。

由于当时很少有人使用电子邮件,所以AIDS的作者就利用现实生活中的邮件进行散播:给其他人寄去一封封含有木马程序软盘的邮件。

之所以叫这个名称是因为软盘中包含有AIDS和HIV疾病的药品,价格,预防措施等相关信息。

软盘中的木马程序在运行后,虽然不会破坏数据,但是他将硬盘加密锁死,然后提示受感染用户花钱消灾。

可以说第二代木马已具备了传播特征(尽管通过传统的邮递方式)。

第三代木马:网络传播性木马
随着Internet的普及,这一代木马兼备伪装和传播两种特征并结合TCP/IP网络技术四处泛滥。

同时他还有新的特征:第一,添加了“后门”功能。

所谓后门就是一种可以为计算机系统秘密开启访问入口的程序。

一旦被安装,这些程序就能够使攻击者绕过安全程序进入系统。

该功能的目的就是收集系统中的重要信息,例如,财务报告、口令及信用卡号。

此外,攻击者还可以利用后门控制系统,使之成为攻击其它计算机的帮凶。

由于后门是隐藏在系统背后运行的,因此很难被检测到。

它们不像病毒和蠕虫那样通过消耗内存而引起注意。

第二,添加了键盘记录功能。

从名称上就可以知道,该功能主要是记录用户所有的键盘内容然后形成键盘记录的日志文件发送给恶意用户。

恶意用户可以从中找到用户名、口令以及信用卡号等用户信息。

这一代木马比较有名的有国外的BO2000(BackOrifice)和国内的冰河木马。

它们有如下共同特点:基于网络的客户端/服务器应用程序。

具有搜集信息、执行系统命令、重新设臵机器、重新定向等功能。

当木马程序攻击得手后,计算机就完全在黑客控制的傀儡主机,黑客成了超级用户,用户的所有计算机操作不但没有任何秘密而言,而且黑客可以远程控制傀儡主机对别的主机发动攻击,这时候背俘获的傀儡主机成了黑客进行进一步攻击的挡箭牌和跳。

相关文档
最新文档