DoS攻击方式的研究及实现

上传人:人*** 文档编号:508389539 上传时间:2024-02-28 格式:DOC 页数:29 大小:53.50KB
返回 下载 相关 举报
DoS攻击方式的研究及实现_第1页
第1页 / 共29页
DoS攻击方式的研究及实现_第2页
第2页 / 共29页
DoS攻击方式的研究及实现_第3页
第3页 / 共29页
DoS攻击方式的研究及实现_第4页
第4页 / 共29页
DoS攻击方式的研究及实现_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《DoS攻击方式的研究及实现》由会员分享,可在线阅读,更多相关《DoS攻击方式的研究及实现(29页珍藏版)》请在金锄头文库上搜索。

1、DoS攻击方式的研究及实现 DoS攻击方式的研究及实现摘要:本文在对两种攻击方式的具体分析后,归纳出当前流行的DoS攻击方式的 主要特点,并根据攻击的特点提供一些针对这些攻击的防御方法。通过查阅各 种攻击手段的资料,对其代码进行研究,用代码实现两种攻击程序,然后在特定的环境下,模拟了攻击测试,并对测试结果进行比较、分析。关键字:套接字;报文;拒绝服务;资源衰竭;缓冲区;校验和;广播;带宽耗用目 录引言41 问题的提出41.1 DoS攻击的概念41.2 DoS攻击类型41.3 两种攻击方式分析52 基于DoS攻击的分析和设计102.1 功能需求102.2 性能需求102.3 系统结构图112.4

2、 数据流程图123 程序实现143.1 实现SYN FLOOD143.2 实现SMURF164 攻击测试224.1攻击实例224.2 防御方法25结论27致谢27参考文献27引言随着信息技术特别是网络技术的不断发展,国际互联网的全球化热潮使人类社会进入了一个新的信息时代。由于国际互联网具有不受时间、地域限制的特性,而且计算机的处理能力迅速增长,越来越多的网络攻击工具被攻击者应用于因特网而引发了大混乱,而在攻击中又以拒绝服务(DoS)为主,这些拒绝服务型攻击每年造成的商业损失达成百上千万美元,对任何系统和网络都构成了威胁。为了防止DoS造成更多的损失,很多研究人员加入到研究行列中来。为了让大家对

3、DoS有更多的了解,所以对 DOS攻击原理以及常见方法进行研究。1 问题的提出1.1 DoS攻击的概念 DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。被DoS攻击时,主机上有大量等待的TCP连接,网络中充斥着大量的无用的数据包。攻击者源地址为假,制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。攻击者利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求,严重时会造成系统死机。1.2 DoS攻击类型最常见的DoS攻击形式有4种:1)带

4、宽耗用(bandwidth-consumption)攻击,攻击者有更多的可用带宽而能够造成受害者的拥塞或者征用多个站点集中网络连接对网络进行攻击。即以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。2)资源衰竭(resource-starvation)攻击,与带宽耗用不同的是在于消耗系统资源,一般涉及cpu利用率、内存、文件系统限额和系统进程总数之类的系统资源消耗。即用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。3)编程缺陷(programming flaw)是应用程序、操作系统在处理异常条件上

5、的失败。这些异常条件通常在用户向脆弱的元素发送非期望的数据时发生。对于依赖用户输入的特定应用程序来说,攻击者可能发送大数据串,这样就有可能创建一个缓冲区溢出条件而导致其崩溃。4)DNS攻击是基于域名系统的攻击,攻击者向放大网络的广播地址发送源地址伪造成受害者系统的ICMP回射请求分组,这样放大效果开始表现,放大网络上的所有系统对受害者系统作出响应,受害者系统所有可用带宽将被耗尽。1.3 两种攻击方式分析1)TCP/IP协议 因为对于网络协议都是分层的,所以TCP/IP协议不例外,它可以分为四个层次:1.链路层:数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡;

