《基于smtp协议分析的僵尸网络检测技术研究》由会员分享,可在线阅读,更多相关《基于smtp协议分析的僵尸网络检测技术研究(54页珍藏版)》请在金锄头文库上搜索。
1、华中科技大学 硕士学位论文 基于SMTP协议分析的僵尸网络检测技术研究 姓名:易幸 申请学位级别:硕士 专业:信息安全 指导教师:李汉菊 20090526 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 I 摘摘 要要 僵尸网络是攻击者采用一种或多种传播手段,使大量主机感染僵尸程序,在 控制者和被感染主机之间形成的一个一对多的控制网络。其可用来实施网络信 息窃取,分布式拒绝服务攻击、点击欺诈、网络仿冒、发送垃圾电子邮件等目的。 僵尸网络的核心是命令与控制机制。这也是其与其它已知各类恶意代码的关键 区别。基于控制技术,攻击者能够协调成千上万的计算机发
2、动大规模灾难性的攻击。 随着控制技术的发展,僵尸网络从以往基于 IRC 协议逐渐转移到基于 HTTP 协议和 各种不同类型的 P2P 协议,隐蔽性和健壮性得到了很大程度的增强。在传播技术上, 僵尸网络借鉴并融合了各类恶意代码的传播方式,包括使用通讯软件和 P2P 文件共 享软件进行传播,并通过认证和信道加密机制对僵尸程序进行多态化和变形混淆, 使得僵尸的传播活动更加广泛和隐蔽。 SPAM BOTNET(Sbotnet)是以发送垃圾邮件为主要功能的僵尸网络。基于对国内 外研究现状的分析和实验环境下对Sbotnet活动的监测, 提出了一种新的检测Sbot 的 方法,并实现了该方法的原型系统,同时在
3、检测的基础上对 Sbotnet 的活动规模进行 测量。 通过对僵尸网络的结构,功能以及命令与控制机制的详细分析,对基于不同命 令与控制机制的僵尸网络的特点进行剖析,对目前僵尸网络检测技术以及各个技术 的特点进行分析的基础上,认为相对于一般的僵尸网络,Sbotnet 的网络活动一个最 明显的特征是使用 SMTP 协议发送大量的垃圾邮件。 根据该特性, 提出了基于 SMTP 协议分析的 Sbotnet 检测技术。同时还对 Sbotnet 的规模进行测量,即通过对僵尸主 机发送的邮件进行追踪,统计满足发送相似邮件内容(URL)的主机数量,进而确定其 规模。 依据论文中的算法, 实现的原型系统在实验环
4、境中完全能够检测 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 hos
5、ts. 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 封 e
6、mail 的任务量。而 bot 主机分为两种,一种是受感染的普通家庭用户,这些主机 每天的在线时间也只有几个小时,这就决定了这些 bot 主机每小时的邮件发送量在 50 封或者 50 以上。 另外一种则是那些长时间在线的主机,平均每小时发送 10 份左右。 在对研究文献分析和实验环境下对 Sbot 活动监测的基础上,选取 40 做为衡量 bot 主机每小时发送垃圾邮件数量的域值。认为某 IP 主机在规定的时间内发送的邮 件个数超过了这个域值,很可能此 IP 主机就是被感染的 bot 主机。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 24 3.
7、3.2 邮件内容邮件内容(URL)匹配匹配 隶属于不同 Sbotnet 中的主机,服务的攻击者不同,因此发送的垃圾邮件的内容 也不同,这具体表现在其邮件中的 URL 不同。由攻击者控制的同一 Sbotnet 中的所 有主机发送的垃圾邮件的内容也必定相同或者相似。 出于商业目的,botnet 常被用来发送垃圾邮件来吸引用户去购买邮件中提供的 商品和服务。在同一个 Sbotnet 会发送相同或者相似内容的邮件给成千上万的用户, 但不会给每个用户定制完全不同的 email。所以,同一 Sbotnet 中尽管会出现不同版 本的 email,但不同的版本之间必定保持核心内容的一致性,尤其是 URL。Pe
8、acomm 发送的不同版本的 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)表
9、示 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 的主机个数从而
10、达到规模测量的目的。 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, 根
11、据公式(3-3)就可以大致的估算出 Sbotnet 在所有局域网上的 规模 B。 1 * n hi i B = = (3-3) 3.4 本章小结本章小结 本章主要介绍了当前botnet的检测技术,基于蜜罐的监测方法能够监测蜜罐中具 有感染能力的僵尸程序,得到非常详细的信息,但只局限于蜜罐中僵尸程序收发的 信息,这对IRC僵尸网络比较合适,因为只要得到僵尸程序联系的控制服务器信息, 进而对控制服务器进行监测就能够很好的监测僵尸网络了。 而P2P僵尸网络的特点是 每个僵尸程序只和部分邻居节点联系,没有中心服务器,因此基于蜜罐的方法存在 一定的局限性。通过对已有的僵尸网络的研究,认为僵尸网络存在一些
12、不同于正常 流量的行为特征,一定程度上体现僵尸网络的特点和活动规律,如P2P 僵尸网络节 点在加入网络时连接初始节点的成功率较低等。本章介绍了基于流的僵尸网络的检 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 26 测,提到了小流分析和控制流稳定性分析两种技术来检测僵尸网络。最后提出了一 种基于垃圾邮件的发送来检测可疑IP, 并通过对可疑IP发送邮件中的URL进行分析匹 配来检测Sbotnet的技术。 本章还提到了URL匹配的算法和估计规模的算法。URL匹配算法即用熵对比和 平均信息论公式来定量随机字符串URL的匹配。给定一个常规表达式,如果与U
13、RL 差越小越小,可知相似度就越大,说明给定表达式与URL越相似。估计规模算法则 是定义一个小范围的固定数据集,在此固定数据集上展开实验,将实验结果延伸至 所有数据集,达到粗略估计整个数据集的目的。 华 中 科 技 大 学 硕 士 学 位 论 文华 中 科 技 大 学 硕 士 学 位 论 文 27 4 基于垃圾邮件的基于垃圾邮件的 Sbotnet 的检测系统实现的检测系统实现 4.1 SMTP 协议简介协议简介 SMTP(Simple Mail Transfer Protocol)协议39是目前互联网电子邮件传送使用的 协议。SMTP协议没有规定发信人应如何将邮件提交给SMTP, 以及SMTP
14、应如何将 邮件投递给收件人。至于邮件内部的格式,邮件如何存储,以及邮件系统应以多快 的速度来发送邮件,SMTP也都未做出规定。SMTP所规定的就是在两个相互通信的 SMTP进程之间应如何交换信息。 SMTP规定了14条命令和21种应答信息, 每个命令用4个字母组成, 而每一种 应答信息一般只有一行信息,有3位数字的代码开始。客户向服务器发送命令,服 务器用数字应答码和可选的人可读字符串进行响应。 图4-1所示的是在一次邮件传输 中SMTP进程相互通信的过程。 由此,通过对SMTP的通讯特点以及数据包格式的分析,设计某种算法,在捕 获的数据包中层层解析,最终还原邮件的MESSAGE BODY部分
15、。 4.2 系统的设计与实现系统的设计与实现 论文主要针对Sbotnet的检测技术进行研究,提出了基于垃圾邮件的Sbotnet检 测与规模测量的技术。首先,对网络中的数据包进行捕获,通过预处理模块对数据 包进行过滤,得到SMTP数据包,通过IP统计模块得出每个IP发送的邮件数,与 分析得到的已知Sbotnet发送垃圾邮件的域值进行对比, 判定IP是否为疑似bot主机。 认定其为疑似bot主机后,通过SMTP协议解析得到bot主机IP所发的邮件内容 (URL),再将不同IP的URL进行匹配分析,统计发送相同URL的IP数量,达到一 个粗略的Sbotnet规模测量的目的。 该系统主要由数据包预处理
16、/解析模块、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 进程相互通信的过程 华 中 科 技 大 学 硕 士 学 位 论 文华 中