logo资料库

密码编码学与网络安全 在线部分.pdf

第1页 / 共250页
第2页 / 共250页
第3页 / 共250页
第4页 / 共250页
第5页 / 共250页
第6页 / 共250页
第7页 / 共250页
第8页 / 共250页
资料共250页,剩余部分请下载后查看
在线1
在线2
第六部分 系 统 安 全 第 21章 恶意软件 第 22章 入侵者 第 23章 防火墙
第 21 章摇 恶 意 软 件 21.6摇 有效载荷 - 攻击代理 - 僵尸程序 21.6.1摇 僵尸程序的用途 21.6.2摇 远程控制功能 21.1摇 恶意软件类型 21.2摇 传播 - 感染内容 - 病毒 21.1.1摇 恶意软件的粗略分类 21.1.2摇 攻击工具包 21.1.3摇 攻击源 21.2.1摇 病毒的特性 21.2.2摇 病毒的分类 21.2.3摇 宏病毒和脚本病毒 21.3摇 传播 - 利用漏洞 - 蠕虫 21.3.1摇 目标发现 21.3.2摇 蠕虫传播模型 21.3.3摇 Morris 蠕虫 21.3.4摇 蠕虫技术现状 21.3.5摇 移动代码 21.3.6摇 客户端漏洞和路过式下载 21.7摇 有效载荷 - 信息窃取 - 键盘记录器、 网络钓鱼和间谍软件 21.7.1摇 凭证窃取、 键盘记录器和间谍软件 21.7.2摇 网络钓鱼和身份窃取 21.7.3摇 侦察和间谍活动 21.8摇 有效载荷 - 隐藏 21.8.1摇 后门 21.8.2摇 Rootkit 21.9.1摇 恶意软件防范方法 21.9.2摇 基于主机的扫描器 21.9.3摇 边界扫描方法 21.9.4摇 分布式情报收集方法 21.10摇 分布式拒绝服务攻击 21.10.1摇 分布式拒绝服务攻击的描述 21.10.2摇 构造攻击网络 21.10.3摇 分布式拒绝服务攻击的防范策略 21.9摇 防范措施 邮件) 21.4摇 传播 - 社会工程 - 垃圾邮件和特洛伊 木马 21.4.1摇 垃 圾 邮 件 ( 未 经 请 求 的 批 量 电 子 21.4.2摇 特洛伊木马 21.5摇 有效载荷 - 系统破坏 21.5.1摇 现实世界的破坏 21.5.2摇 逻辑炸弹 What is the concept of defense: The parrying of a blow. What is its characteristic feature: Awaiting the —On War, Carl Von Clausewitz 21.11摇 推荐读物 21.12摇 关键术语、 思考题和习题 blow. 学 习 目 标 通过本章的学习后应具备以下能力: 音 描述恶意软件传播所使用的三大机制。 音 理解病毒、 蠕虫和木马的基本操作。 音 描述恶意软件有效载荷的四大类型。 音 理解僵尸程序、 间谍软件和 Rootkit 造成的不同威胁。 音 描述恶意软件防范措施的几个要素。 音 描述恶意软件检测机制可应用的三个位置。
第21 章摇 恶 意 软 件 3 恶意软件, 可以说是对计算机系统威胁最大的种类之一。 参考文献[SOUP12a]将恶意软件定义 为这样的程序: “偷偷地嵌入到其他程序中, 意图摧毁数据, 运行破坏性或入侵性程序, 或者破坏受 害者数据、 应用程序或操作系统的保密性、 完整性和可用性。冶因此, 我们关心恶意软件对应用程序, 以及像编辑器、 编译器等实用程序和内核层程序所造成的威胁。 我们也关心恶意软件在被感染的或 恶意的网站和服务器中的使用, 以及恶意代码在意图诱使用户泄露个人信息的垃圾邮件或其他消息中 的使用。 本章将探讨各种不同的恶意软件及防范措施淤。 首先, 对各种类型的恶意软件进行了概 述, 并提供了一个粗略分类方法。 这种分类方法根据恶意软件的扩散或传播方式, 以及恶意软 件到达目标后执行的操作或使用的有效载荷进行划分。 其中, 传播机制涵盖了病毒、 蠕虫和木 马所使用的传播方式, 有效载荷包括破坏系统的程序、 僵尸程序、 网络钓鱼程序、 间谍软件和 Rootkit。 接着, 本章讨论了恶意软件的防范措施。 最后, 对分布式拒绝服务攻击(DDoS 攻击) 进行了评述。 21. 1摇 恶意软件类型 这一领域的术语还存在一些争议, 因为对这些术语还没有达成完全一致的看法, 而且有些分 类还有交叉的地方。 对此, 表21.1 提供了一个很有用的指南。 表 21. 1摇 恶意程序相关术语 摇 述 摇 称 描摇 一种可以独立运行并可将自己的完整版本传播到网络中其他主机上的计算机程序 一种恶意软件。 当被执行时, 试图复制自己到其他可执行代码中; 复制成功后, 则称可执行代码 被感染了。 当执行被感染的代码时, 病毒也将被执行 由入侵者插入到软件中的一段程序。 在预定义的条件得到满足之前, 逻辑炸弹处于休眠状态; 而 条件满足后, 程序将触发一些未经授权的行为 一种看起来有着有用功能, 但同时也存在隐藏的、 潜在的恶意功能的计算机程序。 这种程序有时 候可以通过利用系统实体的合法授权来调用特洛伊木马程序, 从而绕过安全机制 可以绕过正常安全检查, 并能够提供不经授权而直接访问相关功能的机制(或程序) 可以原封不动地移植到异构平台, 并且能够执行相同语义的程序(例如, 脚本、 宏或者其他可移植 指令) 在被攻击的机器上下载安装其他程序的程序。 通常下载器以邮件方式发送 针对单一漏洞或漏洞集合而进行攻击的程序代码 名摇 病毒 蠕虫 逻辑炸弹 特洛伊木马 后门(陷门) 移动代码 下载器 Exploit Auto鄄Rooter 工具包(病毒生成器) 一组用来自动生成新病毒的工具集 用来进行远程攻击的黑客工具 用来发送大量垃圾邮件 垃圾邮件发送程序 洪泛攻击器 键盘记录器 Rootkit 僵尸程序 间谍软件 广告软件 在受到危害的系统中捕获用户敲击键盘的记录 在攻击网络计算机系统时, 发送大量信息, 实施拒绝服务攻击(DoS) 在入侵计算机并获取 root 级访问权限后使用的一套黑客工具 在被感染计算机上对其他计算机实施攻击的程序 用来在计算机上收集信息并将其传送到其他系统的软件 植入到软件中的广告程序。 它可以弹出广告窗口或者将浏览器重定向到一些商业网站 淤 在此特别感谢澳大利亚国防学院的 Lawrie Brown, 他为本章做出了重大贡献。
4 密码编码学与网络安全———原理与实践(第六版) 21. 1. 1摇 恶意软件的粗略分类 恶意软件的分类方法有很多种, 这里我们根据恶意软件到达目标的传播方式和抵达目标后 执行的操作或使用的有效负载, 将恶意软件分为两大类。 传播机制包括感染已存在的可执行程序或需解释执行的内容, 这些由病毒所感染的内容随 后会传播到其他系统中; 在本地或通过网络利用软件漏洞进行攻击, 蠕虫或路过式下载程序 (drive鄄by鄄download)通过这种方式使恶意软件得以复制; 利用社会工程实施攻击, 诱导用户绕过 安全机制来安装木马或响应网络钓鱼攻击。 早期的恶意软件分类方法将恶意软件划分为两类: 一种是需要宿主程序的寄生代码, 如病毒; 另一种是运行在系统中的独立程序, 如蠕虫、 木马和僵尸程序。 另一种分类方法也是将恶意软件分 为两类: 一种是不进行复制的, 如木马和垃圾邮件; 另一种是进行复制的, 包括病毒和蠕虫。 恶意软件一旦进入目标系统后, 所实施的有效载荷行为包括破坏系统或数据文件; 窃取服 务, 以把目标系统变为一个用来进行攻击的僵尸代理, 成为僵尸网络的一部分; 窃取系统中的信 息, 键盘记录或间谍程序通常获取系统中的登录名、 口令或其他个人详细信息; 隐藏在系统中的 痕迹, 使恶意软件不能被检测或阻止。 早期的恶意软件使用单一的传播方式来传送单一的有效载荷, 随着恶意软件的演变, 混合型 恶意软件逐渐增多, 混合型恶意软件融入了多种传播机制和有效载荷来提高其传播, 隐藏和在目 标主机上执行多种行为的能力。 混合型攻击利用多种感染或传播方式, 最大限度地提高蔓延速 度和攻击的严重程度。 一些恶意软件甚至支持更新机制, 允许恶意软件部署完成后变更传播范 围和使用的有效负载。 在下面的章节中, 我们将对各种恶意软件进行概述, 然后再讨论相应的防范措施。 21. 1. 2摇 攻击工具包 最初, 恶意软件的开发和部署需要编程人员高超的技术水平。 然而, 随着20 世纪90 年代初 期病毒创作工具包的发展, 这些工作变得不那么难了。 随后, 在本世纪初更通用的攻击工具包出 现了, 这些工具包极大地协助了恶意软件的开发和部署[FOSS10]。 这些工具包经常被称为犯罪软 件, 包括各种传播机制和有效载荷模块, 即使新手也能对它们进行组合、 选择和部署。 使用这些 工具包也可以很简单地定制最新发现的漏洞, 以利用漏洞发布到补丁广泛部署这段时间内的空 当。 虽然用这样的工具包创建的恶意软件往往没有从头开始设计的那么复杂, 可是攻击者利用 这些工具包可以创建众多新变体, 这给恶意软件的防御系统提出了一个巨大的难题。 宙斯(Zeus)犯罪软件工具包是最近出现的, 比较突出的一种攻击工具包, 使用它可以创建各 种非常有效的隐蔽型恶意软件。 创建的这些恶意软件有利于多种犯罪活动, 尤其是捕获并利用 银行凭据而进行的攻击[BINS10]。 21. 1. 3摇 攻击源 过去几十年中恶意软件发展的另一个显著变化是攻击者由以炫耀技术能力的个人, 变成更 有组织和更具危险性的攻击源。 这些攻击源包括带有政治动机的攻击者、 罪犯、 犯罪团伙、 向公 司和政府出售服务的组织, 以及国家政府机构。 这已经大大改变了可用的资源和恶意软件兴起 的初衷, 实际导致了包括贩卖攻击工具包、 贩卖被感染主机和贩卖被窃取信息访问权的大量地下 经济的发展。
第21 章摇 恶 意 软 件 5 21. 2摇 传播 - 感染内容 - 病毒 恶意软件的第一种传播方式与将自身附加到现有可执行内容中的寄生软件片段相关。 该片 段可能是感染一些现有的应用程序、 实用程序、 系统程序, 甚至计算机系统引导代码的机器代 码。 最近, 这种片段已发展为用来支持数据文件(如 Microsoft Word 文档、 Excel 电子表格或 Ado鄄 be PDF 文档)中活动内容的脚本代码。 21. 2. 1摇 病毒的特性 计算机病毒是一种可以通过修改其他程序或任何形式的可执行内容来实现感染功能的程序。 这种修改包括将病毒程序自身的副本注入其他目标程序, 并使得注入后的程序同样具有感染其 他内容的功能。 计算机病毒在其指令代码中携带了用以实现完美自我复制的方法。 典型的计算机病毒能够 嵌入到计算机上的程序或可执行内容的载体中, 并成为其中一部分。 当没有感染病毒的软件一 旦在受感染的计算机上运行, 该软件将会被插入一个病毒的新副本。 因此, 通过那些毫无戒心的 用户在不同计算机间使用磁盘或U 盘交换程序或载体文件, 或借助网络向其他人发送它们时, 病 毒可以实现从一台计算机到另一台计算机的感染扩散。 在网络环境下, 能够访问其他计算机上 的文件、 应用程序或系统服务的功能给病毒代码的传播提供了一个完美的条件。 附加到可执行程序上的病毒能够做其宿主程序被允许做的任何事情。 当宿主程序执行时, 病毒程序将秘密执行。 一旦病毒代码执行, 它可以执行当前用户权限所允许的任何操作, 如擦除 文件和程序。 早些年病毒在恶意软件中占主导地位的一个原因是当时的个人计算机系统缺乏用 户身份验证和访问控制机制, 这使得病毒能够感染系统中任何可执行的内容。 当时很多通过软 盘共享的程序也使得病毒传播很容易, 虽然这样的传播速度比较慢。 现代操作系统采用了更严 格的访问控制, 这极大地增加了传统的机器可执行代码类病毒的感染难度, 也引发了宏病毒的发 展。 宏病毒利用 Microsoft Word、 Microsoft Excel、 Adobe PDF 等文档类型所支持的活动内容进行攻 击。 作为用户正常的系统使用操作的一部分, 这些文件很容易就会被修改和共享, 而且它们也不 受如程序那样的访问控制的保护。 目前病毒的感染模式通常是现今恶意软件所使用的多种传播 机制中的一个, 这里的恶意软件也可能具有蠕虫和木马的功能。 计算机病毒, 更普遍来说现在很多类型的恶意软件, 包括以下每个组件的一个或多个变种。 荫 感染机制: 病毒的复制和传播方式。 这个机制也被称为感染向量。 荫 触发器: 决定载荷什么时候将会被激活或释放的事件或条件, 有时被称为逻辑炸弹。 荫 有效载荷: 包括传播功能在内的病毒所执行的功能。 有效载荷可能包括破坏活动, 或者包 含一些良性的但引人注目的活动。 在其生命周期内, 典型的病毒一般会经历如下4 个阶段: 荫 潜伏阶段: 病毒在这一阶段处于休眠状态, 直到最终被某些条件( 如日期、 某特定程序或 特定文件的出现或磁盘的容量超过一定范围) 所激活。 并不是所有的病毒都会经历这一 阶段。 荫 传播阶段: 病毒程序将自身的副本安放到其他程序中或磁盘的某个区域上, 这个副本和传 播的版本可能不完全一样, 这是因为病毒往往会使用变形技术来躲避检测。 每个被感染的 程序又因此包含了病毒的复制品, 从而也就进入了传播阶段。
6 密码编码学与网络安全———原理与实践(第六版) 荫 触发阶段: 病毒在被激活后, 会执行某一特定功能从而达到某种既定的目的。 和处于潜伏 期的病毒一样, 触发阶段病毒的触发条件是一些系统事件, 包括病毒复制自身的次数。 荫 发作阶段: 病毒开始执行既定的功能。 这些功能有些是无害的, 如在屏幕上显示信息; 有 些则具有破坏性, 如破坏程序和数据文件。 感染可执行程序的大多数病毒是基于某种特定的方式进行工作的, 如某个特定的操作系统 或某个特定的硬件平台。 因此, 攻击者们经常利用特定系统的细节和弱点来设计病毒程序。 然 而, 宏病毒针对特定的文件类型, 因此经常适用于多种系统。 可执行病毒的结构 传统的机器可执行类病毒代码可以被放在可执行文件首部、 尾部, 或以其他方式嵌入, 关键 是保证当调用被感染文件时, 首先执行病毒程序, 然后执行原宿主程序。 病毒结构的一般性描述如图21.1(a)所示[COHE94], 在该程序中, 病毒程序 V 位于被感染文件 的首部, 现假设调用该程序时, 程序的入口指向该程序的第一行, 即 V 取得了程序控制权。 被感染程序的工作机理如下: 程序的第一行代码的功能是跳转执行病毒程序, 第二行代码是 一个特殊的标记, 用来判断一个文件是否已被感染病毒。 当该程序被调用后, 很快又将控制权交 给病毒程序模块, 病毒程序首先寻找未被感染的可执行文件并感染之, 然后, 病毒通常会对系统 进行破坏活动, 程序每被调用一次, 该破坏活动就会进行一次。 如果该破坏活动是逻辑炸弹, 那 它仅在某个特定条件满足时才会被激发。 最后, 病毒程序将控制权交还给宿主程序。 如果文件 感染时间很短, 那么用户一般是不会觉察到文件感染前后的变化。 图21.1摇 病毒逻辑示例 上面所述的这类病毒是很容易被检测出来的, 因为被感染文件的长度相对于感染之前变大 了。 一种逃避这种检测的方法就是将被感染文件压缩到感染前的长度。 图 21.1(b) 显示了上述 过程, 在此病毒程序中, 关键行都用数字标记了。 具体操作过程如图 21. 2 所示。 开始时, 程序
第21 章摇 恶 意 软 件 大小。 7 P1 感染病毒 CV 后变成 P忆1, 程序 P2 未感染病毒 CV。 当 P1 被调用时, 病毒 CV 就获取了程序的控 制权, 将执行如下所示的操作: t1: 将那些已发现的未被感染的文件 P2 压缩成 P忆2, 后者和原来的程序相比, 正好减小了病毒 t0: 将病毒的复制体放到被压缩的文件 P忆2 的首部。 t3: 将受感染程序压缩后的版本 P忆1 解压。 t4: 执行解压后的原始程序 P1。 在这个例子中, 病毒程序只进行了感染, 但正如前面所述, 这种病毒中也可能会包含一个或 多个有效载荷。 病毒一旦通过感染某个程序获得入侵系统的入口, 那么当受感染文件被执行时, 病毒就会有 可能感染该系统中的一部分或者全部的可执行文件, 具体取决于受感染文件所拥有的访问权限。 因此, 我们完全可以通过在第一时间内阻止病毒进入系统来预防病毒传播。 遗憾的是, 由于病毒 程序本身可能会作为系统之外任何程序的一部分, 所以预防就变得特别困难。 因此, 除非你愿意 选择纯硬件设备, 然后亲手编写系统程序以及应用程序, 否则你的机器就是脆弱的( 易受攻击 的)。 通过禁止普通用户修改系统内程序的权利, 也可以阻止很多形式的感染。 图21.2摇 压缩病毒 21. 2. 2摇 病毒的分类 自病毒问世以来, 病毒制造者和反病毒软件制造者之间的斗争就从未间断过。 当对已存在 的病毒研究出有效的对策时, 新的病毒又出现了。 对于病毒的分类, 目前还没有一个简单的普遍
密码编码学与网络安全———原理与实践(第六版) 8 认可的方案, 在本节中, 我们将遵循参考文献[AYCO06], 并以病毒感染目标类型和病毒用以逃 避用户及杀毒软件检测的自我隐藏手段作为两个不同的角度对病毒进行分类。 若以感染目标类型为分类依据, 则可分为如下几类: 荫 引导区感染病毒: 感染主引导记录(或引导记录), 然后当系统从包含病毒的磁盘上启动后 再进行传播。 荫 文件感染病毒: 感染那些可以被操作系统或者 shell 执行的文件。 荫 宏病毒: 感染那些包含宏代码的文件, 这些宏代码将由特定的应用程序解释执行。 荫 多重感染病毒: 以多种方式感染文件。 通常, 多重感染病毒能够感染多种类型的文件, 所 以清除病毒时必须处理所有可能被感染的地方。 若以隐藏手段为分类依据, 则可分为如下几类: 荫 加密型病毒: 一种典型的病毒加密方法如下所述。 病毒的一部分会创建一个随机加密密钥 并对病毒的其余部分进行加密, 密钥保存在病毒中; 当调用被感染的程序时, 病毒将使用 存储的随机密钥来解密病毒; 当病毒进行复制时, 将会重新随机选择一个不同的密钥。 对 于每个病毒实例而言, 病毒体都由不同的密钥进行加密, 因此没有固定的位组合模式特征 来对其进行检测。 荫 隐蔽型病毒: 一种专门设计用来隐藏自身以躲避杀毒软件检测的病毒。 因此, 隐藏的是整 个病毒, 而不仅仅是有效载荷部分。 为躲避检测, 这类病毒可能使用代码变形技术( 如压 缩)和 Rootkit 技术。 荫 多态型病毒: 这种病毒能够在每次感染时发生变异, 从而使得无法通过特征码进行检测。 荫 变形病毒: 就像多态型病毒一样, 它在每次感染时都会发生变异, 但不同之处在于, 变形 病毒在每次感染时都会将自己的代码重写一遍, 增加了检测的难度, 并且它的行为也可能 像其外形一样发生变化。 多态型病毒在进行感染时, 产生功能相似但字节排列方式截然不同的多个样本, 目的是对抗 反病毒软件的扫描机制。 在这种情况下, 病毒的每个副本的特征码都是不相同的。 为了实现这 种变化, 必须在病毒中插入一些附加指令或改变那些对顺序不具有依赖性的指令顺序。 一个很 有效的方式就是对病毒进行加密。 其加密策略请参考前面加密型病毒。 病毒中负责产生密钥并 进行加密/ 解密操作的部分称为“变形引擎冶, 该变形引擎本身在每次使用中都会改变。 21. 2. 3摇 宏病毒和脚本病毒 宏病毒感染多种用户文件类型中用以支持活动内容的脚本代码。 基于以下原因, 宏病毒造 成了极其严重的危害。 (1)宏病毒不依赖于单一的平台。 很多宏病毒感染常用应用程序中的活动内容, 如 Microsoft Word 等 Microsoft Office 文档中的宏、 Adobe PDF 文档中的脚本代码。 任何一种支持这些 应用程序的硬件平台或操作系统都可能被感染。 (2)宏病毒只感染文档文件, 不感染程序文件。 而绝大多数信息都是以文档形式( 而非程序 形式)输入到计算机系统中的。 (3)宏病毒很容易被传播。 一个非常常见的方法就是通过电子邮件的形式进行传播。 (4)由于宏病毒感染的是用户文档, 而非系统程序。 因为用户往往会修改文件, 这就使得传 统的文件系统访问控制在防止病毒传播上发挥的作用十分有限。
分享到:
收藏