6、2.网络层:互连网层,处理分组在网络中的活动,网络层协议包括(IP协议、ICMP协议、IGMP协议);3.传输层:它主要为两台主机上的应用程序提供端到端的通信;4.应用层:负责处理特定的应用程序细节(Telnet远程登陆、FTP文件传输协议、SMTP用于电子邮件的简单邮件传输协议、SNMP简单网络管理协议。TCP/IP协议的重点就是IP协议(网际互连协议)和TCP协议(传输控制协议)。首先介绍IP协议,IP协议的主要功能包括无连接数据报传送、数据报寻径以及差错处理三部分。IP层作为通信子网的最高层,提供无连接的数据报传输机制。IP数据报协议非常简单,不能保证传输的可靠性。IP协议是点到点的,它

7、向上层提供统一的IP数据报,使得各种物理帧的差异性对上层协议不复存在。TCP建立在不可靠的IP协议之上,IP不能提供任何可靠性机制,所以TCP的可靠性完全由自己实现。TCP采用的最基本的可靠性技术是:确认与超时重传。流量控制也是保证可靠性的一个重要措施,假如无流量控制,可能因接受缓冲区溢出而丢失大量数据,导致许多重传。此外,TCP还要进行拥塞控制,目的也不外乎提供可靠性。怎样才能建立可靠的连接呢?TCP使用了“三次握手”机制:第一次,“客户机”向“服务器”发送连接请求,其中包括“客户机”端的初始报文序号(比如X)。第二次,“服务器”收到连接请求后,发回连接确认,其中包括“服务器”端的初始报文序

8、号(比如Y),以及“服务器”对“客户机”初始报文序号(X)的确认。第三次,“客户机”向“服务器”发送X序号数据,其中包括对“服务器”初始序号Y的确认。撤消连接比建立连接简单,但也可能造成数据丢失,因为连接的双方都可以发起撤除连接操作。假如A、B两机建立连接并传输报文。在A机毫无准备的情况下,B机单方面发出断连请求,并立刻终止接收该连接上的数据。在A机未收到断连接请求之前,随时可能向B机发送数据,于是便有了数据丢失的可能性。为了解决此问题,再次用到三次握手方法。一方发出断连请求后并不立即撤除连接,而要等待对方确认;对方收到请求后,发送确认报文,并撤除连接;发起方收到确认后最后撤除连接。TCP的拥

9、塞控制也是基于滑动窗口协议的,通过限制发送端向网间网注入报文的速率而达到控制拥塞的目的。TCP发现拥塞的途径有两条:一条是来自ICMP的源抑制报文,一条是报文丢失现象。 TCP/IP协议的分析主要在于IP数据报和TCP数据报的格式。那么我们应该首先了解IP数据报和TCP数据报的格式。各种数据格式常常以32bit(即4字节)为单位来描述。 IP数据报的完整格式: 优先级别DTRC未用 版本首部长度服务类型 总长度 标识标志片偏移生存时间协议 首部检验和 源地址 目的地址 长度可变的可选字段填充 IP数据报首部IP数据部分 IP数据报首部的固定部分中的各字段 1.版本:占4bit,指IP协议的版本

10、。通信双方使用的IP协议的版本必须一致。2.首部长度:占4bit,可以表示的最大数值是15个单位(一个单位为4字节),因此IP的首部长度的最大值是60字节。3.服务类型:占8bit,用来获得更好的服务。4.总长度:总长度指首部和数据之和的长度,单位为字节。5.标识:占16bit,它是一个计数器,用来产生数据报的标识。6.标志:占3bit。7.片偏移:较长的分组在分片后,某片在原分组中的相对位置。8.生存时间:生存时间字段记为TTL,即数据报在网络中的寿命9.协议:占8bit,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层字段应将此数据报上报给哪个进程。10.首部检验和:此

11、字段只检验数据报的首部,不包括数据部分。 TCP数据报的完整格式: 源端口目的端口 序号 确认号数据偏 移保留URGACKPSHRSTSYNFIN窗口检验和紧急指针选项(长度可变)填充 TCP数据报首部TCP数据部分 IP数据报首部IP数据部分 TCP首部固定部分各字段的意义如下1.源端口和目的端口:各占2个字节。端口是运输层与应用层的服务接口,16bit的端口号加上32bit的IP地址,构成了SOCKET,它相当于运输层服务访问点TSAP的地址(总共是48bit)。这些端口用来将若干高层协议向下复用,也用来将运输层协议向上分用。2.序号:占4bit。TCP是面向数据流的,它传送的报文可以看成

12、为连续的数据流,其中每一个字节都对应于一个序号。首部中的“序号”则指的是本报文段所发送的数据中第一个字节的序号。3.确认序号:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号,也就是期望收到的下一个报文段首部的序号字段的值。4.数据偏移:占4bit,它指出数据开始的地方离TCP报文段的起始处有多远。5.保留:占6bit,保留为今后使用,目前应为06.紧急比特(URG):当URG1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据),而不按原来的排队顺序来传送。7.确认比特ACK:只有当ACK1时确认序号字段才有效。8.推送比特PSH:当两个

13、应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。9.复位比特RST:当RST1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接。10.同步比特SYN:在连接建立时用来同步的序号。11.终止比特FIN:用来释放一个连接。12.窗口:占2字节。窗口字段用来控制对方发送的数据量,单位为字节。13.检验和:占2字节。检验和字段检验的范围包括首部和数据这两部分。 2) SYN FLOOD攻击 SYN FLOOD 是一种比较有效而又非常难于防御的一种DoS攻击方式。它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接

14、请求,消耗目标主机的资源,从而不能够为正常用户提供服务。这个攻击是经典的以小搏大的攻击,自己使用少量资源占用对方大量资源。一台P4的Linux系统大约能发到30-40M的64字节的SYN报文,而一台普通的服务器20M的流量就基本没有任何响应了(包括鼠标、键盘)。而且SYN不仅可以远程进行,而且可以伪造源IP地址,给追查造成很大困难,要查找必须所有骨干网络运营商,一级一级路由器的向上查找。 要掌握SYN Flood攻击的基本原理,必须先介绍TCP的三次握 制。 TCP 三次握手过程如下: 1.客户端向服务器端发送一个SYN置位的TCP报文,包含客户端使用的端口号和初始序列号x; 2.服务器端收到

15、客户端发送来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,包含确认号为x+1和服务器的初始序列号y; 3.客户端收到服务器返回的SYN+ACK报文后,向服务器返回一个确认号为y+1序号为x+1的ACK报文,一个标准的TCP连接完成。如图1所示: 攻击原理: 在SYN Flood攻击中,黑客机器向受害主机发送大量伪造源地址的TCP SYN报文,受害主机分配必要的资源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包,如图2所示。由于源地址是伪造的,所以源端永远都不会返回ACK报文,并向受害主机继续发送SYN+ACK包,当目标计算机收到请求后,就会使用一些系统资源来为新的连接提供服务,接着回复SYN+ACK。假如一个用户向服务器发送报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法再接

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号