资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
华中科技大学 硕士学位论文 基于SMTP协议分析的僵尸网络检测技术研究 姓名:易幸 申请学位级别:硕士 专业:信息安全 指导教师:李汉菊 20090526 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 I 摘摘 要要 僵尸网络是攻击者采用一种或多种传播手段,使大量主机感染僵尸程序,在 控制者和被感染主机之间形成的一个一对多的控制网络。其可用来实施网络信 息窃取,分布式拒绝服务攻击、点击欺诈、网络仿冒、发送垃圾电子邮件等目的。 僵尸网络的核心是命令与控制机制。这也是其与其它已知各类恶意代码的关键 区别。基于控制技术,攻击者能够协调成千上万的计算机发动大规模灾难性的攻击。 随着控制技术的发展,僵尸网络从以往基于 IRC 协议逐渐转移到基于 HTTP 协议和 各种不同类型的 P2P 协议,隐蔽性和健壮性得到了很大程度的增强。在传播技术上, 僵尸网络借鉴并融合了各类恶意代码的传播方式,包括使用通讯软件和 P2P 文件共 享软件进行传播,并通过认证和信道加密机制对僵尸程序进行多态化和变形混淆, 使得僵尸的传播活动更加广泛和隐蔽。 SPAM BOTNET(Sbotnet)是以发送垃圾邮件为主要功能的僵尸网络。基于对国内 外研究现状的分析和实验环境下对Sbotnet活动的监测, 提出了一种新的检测Sbot 的 方法,并实现了该方法的原型系统,同时在检测的基础上对 Sbotnet 的活动规模进行 测量。 通过对僵尸网络的结构,功能以及命令与控制机制的详细分析,对基于不同命 令与控制机制的僵尸网络的特点进行剖析,对目前僵尸网络检测技术以及各个技术 的特点进行分析的基础上,认为相对于一般的僵尸网络,Sbotnet 的网络活动一个最 明显的特征是使用 SMTP 协议发送大量的垃圾邮件。 根据该特性, 提出了基于 SMTP 协议分析的 Sbotnet 检测技术。同时还对 Sbotnet 的规模进行测量,即通过对僵尸主 机发送的邮件进行追踪,统计满足发送相似邮件内容(URL)的主机数量,进而确定其 规模。 依据论文中的算法, 实现的原型系统在实验环境中完全能够检测 Sbot 的活动, 而且也能够在一定程度上确定 Sbotnet 的规模。 关键词:关键词:垃圾邮件僵尸网络,邮件传输协议,检测,规模测量 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 II Abstract Zombie network is a one-to-many network controlled by botmaster for malicious purposes and use one or more means of communication to infected a large number of hosts. Zombie network used to accomplish attack, for example, information stealing, DDos attack, Click Fraud, Spam, Phishing etc. The key of a botnet is its command and control (C 3.3.2 域值的确定域值的确定 根据调查机构分析,全球每天大约会发送 70,000,000,000 封 emails。假设其中有 20%是被 150,000,000 个 bot 所发。平均下来,每一个 bot 必须每天完成至少发送 90 封 email 的任务量。而 bot 主机分为两种,一种是受感染的普通家庭用户,这些主机 每天的在线时间也只有几个小时,这就决定了这些 bot 主机每小时的邮件发送量在 50 封或者 50 以上。 另外一种则是那些长时间在线的主机,平均每小时发送 10 份左右。 在对研究文献分析和实验环境下对 Sbot 活动监测的基础上,选取 40 做为衡量 bot 主机每小时发送垃圾邮件数量的域值。认为某 IP 主机在规定的时间内发送的邮 件个数超过了这个域值,很可能此 IP 主机就是被感染的 bot 主机。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 24 3.3.2 邮件内容邮件内容(URL)匹配匹配 隶属于不同 Sbotnet 中的主机,服务的攻击者不同,因此发送的垃圾邮件的内容 也不同,这具体表现在其邮件中的 URL 不同。由攻击者控制的同一 Sbotnet 中的所 有主机发送的垃圾邮件的内容也必定相同或者相似。 出于商业目的,botnet 常被用来发送垃圾邮件来吸引用户去购买邮件中提供的 商品和服务。在同一个 Sbotnet 会发送相同或者相似内容的邮件给成千上万的用户, 但不会给每个用户定制完全不同的 email。所以,同一 Sbotnet 中尽管会出现不同版 本的 email,但不同的版本之间必定保持核心内容的一致性,尤其是 URL。Peacomm 发送的不同版本的 email 如图 3-2 所示。 good sensitivity and sexual response Http:/ strong in bed Http:/ ways to enhance your time Http:/ 图 3-2 不同版本的 email 攻击者通过 URL 来引导用户去访问指定的网站,所以 URL 一般不会改变。因 此 URL 是邮件内容相似性匹配的关键。用熵对比和平均信息论公式来定量随机字符 串 URL 的匹配。给定一个含有 URL 的随机字符串 e, ( ) e x R表示 e 与待匹配 URL 字 符串中相同字符的个数。R(x)表示 e 与待匹配 URL 字符串中不相同字符的个数。熵 减 d(x)表示 ( ) e x R与 R(x)的差,例如 d(x)=R(x)- ( ) e x R。相似度定义为: ( ) ( )( )( )( ) 11 ( ) 2 222 e e x xxxx R p e RRRd = (3-1) 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 25 给定一个常规表达式 e,如果 d(x)越小,根据公式(3-1)可知 p(e)就越大,说明 e 与 URL 越相似。通过统计那些发送了相同内容邮件的 IP,就可以知道属于同一个 Sbotnet 的主机个数从而达到规模测量的目的。 3.3.4 估计规模估计规模 在实际网络中统计 Sbotnet 的规模,采用估值的方法。定义一个小范围的固定数 据集(例如 HUST 学生网),在此固定数据集上展开实验, 将实验结果延伸至所有数据 集,达到粗略估计整个数据集的目的。定义 i Lan 为某一个局域网,定义 i k为该局域 网的用户数,定义 h k为 HUST 学生网上的用户数。 i 为某一个局域网的用户数与 HUST 学生网上的用户数之比,即: i i h k k = (3-2) h k和 i k都是定数,实际很容易得到。根据公式(3-2),当实验得到 HUST 学生网 上 bot 主机的数量 h B, 根据公式(3-3)就可以大致的估算出 Sbotnet 在所有局域网上的 规模 B。 1 * n hi i B = = (3-3) 3.4 本章小结本章小结 本章主要介绍了当前botnet的检测技术,基于蜜罐的监测方法能够监测蜜罐中具 有感染能力的僵尸程序,得到非常详细的信息,但只局限于蜜罐中僵尸程序收发的 信息,这对IRC僵尸网络比较合适,因为只要得到僵尸程序联系的控制服务器信息, 进而对控制服务器进行监测就能够很好的监测僵尸网络了。 而P2P僵尸网络的特点是 每个僵尸程序只和部分邻居节点联系,没有中心服务器,因此基于蜜罐的方法存在 一定的局限性。通过对已有的僵尸网络的研究,认为僵尸网络存在一些不同于正常 流量的行为特征,一定程度上体现僵尸网络的特点和活动规律,如P2P 僵尸网络节 点在加入网络时连接初始节点的成功率较低等。本章介绍了基于流的僵尸网络的检 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 26 测,提到了小流分析和控制流稳定性分析两种技术来检测僵尸网络。最后提出了一 种基于垃圾邮件的发送来检测可疑IP, 并通过对可疑IP发送邮件中的URL进行分析匹 配来检测Sbotnet的技术。 本章还提到了URL匹配的算法和估计规模的算法。URL匹配算法即用熵对比和 平均信息论公式来定量随机字符串URL的匹配。给定一个常规表达式,如果与URL 差越小越小,可知相似度就越大,说明给定表达式与URL越相似。估计规模算法则 是定义一个小范围的固定数据集,在此固定数据集上展开实验,将实验结果延伸至 所有数据集,达到粗略估计整个数据集的目的。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 27 4 基于垃圾邮件的基于垃圾邮件的 Sbotnet 的检测系统实现的检测系统实现 4.1 SMTP 协议简介协议简介 SMTP(Simple Mail Transfer Protocol)协议39是目前互联网电子邮件传送使用的 协议。SMTP协议没有规定发信人应如何将邮件提交给SMTP, 以及SMTP应如何将 邮件投递给收件人。至于邮件内部的格式,邮件如何存储,以及邮件系统应以多快 的速度来发送邮件,SMTP也都未做出规定。SMTP所规定的就是在两个相互通信的 SMTP进程之间应如何交换信息。 SMTP规定了14条命令和21种应答信息, 每个命令用4个字母组成, 而每一种 应答信息一般只有一行信息,有3位数字的代码开始。客户向服务器发送命令,服 务器用数字应答码和可选的人可读字符串进行响应。 图4-1所示的是在一次邮件传输 中SMTP进程相互通信的过程。 由此,通过对SMTP的通讯特点以及数据包格式的分析,设计某种算法,在捕 获的数据包中层层解析,最终还原邮件的MESSAGE BODY部分。 4.2 系统的设计与实现系统的设计与实现 论文主要针对Sbotnet的检测技术进行研究,提出了基于垃圾邮件的Sbotnet检 测与规模测量的技术。首先,对网络中的数据包进行捕获,通过预处理模块对数据 包进行过滤,得到SMTP数据包,通过IP统计模块得出每个IP发送的邮件数,与 分析得到的已知Sbotnet发送垃圾邮件的域值进行对比, 判定IP是否为疑似bot主机。 认定其为疑似bot主机后,通过SMTP协议解析得到bot主机IP所发的邮件内容 (URL),再将不同IP的URL进行匹配分析,统计发送相同URL的IP数量,达到一 个粗略的Sbotnet规模测量的目的。 该系统主要由数据包预处理/解析模块、IP邮件统计模块、SMTP协议解析模块、 URL提取匹配模块组成。本系统的总体框架图如图4-2所示。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 28 tcp connection 220 service ready rn 250 ok rn mail from: rn 250 ok rn rcpt to: rn 250 ok rn data rn 352 end with rn.rn message body .rn .rn 250 mial acceptrn quit rn 211 service closern 客户端smtp进 程 服务器smtp进程 helo hostname rn 图 4-1 一次邮件传输中 smtp 进程相互通信的过程 华 中 科 技 大 学 硕 士 学 位 论 文华 中
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号