拒绝服务攻击(3)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章拒绝服务攻击1)拒绝服务攻击的基本概念2)攻击的分类3)常见的拒绝服务攻击技术4)分布式拒绝服务攻击5)案例分析——smurf攻击6)攻击工具介绍7)拒绝服务攻击的检测和防御3.1拒绝服务攻击的基本概念1、定义拒绝服务攻击(DenialofService,DoS)攻击是通过向服务器、主机发送大量的服务请求,用大量的数据包“淹没”目标主机,迫使目标主机疲于处理这些垃圾数据,而无法向合法用户提供正常服务的一种攻击。3.1拒绝服务攻击的基本概念2、特点和危害拒绝服务攻击是非法用户向目标主机提供的合法服务请求,因此,它具有:易于实施难于防范破坏性强等特点3.1拒绝服务攻击的基本概念2、特点和危害2007年4月,“联众”被DDoS连续攻击了一个月,损失难于估量;2008年9月,开心网遭受DDoS攻击;2009年5月,易名中国被DDoS攻击,上万个网站无法打开;2009年下半年,中国电信多个省份遭受DDoS攻击,断网;2009年12月,彩票直通车遭受DDoS连续攻击。3.2攻击的分类1、按攻击的方式分类直接攻击反射攻击(中间人攻击)分布式拒绝服务攻击①直接攻击带宽资源CPU资源内存磁盘、进程数、数据库连接数、文件句柄等。3.2攻击的分类①直接攻击PingofDeathSYNFloodTCP连接耗尽攻击UDP风暴攻击等。②反射攻击反弹服务器Web服务器DNS服务器路由器网关3.2攻击的分类③分布式拒绝服务攻击(DistributedDenialofService,DDoS)分布式拒绝服务攻击瞬间能产生极大流量,造成被攻击主机资源耗尽,从而无法提供服务;攻击包的源IP具有随机伪造性。黑客控制主机追踪调查难度很大。3.2攻击的分类2、按攻击技术分类①向服务器发送合法的服务请求,通过消耗系统资源,使服务超载,无法响应其他请求,进而导致服务器拒绝向合法用户提供服务。带宽资源CPU资源内存磁盘、进程数、数据库连接数、文件句柄等。3.2攻击的分类2、按攻击技术分类②利用系统漏洞、软件缺陷或系统管理员的错误配置,向系统发送攻击数据包,导致系统的瘫痪或崩溃。攻击数据包瘫痪崩溃3.3常见的拒绝服务攻击技术1)PingofDeathC:\ping-l65507192.168.1.10780655363.3常见的拒绝服务攻击技术2)SYNFloodSYN(我可以连接吗?)ACK(可以)/SYN(请确认!)ACK(确认连接)发起方应答方3.3常见的拒绝服务攻击技术2)SYNFloodSYNTimeout30秒-2分钟SYN(我可以连接吗?)ACK(可以)/SYN(请确认!)攻击者受害者伪造地址进行SYN请求为何还没回应就是让你白等不能建立正常的连接3.3常见的拒绝服务攻击技术2)SYNFloodSourceIP=IPxIPx不断发送大量伪造的TCPSYN分段最多可打开的半开连接数量超时等待时间等待期内的重试次数X半开连接缓冲区溢出3.3常见的拒绝服务攻击技术2)SYNFlood3.3常见的拒绝服务攻击技术2)SYNFloodSYNFlood攻击的检测监视系统的半开连接数。比如:使用Netstat命令就能看到系统SYN_RCVD的半连接数。半连接的数量500或占总连接数的10%以上。3.3常见的拒绝服务攻击技术2)SYNFlood应对策略①缩短SYNTimeout时间。②设置SYNCookie。就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被一概丢弃。3.3常见的拒绝服务攻击技术3)TCP连接耗尽攻击(connectionFlood攻击)攻击者受害者大量tcpconnect这么多?不能建立正常的连接正常tcpconnect正常用户正常tcpconnect正常tcpconnect正常tcpconnect正常tcpconnect正常tcpconnect攻击表象利用真实IP地址(代理服务器、广告页面)在服务器上建立大量连接服务器上残余连接(WAIT状态)过多,效率降低,甚至资源耗尽,无法响应蠕虫传播过程中会出现大量源IP地址相同的包,对于TCP蠕虫则表现为大范围扫描行为消耗骨干设备的资源,如防火墙的连接数3.3常见的拒绝服务攻击技术3)TCP连接耗尽攻击3.3常见的拒绝服务攻击技术4)“泪滴”(Teardrop)攻击3.3常见的拒绝服务攻击技术5)Land攻击SYN发起方应答方3.3常见的拒绝服务攻击技术6)UDPFlood——在UDP协议中,每一个应用程序进程在进行通信前,都需要向本地操作系统提出端口申请。intbind(SOCKETs,conststructsockaddr*name,intnamelen);SOCKETserSock;serSock=SOCKET(AF_INET,SOCK_DGRAM,0);my_addr.sin_family=AF_INET;my_addr.sin_port=htons(4000);my_addr.sin_addr.s_addr=inet_addr(“202.119.9.199”);bind(serSock,(structsockaddr*)&my_addr,slen)3.3常见的拒绝服务攻击技术6)UDPFlood16位源端口号(可选)16位目的端口号(必须)16位UDP长度16位UDP校验和(可选)数据3.3常见的拒绝服务攻击技术7)HTTPGet攻击攻击者受害者(WebServer)正常HTTPGet请求正常HTTPGetFlood正常用户攻击表象利用代理服务器向受害者发起大量HTTPGet请求主要请求动态页面,涉及到数据库访问操作数据库负载以及数据库连接池负载极高,无法响应正常请求正常HTTPGetFlood正常HTTPGetFlood正常HTTPGetFlood正常HTTPGetFlood正常HTTPGetFlood受害者(DBServer)DB连接池用完啦!!DB连接池占用占用占用3.3常见的拒绝服务攻击技术8)DNS查询攻击(DNSQueryFlood)——DNS(domainnamesystem)的作用是把用户输入的域名转换成网络中计算机可识别的IP地址。域名如:””DNSIP地址如:“219.245.18.240”3.3常见的拒绝服务攻击技术8)DNS查询攻击(DNSQueryFlood)3.4分布式拒绝服务攻击(DistributedDenialofService,DDoS)每秒3,000个攻击包每秒处理10,000个数据包3.4分布式拒绝服务攻击(DistributedDenialofService,DDoS)黑客受攻击目标服务器PC导致服务器瘫痪,救命啊!①带宽资源耗尽型smurf攻击3.4分布式拒绝服务攻击(DistributedDenialofService,DDoS)②计算资源耗尽型——利用服务器的处理缺陷,消耗目标主机的计算资源,例如CPU、内存等。SYN(我可以连接吗?)SYN(我可以连接吗?)ACK(可以)/SYN(请确认!)ACK(可以)/SYN(请确认!)ACK(确认连接)ACK(确认连接)发起方应答方应答方3.5拒绝服务攻击案例分析1)什么是smurf攻击?——smurf攻击是PingtoDeath攻击的一种改进——smurf攻击PingWindows95缓冲区3.5拒绝服务攻击案例分析1)什么是smurf攻击?——smurf攻击受攻击目标服务器导致服务器瘫痪,救命啊!PingPingPing洪水Ping攻击黑客攻击的基本原则:——用最少的攻击资源换取被攻击者最大的消耗。3.5拒绝服务攻击案例分析1)什么是smurf攻击?——smurf攻击是PingtoDeath攻击的一种改进——smurf攻击主机A主机BICMP请求报文(类型=8,回显请求)ICMP应答报文(类型=0,回显应答)3.5拒绝服务攻击案例分析1)什么是smurf攻击?——smurf攻击是PingtoDeath攻击的一种改进——smurf攻击主机A主机B伪装成主机C发送ICMP回显请求报文错误地向主机C发送ICMP回显应答报文主机C3.5拒绝服务攻击案例分析1)什么是smurf攻击?——smurf攻击被攻击主机攻击主机伪装C广播一个ICMP请求CICMP响应假定,局域网内有N台计算机,攻击者发送了LKB大小的一个ICMP报文。C将收到L×NKB字节的应答报文。当N=100万时,smurf攻击产生的应答数据报流量可以达到1GB。3.5拒绝服务攻击案例分析2)smurf攻击程序实现——smurf攻击应用程序TCP/IP协议栈网卡A192.168.0.4网卡B202.169.0.34应用程序数据192.168.0.43.5拒绝服务攻击案例分析2)smurf攻击程序实现——smurf攻击1)setsockopt函数解析用于任意类型、任意状态套接口的选项设置。intsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);s——需要改变选项设置的套接口;3.5拒绝服务攻击案例分析1)setsockopt函数解析用于任意类型、任意状态套接口的选项设置。intsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);level——指定控制套接字的层次。SOL_SOCKET:通用套接字选项;IPPROTO_IP:IP选项;IPPROTO_TCP:TCP选项。optname——套接字选项的名称1)setsockopt函数解析1)setsockopt函数解析3.5拒绝服务攻击案例分析1)setsockopt函数解析intsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);optval——一个指针。对于布尔类型的选项,如果选项设置为TRUE,optval指向非零整型数;如果选项设置为FALSE,optval指向一个等于零的整型数。这时,optlen=sizeof(int)。对于其他选项,optval指向那个存储整型或结构的内存地址,optlen是整型、结构的长度。3.5拒绝服务攻击案例分析2)Sleep函数挂起当前正在执行的线程,等待一段时间后(单位是千分之一秒),例如:Sleep(800);3)程序分析①文件头3)程序分析②结构及常量定义版本报头标长服务类型总长度标识标志片偏移生存时间协议头校验和源IP地址目的IP地址选项填充域数据部分报头04816192431位3)程序分析②结构及常量定义3)程序分析③计算校验和子函数④主程序命令格式:FloodPing.exeFakeSourceIpDestinationIp[PacketSize]例如:FloodPing.exe192.168.15.23192.168.15.2556400④主程序检查输入参数FloodPing.exeFakeSourceIpDestinationIp[PacketSize]例如:FloodPing.exe192.168.15.23192.168.15.2556400argc=4,argv[1]=FakeSourceIpargv[2]=DestinationIp,argv[3]=PacketSize。④主程序将命令行输入的参数保存在相应的变量中④主程序调用注册函数,创建一个原始套接口④主程序调用setsockopt函数,改变套接口选项设置④主程序填写目标地址结构,构造IP报头、ICMP数据包,并放入缓冲区SendBuf④主程序填写目标地址结构,构造IP报头、ICMP数据包,并放入缓冲区SendBuf发送缓冲区ICMP报头ICMP数据区:E④主程序计算数据包校验和,填写数据包总长度,使用无限循环,重复发

1 / 64
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功