DDOS攻击原理与防御

什么是DDOS攻击?

    DOS(Denial of Service)是拒绝服务攻击.
  DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆、万兆、百级级别的网络,这使得DoS攻击的困难程度加大了-目标对恶意攻击包的"消化能力"加强了不少,例如你的攻击软件每秒钟可以发送3,000个攻击包,但我的主机与网络带宽每秒钟可以处理10,000个攻击包,这样一来攻击就不会产生什么效果。
  这时侯分布式的拒绝服务攻击手段(DDoS)就应运而生了。理解了DoS攻击的话,它的原理就很简单。如果说计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用的话,攻击者使用10台攻击机同时攻击呢?用100台呢?DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
  分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在Internet上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行
       高速广泛连接的网络给大家带来了方便,也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了.
 
被DDoS攻击时的现象:
· 被攻击主机上有大量等待的TCP连接。
· 网络中充斥着大量的无用的数据包,源地址为假。
· 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。
· 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求。
· 严重时会造成系统死机。
 
DDOS全球实时图
http://www.digitalattackmap.com/

 

攻击面
我们将正常用户访问网站页面的流程分为1-8 八个阶段

对于目标来说 看可以讲八个阶段分成两类:
1.上传流量  
 2.下载流量
 
针对不同的攻击面:
1-8 2-7 ping tcp包等等
3-6 需要动态语言处理的请求及响应
4-5 数据库查询及结果
 
不同攻击面分别消耗不等资源:1.带宽资源 2.CPU 3.内存 4.硬盘资源
 
攻击类型
1>反射型(放大攻击)攻击 - 以小博大
从攻击服务器性能来看 , 让服务器返回工作并且返回更大的数据量的数据包(比如get请求)能够消耗服务器更多的性能, 造成不能对正常用户的访问做出回应。
比如说下面要讲的cc攻击。 我们将这种手段称之为反射型攻击。
 
2>CC攻击
攻击原理:利用代理服务器向受害者发起大量HTTP Get请求;主要请求动态页面,涉及到数据库访问操作;数据库负载以及数据库连接池负载极高,无法响应正常请求.
 
3>Syn Flood
攻击原理:依据tcp建立连接的三次握手。此攻击以多个随机的源主机地址向目的主机发送syn包,而在收到目的主机的syn+ack包后并不回应,目的主机就为这些源主机建立大量的连接队列,由于没有收到ack一直维护这些连接队列,造成资源的大量消耗而不能向正常的请求提供服务。与之类似的攻击方式还有ackflood、s-ackflood、finflood、rstflood、tcpflood 。
 
等等
小结: DDOS攻击虽然类型繁多,但是思路相同,不同类型只是用不同的协议来消耗服务器资源。
 
使用hping3尝试DDOS自己的服务器
Hping3/Nping: TCP/IP数据包生成工具,用于压力测试、安全审计。
使用hping3进行DoS攻击:
# hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source testsite.com
• -c:发送数据包的个数
• -d:每个数据包的大小
• -S:发送SYN数据包
• -w:TCP window大小
• -p:目标端口,你可以指定任意端口
• –flood:尽可能快的发送数据包
• –rand-source:使用随机的IP地址,使得安全设备不能定位实际IP;
• -a或–spoof:隐藏主机名
• testsite.com:目的IP地址或网站

使用hping3实现简单SYN洪水攻击:
# hping3 -S --flood -V testsite.com

使用nping实现TCP连接攻击:
# nping --tcp-connect -rate=90000 -c 900000 -q testsite.com


抓包可以看到source ip都是随机值:

 

 
防御
1.将站点推送CDN , 让CDN承受资源损耗
2.购买抗D服务

 

3.保障真实ip的私密性

 

 
posted @ 2019-07-21 13:14  汉广5651552  阅读(619)  评论(0编辑  收藏  举报