1恶意代码分析与防护2网络与信息安全从业人员培训恶意代码的基本概念恶意代码,又称MaliciousCode,或MalCode,MalWare。是黑客们编写的扰乱社会和他人,用来实现某些恶意功能的代码或程序。3网络与信息安全从业人员培训主要内容6.1计算机恶意代码概述6.2计算机恶意代码的主要类型6.3计算机恶意代码分析6.4常见恶意代码感染迹象与处理6.5计算机恶意代码防护6.6计算机恶意代码攻防应用实例6.7恶意代码的防范4网络与信息安全从业人员培训恶意代码的发展史恶意代码经过20多年的发展,破坏性、种类和感染性都得到增强。随着计算机的网络化程度逐步提高,网络传播的恶意代码对人们日常生活影响越来越大。1988年11月泛滥的Morris蠕虫,顷刻之间使得6000多台计算机(占当时Internet上计算机总数的10%多)瘫痪,造成严重的后果,并因此引起世界范围内关注。1998年CIH病毒造成数十万台计算机受到破坏。1999年Happy99、Melissa病毒大爆发,Melissa病毒通过E-mail附件快速传播而使E-mail服务器和网络负载过重,它还将敏感的文档在用户不知情的情况下按地址簿中的地址发出。2000年5月爆发的“爱虫”病毒及其以后出现的50多个变种病毒,是近年来让计算机信息界付出极大代价的病毒,仅一年时间共感染了4000多万台计算机,造成大约87亿美元的经济损失。5网络与信息安全从业人员培训恶意代码的发展史2001年,国信安办与公安部共同主办了我国首次计算机病毒疫情网上调查工作。结果感染过计算机病毒的用户高达73%,其中,感染三次以上的用户又占59%多,网络安全存在大量隐患。2001年8月,“红色代码”蠕虫利用微软Web服务器IIS4.0或5.0中Index服务的安全漏洞,攻破目标机器,并通过自动扫描方式传播蠕虫,在互联网上大规模泛滥。2003年,SLammer蠕虫在10分钟内导致互联网90%脆弱主机受到感染。同年8月,“冲击波”蠕虫爆发,8天内导致全球电脑用户损失高达20亿美元之多。2004年到2006年,振荡波蠕虫、爱情后门、波特后门等恶意代码利用电子邮件和系统漏洞对网络主机进行疯狂传播,给国家和社会造成了巨大的经济损失。6网络与信息安全从业人员培训恶意代码的主要特征恶意代码从80年代发展至今体现出来的3个主要特征:–恶意代码日趋复杂和完善:从非常简单的,感染游戏的AppleII病毒发展到复杂的操作系统内核病毒和今天主动式传播和破坏性极强的蠕虫。恶意代码在快速传播机制和生存性技术研究取得了很大的成功。–恶意代码编制方法及发布速度更快:恶意代码刚出现时发展较慢,但是随着网络飞速发展,Internet成为恶意代码发布并快速蔓延的平台。特别是过去5年,不断涌现的恶意代码,证实了这一点。7网络与信息安全从业人员培训恶意代码的主要特征(续)恶意代码从80年代发展至今体现出来的3个主要特征:–从病毒到电子邮件蠕虫,再到利用系统漏洞主动攻击的恶意代码:恶意代码的早期,大多数攻击行为是由病毒和受感染的可执行文件引起的。然而,在过去5年,利用系统和网络的脆弱性进行传播和感染开创了恶意代码的新纪元。8网络与信息安全从业人员培训恶意代码的定义90年代末,恶意代码的定义随着计算机网络技术的发展逐渐丰富,Grimes将恶意代码定义为,经过存储介质和网络进行传播,从一台计算机系统到另外一台计算机系统,未经授权认证破坏计算机系统完整性的程序或代码。它包括计算机病毒(ComputerVirus)、蠕虫(Worms)、特洛伊木马(TrojanHorse)、逻辑炸弹(LogicBombs)、病菌(Bacteria)、用户级RootKit、核心级RootKit、脚本恶意代码(MaliciousScripts)和恶意ActiveX控件等。由此定义,恶意代码两个显著的特点是:非授权性和破坏性。9网络与信息安全从业人员培训计算机病毒的命名DOS病毒命名:1.按病毒发作症状命名:小球熊猫烧香花屏病毒步行者病毒武汉男孩2.按病毒发作的时间命名:黑色星期五;3.按病毒自身包含的标志命名:CIH(不是HIV)按病毒发现地命名:如“黑色星期五”又称Jurusalem(耶路撒冷)病毒10网络与信息安全从业人员培训计算机病毒的命名4.按病毒发现地命名:Jurusalem(耶路撒冷)病毒,Vienna(维也纳)病毒5.按病毒的字节长度命名:以病毒传染文件时文件的增加长度或病毒自身代码的长度来命名,如1575、2153、1701、1704、1514、409611网络与信息安全从业人员培训计算机病毒的命名反病毒公司为了方便管理,会按照病毒的特性,将病毒进行分类命名。虽然每个反病毒公司的命名规则都不太一样,但大体都是采用一个统一的命名方法来命名的。一般格式为:病毒前缀.病毒名.病毒后缀12网络与信息安全从业人员培训计算机病毒的命名病毒前缀是指一个病毒的种类,他是用来区别病毒的种族分类的。不同的种类的病毒,其前缀也是不同的。比如我们常见的木马病毒的前缀Trojan,蠕虫病毒的前缀是Worm等等还有其他的。病毒名是指一个病毒的家族特征,是用来区别和标识病毒家族的,如以前著名的CIH病毒的家族名都是统一的“CIH”,振荡波蠕虫病毒的家族名是“Sasser”。13网络与信息安全从业人员培训计算机病毒的命名病毒后缀是指一个病毒的变种特征,是用来区别具体某个家族病毒的某个变种的。一般都采用英文中的26个字母来表示,如Worm.Sasser.b就是指振荡波蠕虫病毒的变种B,因此一般称为“振荡波B变种”或者“振荡波变种B”。如果该病毒变种非常多(也表明该病毒生命力顽强),可以采用数字与字母混合表示变种标识。14网络与信息安全从业人员培训计算机病毒的命名1、系统病毒系统病毒的前缀为:Win32、PE、Win95、W32、W95等。这些病毒的一般公有的特性是可以感染windows操作系统的*.exe和*.dll文件,并通过这些文件进行传播。如CIH病毒。2、蠕虫病毒蠕虫病毒的前缀是:Worm。这种病毒的公有特性是通过网络或者系统漏洞进行传播,很大部分的蠕虫病毒都有向外发送带毒邮件,阻塞网络的特性。比如冲击波(阻塞网络),小邮差(发带毒邮件)等。15网络与信息安全从业人员培训计算机病毒的命名3、木马病毒、黑客病毒木马病毒其前缀是:Trojan,黑客病毒前缀名一般为Hack。Trojan.QQ3344,Hack.Nether.Client4、脚本病毒:红色代码(Script.Redlof,欢乐时光(VBS.Happytime)、十四日(Js.Fortnight.c)16网络与信息安全从业人员培训计算机病毒的命名5、宏病毒:宏病毒的前缀是:Macro,第二前缀是:Word、Word97、Excel、Excel97,Macro.Melissa6、后门病毒后门病毒的前缀是:Backdoor7、病毒种植程序病毒这类病毒的公有特性是运行时会从体内释放出一个或几个新的病毒到系统目录下,由释放出来的新病毒产生破坏。17网络与信息安全从业人员培训计算机病毒的命名8.破坏性程序病毒破坏性程序病毒的前缀是:Harm9.玩笑病毒玩笑病毒的前缀是:Joke。10.捆绑机病毒捆绑机病毒的前缀是:Binder18网络与信息安全从业人员培训6.2计算机恶意代码的主要类型按传播方式,恶意代码可以分成五类:病毒、木马、蠕虫、间谍软件和移动代码。19网络与信息安全从业人员培训6.2计算机恶意代码的主要类型(1)病毒病毒一般都具有自我复制的功能,同时,它们还可以把自己的副本分发到其他文件、程序或电脑中去。病毒一般镶嵌在主机的程序中,当被感染文件执行操作的时候(例如:打开一个文件,运行一个程序,点击邮件的附件等),病毒就会自我繁殖。由于设计者的目的不同,病毒也拥有不同的功能,一些病毒只是用于恶作剧,而另一些则是以破坏为目的,还有一些病毒表面上看是恶作剧病毒,但实际上隐含破坏功能。20网络与信息安全从业人员培训(2)特洛伊木马特洛伊木马从表面上看没有什么,但是实际上却隐含着恶意意图。一类木马程序会通过覆盖系统中已经存在的文件的方式存在于系统之中,同时它可以携带恶意代码,还有一类木马会以一个软件的身份出现(例如:一个可供下载的游戏),但它实际上是一个窃取密码的工具。这种病毒通常不容易被发现,因为它一般是以一个正常的应用的身份在系统中运行的。特洛伊木马可以分为以下三个模式:●通常潜伏在正常的程序应用中,附带执行独立的恶意操作;●通常潜伏在正常的程序应用中,但是会修改正常的应用进行恶意操作;●完全覆盖正常的程序应用,执行恶意操作。21网络与信息安全从业人员培训完整的木马程序一般由两个部份组成:–一个是服务器程序–一个是控制器程序“中了木马”就是指计算机被安装了木马的服务器程序,而拥有控制器程序的人就可以通过网络远程控制该计算机。–监听端口–替代系统功能22网络与信息安全从业人员培训(3)蠕虫是一种可以自我复制的完全独立的程序,它可以通过信息系统或计算机网络进行自身传播。蠕虫的自我复制不象其他的病毒,它可以自动创建与它的功能完全相同的副本,并在没人干涉的情况下自动运行。蠕虫是通过系统存在的漏洞和设置的不安全性(例如:设置共享)来进行入侵的。它的自身特性可以使它以及快的速度传输(在几秒中内从地球的一端传送到另一端)。其中比较典型的有Blaster和SQLSlammer。SQLSlammer(2003年1月)该病毒利用SQLSERVER2000的解析端口1434的缓冲区溢出漏洞对其服务进行攻击,全球超过50万台服务器被攻击。23网络与信息安全从业人员培训(4)间谍软件“间谍软件”其实是一个灰色区域,所以并没有一个明确的定义。然而,正如同名字所暗示的一样,它通常被泛泛的定义为从计算机上搜集信息,并在未得到该计算机用户许可(即用户不知情的情况下)时便将信息传递到第三方的软件,包括监视击键,搜集机密信息(密码、信用卡号、PIN码等),获取电子邮件地址,跟踪浏览习惯等。间谍软件还有一个副产品,在其影响下这些行为不可避免的影响网络性能,减慢系统速度,进而影响整个商业进程。通常这些信息会被传给广告商或其他相关人员。24网络与信息安全从业人员培训(5)移动代码移动代码是能够从主机传输到客户端计算机上并执行的代码,它通常是作为病毒,蠕虫,或是特洛伊木马的一部分被传送到客户计算机上的。另外,移动代码可以利用系统的漏洞进行入侵,例如非法的数据访问和盗取root帐号。通常用于编写移动代码的工具包括Javaapplets、ActiveX、JavaScript和VBScript。移动代码另外两个比较常见的名称是“网页木马”或“网页恶意代码”。25网络与信息安全从业人员培训随着恶意代码的不断进化,实际中的许多恶意代码同时具有多种特征,这样可以具有更大的威胁性。最典型的是蠕虫病毒,它是蠕虫和病毒的混合体,同时具有蠕虫和病毒的特征。普通病毒蠕虫存在形式寄存文件独立程序传染机制宿主程序运行主动攻击传染目标本地文件网络计算机26网络与信息安全从业人员培训6.3计算机恶意代码分析如何发现系统中有恶意代码呢?虽然有许多反病毒工具可以报警,但对于一些新出现的恶意代码,反病毒软件也可能暂时无法识别,但我们可以通过一些事先的征兆加以注意。(1)平时运行正常的计算机突然经常性无缘无故地死机(2)操作系统无法正常启动(3)运行速度明显变慢(4)正常运行的软件经常发生内存不足问题(5)无意中要求对U盘进行写操作(6)以往正常运行的应用程序经常发生死机或者非法错误(7)系统文件的时间、日期、大小发生变化(8)硬盘读写时间明显增加(频繁读写硬盘)(9)磁盘空间迅速减少27网络与信息安全从业人员培训恶意代码攻击机制恶意代码的行为表现各异,破坏程度千差万别,但基本作用机制大体相同,其整个作用过程分为6个部分:①侵入系统。侵入系统是恶意代码实现其恶意目的的必要条件。恶意代码入侵的途径很多,如:从互联网下载的程序本