计算机病毒机理分析_第1页
计算机病毒机理分析_第2页
计算机病毒机理分析_第3页
计算机病毒机理分析_第4页
计算机病毒机理分析_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

第三讲病毒机理分析2本章概要本章内容主要是计算机病毒的基础知识,包括:计算机病毒结构分析计算机病毒传播技术计算机病毒触发机制计算机病毒隐藏机制计算机病毒破坏机制3本章目标

通过本章学习,学员应该了解各种病毒的结构、传播技术、病毒的触发、隐藏、破坏机制等,为深入了解计算机病毒做好准备。计算机病毒结构分析Windows重要文件的结构磁盘引导区结构;COM文件结构;EXE文件结构;PE文件结构;5磁盘的基本概念磁盘:

一种磁介质的外部存储设备,在其盘片的每一面上,以转动轴为轴心、以一定的磁密度为间隔的若干同心圆就被划分成磁道(Track),每个磁道又被划分为若干个扇区(Sector),数据就按扇区存放在硬盘上。6磁盘引导区磁盘引导区:

记录着磁盘的一些最基本的信息,磁盘的第一个扇区被保留为主引导扇区,它位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(MainBootRecord)和分区表DPT(DiskPartitionTable)以及磁盘的有效标志。主引导记录的作用

就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。在总共512字节的主引导扇区里MBR占446个字节(偏移0--偏移1BDH),DPT占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55AA”(偏移1FEH--偏移1FFH)是硬盘有效标志7标准的主引导扇区的结构地址长度(字节)描述HEXDEC00000396-446代码区39436四个

9byte的主分区表入口(选用

IBM的延伸

MBR分区表规划)01B84404选用磁盘标志01BC4442一般为空值:0x000001BE44664四个

16byte的主分区表入口(标准

MBR分区表规划)01FE5102MBR有效标志

(0x550xAA)8分区表DPT(DiskPartitionTable)偏移地址字节数含义分析01BE1分区类型:00表示非活动分区:80表示活动分区;其他为无效分区01BF~13分区的起始地址(面/扇区/磁道)21分区的操作系统的类型3~53该分区的结束地址(面/扇/道)6~94该分区起始逻辑扇区01CA~01CD4该分区占用的总扇区数9被破坏的主引导区记录

“Non-Systemdiskordiskerror,replacediskandpressakeytoreboot”(非系统盘或盘出错)

“ErrorLoadingOperatingSystem”(装入DOS引导记录错误)

“NoROMBasic,SystemHalted”(不能进入ROMBasic,

系统停止响应)

比较严重的情况下,无任何信息10引导病毒感染过程引导扇区11引导记录病毒代码内存引导扇区引导扇区系统启动读写软盘读写硬盘病毒代码病毒提供的引导扇区主引导记录病毒引导病毒在感染硬盘之后硬盘12Sector1Sector2Sector3Sector1Sector2Sector3病毒病毒代码被病毒感染后的硬盘主引导扇区病毒代码主引导扇区MBRMBR几种引导型病毒:“石头”病毒:

把自己放在主引导记录和第一个引导扇区之间,这中间很多扇区是没有被使用的13“大脑”和“乒乓”病毒:

可以分析文件分配表的结构,发现没有被使用的扇区之后,将扇区的标志设置为“坏”,然后将病毒代码放在这些所谓的坏扇区中其它病毒:

将自己放在硬盘的最后一个扇区上(由于现代的硬盘是非常大,最后一个扇区被使用的可能性是非常小的,但是如果在硬盘上同时安装了OS/2操作系统,这些病毒会损坏OS/2操作系统的文件,因为OS/2操作系统会使用这个扇区存放一些系统数据)。现在这种病毒已经比较少。*.COMCOM文件结构COM文件结构就是源代码的机器码的集合COM文件包含程序的一个绝对映象为了运行程序准确的处理器指令和内存中的数据,MS-DOS通过直接把该映象从文件拷贝到内存而加载.COM程序,它不作任何改变。为加载一个.COM程序,MS-DOS首先试图分配内存,因为.COM程序必须位于一个64K的段中,所以.COM文件的大小不能超过65,024(64K减去用于PSP的256字节和用于一个起始堆栈的至少256字节)14exe文件结构*.EXEEXE文件结构:属于一种多段的结构,是DOS最成功和复杂的设计之一。一个文件头一个可重定位程序的映像15.exe文件文件头程序映像文件头结构:包含MS-DOS用于加载程序的信息,例如程序的大小和寄存器的初始值。文件头还指向一个重定位表,该表包含指向程序映像中可重定位段地址的指针链表。*.EXEexe文件头结构16偏移量含义00h~01hMZ,exe文件标记02h~03h文件长度除以512的余数04h~05h文件长度除以512的商06h~07h重定位项的个数08h~09h文件头除以16的商0ah~0bh程序运行所需最小段数0ch~0dh程序运行所需最大段数0eh~0fh堆栈段的段值(SS)10h~11h堆栈段的段值(SP)12h~13h文件校验和14h~15h装入模块入口时的IP值16h~17h装入模块代码相对段值(CS)18h~19h重定位表,开始位置,以位移地址表示1ah~1bh覆盖号(程序驻留为零)1ch重定位表,起点由偏移18h~19h给出,项数由06h~07h标明程序映像包含处理代码和程序的初始数据,紧接在文件头之后。大小以字节为单位,等于exe文件的大小减去文件头的大小也等于exHeaderSize的域的值乘以16MS-DOS通过把该映像直接从文件复制到内存加载exe程序,然后调整定位表中说明的可重定位段地址17文件头程序映像=exHeaderSize域值*16(字节)=exHeaderSize域值(字节)*.EXE定位表是一个重定位指针数组,每个指向程序映像中的可重定位段地址重定位指针由两个16位值组成:偏移量和段值18*.EXEAL加载.exe程序19文件头.exe文件程序映像MS-DOS确定exe标志计算程序映像大小PSP大小exMinAlloc域说明的内存大小++内存大小MS-DOS分析申请内存段地址确定MS-DOS加载重定位表、调整段地址读取并调整可重定向位段地址起始段地址MS-DOS调整被加载程序的代码和数据段256BPSPAHMS-DOS加载com程序时所设置的值SSSPSS起始地址csIPCS映像PE文件结构PE文件

PortableExecutable是一种针对微软WindowsNT、Windows95和Win32s系统,由微软公司设计的可执行的二进制文件(DLLs和执行程序)格式,目标文件和库文件通常也是这种格式20认识PE文件结构查找某个结构信息的方法:通过链表数据在文件中存放的位置比较自由

采用紧凑或固定的位置存放 要求数据结构大小固定,他在文件中的存放位置也相对固定。2122PE文件结构层次图PE文件简单感染方式1.

判断目标文件开始的两个字节是否为“MZ”2.

判断PE文件标记“PE”3.

判断感染标记,如果已被感染过则跳出继续执行被感染程序,否则继续4.

获得Directory(数据目录)的个数,每个数据目录信息占8个字节5.

获得节表起始位置6.

得到目前最后节表的末尾偏移(紧接其后用于写入一个新的病毒节)节表起始位置+节的个数×(每个节表占用的字节数28H)=目前最后节表的末尾偏移7.

根据本身的修改修改节表的信息23系统的启动和加载WindowsXP的启动过程电源开启自检过程

初始化启动过程

引导程序载入过程

检测和配置硬件过程

内核加载过程用户登录过程

即插即用设备的检测过程25Step1:电源开启自检过程进行硬件的初始化检查

例如:检查内存的容量等

验证用于启动操作系统的设备是否正常

例如:检查硬盘是否存在等

从CMOS中读取系统配置信息26在完成了电源启动的自检之后,每个带有固件的硬件设备,如显卡和磁盘控制器,都会根据需要完成内部的自检操作。CMOS在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的RAM芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。CMOS可由主板的电池供电,即使系统掉电,信息也不会丢失。27Step2:初始化启动过程(硬盘引导)系统首先检测打开电源的硬盘若该硬盘是启动盘,BIOS就将主引导记录(MainBootRecord――MBR)中的引导代码载入内存接着,BIOS会将启动过程的运行交给MBR来进行计算机搜索MBR中的分区表,找出活动分区(ActivePartition)计算机将活动分区的第一个扇区中的引导代码载入到内存引导代码检测当前使用的文件系统是否可用引导代码查找ntldr文件,找到之后启动它BIOS将控制权转交给ntldr,由ntldr完成操作系统的启动28Step3:引导程序载入过程在基于X86CPU的系统下,设置CPU的运行使用32位的Flat内存模式启动文件系统读取boot.ini文件根据需要提供启动菜单检测硬件和硬件配置29本过程主要由ntldr文件完成NTLDR全称是是一个隐藏的,只读的系统文件,位置在系统盘的根目录,用来装载操作系统。是winNT/win2000/WinXP的引导文件,当此文件丢失时启动系统会提示“NTLDRismissing...”并要求按任意键重新启动,不能正确进入系统,应该在系统正常的时候给予备份。Step4:检测和配置硬件过程ntldr会启动程序会通过调用系统固件程序收集安装的硬件信息将这些信息传递送回ntldrntldr将这些信息组织成为内部的断气结构形式由ntldr启动并发送信息给ntoskrnl.exe30完成信息的检测之后,WindowsXP会在屏幕上显示那个著名的WindowsXP商标,并显示一个滚动的,告诉用户Windows的启动进程Step4:检测和配置硬件过程--NN会收集如下类型的硬件信息:

