什么是分布式拒绝服务攻击(DDoS),如何防范DDoS攻击?

 2023-10-01 22:27:31发布 2023-10-01 22:27:44更新

分布式拒绝服务攻击(Distributed Denial of Service,DDoS)是指攻击者通过控制不同位置的多台机器,并利用这些机器对受害者实施攻击。在区块链中,DDoS攻击的主要目的是大量占用网络中的节点资源,使得这些节点无法提供正常的服务,如果受害的节点过多,很可能会影响整个区块链网络的运行。

什么是DDoS攻击

信息安全的三要素——“保密性”、“完整性”和“可用性”中,拒绝服务攻击,针对的目标正是“可用性”。该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。

拒绝服务攻击(DoS)问题一直得不到合理的解决,目前还是世界性难题,究其原因是因为这是由于网络协议本身的安全缺陷造成的,从而拒绝服务攻击也成为了攻击者的终极手法。

攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。

而分布式拒绝服务攻击(DDoS)是指攻击者采用分布式攻击手法施行DoS攻击,通常是控制了多台机器向目标主机或者路由器发起DoS攻击。

针对区块链来说,攻击者通过DDoS攻击试图减慢网络速度,或者迫使网络停止运作。也可用于针对矿池,使矿池脱机,或者针对特定的目标主机,使其从网络离线。

DDoS攻击的步骤

了解攻击目标

首先,黑客需要了解攻击目标,假设攻击目标是个网站,黑客需要先确定有多少主机连接这个网站的站点,以及这个站点的配置信息等。

设置傀儡机

黑客会找到一些傀儡机,在傀儡机上安装相应的攻击程序,而这个攻击程序是可以在主控机上控制的。这样小黑就可以通过主控机和傀儡机去攻击目标网站。

实施攻击

黑客通过主控机发起攻击“命令”,这时被控制的傀儡机就会不停地向目标发送攻击包(可能就是一些让这个网站进行服务的请求),也就是说黑客间接地让这个网站不停地处理某个事情,这样就会大量占用网站的资源,从而导致别的用户无法利用这个网站的资源。

DDoS攻击的危害

DDoS攻击造成的危害自不必说,中心化场景下,通常针对网站或者主机施行攻击,造成网站无法访问,影响业务运作,造成巨大经济损失。

在区块链场景下,攻击者目标通常是为了一定的利益才执行这样的攻击,攻击者可以向网络节点发送大量的虚假信息,进而让这些虚假信息都访问受害者节点,造成受害者节点压力过大。

比如,一些虚假的索引信息,会影响到同步区块的速度等。

DDoS攻击的形式

带宽攻击

带宽攻击很好理解,通过攻击使受害者节点的网络带宽耗尽,从而造成拒绝服务的效果。

区块链系统的底层构建于P2P网络,其中通信上广播占据了大部分通信,一次广播通常就是大于N倍的收包,随着网络规模的扩大,节点数量的增多,通信的压力也会很大。

攻击者通过疯狂向节点通信端口发包,或者攻击者利用软件逻辑触发系统自动的大规模通信(比如触发同步),耗尽节点的带宽,最终从网络中离线。

而一旦离线重启之后,往往又会伴随着其他的攻击,比如日蚀攻击。

CC攻击

DDoS攻击是针对IP的攻击,而CC攻击的是服务器资源。

CC攻击全称Challenge Collapsar,中文意思是挑战黑洞,因为以前的抵抗DDoS攻击的安全设备叫黑洞,顾名思义挑战黑洞就是说黑洞拿这种攻击没办法,新一代的抗DDoS设备已经改名为ADS(Anti-DDoSSystem),基本上已经可以完美的抵御CC攻击了。

CC攻击的原理是通过代理服务器或者大量肉鸡模拟多个用户访问目标网站的动态页面,制造大量的后台数据库查询动作,消耗目标CPU资源,造成拒绝服务。

CC不像DDoS可以用硬件防火墙来过滤攻击,CC攻击本身的请求就是正常的请求。我们都知道网站的页面有静态和动态之分,动态网页是需要与后台数据库进行交互的。

比如一些论坛用户登录的时候需要去数据库查询你的等级、权限等等,当你留言的时候又需要查询权限、同步数据等等,这就消耗很多CPU资源,造成静态网页能打开,但是需要和数据库交互的动态网页打开慢或者无法打开的现象。

这种攻击方式相对于前两种实现要相对复杂一些,但是防御起来要简单的多,提供服务的企业只要尽量少用动态网页并且让一些操作提供验证码就能抵御一般的CC攻击。

SYN洪泛攻击

SYNFlooding攻击是指攻击者发送了大量的TCP/SYN包,并且以一个假的IP作为发送地址到达目标主机,由于TCP在建立连接的时候有3次握手,也就是建立连接需要发送3个包,当目标主机收到这个SYN建连包之后,会回复一个SYN-ACK包。

但是由于攻击者恶意伪造了来源IP,那么攻击者是收不到这个ACK包的,但是会导致目标主机打开了一个半开放的连接,如果攻击者发动了频繁的SYN洪泛攻击,那么会造成目标主机TCP资源消耗枯竭,导致无法与正常客户端建立连接,以达到拒绝服务的效果。

Land攻击

Land攻击是SYN攻击的变种,攻击者此时伪造的来源IP就是目标主机的IP,也就是说这个TCPSYN包的来源IP和目的IP相同,都是目标主机,那么就会导致目标主机向自己发送大量的SYN-ACK包,从而消耗TCP资源,阻止正常客户端的连接建立。

DDoS的防御方案

高防服务器

高防服务器就是指能独立硬防御50Gbps以上的服务器,本身就能抑制一定的DDoS攻击。

CDN加速

CDN本身就就有大带宽,多节点的优势,并且隐藏了真实的网站IP。通过把流量分配到多地多节点降低攻击负载,防止源站崩溃。

配置防火墙

防火墙能防御DDoS和其他的一些攻击。防火墙有软件防火墙和硬件防火墙之分。必要可以两者结合。

攻击检测和溯源

通过分析攻击的方法和手段,追踪攻击的路由,检测出恶意的IP和路由,做好相应的屏蔽,保护主机。

黑名单机制

通过建立黑名单机制,限制黑名单的访问。

推荐阅读