本文,将从以下四点展开分享,可戳蓝色字体快速跳转:
01 拒绝服务攻击感性认知是什么?
02 拒绝攻击服务理性认知是什么?
03 常见拒绝服务攻击有哪些?
04 对于拒绝服务攻击,我们能做什么?
01 拒绝服务攻击感性认知
拒绝服务攻击,从某个角度上你可以认为是一种人为的堵车。
我们假设对方服务器开设了一条高速通道,一条可以容纳10辆车同时并排行驶的通道。每辆车必须通过这条高速通道,才能最终到达服务器内部,访问自己想要的资源。
但是有一些心怀不轨的人,故意搞破坏,安排了大量的车去强占你的车道
这种情况下,你想啊,成百上千辆的车同时都想并排行驶,这能不堵车嘛?服务能受得住嘛?
什么情况下会出现拒绝服务攻击呢?
举个黑客利用僵尸网络进行拒绝服务攻击的栗子:
小A和小B同时开了某游戏的私服,想要从中挣点零花钱。其中小A的私服中在线人数通常几百人,而小B的私服中在线人数寥寥无几。
都说同行是冤家啊,小B心里那个嫉妒啊,于是小B花了几千块钱找到了某个黑客,想治治小A。
黑客拿钱办事,发动了自己的几千台僵尸主机,同时对小A的私服进行攻击。
这种情况下,小A的服务器严重堵车。真正在私服内玩耍的玩家们发现突然游戏画面卡成PPT了,感觉游戏体验及其恶劣,纷纷下线,甚至直接退游。
于是,小B恶心小A的目的就达成了。
02 拒绝服务攻击理性认知
就像你在家呆着,突然有人敲门,你就得去看一眼一样,你并不能要求不要有人来敲门。
拒绝服务攻击只能缓解而不能根除,也就是说你要是碰不到还好,要是碰到了,那你就烧钱吧,花钱请个保安(云Waf)在门口帮你蹲着。
其实很多安全公司就是靠卖防范拒绝服务攻击产品的,可以说没有拒绝服务攻击,他们都无法卖货咯
拒绝服务攻击其中有DOS攻击和DDOS攻击:
Dos攻击:
Dos攻击是拒绝服务攻击的一种,
它通过耗尽CPU、内存、带宽以及磁盘空间等系统资源,
来阻止或削弱对网络、系统或应用程序的授权使用的行为。
DDoS攻击:
分布式拒绝服务,产生灾难性的流量攻击。
03 常见拒绝服务攻击
1、Ping of death (死亡之Ping)
在1996年以前,你想要发动拒绝服务攻击,你只需要构造一个Ping包,让这个ICMP报文大于65535后发送给目标主机。
目标主机由于协议栈不完善的原因,处理报文出错,就会出现系统瘫痪,比如windows系统就会出现蓝屏死机的情况。
而现在,随着TCP/IP协议栈的不断完善,现在这个方法已经行不通了
2、Tear drop(泪滴攻击)
在二十多年前,windows95那个时代,也是由于通信协议栈的不完善,当UDP分片重叠时,报文重叠会导致协议栈处理出错。
往往你只需要发送一个对应的报文,对方主机就会死机。
而现在,随着TCP/IP协议栈的不断完善,现在这个方法也已经行不通了
3、SYN ACK Flood(SYN欺骗攻击)
黑客伪造大量源IP地址,发送SYN包到目标服务器。
目标服务器接收到该数据包后,会回复一个SYN ACK包,并且记录下该SNY包的详细信息。
对伪造的源IP地址来说:
如果它确实存在,那么这台主机在接收到服务器发送过来的SYN ACK报文后,就会感觉十分迷惑,我什么时候给你发送SYN包了?接着该主机就会回复服务器,我不需要你的服务
而如果它不存在,那么服务器在一定时间内,就会以为对方没有听见。于是持续的发送SYN ACK包,直到察觉对方不存在,而到这已经占用了服务器的许多资源。
就这样,服务器为了一些莫名其妙的源IP耗费了很多精力,填写了很多TCP连接表无效信息,而这个连接许可登记表都被填满了,那么正常的用户就无法连接了。
面对这种攻击,我们该如何抵御呢?
确实有一种方法叫做,SYN Cookie防御机制。
SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。
它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。再收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。
打个比方来说就是,你呆在家,当有人敲门的时候,你并没有马上到门口看是谁在敲门,而是先核实了对方身份后再去开门。这样就免去了不必要的,一次次走到门口仔细看对方是谁的麻烦。
4、反射攻击
反射攻击比较狡猾,这种一种借刀杀人的方法。
他会伪造源IP地址为受害人地址,目的IP地址位中间媒介地址,这样子中间媒介地址会给受害人地址发送应答包,导致受害者的网络瘫痪。
而黑客则是在隔岸观火。
对于黑客而言,发送数据的具体内容可以是UDP报文,也可以是TCP握手报文,还可以是对开启了回送服务的中间媒介发送任何消息。
总之一句话,我挑拨你们两的关系,你两互相吵去吧。
5、放大攻击
放大攻击比较阴险,这种一种替目标服务器拉仇恨的方法
他会伪造源IP地址为受害人地址,而目的IP是广播地址或者DNS服务器地址,在这个广播里的所有主机或者是对应的DNS服务器都会回应受害人地址,发送应答报文。
黑客常利用的广播攻击有,基于ICMP的 ICMP Smurf攻击,基于UDP 的Fraggle攻击等无连接报文。
6、僵尸网络
这是种收小弟的攻击方法,攻击者平时通过各种方式获得许多主机的控制权,将其变为肉鸡。
在关键时刻,肉鸡可以同时利用以上几种方法,同时对目标服务器进行攻击。
04 对于拒绝服务攻击,我们要做的
1、未雨绸缪
1.1 对于SYN 欺骗攻击,如上文所述,采用SYN Cookie防御机制。
SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。
它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。
再收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。
1.2 对于攻击者伪造源IP的行为,我们可以使用路由器安全配置
通过配置,使得路由器能记录下不同主机的位置信息(IP地址、MAC地址、端口信息),当攻击者伪造IP时,路由器可通过查表发现该端口与IP地址不符,便丢弃该数据包。
1.3 对于HTTP拒绝服务,我们可以使用验证码机制、重定向
如果主机需要访问该页面,则需要进行输入验证码,这样就避免了很多无意义的访问,但对于用户来说体验感不好
还有一种方法是重定向,这种方法用户体验感好
2、亡羊补牢
不怕一万,就怕万一,万一真的发现流量异常,服务器快承受不住了,该怎么办呢?
安全人员会这么做:
①捕获数据包,先抓包来看看到底是怎么回事
②分析数据包,数据包里有没有线索
③判定攻击类型
④确保防御机制开启(防欺骗、限速率、代理验证)
⑤黑名单阻断恶意流量
⑥对正常流量建立基线,
⑦快速识别异常流量
⑧恢复正常
3、总结经验
总结经验是为了之后更好的预防,安全人员可以这么做
①建立Neo4j图数据库,
便于后期分析
②存储安全事件,记录在安全漏洞数据库中
③对安全事件进行攻击链溯源分析
④对病毒家族进行威胁成长分析
⑤输出误报、漏报、确证报告
⑥优化防御模型
以上便是,我分享的关于拒绝服务攻击的认知