资源描述
计算机病毒及其防治n一、恶意代码概述n二、恶意代码实现关键技术n三、恶意代码防范方法:基于主机的检测方法和基于网络的检测方法一、恶意代码概述 n1 恶意代码概念n2 恶意代码的发展 n3 震荡波1 恶意代码概念n代码是指计算机程序代码,可以被执行完成特定功能。任何食物事物都有正反两面,人类发明的所有工具既可造福也可作孽,这完全取决于使用工具的人。n计算机程序也不例外,软件工程师们编写了大量的有用的软件(操作系统,应用系统和数据库系统等)的同时,黑客们在编写编写扰乱社会和他人的计算机程序,这些代码统称为恶意代码(Malicious Codes)。恶意代码的相关定义 恶意代码类型定义特点计算机病毒指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。潜伏、传染和破坏计算机蠕虫指通过计算机网络自我复制,消耗系统资源和网络资源的程序扫描、攻击和扩散特洛伊木马指一种与远程计算机建立连接,使远程计算机能够通过网络控制本地计算机的程序。欺骗、隐蔽和信息窃取逻辑炸弹指一段嵌入计算机系统程序的,通过特殊的数据或时间作为条件触发,试图完成一定破坏功能的程序。潜伏和破坏病菌指不依赖于系统软件,能够自我复制和传播,以消耗系统资源为目的的程序。传染和拒绝服务用户级RootKit指通过替代或者修改被系统管理员或普通用户执行的程序进入系统,从而实现隐藏和创建后门的程序。隐蔽,潜伏核心级RootKit指嵌入操作系统内核进行隐藏和创建后门的程序隐蔽,潜伏2 恶意代码的发展 DOS环境下的病毒演示n火炬病毒n救护车病毒nRescuenSuicide火炬病毒n该病毒发作时,在屏幕显示五把燃烧的火炬。同时,该病毒用内存的随机数从硬盘的物理第一扇区开始覆盖,造成硬盘中的数据丢失。Rescue病毒n病毒发作时,显示一些图形和文字。Suicide病毒n该病毒发作时,在屏幕上显示一幅图形,告诉你的机器已经被该病毒感染。救护车病毒n该病毒发作时,从屏幕左下角有一辆救护车跑过。宏病毒演示nDMV病毒nAliance病毒nLaroux病毒nConcept病毒DMV病毒n该病毒据说是第一个宏病毒,属于实验性的,无破坏性。Aliance病毒n该病毒发作时,显示一个对话框。Laroux病毒n该病毒感染Windows Excel文档,图中显示的是病毒的宏名。Concept病毒n该病毒感染Win Word后,将在屏幕上弹出一个对话框。DOSDOS时代的时代的AIDSAIDS病毒病毒Windows环境下的病毒演示nCIHn女鬼n白雪公主病毒n等等Windows95/98时代大名鼎鼎的时代大名鼎鼎的CIH病毒病毒CIH作者陈盈豪作者陈盈豪骇人听闻的女鬼病毒骇人听闻的女鬼病毒恐怖的图片和音乐Windows NTWindows NT时代的白雪公主病毒时代的白雪公主病毒巨大的黑白螺旋占据了屏幕位置,使计算机使用者无法进行任何操作!千年老妖病毒千年老妖病毒使计算机反复的关机,每60秒一次木马病毒和黑客程序的远程监控木马病毒和黑客程序的远程监控席卷全球的席卷全球的NIMDA病毒病毒NIMDA病毒的4种传播方式造成严重危害的细密病毒造成严重危害的细密病毒Sircam“震荡波”(Worm.Sasser)其他病毒 Active X病毒 JAVA病毒HTML病毒手机病毒掌上型移动设备病毒病毒与黑客程序结合的有害程序QQ病毒、熊猫烧香病毒、灰鸽子 U盘病毒n病毒在U盘中放置一个程序,改名“RavMonE.exe”,这很容易让人以为是瑞星的程序,其实是病毒。混合型、自动的攻击混合型、自动的攻击混合型、自动的攻击混合型、自动的攻击 WorkstationVia EmailFile ServerWorkstationMail ServerInternet混合型攻击:蠕虫Web ServerVia Web PageWorkstationWeb ServerMail Gateway防病毒防病毒防火墙防火墙入侵检测入侵检测风险管理风险管理攻击的发展趋势攻击的发展趋势3 震荡波 一幢红砖砌的两层楼,一座偏僻的小村子,掩映在德国北部平原无边无际的森林和玉米田里。时间:20042004年年4 4月月2929日日地点:德国北部罗滕堡镇沃芬森沃芬森小村(Waffensen),人口仅920。(1)时间,地点(2)人 物 斯万-贾斯查因(Sven Jaschan),4月29日这一天是他18岁的生日。母亲叫维洛妮卡维洛妮卡,开了一个门面不算大的以电脑维护修理为主的电脑服务部。几天前,为了庆祝他的生日,他在网上下载了一些代码。修改之后今天将它放到了Internet上面。(3)传 播 从5月1日这些代码开始在互联网上以一种“神不知鬼不觉”的特殊方式传遍全球。“中招”后,电脑开始反复自动关机、重启,网络资源基本上被程序消耗,运行极其缓慢。(4)危 害这就是全球著名的“震荡波”(Worm.Sasser)蠕虫病毒。u自“震荡波震荡波”5月1日开始传播以来,全球已有约1800万台电脑报告感染了这一病毒。u5月3日,“震荡波”病毒出现第一个发作高峰,当天先后出现了B、C、D三个变种,全国已有数以十万计的电脑感染了这一病毒。u微软悬赏微软悬赏25万美元万美元找原凶找原凶!u“五一”长假后的第一天,“震荡波”病毒的第二个高峰果然汹涌而来。仅8日上午9时到10时的短短一个小时内,瑞星公司就接到用户的求助电话2815个,且30为企业局域网用户,其中不乏大型企业局域网、机场、政府部门、银行等重要单位。9日,“震荡波”病毒疫情依然没有得到缓解。u五月份的第一个星期(也就是“震荡波”迅速传播的时候),微软公司德国总部德国总部的热线电话就从每周400个猛增到35万个(5)游戏结束开始时,报道有俄罗斯人编写了这种病毒!5月7日,斯万-贾斯查因的同学为了25万元,将其告发。并被警察逮捕。为了清除和对付“我的末日”(MyDoom)和“贝果”(Bagle)等电脑病毒。谁知,在编写病毒程序的过程中,他设计出一种名为“网络天空A”(Net-sky)病毒变体。在朋友的鼓动下,他对“网络天空A”进行了改动,最后形成了现在的“震荡波”病毒程序。(6)病毒产生原因-漏洞 病毒是通过微软的最新高危漏洞-LSASS 漏洞漏洞(微软MS04-011 公告)进行传播的,危害性极大,目前 WINDOWS 2000/XP/Server 2003 等操作系统的用户都存在该漏洞,这些操作系统的用户只要一上网,就有可能受到该病毒的攻击。如果用户的电脑中出现下列现象之一,则表明已经中毒。(7)病毒表现的特征出现系统错误对话框出现系统错误对话框 被攻击的用户,如果病毒攻击失败,则用户的电脑会出现 LSA Shell 服务异常框,接着出现一分钟后重启计算机的“系统关系统关机机”框框”。(7)病毒表现的特征 系统日志中出现相应记录系统日志中出现相应记录 如果用户无法确定自己的电脑是否出现过上述的异常框或系统重启提示,还可以通过查看系统日志的办法确定是否中毒。方法是,运行事件查看器程序,查看其中系统日志,如果出现如图所示的日志记录,则证明已经中毒.系统资源被大量占用系统资源被大量占用 病毒如果攻击成功,则会占用大量系统资源,使CPU占用率达到100%,出现电脑运行异常缓慢的现象。(7)病毒表现的特征 内存中出现名为内存中出现名为avserve的进程的进程 病毒如果攻击成功,会在内存中产生名为 avserve.exe 的进程,用户可以用Ctrl+Shift+Esc 的方式调用“任务管理器”,然后查看是内存里是否存在上述病毒进程。(7)病毒表现的特征系统目录中出现名为系统目录中出现名为avserve.exe的病毒文件的病毒文件 病毒如果攻击成功,会在系统安装目录(默认为C:WINNT)下产生一个名为avserve.exe的病毒文件。其它文件名:Explorer.exe Exp1orer.exe Expl0rer.exe(7)病毒表现的特征(8)病毒的运行过程 该病毒利用了Windows LSASS的一个已知漏洞(MS04-011),这是一个缓冲溢出漏洞,后果是使远程攻击者完全控制受感染系统。u感染系统:感染系统:WinNT/Win2000/WinXP/Win2003病毒长度:病毒长度:15872字节 u1 1、生成病毒文件、生成病毒文件u病毒运行后,在%Windows目录下生成自身的拷贝,名称为avserve.exe,文件长度为15872字节,和在%System%目录下生成其它病毒文件。例如:uc:win.log:IP地址列表 uc:WINNTavserve.exe:蠕虫病毒文件本身 uc:WINNTsystem3211113_up.exe:可能生成的蠕虫文件本身 uc:WINNTsystem3216843_up.exe:可能生成的蠕虫文件本身 2 2、修改注册表项、修改注册表项 病毒创建注册表项,使得自身能够在系统启动时自动运行,在 HKEY_LOCAL_MACHINESoftwareMicrosoftWindows CurrentVersionRun下创建avserve=”c:WINNTavserve.exe”。3 3、通过系统漏洞主动进行传播、通过系统漏洞主动进行传播 病毒主动进行扫描,当发现网络中存在微软SSL安全漏洞时,进行攻击,然后在受攻击的系统中生成名为cmd.ftp的ftp脚本程序,通过TCP端口5554下载蠕虫病毒。4 4、危害性、危害性 受感染的系统可能死机或者造成重新启动,同时由于病毒扫描A 类或B类子网地址,目标端口是TCP 445会对网络性能有一定影响,尤其局域网可能造成瘫痪。并可以在TCP 9996端口创建远程Shell。该病毒在传播和破坏形式上与“冲击波”病毒相类似。(8)病毒的运行过程(9)清除该病毒的相关建议清除该病毒的相关建议1、安全模式启动、安全模式启动重新启动系统同时按下按F8键,进入系统安全模式 2、注册表的恢复、注册表的恢复点击开始-运行,输入regedit,运行注册表编辑器,依次双击左侧的HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun,并删除面板右侧的avserve=c:winntavserve.exe“3、删除病毒释放的文件、删除病毒释放的文件点击开始-查找-文件和文件夹,查找文件avserve.exe和*_up.exe,并将找到的文件删除。4 4、安装系统补丁程序、安装系统补丁程序 到以下微软网站下载安装补丁程序:http:/ Update升级系统。5、重新配置防火墙、重新配置防火墙 重新配置边界防火墙或个人防火墙关闭TCP端口5554和9996;(9)清除该病毒的相关建议清除该病毒的相关建议6 6、可用一些补丁和杀毒软件,如瑞星:、可用一些补丁和杀毒软件,如瑞星:(9)清除该病毒的相关建议清除该病毒的相关建议 Microsoft早在4月初就已经给出了 MS04-011,012,013等严重漏洞,并且提醒用户打补丁。(9)清除该病毒的相关建议清除该病毒的相关建议计算机病毒及其防治n一、恶意代码概述n二、恶意代码实现关键技术n三、恶意代码防范方法:基于主机的检测方法和基于网络的检测方法二 恶意代码实现关键技术 n一段好的恶意代码,首先必须具有良好隐蔽性,生存性,不能轻松被软件或者用户察觉。然后,必须具有良好的攻击性。1 恶意代码生存技术 2 恶意代码攻击技术 3 恶意代码的隐蔽技术 恶意代码攻击机制 n侵入系统。侵入系统是恶意代码实现其恶意目的的必要条件。恶意代码入侵的途径很多,如:从互联网下载的程序本身就可能含有恶意代码;接收已经感染恶意代码的电子邮件;黑客或者攻击者故意将恶意代码植入系统等。n维持或提升现有特权。恶意代码的传播与破坏必须盗用用户或者进程的合法权限才能完成。n隐蔽策略。为了不让系统发现恶意代码已经侵入系统,恶意代码可能会改名、删除源文件或者修改系统的安全策略来隐藏自己。n潜伏。恶意代码侵入系统后,等待一定的条件,并具有足够的权限时,就发作并进行破坏活动。n破坏。恶意代码的本质具有破坏性,其目的是造成信息丢失、泄密,破坏系统完整性等。n重复至对新的目标实施攻击过程。恶意代码攻击模型 1 恶意代码生存技术 n生存技术主要包括4方面:n反跟踪技术n加密技术n模糊变换技术n自动生产技术。n反跟踪技术可以减少被发现的可能性,加密技术是恶意代码自身保护的重要机制。(1)反跟踪技术 n恶意代码采用反跟踪技术可以提高自身的伪装能力和防破译能力,增加检测与清除恶意代码的难度。n目前常用的反跟踪技术有两类:反动态跟踪技术和反静态分析技术。反动态跟踪技术n反动态跟踪技术主要包括4方面内容:n(1)禁止跟踪中断。针对调试分析工具运行系统的单步中断和断点中断服务程序,恶意代码通过修改中断服务程序的入口地址实现其反跟踪目的。n(2)封锁键盘输入和屏幕显示,破坏各种跟踪调试工具运行的必需环境;n(3)检测跟踪法。检测跟踪调试时和正常执行时的运行环境、中断入口和时间的差异,根据这些差异采取一定的措施,实现其反跟踪目的。例如,通过操作系统的API 函数试图打开调试器的驱动程序句柄,检测调试器是否激活确定代码是否继续运行。n(4)其它反跟踪技术。如指令流队列法和逆指令流法等。反静态分析技术n反静态分析技术主要包括两方面内容:n(1)对程序代码分块加密执行。为了防止程序代码通过反汇编进行静态分析,程序代码以分块的密文形式装入内存,在执行时由解密程序进行译码,某一段代码执行完毕后立即清除,保证任何时刻分析者不可能从内存中得到完整的执行代码;n(2)伪指令法(Junk Code)。伪指令法系指在指令流中插入“废指令”,使静态反汇编无法得到全部正常的指令,不能有效地进行静态分析。例如,“Apparition”是一种基于编译器变形的Win32 平台的病毒,编译器每次编译出新的病毒体可执行代码时都要插入大量的伪指令,既达到了变形的效果,也实现了反跟踪的目的。此外,伪指令技术还广泛应用于宏病毒与脚本恶意代码之中。(2)加密技术n加密技术是恶意代码自我保护的一种手段,加密技术和反跟踪技术的配合使用,使得分析者无法正常调试和阅读恶意代码,不知道恶意代码的工作原理,也无法抽取特征串。从加密的内容上划分,加密手段分为信息加密、数据加密和程序代码加密三种。n大多数恶意代码对程序体自身加密,另有少数恶意代码对被感染的文件加密。(3)模糊变换技术 n利用模糊变换技术,恶意代码每感染一个客体对象时,潜入宿主程序的代码互不相同。同一种恶意代码具有多个不同样本,几乎没有稳定代码,采用基于特征的检测工具一般不能识别它们。随着这类恶意代码的增多,不但使得病毒检测和防御软件的编写变得更加困难,而且还会增加反病毒软件的误报率。目前,模糊变换技术主要分为5种:n(1)指令替换技术。n(2)指令压缩技术。n(3)指令扩展技术。n(4)伪指令技术。n(5)重编译技术。(4)自动生产技术n恶意代码自动生产技术是针对人工分析技术的。“计算机病毒生成器”,使对计算机病毒一无所知的用户,也能组合出算法不同、功能各异的计算机病毒。“多态性发生器”可将普通病毒编译成复杂多变的多态性病毒。n多态变换引擎可以使程序代码本身发生变化,并保持原有功能。保加利亚的“Dark Avenger”是较为著名的一个例子,这个变换引擎每产生一个恶意代码,其程序体都会发生变化,反恶意代码软件如果采用基于特征的扫描技术,根本无法检测和清除这种恶意代码。2 恶意代码攻击技术 n常见的攻击技术包括:n进程注入技术n三线程技术n端口复用技术n超级管理技术n端口反向连接技术n缓冲区溢出攻击技术(1).进程注入技术n当前操作系统中都有系统服务和网络服务,它们都在系统启动时自动加载。进程注入技术就是将这些与服务相关的可执行代码作为载体,恶意代码程序将自身嵌入到这些可执行代码之中,实现自身隐藏和启动的目的。n这种形式的恶意代码只须安装一次,以后就会被自动加载到可执行文件的进程中,并且会被多个服务加载。只有系统关闭时,服务才会结束,所以恶意代码程序在系统运行时始终保持激活状态。(2).三线程技术n在Windows 操作系统中引入了线程的概念,一个进程可以同时拥有多个并发线程。三线程技术就是指一个恶意代码进程同时开启了三个线程,其中一个为主线程,负责远程控制的工作。另外两个辅助线程是监视线程和守护线程,监视线程负责检查恶意代码程序是否被删除或被停止自启动。n守护线程注入其它可执行文件内,与恶意代码进程同步,一旦进程被停止,它就会重新启动该进程,并向主线程提供必要的数据,这样就能保证恶意代码运行的可持续性。(3).端口复用技术n端口复用技术,系指重复利用系统网络打开的端口(如25、80、135和139等常用端口)传送数据,这样既可以欺骗防火墙,又可以少开新端口。端口复用是在保证端口默认服务正常工作的条件下复用,具有很强的欺骗性。(4).超级管理技术n一些恶意代码还具有攻击反恶意代码软件的能力。为了对抗反恶意代码软件,恶意代码采用超级管理技术对反恶意代码软件系统进行拒绝服务攻击,使反恶意代码软件无法正常运行。(5).端口反向连接技术n防火墙对于外部网络进入内部网络的数据流有严格的访问控制策略,但对于从内网到外网的数据却疏于防范。端口反向连接技术,系指令恶意代码攻击的服务端(被控制端)主动连接客户端(控制端)。(6).缓冲区溢出攻击技术n缓冲区溢出漏洞攻击占远程网络攻击的80,这种攻击可以使一个匿名的Internet 用户有机会获得一台主机的部分或全部的控制权,代表了一类严重的安全威胁。恶意代码利用系统和网络服务的安全漏洞植入并且执行攻击代码,攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而获得被攻击主机的控制权。n缓冲区溢出攻击成为恶意代码从被动式传播转为主动式传播的主要途径。例如,“红色代码”利用IIS Server 上Indexing Service 的缓冲区溢出漏洞完成攻击、传播和破坏等恶意目的。3 恶意代码的隐蔽技术 n隐藏通常包括本地隐藏和通信隐藏n其中本地隐藏主要有文件隐藏、进程隐藏、网络连接隐藏、内核模块隐藏、编译器隐藏等n网络隐藏主要包括通信内容隐藏和传输通道隐藏。计算机病毒及其防治n一、恶意代码概述n二、恶意代码实现关键技术n三、恶意代码防范方法:基于主机的检测方法和基于网络的检测方法三 恶意代码防范方法 n目前,恶意代码防范方法主要分为两方面:1 基于主机的恶意代码防范方法2 基于网络的恶意代码防范方法。1 基于主机的恶意代码防范方法 n主要包括:n基于特征的扫描技术n校验和n沙箱技术(1)基于特征的扫描技术n主要源于模式匹配的思想。扫描程序工作之前,必须先建立恶意代码的特征文件,根据特征文件中的特征串,在扫描文件中进行匹配查找。用户通过更新特征文件更新扫描软件,查找最新的恶意代码版本。这种技术广泛地应用于目前的反病毒引擎中 (2)校验和 n校验和是一种保护信息资源完整性的控制技术,例如Hash 值和循环冗余码等。只要文件内部有一个比特发生了变化,校验和值就会改变。未被恶意代码感染的系统首先会生成检测数据,然后周期性地使用校验和法检测文件的改变情况。(3)沙箱技术n沙箱技术指根据系统中每一个可执行程序的访问资源,以及系统赋予的权限建立应用程序的“沙箱”,限制恶意代码的运行。每个应用程序都运行在自己的且受保护的“沙箱”之中,不能影响其它程序的运行。同样,这些程序的运行也不能影响操作系统的正常运行,操作系统与驱动程序也存活在自己的“沙箱”之中。美国加州大学Berkeley 实验室开发了基于Solaris 操作系统的沙箱系统,应用程序经过系统底层调用解释执行,系统自动判断应用程序调用的底层函数是否符合系统的安全要求,并决定是否执行。2 基于网络的恶意代码防范方法 n由于恶意代码具有相当的复杂性和行为不确定性,恶意代码的防范需要多种技术综合应用,包括恶意代码监测与预警、恶意代码传播抑制、恶意代码漏洞自动修复、恶意代码阻断等。常见的恶意代码检测防御包括:n基于GrIDS的恶意代码检测n基于PLD硬件的检测防御n基于HoneyPot的检测防御n基于CCDC的检测防御。
展开阅读全文