当前位置:文档之家› 网络安全(第六章)

网络安全(第六章)

第六章 恶意代码分析与防治
本章要求
◎ 了解恶意代码的分类及其攻击过程 ◎ 理解和掌握恶意代码实现机理及关键
实现技术 ◎ 了解网络蠕虫的特征及结构 ◎ 了解恶意代码防范方法:基于主机的 检测方法和基于网络的检测方法
章节安排
第一节 恶意代码及其攻击过程 第二节 恶意代码实现关键技术 第三节 网络蠕虫 第四节 恶意代码防范方法
恶意代码的传播技术
(4) 通过邮件传播。原理为包含恶意代码的邮件伪 装成其他恶意代码受害者的感染报警邮件,恶意 代码受害者往往是Outlook地址簿中的用户或者是 缓冲区中WEB页的用户,这样做可以最大可能的 吸引受害者的注意力。 补充: 一般用户对来自陌生人的邮件附件越来 越警惕,附件的使用受到网关过滤程序的限制和 阻断,恶意代码的编写者会设法绕过网关过滤程 序的检查。使用的方法如采用模糊的文件类型, 将公共的执行文件类型压缩成zip文件等。
反静态分析技术
反静态分析技术常用方法如下:
(1)对程序代码分块加密执行。为了防止程序代码通过反汇 编进行静态分析,程序代码以分块的密文形式装入内存, 在执行时由解密程序进行译码,某一段代码执行完毕后立 即清除,保证任何时刻分析者不可能从内存中得到完整的 执行代码;
(2)伪指令法(Junk Code)。伪指令法是指在指令流中插入 “废指令”,使静态反汇编无法得到全部正常的指令,不 能有效地进行静态分析。例如,“Apparition”是一种基于编 译器变形的Win32 平台的病毒,编译器每次编译出新的病 毒体可执行代码时都要插入大量的伪指令,既达到了变形 的效果,也实现了反跟踪的目的。此外,伪指令技术还广 泛应用于宏病毒与脚本恶意代码之中。
恶意代码传播趋势
恶意代码的传播具有下面的趋势:
(1)种类更模糊 恶意代码的传播不单纯依赖软件漏洞或者
社会工程中的某一种,而是它们的混合。比如 蠕虫产生寄生的文件病毒,特洛伊程序,口令 窃取程序,后门程序,进一步模糊了蠕虫、病 毒和特洛伊的区别。
恶意代码传播趋势
(2)混合传播模式
“混合病毒威胁”和“收敛(convergent)威胁” 成为新的病毒术语。“红色代码”利用的是IIS的漏洞, Nimda实际上是1988年出现的Morris 蠕虫的派生品种, 它们的特点都是利用系统漏洞,病毒的模式从引导区 方式发展为多种类病毒蠕虫方式。
(6)Windows操作系统遭受的攻击最多 Windows操作系统是病毒攻击最集中的平台,病毒总
是选择配置不好的网络共享和服务作为进入点。如溢出问 题,包括字符串格式和堆溢出,是病毒入侵的基础。
另外一类缺陷是允许任意或者不适当的执行代码, 随 着scriptlet.typelib 和Eyedog漏洞在聊天室的传播,JS/Kak 利用IE/Outlook的漏洞,导致两个ActiveX控件在信任级别 执行,但是它们仍然在用户不知道的情况下,执行非法代 码。最近的一些漏洞帖子报告说Windows Media Player可 以用来旁路Outlook 2007的安全设置,执行嵌入在HTML 邮件中的JavaScript 和 ActiveX代码。
2.2 恶意代码生存技术
2.2.1 反跟踪技术 2.2.2 加密技术 2.2.3 模糊变换技术 2.2.4 自动生产技术
2.2.3 模糊变换技术
模糊变换技术的原理为恶意代码每感染一个客体对象时,潜入 宿主程序的代码互不相同。因此基于特征的检测工具一般不能 有效识别它们。目前,模糊变换技术主要分为5种:
对于恶意代码来说服务器和客户机的区别 越来越模糊,客户计算机和服务器如果运行同 样的应用程序,也将会同样受到恶意代码的攻 击。比如IIS服务是一个操作系统缺省的服务, 它的服务程序的缺陷是各个机器都共有的,所 以Code Red的影响也就不限于服务器,还会影 响到众多的个人计算机。
恶意代码传播趋势
(2)指令压缩技术。模糊变换器检测恶意代码反汇编后的全部指 令,对可进行压缩的一段指令进行同义压缩。压缩技术要改变 病毒体代码的长度,需要对病毒体内的跳转指令进行重定位。 例如指令MOV REG,12345678 / ADD REG,87654321 变换为 指令MOV REG,99999999;指令MOV REG,12345678 / PUSHREG变换为指令PUSH 12345678等。
恶意代码的传播技术
(2)利用商品软件缺陷。此类著名的恶意代 码有KaK 和BubbleBoy。原理一般为溢出漏 洞或在不适当的环境中执行任意代码。像没 有打补丁的IIS软件就有输入缓冲区溢出方 面的缺陷。
(3)利用Web 服务缺陷。此类著名攻击代码 有Code Red、Nimda等,Linux 和Solaris上 的蠕虫也利用了远程计算机Web服务的缺陷。
④潜伏。恶意代码侵入系统后,等待一定的条件, 并具有足够的权限时,就发作并进行破坏活动。
⑤破坏。实现恶意代码的目的,如:造成信息丢 失、泄密,破坏系统完整性等。
⑥重复①至⑤对新的目标实施攻击过程。恶意代 码的攻击流程如图所示。
恶意代码攻击流程示意图
章节安排
第一节 恶意代码及其攻击过程 第二节 恶意代码实现关键技术 第三节 网络蠕虫 第四节 恶意代码防范方法
扩散
指一种与远程计算机建立连接,使远程计算机能够通 欺骗、隐蔽和
过网络控制本地计算机的程序。
信息窃取
指一段嵌入计算机系统程序的,通过特殊的数据或时 潜伏和破坏 间作为条件触发,试图完成一定破坏功能的程序。
。 指保持对目标主机长久控制的一种策略
易植入,隐蔽
恶意代码的发展
恶意代码攻击过程
恶意代码攻击过程一般分为6个部分: ①侵入系统。恶意代码入侵的途径很多,如:从
第一节 恶意代码及其攻击过程
恶意代码是一种程序,它通过把代码 在不被察觉的情况下镶嵌到另一段程 序中,从而达到破坏被感染电脑数据、 运行具有入侵性或破坏性的程序、破 坏被感染电脑数据的安全性和完整性 的目的。
恶意代码种类
恶意代码种类(按传播方式)
计算机病毒(Virus) 蠕虫(Worm) 木马程序(Trojan Horse) 后门程序(Backdoor) 逻辑炸弹(Logic B2.2.1 反跟踪技术 2.2.2 加密技术 2.2.3 模糊变换技术 2.2.4 自动生产技术
2.2.1 反跟踪技术
目前恶意代码常用的反跟踪技术 有两类:
反动态跟踪技术和反静态分析技术
反动态跟踪技术
反动态跟踪技术常用方法如下: (1)禁止跟踪中断。针对调试分析工具运行系统的单步中断
恶意软件(malware)的制造者可能会将一些有名 的攻击方法与新的漏洞结合起来,制造出下一代的 Code Red, 下一代的 Nimda。对于防病毒软件的制造 者,改变方法去处理新的威胁则需要不少的时间。
恶意代码传播趋势
(3)多平台
多平台攻击开始出现,有些恶意代码 对不兼容的平台都能够有作用。来自 Windows的蠕虫可以利用Apache的漏洞, 而Linux蠕虫会派生exe格式的特洛伊。
恶意代码的传播技术
(5) 对聊天室IRC(Internet Relay Chat)和 即时消息IM(instant messaging)系统进行攻 击。其方法多为欺骗用户下载和执行自动的 Agent软件,让远程系统用作分布式拒绝服 务(DDoS)的攻击平台,或者使用后门程序 和特洛伊木马程序对其进行控制。
(1)指令替换技术。模糊变换引擎(Mutation Engine)对恶意代 码的二进制代码进行反汇编,解码每一条指令,计算出指令长 度,并对指令进行同义变换。例如,将指令XOR REG,REG 变 换为SUB REG,REG;寄存器REG1和寄存器REG2进行互换; JMP指令和CALL指令进行变换等。 “Regswap”就采用了简单的 寄存器互换的变形技术。
模糊变换技术
(5)重编译技术。采用重编译技术的恶意代码 中携带恶意代码的源码,需要自带编译器或者 操作系统提供编译器进行重新编译,这种技术 既实现了变形的目的,也为跨平台的恶意代码 出现打下了基础。尤其是各类Unix/Linux操作 系统,系统默认配置有标准C的编译器。宏病 毒和脚本恶意代码是典型的采用这类技术变形 的恶意代码。造成全球范围传播和破坏的第一 例变形病毒是“Tequtla”,从该病毒的出现到 编制出能够检测该病毒的软件,研究人员花费 了9个月的时间。
模糊变换技术
(3)指令扩展技术。扩展技术把每一条汇编指 令进行同义扩展,所有压缩技术变换的指令都 可以采用扩展技术实施逆变换。扩展技术变换 的空间远比压缩技术大的多,有的指令可以有 几十种甚至上百种的扩展变换。扩展技术同样 要改变恶意代码的长度,需要对恶意代码中跳 转指令进行重定位。
(4)伪指令技术。伪指令技术主要是对恶意代 码程序体中插入无效指令,例如空指令;JMP 指令和指令PUSH REG/MOV REG, 12345678 /POP REG等。
恶意代码传播趋势
(7)恶意代码类型变化
部分恶意代码利用MIME边界和 uuencode头的处理薄弱的缺陷,将恶意代 码伪装成安全数据类型,欺骗客户软件执行 不适当的代码。
第二节 恶意代码实现关键技术
2.1 恶意代码传播技术(补充) 2.2 恶意代码生存技术 2.3 恶意代码攻击技术 2.4 恶意代码隐藏技术
2.2 恶意代码生存技术
2.2.1 反跟踪技术 2.2.2 加密技术 2.2.3 模糊变换技术 2.2.4 自动生产技术
2.2.2 加密技术
加密技术是恶意代码自我保护的一种手段。从加 密的内容上划分,加密手段分为信息加密、数据 加密和程序代码加密三种。
大多数恶意代码对程序体自身加密,另有少数恶 意代码对被感染的文件加密。例如,“Cascade” 是第一例采用加密技术的DOS环境下的恶意代码, 它有稳定的解密器,可以解密内存中加密的程序 体。“Mad ”和“Zombie”是“Cascade”加密技 术的延伸,使恶意代码加密技术走向32位的操 作系统平台。 “中国炸弹”(Chinese bomb)和 “幽灵病毒”也是这一类恶意代码。
相关主题