NETGEAR拒绝连接请求_安全测试DDOS分布式拒绝服务攻击

        首先开门见山,DDOS就是利用合理的请求造成资源过载,导致服务不可用。

        在知乎上看到一篇对DDOS的解释很有趣,就把他引用过来,复仇者联盟看过吧,有这么一个场景,一大堆请求过来了:

79d0ecaf9be4e40120080602e1c26b67.png

然后服务器扛不住,拒绝了所有请求,把绿巨人这些也要进去的超级英雄也拦住了,像下面一样:

4cb9776be1bac39aab44b069dc009650.png

        实际上DDOS就是所谓的,资源一直被无效的请求占用,导致真正有需要使用的客户反而用不了,就好像是商店售货员要给客户售卖东西,但所有的售货员都被一群不买东西的用户拦着聊天,导致真正要买东西的人反而接收不到服务。

        回到正题,DDOS常见的攻击方式有:SYN flood、CC、UDP flood、ICMP flood.

SYN flood:

        SYN flood为利用TCP/IP协议的漏洞进行攻击的一种手段。需要了解这种攻击手段首先要了解TCP/IP的三次握手。

        如下所示:(图片取自百度百科)

5c747147bc0efe3a8e99b1ac0d465ef3.png

第一次

第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。[3] 

第二次

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。[3] 

第三次

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。[3]

简而言之,就是

  1. 客户端请求建立连接2.服务器应答3.客户端确认。

SYN flood攻击流程:

  1. 伪造大量的源IP地址,对服务端进行请求

  2. 服务端收到请求,进行回应。

  3. 由于是假IP地址,不会响应。

  4. 服务端在第二步后过段时间又进行回应,直到多次失败后才放弃。

由于一直在进行这种半连接的处理,服务端就会陷入大量资源被占用的情况,而真实需要连接的用户就出现了连接不上的现象了。

SYN flood攻击的防御机制:对频繁访问的IP进行识别并过滤。

CC攻击

        CC攻击为黑客刻意去制造一堆访问资源消耗比较大的正常请求,造成服务器资源被占满的情况。这种在web应用上尤为常见,比如说查询数据库、磁盘读写等。

        这样的场景在测试中很容易制造,比如说我查询一个比较复杂的报表,查询的时候进行并发调用,就很可能把服务资源用完。

        如果换做一个网站,几乎避免不了各种爬虫爬取资源的现象,早已是爬虫满世界的互联网国度,如果不做好墙,分分钟可以把对面的服务器给爬到挂掉。

CC攻击的防御机制:由于CC攻击做出的是正常的业务请求,很难以区分,一般会有两种方式去避免,1、限制用户过于频繁的请求。2、验证码阻隔。

       举个例:

        记得我最早在学习写爬虫的时候,忘记调整频率,结果我的IP一进去爬虫就被拒绝访问了,对方网站识别出了爬虫直接拒绝了我的请求。但只用几分钟我就找到了重新访问的办法,那就是开ip代理进行访问,那时候网上免费的ip代理一大堆,立马就访问通过了。所以用1的方式就比较局限。因而有了第二种方法,只要验证码不被轻易识别,普通爬虫用户就难以进去。所以可以明白为什么有段时间12306那些反人类的验证码出现的理由了吧。

UDP flood:

        上面说到过利用TCP/IP漏洞进行攻击的案例,同样的UDP也可以被利用,UDP协议是一种无连接的服务,在UDP Flood 中,攻击者通常发送大量伪造源IP地址的小UDP包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bps的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。

ICMP flood:

        ICMP(Internet控制报文协议)用于在IP主机、路由器之间传递控制消息,控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。通过对目标系统发送海量数据包,就可以令目标主机瘫痪,如果大量发送就成了洪水攻击。

HTTP POST DOS:

        POST攻击是在使用这些接口的时候,把对应要发送的报文长度设置的很长很长,然后发送速度调的很慢很慢,这样这个接口就一直被占用着,当同样的请求数多了之后,就会达到对应的连接上限,后面正常的业务请求就无法进行了。

小结:

        各种各样的DOS层出不穷,但终归就是抢占资源,然后让正常用户无法使用。由于攻击成本很低,所以这种攻击在如今变得很频繁,如果要做到正确防范这样的攻击,却需要花费很大的精力。我认为这种现象未来依旧还会很多,而对抗这种攻击的路依旧道阻且长。

参考资料:《 白帽子讲WEB安全》

                 《WEB安全测试.(美)霍普》

                  《云安全》

     02519339aac4976ce2a5c93c449316eb.png   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值