DDOS攻击:安全最大威胁

297 阅读10分钟

DDOS攻击是一种更复杂和庞大的攻击形式,它涉及多台计算机或设备协同攻击同一目标。攻击者使用多个受控的僵尸计算机(也称为"肉鸡")组成一个Botnet(僵尸网络),并同时向目标系统发起大量请求。这些僵尸计算机可以来自全球各地,攻击者可以通过控制这些计算机发动协同攻击,使目标系统无法正常工作。

一、DDOS攻击用途

DDoS的用途非常广泛,是敲诈勒索、破坏竞争对手经营的一把利刃,甚至可以被用于提高网络游戏的胜率。 2020年1月,育碧游戏纽约地区法院起诉就DDOS攻击服务商,DDOS攻击服务商为玩家提供“炸房”服务,即玩家可以在一局游戏快失利之时对游戏服务器发动DDOS攻击,造成服务器卡顿,导致本局服务无效。 “炸房”在国内也不是新鲜的话题。2019年,暴雪旗下的游戏《守望先锋》中国运营团队配合上海公安等执法机关,对《守望先锋》游戏中性质恶劣的“炸房外挂”进行重点打击。 在2017年,腾讯旗下《英雄联盟》运营团队对2189名玩家因为使用“炸房”程序被全服封号。

二、DDOS攻击原理

DDOS攻击的目的是为了让被攻击的服务器资源耗尽,服务器资源当然包括计算、网络、存储等,也就是通过一些手段使得服务器的计算性能达到上限、网络带宽被占满或者存储空间被用完,这样服务器就无法响应正常的请求了。

三、DDOS攻击种类

根据OSI七层模型,DDOS攻击最常出现在第三层网络层、第四层传输层、第六层表示层和第七层应用层。

第三层和第四层的DDOS攻击一般被统称为基础设施层攻击,一般通过模拟大量三四层的报文如icmp、udp、tcp来让服务器进行响应,从而达到消耗服务器资源的目的。

这种攻击是最常见的,也是最简单的,甚至开源了很多工具如hping3来模拟这种DDOS攻击。正因为这类攻击有一些独有的特性,也使得开发者可以比较容易的识别出这类攻击从而进行防范。

第六层和第七层的DDOS攻击一般可以归为应用层攻击,这类攻击通过模拟应用层的请求如http来让服务器进行响应。

这类攻击没有第一类常见,因为攻击者必须了解服务端应用程序工作方式,需要构造更加复杂的请求,比如某登陆页的http请求、某dns服务器的dns请求。这一类攻击都是正常的请求,所以也更难防范。

四、常见DDOS攻击

1.畸形报文: 这种攻击有一点以巧取胜的意思,它并不需要很大的数量,也许只需要一个特殊的报文就可以导致服务器的崩溃。所谓畸形报文,就是指那些不符合协议规定的报文,比如tcp头的SYN、RST标志位都置1的报文;比如ip头例源地址和目的地址都是同一个的报文等等。

2.udp flood: 攻击者利用udp无状态的特点,向服务器的不同端口发送udp报文,服务器收到之后会寻找对应端口的应用程序,如果没有找到,会返回“目标不可达”的消息。攻击者往往会通过伪造源ip来达到隐藏自己身份的目的。这种攻击方法以量取胜,一旦服务器被攻击流量淹没,那就无法响应正常用户的请求。

3.icmp flood: 攻击者想服务器发送大量icmp报文,服务器收到之后会回复一个icmp echo给源地址。这种攻击和上面的udp flood攻击类似,可以看到攻击请求和服务器响应流量是1:1的关系,“性价比”并不高,现在已经很少看到了。

4.syn flood: 最常见最知名的一种攻击,它的防御方法甚至被写进了linux内核。攻击者利用了三次握手的机制,发送大量第一次握手的syn包给服务器,并且无视服务器返回第二次握手的synack包,故意不发送第三次握手,导致服务器大量端口处于SYN_RECV状态。由于服务器收不到第二次握手的报文,超时重传,重传一定次数之后,才会释放连接。服务器的这个状态我们一般称为半连接,要知道服务器能每收到一个syn包时,都会将连接信息储存到一个队列中,这个队列肯定也是有长度的,当超过队列长度时,新来的syn包就无法被响应,服务器也就无法响应正常的tcp请求了。

5.ack flood: 攻击者向服务器发送大量ack标志位置1的报文,服务器收到后,会在协议栈判断报文是否合法(是否有该四元组的连接,序列号是否正常等等),如果不合法,服务器会返回一个rst报文。跟这种攻击比较类似的还有rst flood和fin flood。

6.udp reflect: udp是无状态的,没有三次握手,攻击者利用udp的这个特点,向服务器发送大量业务请求,导致服务器返回远大于请求量的响应,从而达到占用大量带宽的目的。 udp reflect攻击主要针对哪些响应包远大于请求包的协议,如dns、ntp等,以达到四两拨千斤的效果。 以dns为例,由于dns大部分提供公网服务,会将53端口暴露到公网上。攻击者伪造一个源ip地址,向dns服务器的53端口发送大量的dns请求,dns服务器收到之后,会回给攻击者伪造的ip地址大量的dns响应。可以看到受攻击的对象有两个,一个是攻击者伪造的ip地址,另一个是dns服务器。