1.系统固件信息,例如时间和日期等

2.总线适配器的类型

3.显卡适配器的类型

4.键盘

5.通信端口

6.磁盘

7.软盘

8.输入设备,例如鼠标

9.并口

10.安装在ISA槽中的ISA设备31ISAISA插槽是基于ISA总线(IndustrialStandardArchitecture,工业标准结构总线)的扩展插槽,其颜色一般为黑色,比PCI接口插槽要长些,位于主板的最下端。其工作频率为8MHz左右,为16位插槽,最大传输率16MB/sec,可插接显卡,声卡,网卡以及所谓的多功能接口卡等扩展插卡。其缺点是CPU资源占用太高,数据传输带宽太小,是已经被淘汰的插槽接口。在1988年,康柏、惠普等9个厂商协同把ISA扩展到32-bit,这就是著名的EISA(ExtendedISA,扩展ISA)总线。可惜的是,EISA仍旧由于速度有限,并且成本过高,在还没成为标准总线之前,在20世纪90年代初的时候,就给PCI总线给取代了。32Step5:内核加载过程将内核(ntoskrnl.exe)和硬件抽象层(hal.dll)载入到内存

加载控制集信息

ntldr从注册表中的HKEY_LOCAL-_MACHINE\SYSTEM

位置加载相应的控制集(ControlSet)信息,并确定在启动过程中要加载的设备驱动

加载设备驱动程序和服务

系统会在BIOS的帮助下开始加载设备驱动程序、服务

启动会话管理器内核会启动会话管理器(SessionManager),即smss.exe(1)创建系统环境变量

(2)创建虚拟内存页面文件33Step6:用户登录过程Windows子系统会启动winlogon.exe(服务)

用于提供对Windows用户的登录和注销的支持

一个图形化的识别和认证组件收集用户的帐号和密码,然后传送给LSA以进行认证处理

通过认证,允许用户对系统进行访问34Step7:即插即用设备的检测过程对新设备进行检测和枚举为新设备分配系统资源为新设备安装一个合适版本的驱动程序35WindowsXP启动完成计算机病毒特性计算机病毒与反病毒技术计算机病毒只有当它在计算机内得以运行时,才具有传染性和破坏性等活性反病毒技术就是要提前取得计算机系统的控制权,识别出计算机病毒的代码和行为,阻止其取得系统控制权37病毒特征-传染性病毒的基本特征通过各种渠道从已被感染的计算机扩散到未被感染的计算机,在某些情况下造成被感染的计算机工作失常甚至瘫痪病毒程序通过修改磁盘扇区信息或文件内容并把自身嵌入到其中的方法达到病毒的传染和扩散。被嵌入的程序叫做宿主程序38病毒特性-潜伏性第一表现:病毒程序需用专用检测程序才能检查出来可以躲在磁盘呆上几天,甚至几年时机成熟,四处繁殖、扩散第二表现病毒内部有一触发机制不满足触发条件时,计算机病毒除了传染外不做什么破坏满足触发条件,有的在屏幕上显示信息、图形或特殊标识,有的则执行破坏系统的操作

如格式化磁盘、删除磁盘文件、对数据文件做加密、封锁键盘以及使系统死锁等触发条件时间、日期、文件类型或某些特定数据等39病毒特性-隐藏性病毒未经授权而执行隐藏在正常程序中窃取系统控制权,先于正常程序执行病毒的动作、目的对用户是未知的,是未经用户允许的40病毒特性-破坏性降低计算机系统的工作效率占用系统资源毁掉系统的部分数据破坏全部数据并使之无法恢复病毒交叉感染导致系统崩溃

