全套课件-计算机病毒及其防范技术(第2版)_完整.ppt

全套课件-计算机病毒及其防范技术(第2版)_完整.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux可执行文件格式(ELF) Elf 也就是 “Executable and Linking Format.” Elf 起源于Unix,经改进应用于FreeBSD和Linux等现有类Unix操作系统。 微软的PE格式也学习了ELF格式的优点。 建议参考:提前学习本章的补充知识 ELF格式文件病毒感染原理 无关ELF格式的感染方法 覆盖式感染 这种感染最初的思路很简单,就是将病毒体直接拷贝到宿主文件中,从开始部分覆盖宿主文件,从而宿主文件被感染成单纯的病毒体,一般情况下宿主文件会遭到破坏,若要使得在病毒执行后仍然交换控制权给宿主文件,则需要给宿主文件备份,这里的思路并不复杂只是将原宿主文件复制到一个隐藏文件,然后在病毒体执行完之后执行宿主文件,使得进程映像中添加的是原宿主文件的内容。 追加式感染 这种感染最初的思路也很简单,同上面那种方式不同的是将病毒体直接追加到宿主文件中,或者将宿主追加到病毒体之后,并不存在覆盖宿主文件的行为,从而宿主文件被感染成单纯的病毒体和原宿主文件的合体,在病毒文件执行后交换控制权给宿主文件。 感染过程: 查找当前目录下的可执行文件(也可以进行小规模的目录查找) 找到可执行文件test后, 修改病毒体,使病毒执行结束后能够提取宿主文件到一个新文件,然后执行这个新文件进行进程映像替换,即交还控制权给宿主文件; 合并病毒体到test,不覆盖宿主文件,但放在宿主文件内容之前; 执行过程: 病毒体先执行 病毒体执行完后,找到病毒体尾部 提取宿主文件到新文件 执行新文件 利用ELF格式的感染方法 与ELF格式相关的感染方法,需要根据ELF格式来改变ELF格式内容,从而使病毒代码和宿主代码共存并且病毒代码执行结束后能顺利交接控制权给宿主。向ELF文件中插入寄生病毒代码要求宿主文件和病毒体都是完整的,因此插入的病毒代码会造成段的使用大小增加。 文本段数据段之间填充区 段 页号 页内内容 注释 文本段 N TTTTTTTTTTTTTTTTTTTTT T: 文本段代码 P: 填充代码 D: 数据段代码 N+1 TTTTTTTTTTTTTTTTTPPPPP 数据段 N+2 PPPPPPDDDDDDDDDDDDDD N+3 DDDDDDDDDDDDDDDDDDD 利用文本段之后填充 在文本段末尾插入代码有以下几件事需要做: 增加ELF header中的 p_shoff以包含新代码 定位text segment program header 增加 p_filesz算入新代码 增加 p_memsz 算入新代码 对于文本段phdr之后的其他phdr 修正 p_offset 对于那些因插入寄生代码影响偏移的每节的shdr 修正 sh_offset 在文件中物理地插入寄生代码到这个位置 根据ELF规范,p_vaddr和p_offset在Phdr中必须模page size相等。 p_vaddr (mod PAGE_SIZE) = p_offset (mod PAGE_SIZE) 感染后的情况 ELF Header Program header table Segment1(宿主文本段) 寄生代码 Segment2(数据段) Section header table Extra sections 检查正常的宏 End If If MacroName$(i, 0, 0) = FileSaveAs Then bTooMuchTrouble = - 1 但如果FILESAVEAS 宏存在那么传染比较困难. End If Next i If Not bInstalled And Not bTooMuchTrouble Then 加入FileSaveAs 和拷贝到AutoExec and FileSaveAs. 有效代码不检查是否感染. 把代码加密使不可读. iWW6IInstance = Val(GetDocumentVar$(WW6Infector)) sMe$ = FileName$() Macro$ = sMe$ + :PayLoad MacroCopy Macro$, Global:PayLoad, 1 Macro$ = sMe$ + :FileOpen MacroCopy Macro$, Global:FileOpen, 1 Macro$ = sMe$ + :FileSaveAs MacroCopy Macro$, Global:FileSaveAs, 1 Macro$ = sMe$ + :AutoExec MacroCopy Macro$, Global:AutoExec, 1 SetProfileString WW6I, Str$(iWW6IInstance + 1) End If Abort: En

文档评论(0)

pehalf + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7201060146000004

1亿VIP精品文档

相关文档