网络蠕虫
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蠕虫的扫描策略
扫描策略评价
网络蠕虫传播速度的关键影响因素有4个:
目标地址空间选择 是否采用多线程搜索易感染主机 是否有易感染主机列表(Hit-list) 传播途径的多样化
各种扫描策略的差异主要在于目标地址空间的选择。网络蠕虫感染 一台主机的时间取决于蠕虫搜索到易感染主机所需要的时间。因此, 网络蠕虫 快速传播的关键在于设计良好的扫描策略 一般情况下,采用DNS扫描传播的蠕虫速度最慢,选择性扫描和 路由扫描比随机扫描的速度快;对于Hit-list 扫描,当列表超过1M 字节时蠕虫传播的速度就会比路由扫描蠕虫慢;当列表大于6M字 节时,蠕虫传播速度比随机扫描还慢。分治扫描目前还没有找到易 于实现且有效的算法
蠕虫与计算机病毒的关系
网络蠕虫和计算机病毒都具有传染性和复制功能 但从计算机使用者和两者攻击的主要目标来看,两者差别很大
计算机病毒主要攻击文件系统,在其传染过程中,计算机使用者 是传染的触发者,是传染的关键环节,使用者的计算机知识水平 高低常常决定了病毒所能造成的破坏程度
蠕虫主要利用计算机系统漏洞进行传染,搜索到网络中存在漏洞 的计算机后主动进行攻击,在传染过程中,与计算机操作者是否 进行操作无关,故与使用者的计算机知识水平也无关 “Melissa网络蠕虫宏病毒”(Macro.Word97.Melissa)、“Lover Letter网络蠕虫病毒”(VBS.LoveLetter)等等,都是病毒,而不是 蠕虫
蠕虫基本原理
随机生成 IP地址 有些蠕虫给出确定的地址范围, 还有一些给出倾向性策略,用于 产生某个范围内的IP地址 虚线框内的所有工作 可以在一个数据包内完成
地址探测 是
主机是否 存在? 否
漏洞是否 存在? 否
是
攻击、传染 现场处理
蠕虫基本原理
蠕虫实体结构
未编译的 源代码
已编译的 链接模块
可运行 代码
蠕虫的扫描策略
扫描策略设计的原则
尽量减少重复的扫描,使扫描发送的数据包总量减 少到最小 保证扫描覆盖到尽量大的范围 处理好扫描的时间分布,使得扫描不要集中在某一 时间内发生
蠕虫的扫描策略
常用的扫描策略
选择性随机扫描 顺序扫描 基于目标列表的扫描 基于路由的扫描 基于DNS扫描 分治扫描等
蠕虫的防治
尽早地发现蠕虫并对感染了蠕虫的主机进行隔离和恢复,是 防止蠕虫泛滥、避免造成重大损失的关键 计算机蠕虫防治从功能组成来考虑,如果使其某个功能组成 部分不能正常工作,也同样能达到阻止其传播的目的 具体可以分为如下一些措施
修补系统漏洞:及时安装补丁 分析蠕虫行为:分析特定蠕虫的行为,给出有针对性的预防措 施 重命名或删除命令解释器避免蠕虫脚本运行:如windows下的 WScript.exe 防火墙:切断蠕虫的传输和通信通道 公告:引起注意,加强对抗 更深入的研究
蠕虫行为特征
利用漏洞
计算机系统存在漏洞是蠕虫传播的前提,利用这些漏洞,网 络蠕虫获得被攻击的计算机系统的一定权限,继而完成后续 的复制和传播过程 这些漏洞有的是操作系统本身的问题,有的是应用服务程序 的问题,有的是网络管理人员的配置问题。正是由于产生漏 洞原因的复杂性,导致防御网络蠕虫攻击的困难性
Morris在证明其结论的同时,也开启了蠕虫新纪元
蠕虫的定义
1988年Morris蠕虫爆发后,Eugene H. Spafford为了 区分蠕虫和病毒,给出了蠕虫的技术角度的定义
Worm is a program that can run by itself and can propagate a fully working version of itself to other machines. 计算机蠕虫可以独立运行,并能把自身的一个包含所有功能 的版本传播到另外的计算机上
蠕虫的扫描策略
基于路由的扫描(Routable Scan)
基于路由的扫描是指网络蠕虫根据网络中路由信息,对IP地址空间 进行选择性扫描的一种方法 采用随机扫描的网络蠕虫会对未分配的地址空间进行探测,而这些 地址大部分在互联网上是无法路由的,因此会影响到蠕虫的传播速 度。如果网络蠕虫能够知道哪些IP地址是可路由的,则它能够更快、 更有效地进行传播,并能逃避一些对抗工具的检测 网络蠕虫的设计者通常利用BGP路由表公开的信息,获取互联网 路由的IP地址前辍,然后来验证BGP数据库的可用性 基于路由的扫描大大提高了蠕虫的传播速度,以“CodeRed”为例, 路由扫描蠕虫的感染率是采用随机扫描蠕虫感染率的3.5倍。基于 路由的扫描的不足是网络蠕虫传播时必须携带一个路由IP地址库, 蠕虫代码量大
顺序扫描(Sequential Scan)
蠕虫的扫描策略
基于目标列表的扫描(Hit-list Scan)
基于目标列表扫描是指网络蠕虫在寻找受感染的目标前, 预先生成一份易感染的目标列表,然后对该列表进行攻击 尝试和传播 目标列表生成方法有两种: 通过小规模的扫描或者互联网的共享信息产生目标列表 通过分布式扫描可以生成全面列表的数据库 理想化蠕虫“Falsh”就是一种基于IPv4地址空间列表的快 速扫描蠕虫
蠕虫的扫描策略
基于DNS扫描(DNS Scan)
基于DNS扫描是指网络蠕虫从DNS服务器获取IP地址来建立目标地址库,该 扫描策略的优点在于获得的IP地址块具有针对性强和可用性高的特点。 基于DNS扫描的不足是:
难于得到有DNS记录的完整地址列表 蠕虫代码需要携带非常大的地址库,传播速度慢 目标地址列表中地址数受公共域名主机的限制。例如“CodeRed I”所感染的主机中 几乎一半没有DNS记录
分治扫描
分治扫描(Divide-Conquer Scan)是网络蠕虫之间相互协作快速搜索易感染 主机的一种策略,网络蠕虫发送地址库的一部分给每台被感染的主机,然后 每台主机再去扫描它所获得的地址。主机A感染了主机B后,主机A将它自身 携带的地址分出一部分给主机B,然后主机B开始扫描这一部分地址。 分治扫描策略的不足是存在“坏点”问题。在蠕虫传播的过程中,如果一台 主机死机或崩溃,那么所有传给它的地址库就会丢失。这个问题发生的越早, 对传播的影响就越大
网络蠕虫入侵计算机系统后,会在此计算机上复制自身多个 副本,每个副本又开始自动启动搜索程序探测网络中新的攻 击目标 大量的进程会消耗系统的资源,致使系统性能下降,尤其对 网络服务器的影响明显
降低系统性能
蠕虫行为特征
造成网络拥塞的第一步是大面积搜索网络上的主机,找到网 络上其它存在漏洞的目标主机 搜索探测动作包括:判断其他计算机是否存在;判断特定应 用服务是否存在;判断漏洞是否存在等。因此会增加网络流 量 刚感染网络蠕虫的主机也开始在网络上探测存在漏洞的目标 主机。之后,网络蠕虫副本在不同主机间传递或是向某一目 标发出攻击时都不可避免的产生大量网络数据流量,导致整 个网络瘫痪,造成巨大经济损失
蠕虫基本原理
蠕虫程序功能结构 基本功能模块 扫 描 搜 索 模 块 扩展功能模块
攻 击 模 块
寻找下一台要传 染的计算机;为了 建立自身的多个 搜集和建立被传染 副本;在同一台计 提高效率可采用一 计算机上的信息 算机上提高传输效 系列搜索算法 信 在被感染的计算机 传 息 繁 率、判断避免重复 隐 上建立传输通道 通 传输 计算机之间的蠕虫
蠕虫的扫描策略
选择性随机扫描(Selective Random Scan)
随机扫描会对整个地址空间的IP随机抽取进行扫描,而选择性随 机扫描在选取扫描目标地址时按照一定的算法随机生成 选择性随机扫描算法简单,易实现;但选择性随机扫描容易引起 网络阻塞,使得网络蠕虫在爆发之前易被发现,隐蔽性差 “CodeRed” 和“Slammer”的传播采用了选择性随机扫描策略 顺序扫描是被感染主机上蠕虫会随机选择一个C类网络地址进行传 播,根据本地优先原则,蠕虫一般会选择它所在网络内的IP地址。 若蠕虫扫描的目标地址IP 为A,则扫描的下一个地址IP为A+1或 者A-1 一旦扫描到具有很多漏洞主机的网络时就会达到很好的传播效果; 该策略的不足是对同一台主机可能重复扫描,引起网络拥塞 “W32.Blaster”是典型的顺序扫描蠕虫
很多网络蠕虫有搜索、扩散、窃取系统敏感信息功能,并在 系统中留下后门,这些会造成未来的系统安全隐患
产生安全隐患
蠕虫基本原理
蠕虫程序的一般传播过程为
扫描:由蠕虫的扫描功能模块负责探测存在漏洞的 主机。当程序向某个主机发送探测漏洞的信息并收 到成功的反馈信息后,就得到一个可传播的对象 攻击:攻击模块按漏洞攻击步骤自动攻击扫描到的 对象,取得该主机的权限,为复制模块做准备 复制:复制模块通过原主机和新主机的交互将蠕虫 程序复制到新主机并启动
Morris为了求证计算机程序能否在不同的计算机之间进行自我复制 传播,编写了一段试验程序 为了让程序能顺利进入另一台计算机,他还写了一段破解用户口令 的代码 11月2日早上5点,这段被称为“Worm”(蠕虫)的程序开始了它的旅 行。它果然没有辜负Morris的期望,爬进了几千台计算机,让它们 死机,造成经济损失达9600万美元
第六讲 网络蠕虫
主要内容
蠕虫的定义
蠕虫行为特征
蠕虫基本原理
蠕虫扫描策略
蠕虫攻击手段
蠕虫的防治
附:蠕虫传播模型及部分蠕虫工作流程图
蠕虫的定义
1980年,Xerox PARC的研究人员John Shoch和Jon Hupp在研究 分布式计算时,编写了一种特殊程序,Xerox蠕虫 1988年11月2日,世界上第一个破坏性计算机蠕虫正式诞生
蠕虫的攻击手段
缓冲区溢出攻击
格式化字符串攻击 弱密码攻击 默认设置攻击 DOS与DDOS攻击
DOS:利用服务中存在的漏洞进行攻 击,这类攻击通过向存在漏 这类蠕虫往往自身携带一个弱密码字典, 洞的服务发送畸形请求等方式使服 字典中包括常用的用户名和密码,攻击 务程序崩溃,从而使其无法为其它 时蠕虫将用户名和密码进行组合,然后 正常的请求 进行尝试,一旦成功就与远程系统建立 DDOS:将大量的计算机联合起来 连接将自身传给远程系统并开始新一轮 作为攻击平台,对一个或多个目标 的攻击 采用默认安装方式导致系统遭受攻击的 发动DOS攻击 可能性增加。如windows系统默认安装 下打开的默认共享IPC$和端口如445等 经常被黑客作为攻击的媒介加以利用
输 模 块
搜 集 模 块
殖 程序复制 模 块
信 模 块
藏 模 块
破 坏 模 块
控 制 模 块
蠕虫的扫描策略
蠕虫的扫描策略
现在流行的蠕虫采用的传播技术目标,一般是尽快 地传播到尽量多的计算机中 扫描模块采用的扫描策略是:随机选取某一段IP地 址,然后对这一地址段上的主机进行扫描 没有优化的扫描程序可能会不断重复上面这一过程, 大量蠕虫程序的扫描引起严重的网络拥塞
以病毒命名的“冲击波病毒”(Worm.MSBlast),却是典型的蠕虫
不能简单的把利用了部分网络功能的病毒统称为蠕虫或蠕虫病毒
计算机病毒与蠕虫的区别
蠕虫行为特征
主动攻击
本质上,网络蠕虫是黑客入侵的自动化工具,当网络蠕虫被 释放后,先是搜索漏洞,到利用搜索结果攻击系统,到复制 副本,整个过程都是由网络蠕虫自身主动完成
脚本
受感染系统上的 可执行程序
信息 数据
未编译的源代码:由于某些程序参数必须在编译时确定,所以蠕虫程序可能包含一部 分未编译的程序源代码 已编译的链接模块:不同的系统,可能需要不同的运行模块 可运行代码:整个蠕虫可能由多个编译好的程序组成 脚本:利用脚本可以节省大量的程序代码,充分利用系统的shell功能 受感染系统上的可执行程序:如文件传输等,可被蠕虫作为自己的组成部分 信息数据:包括已破解的口令、要攻击的地址列表、蠕虫自身的压缩包等
在网络蠕虫传播过程中,不像计算机病毒需要计算机使用者 的辅助工作(如执行文件、浏览网页等),所以在网络蠕虫 传播过程中计算机使用者基本上察觉不到 但是行踪隐藏和快速传播是一对矛盾,具有快速传播能力的 蠕虫,会引起网络数据流量剧增,甚至网络瘫痪,也就是说, 要达到快速传播同时也暴露了蠕虫行踪
行踪隐藏