。。。。。。41病毒传播技术病毒传播渠道电子邮件例如梅丽莎病毒,第一个通过电子邮件传播的病毒网络共享P2P共享软件例如WORM_LIRVA.C病毒可以通过Kazaa点对点文件共享软件传即即时通信软件例如MSN、QQ病毒系统中程序的漏洞缺陷例如震荡波病毒 ……43电子邮件传播方式html格式的信件正文可以嵌入病毒脚本邮件附件更是可以附带各种不同类型的病毒文件特点:利用社会工程学发信人的地址也许是熟识的邮件的内容带有欺骗性、诱惑性利用IE漏洞,在没有打开附件的情况下感染病毒此类病毒的代表有WORM_NETSKY、WORM_BAGLE、WORM_MYDOOM系列等44病毒举例-WORM_MYDOOM.A发送的邮件所使用的地址为从被感染的系统中收集默认的Windows地址簿(WAB)WAB,ADB,TBB,DBX,ASP,PHP,SHT,HTM,TXT等类型的文件使用自身的SMTP引擎发送邮件SMTP服务器名称系从收集到电子邮件地址中提取 例如收集到的邮件地址为user@

WORM_MYDOOM.A从邮件地址中提取出域名的部分,然后加上一些前缀(如mx.,mail.,smtp.,mx1.,mxs.,mail1.,relay.,ns.,gate.等)尝试作为邮件的发送服务器地址SMTP服务器还可以获得的电子邮件地址进行DNS查询的方式45防范措施使用网络邮件防毒网关如趋势科技的IMSS对邮件附件进行过滤在现有的Exchange或是Domino服务器上安装邮件防毒产品如趋势科技的Scanmail在客户端(主要是Outlook)限制访问附件中的特定扩展名的文件46网络共享传播方式通过搜索局域网中所有具有写权限的网络共享将自身进行复制进行传播可自带口令猜测的字典来破解薄弱用户口令47sharingVirus防范措施域安全策略上增加口令强度策略定期对网络中的登录口令进行破解尝试使用共享扫描工具定期扫描开放共享48系统漏洞传播方式是操作系统的一些缺陷利用漏洞执行任意的代码病毒通过对某个存在漏洞的操作系统进行漏洞的利用,达到传播的目的49防范措施WindowsUpdate自动升级定期通过漏洞扫描产品查找存在漏洞的主机及时向内部人员发布安全通知、处置方法50P2P共享软件传播方式生成自身拷贝时使用一些吸引人或是容易被人搜索到的名称,以获得被他人下载的机会例如WORM_MYDOOM.A生成如下的文件名称就很具有欺骗性:nuke2004,office_crack,rootkitXP,strip-girl-2.0bdcom_patchers,activation_crack,icq2004-final,winamp5。51防范措施建议企业使用技术手段,在防火墙上设置禁止P2P软件的使用52即时通信软件传播方式将自身快速地在即时通信软件之间快速传送病毒也会同时发送一些欺骗性的文字,使得接收方确信是发送方发送的文件,从而接收并打开53防范措施建议企业使用技术手段,在防火墙的设置中,对企业内部所使用的即时通信软件的一些端口进行阻挡,以禁止此类即时通信软件的文件传送功能54病毒触发机制触发条件日期触发时间触发键盘触发感染触发启动触发访问磁盘次数触发调用中断功能触发CPU型号/主板型号触发56保证自身启动方式修改系统注册表;修改系统配置文件;添加自身为系统服务;系统启动文件夹;其他方式57通过修改系统注册表自启动HKEY_CLASSES_ROOT管理文件系统HKEY_CURRENT_USER管理系统当前的用户信息HKEY_LOCAL_MACHINE管理当前系统硬件配置HKEY_USERS管理系统的用户信息HKEY_CURRENT_CONFIG管理当前用户的系统配置58系统注册表应用(1)保证自身在系统启动时执行起来[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices][HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run][HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run][HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]59WORM_MYDOOM.A该病毒会生成以下的注册表项目以保证自己的执行:60HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunTaskMon=%System%\taskmon.exeHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunTaskMon=%System%\taskmon.exe生成以下注册表键值:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunConfigLoader="sysldr32.exe"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesConfigLoader="sysldr32.exe"系统注册表应用(2)注册表中还记录了特定类型文件打开时的默认关联方式,某些病毒会通过修改这一关联方式,使得用户在打开某种类型的文件时,病毒程序反而被执行起来[HKEY_CLASSES_ROOT\exefile\shell\open\command]@="%1\"%*[HKEY_CLASSES_ROOT\comfile\shell\open\command]@="%1"%*[HKEY_CLASSES_ROOT\batfile\shell\open\command]@="%1"%*[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command]@="%1"%*[HKEY_CLASSES_ROOT\piffile\shell\open\command]@="%1"%*[HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command]@="%1"%*[HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command]@="%1"%*[HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command]@="%1"%*[HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\Shell\Open\Command]@="%1"%*[HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command]@=“%1”%*这些"%1%*"需要被赋值,如果将其改为

"server.exe%1%*",server.exe将在执行

温馨提示

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

评论

0/150

提交评论