1、 本科 毕业 设计 (论文 ) (二零 届) 泛洪攻击设计与实现 所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 摘要 : 简述了泛洪攻击的背景,详细的介绍了 TCP/IP 协议首部格式和与攻击相关的面向连接的三次握手过程。之后对泛洪攻击的概念和攻击原理做了解 析。本系统是以 C+语言开发。通过一个循环不停地改变和填充 TCP/IP 的首部并向被攻击者发送,从而达到攻击效果。本文还对泛洪攻击的影响和危害做了一定阐述,并在此基础上对其防御的措施进行了一定建议。 关键词: DDoS; 泛洪攻击;三次握手; C+;解析;防御 Extensive flood a
2、ttack design and implementation Abstract: Describes the background of generic flood attack, detailed introduces the TCP/IP protocol first format and and attack related connection-oriented handshake process three times. After the flood of functional concept and attack against the analytic principle.
3、This system is developed in C + + language. Through a cycle constantly changing and filling of TCP/IP first and to send by an attacker, thus achieved the attack effect. This paper also to its attacks against the effect and harm flood make some elaborate, and on the basis of its defense measures to a
4、 certain Suggestions. Key words: DDoS; flood attack; Shake hands three times; C+; Analytical;defense; 目录 1 绪论 . 1 1.1 课题背景 . 1 1.1.1 简介 . 1 1.1.2 国内外实例记录 . 1 1.2 研究现状 . 2 1.3 本课题研究的意义 . 3 2 相关理论基础 . 4 2.1 TCP/IP协议 . 4 2.1.1 TCP简述 . 4 2.1.2 IP协议 . 5 2.2 DoS及 DDoS简述 . 5 2.3 泛洪攻击简述 . 8 2.4 C+ . 8 2.4.1
5、 C+的发展 . 8 3.4.2 C+的优势 . 9 2.5 开发环境 VC简介 . 9 3 设计与实现 . 10 3.1 攻击具体分析 . 10 3.1.1 基于 TCP协议泛洪的分析 . 10 3.1.2 IP伪造 . 11 3.1.3 DDoS攻击步骤 . 11 3.1.4 控制与协同傀儡机 . 12 3.2程序设计 . 14 3.2.1 程序拓扑图 . 14 3.2.2 TCP/IP首部定义 . 14 3.2.3 计算校验和 . 15 3.2.4 SynFlooding主函数 . 16 3.2.5 程序流程图 . 19 3.3 攻击测试 . 20 4 浅谈泛洪攻击的防御 . 21 4.
6、1 DDoS攻击防护机制 . 21 4.2 举例防御 . 22 5 总结 . 24 致 谢 . 错误 !未定义书签。 参考文献 . 25 - 1 - 1 绪论 1.1 课题背景 1.1.1 简介 随着科技的发展,人们生活质量的提升, Internet 和个人电脑也在迅速的发展和普及。给人们带来各种学习,工作和娱乐方便的同时也带来了许多问题,计算机安全,网络安全就是其中之一。各种网络黑客技术,安全隐患层出不穷。因此针对这些问题也就有了论证和研究乃至破解的必要,而要彻底的破解这些安全问题,首先要做的就是对它进行深刻的理解。因此对近年来比较常见的泛洪攻击小作论述,希望有所裨益。 而 随着计算 机技术
7、的迅速发展,在计算机上处理的业务也由 简单的 数学运算、文件处理,连接的内部网络的 一些 内部业务处理等发展到复杂的 内部网 、企业 外部网 、全球互联网的企业级计算机处理系统 以及 世界范围内的信息共享和业务处理。在 提高 系统处理能力的同时,系统的连接能力也在不断的提高。但在连接信息、流通能力提高的同时, 在 网络连接 上 的安全问题也日 渐 突出,整体的网络安全主要表现在以下几个方面:网络的物理安全、网络 拓扑结构 安全、网络系统安全、应用系统安全和网络管理的安全等。 因此 计算机安全 问题,应该像每家每户的防火防 盗问题一样,做到防范于未然。 也许不知道什么时候 你自己也会成为 被攻击
8、 目标,一旦发生 这些情况 ,常常措手不及,造成极大的损失。 1.1.2 国内外实例记录 DDOS 最早可追述到 1996年最初,在 中国 2002年开始频繁出现, 2003年已经 颇具 规模。近几年由于 网络 的普及,很多网站开始盈利,其中很多网站利润巨大,造成同行之间互相攻击,还有一部分人利用 网络攻击 来 做一些非法活动如敲诈勒索等 。同时 由于 windows 平台的漏洞大量的被公布, 流氓软件 , 病毒 , 木马 大量 充斥 着网络 。 有些 熟悉网络技术的 人可以很容易 地 非法入侵控制大量的个人计算机来发起 DDOS 攻击从中谋利。攻击已经成为互联网上的一种最直接的竞争方式, 在
9、利益的驱使下,攻击 已经演变成非常完善的 产业链 。 下面是一些收集到得真实的网络攻击事件。其大部分来自文献 3的整理归类: 1996年初,美国旧金山的计算机安全协会与联邦调查局 通过一次联合调查的数据显示 ,有 53的企业受到过计算机病毒的侵害, 有 42的企业的计算机系统在过去的 12个月被非法使用过。 同年,据 五角大楼的一个研究小组称美国一年中遭受的 网络 攻击就达 25万次之多。 1994 年末,俄罗斯黑 客弗拉基米尔 利维与其伙伴从圣彼得堡的一家小软件公司的联网计算机上,向美国 CITYBANK银行发动了一连串攻击,通过电子转帐方式,从 CITYBANK 银行在纽约的计算机主机里窃
10、取 1100万美元。 - 2 - 1996年 8月 17日,美国司法部的网络服务器 曾 遭到黑客入侵,并将 “ 美国司法部 ” 的主页改为 “ 美国不公正部 ” , 甚至 将司法部部长的照片换成了阿道夫 希特勒,将司法部徽章换成了纳粹党徽,并加上一幅色情女郎的图片作为所谓司法部部长的助手。此外还留下了很多攻击美国司法政策的文字。 1996年 9月 18日,黑客光顾 了 美 国中央情报局的网络服务器,将其主页由 “ 中央情报局 ” 改为 “ 中央愚蠢局 ” 。 1996 年 12 月 29 日,黑客侵入美国空军的全球网网址并将其主页肆意改动,其中有关空军介绍、新闻发布等内容被替换成一段简短的黄色
11、录象,且声称美国政府所说的一切都是谎言。迫使美国国防部一度关闭了其他 80多个军方网址。 1996年 2月,刚开通不久的 Chinanet受到攻击 。 1997年初,北京某 ISP被黑客成功侵入,并 将如何免费通过其 ISP进入 Internet的方法公布在清华大学的 BBS上。 1997年 4月 23日, 一个远在美国德克萨 斯某网络的公司的 PPP用户成功侵入中国互联网信息中心的服务器,破译了系统账户并把中国互联网信息中心的主页换成了一个骷髅头。 1996年初 , CHINANET受到某高校的一个研究生的攻击 。 96年秋, 北京某用户因与某 ISP的矛盾而攻击了改 ISP服务器,导致了改
12、服务器数小时的中断。 从以上实例不难看出网络安全的重要性。随着人们对网络安全的重视,这也促使了对各种网络攻击的防御措施的发展。但是可以看到网络攻击的手段也在同时出现了大量的新型攻击,而原有的攻击也或多或少的进化和变异,使攻击形式趋向于多样化、综合化。而我所研 究的泛洪攻击也正是其中一种比较常见的 DdoS 攻击的一种类型。 1.2 研究现状 从以上实例不难看出网络安全的重要性。随着人们对网络安全的重视,这也促使了对各种网络攻击的防御措施的发展。但是可以看到网络攻击的手段也在同时出现了大量的新型攻击,而原有的攻击也或多或少的进化和变异,使攻击形式趋向于多样化、综合化。而我所研究的泛洪攻击也正是其
13、中一种比较常见的 DDoS攻击的一种类型。 DDoS全名是 Distributed Denial of service (分布式拒绝服务攻击 ),很多 DOS 攻击源一起攻击某台服务器 就组成了 DDOS 攻击 。第一次的 DDoS攻击发生在 1994年,在一个只有 10 多个主机的较小网络上。它利用了 TCP/IP的漏洞和最小宽带特点结合 ICMP泛洪攻击进行了组合式的综合攻击。之后一年,出现了新的攻击工具,如 trinoo,攻击者通过尽量降低系统安全来大大的提高攻击的- 3 - 力度。 2000年 2月, eBay, CNN, B, Amazon,雅虎电子贸易和 ZDNet 都受到过 DD
14、OS 攻击。使所有公司都遭受到了巨大的经济损失。 作个形象的比喻来理解 DDoS。街头的餐馆为大众提供 了 餐饮服务, 假如 一群地痞流氓要 攻击餐馆的话,手段会 有 很多,比如霸占着餐桌不结账,堵住餐馆大门不让路,骚扰餐馆的服务员或 厨师 不能 正常 干活,甚至更恶劣 相应的 , 计算机和网络系统是为 Internet用户提供互联网资源的,如果有 黑客 要进行 DDoS攻击的话, 同样有很多种手段可以使用。 今天 最常见的 DDoS攻击有对计算机网络的带宽攻击和连通性攻击。带宽攻击指 用 极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。连通性攻击指 队
15、计算机 用大量的连接请求,让 所有可用的操作系统资源都被消耗殆尽, 导致 计算机无法再 正常 处理合法用户的请求。 现在针对 DDoS攻击的防御研究在不断的进行。归纳之下主要有以下几种: ( 1)优化系统。通过优化系统提高自身对 DDoS 攻击的响应能力。 ( 2)网络追查 。当遭受攻击时,系统的管理人员通过询问上一级的网络运营商,了解攻击来源。 ( 3)提高 硬件。有的人试图以购买硬件来提高系统的性能,来抵御攻击。但这种方法性价比较低,且只能减缓一部分攻击效果,并不能有效防御 DDoS攻击。 ( 4)基于路由器。通过在路由器上设置一定的措施可以有效的过滤一点的非法流量。 ( 5)基于防火墙。
16、虽然防火墙能很好的防御,但是其对攻击的检测能力较低,使得往往导致为了防御攻击而拒绝整个网络服务的情况出现。 ( 6)入侵检测。对攻击的及时检测是防护的关键,也能大大降低攻击效果,但是现在的检测机制仍不完备,不能完全防御攻击。 1.3 本课题研究的意义 泛洪攻击是出现较早也较常见的网 络攻击手段,所以它很具有研究价值。它利用的是 TCP/IP协议的固有漏洞进行攻击,它的出现暴露了协议的缺陷,使人们有机会去完善网络中类似这样的缺陷。同样的道理,反过来说这也促使了黑客攻击人士去多元化的改良黑客攻击手段。就是这样类似道高一尺魔高一丈的双向循环下,互相提高。这也是本课题的研究意义之一。 其实,关于黑客方
17、面的知识对我来说是一个全新的领域,一个从未接触过的世界。以前也只是只见闻其“声”,不明其所以。这样一来对设计和研究方面增加了很大的难度。本课题致力于实现一个简单的泛洪攻击,或者说用设计来达到模拟这种 攻击手段,从而能更了解这种攻击。包括其拥有怎样的特性,有什么优点,又有什么样的弱点,从而促使针对其防御的发展。 - 4 - 2 相关理论基础 2.1 TCP/IP 协议 TCP/IP协议( Transmission Control Protocol/Internet Protocol)在网络运输层上提供面向连接的服务。图 2-1为 TCP连接的建立过程。 图 2-1 TCP 连接的建立过程 2.1
18、.1 TCP 简述 TCP是通过以下特点来提供面向连接的服务的: ( 1)差 错控制: TCP 通过收到的确认信息来反应对视或顺序错乱的数据。通过超时和重传机制来保证数据传输的完整性,以达到可靠的连接服务。 ( 2)流量控制: TCP 用过滑动窗口流量控制机制来防止接受缓冲区的溢出。 ( 3)拥塞控制: TCP 通过慢启动、拥塞避免、快速重传等机制来适应阻塞。 TCP的首部格式如下图 2-2所示: 16 位源端口号 16 位目的端口号 32 位序列号 32 位确认序号 4 位首部长度 6 位保留字 6 位标志位 16 位窗口位大小 16 位校验和 16 位紧急指针 可选项(如果有的话) 数据(
19、可选项) 图 2-2 TCP 首部格式 主动打开 主机 A 主机 B 被动打开 连接请求 确认并分配资源 确认并分配资源 SYN SYN, ACK ACK - 5 - 2.1.2 IP 协议 IP 协议主要负责数据包的处理或者说传输。但是因其传输只会针对数据包本身进行处理,不会考虑到其他方面,所以其传输是不可靠的。 IP的首部格式如下图 2-3所示: 4位版本 4 位首部长度 8 位服务类型( TOS) 16位总长度(字节) 16位标识( ident) 3位标志( flags) 13位片偏移 8位生存时间( TTL) 8 位协议( proto) 16位首部检验和( checksum) 32位源
20、 IP地址( sourceIP) 32位目的 IP 地址( destIP) 可选项(如果有,小于等于 40字节) 数据 图 2-3 IP 首部格式 2.2 DoS 及 DDoS 简述 DoS攻击是用拒绝网络中合法用户对服务器的访问,以达到破坏网路正常运行的目的。 DoS攻击的攻击方式有很多,在文献 2中对常见的 DoS攻击进行了归纳,基本可分为一下 3类: ( 1)带宽 DoS攻击。这是一种初级的 DoS攻击方法,原理是利用高带宽消耗服务器缓冲区,从而消耗服务器的带宽。 ( 2)日志文件满载攻击。通过构造大量的错误信息发送,使服务器 日志文件因为记录这些错误信息而变得非常庞大。 ( 3)在 W
21、indows的 SMB实现的 DoS攻击。其只要允许匿名连接的 Windows操作系统就可以进行远程攻击。 DDoS 攻击,也称拒绝服务攻击,是在 DoS 攻击基础上产生的一类攻击方法,也是目前比较常见的一种网络攻击方式。之前提到的 DoS攻击一般是采用一对一方式的,当被攻击目标 的 CPU速度较 低、 内存 较 小或者网络带宽 较 小等等各项性能 普遍 指标不高 的时候 ,它的 攻击 效果是明显的。 但是 随着计算机与网 络技术 迅猛的 发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了20 字节 - 6 - 千兆级别的网络,这使得 DoS攻击的困难程度加大了 。或者说被攻击的 目标
22、对恶意攻击 包 的 “消化能力 “加强了不少,例如你的攻击 软件 每秒钟可以发送 3,000个攻击包,但我的主机与网络带宽每秒钟可以处理 10,000个攻击包,这样一来攻击就不会产生什么效果。 这时候分布式的拒绝服务攻击手段( DDoS)就应运而生了。 它同样是通过 消耗网络宽代或者系统资源,进而导致网络或者系统超负荷甚至瘫痪而停止提供正常网络服务。不同的在于 如果说计算机与网络的处理能力加大了 10倍,用一台攻击机来攻击不再能起作用的话,攻击者使用 10台攻击机同时攻击呢?用 100 台呢? DDoS 就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。 在文献 14中简要的对
23、DDoS攻击的特点进行了归纳,可分为一下几点: ( 1)分布式:攻击者通过控制许多傀儡机完成协同攻击。 ( 2)实行欺骗:攻击者一般会采取 IP 欺骗或者控制其他主机发动攻击等手段来隐藏自己,使其不易被 追踪。 ( 3)攻击发起容易:由于现下 DDoS攻击工具在网上的泛滥,使其使用的门槛不断变低,易用人群大大增加。 ( 4)攻击特征不明显:因为 DDoS攻击利用的是协议的固有漏洞,使“看上去”合法的攻击报文很难被一般的防御系统辨别,也就造成了其很难被完全防御的情况。 ( 5)威力强,破坏力大: DDoS攻击一经发起,往往会借助大量的傀儡机,这会使得被攻击者所要面对的攻击流会非常大,使得其造成的
24、危害也更严重。 但是无 论是 DoS攻击还是 DDoS 攻击,简单的看,都只是一种破坏网络服务的黑客方式,虽然具体的实现方式千变万化,但 都有一个共同点,就是其根本目的是使受害主机或网络无法及时接收并处理外界请求,或无法及时回应外界请求。其具体表现方式有以下几种: ( 1) 制造大流量无用数据,造成通往被攻击主机的网络拥塞,使被攻击主机无法正常和外界通信。 ( 2) 利用被攻击主机提供服务或传输协议上处理重复连接的 缺陷 ,反复高频的发出攻击性的重复服务请求,使被攻击主机无法及时处理其它正常的请求。 ( 3) 利用被攻 击主机所提供服务程序或传输协议的本身实现缺陷,反复发送畸形的攻击数据引 发系统错误的分配大量 系统资源 ,使主机处于挂起状态甚至死机。