7.ssl flood: 这是表示层的一种DDOS攻击。ssl握手的过程中,在协商加密算法时服务器CPU的开销是客户端开销的15倍左右。攻击者利用这一特点,在一个TCP连接中不停地快速重新协商,从而达到耗尽服务器CPU资源的目的。 ssl客户端发送一条ClientHello消息来初始化一次新的握手,该消息大约100字节左右,不需要加密。服务器端响应ClientHello消息,需要连续发出3个消息,ServerHello、Certificate、ServerHelloDone,这3个消息一般在3000字节左右,需要用高级加密标准AES或流加密算法簇RC-4进行加密后再发送。每次ssl握手,ssl服务端发送的数据比客户端多了30倍,还要进行加密,从而导致服务端CPU计算资源大量占用。

8.http flood: http flood是最难模拟也是最难防范的一种攻击,攻击者模拟用户的真实操作对某些接口发送大量http请求,导致其他正常用户的请求响应速度变慢甚至被拒绝。

当面对多样化的ddos流量攻击威胁,部署一个全面而多层次的防御策略是至关重要的。以下是几种有效的防御措施和建议,帮助提高系统对DDoS攻击的抵抗能力:

1、部署安全加速SCDN,如果请求来自恶意攻击者,那么SCDN节点会自动将请求牵引到特定的清洗中心。在清洗中心内,会对这些恶意请求进行识别和过滤,从而保证真正合法的用户请求能够正常地访问网站。

  • AI+行为分析检测:在OWASP TOP 10防御的基础上,引入AI防御能力,提高漏洞检出率,降低安全事件误报率,快速响应安全威胁。

  • 安全能力开放:全面开放自定义规则安全能力,引入语义解析引擎,用户可以通过正则或者字符串的方式,自定义安全防护策略,满足个性化防御需求。

  • 安全可视化:默认提供详细报表分析、全量日志查询和告警功能,全面了解业务带宽使用情况,业务安全情况,快速决策和处置安全问题。

  • 高可靠、高可用的服务:后端自动监控业务可靠性,动态调度,提供高可靠、高可用的WAF防护服务。

image.png ** 2、部署抗D盾,抗D盾是用数据和算法来实现智能调度,提供多个高防节电池无感知切换节点转发防护,将“正常玩家”流量和“黑客攻击”流量快速分流至不同的节点,不影响游戏正常进行,满足玩家与游戏运营商对安全和体验的要求。**

  • DDoS防御:基于SDK接入的分布式防御体系,可精准定位恶意攻击者并主动隔离,具备自动化溯源能力。

  • CC攻击防御:私有化协议二次封装,非链接限速、报文检测机制,0误杀、0漏过。

  • 集成方式:EXE封装、SDK接入,支持Windows、iOS、Android系统,分钟级集成。

  • 网络加速:智能多线节点分布,配合独家研发的隧道填补技术,保证每条线路都是优质网络

  • 防掉线系统:研发新SocKet协议,弥补WinSock链接失败会断开问题,链接失败自动无缝切换

image.png

3、使用DDoS防护(IPnet),高防IP是一种防御DDoS攻击的方案,它通过在客户机与网络之间添加一层防护设备,通过高速计算和智能算法,识别和过滤掉流量中的非正常流量,保护企业网站和应用。

  • 自定义清洗策略:支持从结果、交互,时间,地域等维度对流量进行画像,从而构建数千种可自定义拦截策略,同时防御不同业务、不同类型的CC攻击。

  • 指纹识别拦截:指纹识别可以根据报文的特定内容生成独有的指纹,并以此为依据进行流量的合法性判断,达到精准拦截的恶意流量的目的。

  • 四层CC防护:德迅引擎可以根据用户的连接、频率、行为等特征,实时分析请求,智能识别攻击,实现秒级拦截,保障业务的稳定运行。

  • 支持多协议转发:支持TCP、HTTP、HTTPS、WebSocket等协议,并能够很好地维持业务中的长连接。适配多种业务场景,并隐藏服务器真实 IP。

  • 丰富的攻击详情报表:秒级的即时报表,实时展示业务的访问情况、流量转发情况和攻击防御情况,监控业务的整体安全状况,并动态调整防御策略,达到最佳的防护效果。

  • 源站保护:通过反向代理接入防护服务,隐藏真实源站服务器地址,将清洗后的干净业务流量回送到源机

总之目前DDOS攻击已成为网站安全的最大威胁之一,互联网企业应加强自身网络安全意识,通过选择合适的防御方案、配置合理的防御策略、实时监测和分析、及时更新和升级以及加强合作与沟通等措施,可以有效地抵御DDOS攻击的影响,保护我们的网站安全和应用安全。