金融保险 2023-04-12
本文通过剖析DDoS攻击原理,总结过往防护经验,提出了针对常见DDoS攻击的防护思路,并验证了防护效果。
文丨中国银行信息科技运营中心 李云天 杜放
分布式拒绝服务(Distributed Denial of Service,DDoS)攻击是通过使用大规模互联网流量淹没目标服务器或其周边基础设施,从而影响网络正常流量及服务的恶意行为。黑客团伙通过劫持连接互联网的计算机等设备建立僵尸网络,操纵僵尸设备发送大量请求,持续消耗目标系统的网络带宽和系统资源。2017年以来,DDoS攻击数量已连续5年呈高速增长态势,仅2021年上半年,全球DDoS攻击就高达540万起。在此背景下,作为黑客攻击的首要目标,商业银行对DDoS攻击进行有效防范意义重大。
一、常见DDoS攻击类型及防范措施
常见的DDoS攻击可分为流量型攻击和应用型攻击(如图1所示)。流量型攻击具有大流量、高拥塞等特点,且针对单个IP/域名的流量型攻击可能导致网络带宽或设备性能资源耗尽,从而影响其他IP/域名对外提供服务。应用型攻击则针对协议栈或应用层软件设计的缺陷或漏洞等进行攻击,消耗服务器的CPU和内存、数据库资源,使其无法响应正常请求。
图1 常见DDoS攻击类型
参照业内最佳实践,金融机构大多采用“运营商云清洗+本地清洗”相结合的防护策略。在实际针对DDoS攻击的防护中,运营商侧清洗策略常常难以满足本地个性化定制需求,部分流量解密也涉及客户的数据安全问题。因此,本地清洗策略的及时、有效响应至关重要。本文基于金融机构常见网络出口架构搭建实验环境,围绕其应对DDoS攻击的本地防护策略进行深入研究,为金融机构提升网络安全防护能力提供指导。
二、DDoS攻击本地防护实验设计
DDoS攻击本地防护实验测试环境(如图2所示)参照某金融机构互联网出口架构搭建,通过XDDoS软件模拟黑客劫持公网终端(客户端)发送攻击流量;出口路由器将镜像流量牵引至本地流量检测设备;检测设备发现流量异常后,联动清洗设备对出口流量进行牵引与清洗。
图2 DDoS攻击本地防护实验测试环境
三、DDoS攻击本地防护策略与实验结论
1.SYNFlood攻击
(1)攻击原理解析
在正常的TCP会话中,服务器端收到SYN数据包后,会回复(SYN,ACK),并转为半开连接状态。此后如未能收到客户端的(ACK),服务器将保持半开连接状态。SYN Flood攻击短时间内发送大量伪造源IP地址、源端口的SYN数据包,持续消耗服务器TCP半开连接资源,导致服务器难以响应正常的连接请求。
(2)本地防护策略
无效连接监听及释放:持续监控当前服务器半开连接数,当半开连接数累计超出阈值时,将其视为无效连接并释放资源。
防火墙/防护设备代理:当流量路径上存在防火墙或防护设备时,利用其代理功能,在接收到客户端发送的SYN数据包后,由防护设备发送代理(SYN,ACK)数据包验证真实性。如发来的数据包中源IP地址真实,客户端将会响应代理设备的(SYN,ACK)数据包;如数据包中源IP地址为伪造,客户端将不会响应。
(3)测试结果
实验环境中,自客户端模拟发起SYN Flood攻击流量(峰值1.7Mbps,攻击频率3000pps,攻击并发数255),防护设备通过代理确认SYN数据包源IP地址的真实性,对流量进行清洗。清洗后攻击流量被过滤,且用户访问服务器正常,业务流量未被过滤。
2.ACK Flood攻击
(1)攻击原理解析
TCP连接建立后会携带ACK标志位,服务器收到带标志位的TCP数据包后,优先查看数据包内是否包含连接四元组,不包含时回应RST报文。针对服务器回应报文的动作,攻击者短时间内发送大量ACK数据包,从而可能引发网络链路拥塞、设备性能下降、服务器资源耗尽。
(2)本地防护策略
ACK Flood具有“单包攻击”的特点,在大多情况下,数据传输双向的报文数量基本均衡。当单向报文数量远超平衡数量时,可基本判定存在攻击行为,因此采用以下方式防护:当ACK数据包传输速率超出阈值时,启用防护设备对新增连接进行首包检查,通过丢弃ACK数据包对报文序列号、重传时长进行确认,将符合要求的源IP地址加入白名单,不符合的源IP地址加入黑名单。
(3)测试结果
实验环境中,自客户端模拟发起ACK Flood攻击流量(峰值1.7Mbps,攻击频率3000pps,攻击并发数255)。防护设备通过确认源IP地址真实性选择性清洗流量,清洗后可见攻击流量被过滤,业务流量未被过滤。
3.UDP Flood攻击
(1)攻击原理解析
UDP是一种无连接协议。服务器接收到UDP数据包后,根据目的端口号确认自身是否存在监听程序,不存在时,目的地址无法连接的数据包将返回至源IP地址。攻击者伪造源IP地址向目标地址发送大量UDP数据包,如命中提供服务的端口,即可影响相关业务;如未能命中提供服务的端口,也能迅速消耗网络带宽与设备资源。
(2)本地防护策略
限流
基于目的IP地址/安全区域的限流:统计访问特定IP/安全区域的UDP流量并进行限流。
基于会话的限流:统计单个UDP会话的报文速率,若报文速率高于告警阈值,防护设备将锁定该会话、阻断命中报文;当该会话在一定窗口内无流量后才能被解锁。
特征识别
UDP Flood攻击报文一般携带相同特征字段,如包含特定字符串等。该类字段多来自于攻击者常用的DDoS工具内嵌的默认字符串,防护设备可预先收集这类字符串,通过比对进行攻击判别。因攻击报文间相似度极高,比对字段相似程度可显著降低误判几率。
(3)测试结果
实验环境中,自客户端模拟发起UDP Flood攻击流量(峰值1.3Mbps,攻击频率3000pps,攻击并发数255),防护设备通过对UDP流量目的IP地址进行限速实现流量清洗,清洗后可见攻击流量已被过滤,且用户访问服务器正常,业务流量未被过滤。
4.HTTP慢速攻击
(1)攻击原理解析
HTTP慢速攻击通过长期保持与HTTP服务器的连接来占用服务器资源,常见类型如下。
Slow POST:
攻击者向服务器发送POST报文请求提交数据,请求中将总报文长度预设为较大值,但在后续单次传输中每次仅传输长度较小的报文,导致服务器长期保持资源占用的等待状态。
Slow headers:
攻击者向服务器请求建立连接,传输完成后,服务器端将等待接收头字段发来的结束符以确认连接可关闭,但头字段持续发送其他字段使连接处于保活状态,导致连接持续被占用。
Slow read:
攻击工具向服务器发送read请求,请求以极小的TCP滑动窗口传输较大文件,文件传输过程中长时间滞留在服务器内存中并占用网络连接,从而消耗资源。
(2)本地防护策略
防护设备持续监测HTTP并发连接数,当并发连接数超出阈值时触发报文检查,如发现连续多个HTTP POST报文的总长度过长但载荷长度很小,或连续多个报文的报头缺少结束标识,则判定为遭到HTTP慢速攻击,将该源IP地址加入黑名单,并强制断开其与服务器的连接。
(3)测试结果
实验环境中,自客户端模拟发起HTTP Get Flood攻击流量(峰值1.9Mbps,攻击频率3000pps,攻击并发数255)。防护设备通过确认短时间内并发连接数进行流量清洗,清洗后可见攻击地址因并发连接数过多被判定为低信任等级,攻击流量被全部丢弃。
5.Challenge Collapsar攻击
Challenge Collapsar(CC)攻击是一类典型的应用型DDoS攻击,该类型攻击通过端口扫描程序在互联网上寻找匿名代理,模拟用户对服务器端需要进行大量数据处理的页面发起持续访问。HTTP Get/POST Flood攻击就是典型的CC攻击。
(1)攻击原理解析
HTTP客户端访问服务器时一般会发送Get或POST请求,Get请求用于检索标准静态内容,POST请求用于访问动态资源。攻击者通过向服务器发起大量需数据库参与操作或其他系统资源消耗的URI请求,在引发Web前端无法响应或响应缓慢的同时,甚至能间接影响后端业务层逻辑。
(2)本地防护策略
针对HTTP Get Flood攻击
采用302重定向认证
使用防护设备替代服务器向客户端响应302状态码,通知客户端重定向至新的URL。真实客户端能够自动重定向发起访问请求,从而通过验证并被加入白名单;虚假源一般不会内置完整HTTP协议栈,无法完成自动重定向。
针对HTTP Post Flood攻击
采用307重定向认证
使用防护设备替代服务器向客户端响应307状态码,并向客户端的浏览器注入Cookie,真实客户端再次发起请求时,会在HTTP报头上附加Cookie信息;虚假源或者不支持完整HTTP协议栈的攻击工具将无法重新发起请求。
防护设备将要求客户端输入验证码,以此来判断用户真实性。因验证码为随机生成,可有效过滤攻击流量。
(3)测试结果
实验环境中,自客户端模拟发起HTTP Get Flood攻击流量(峰值3.9Mbps,攻击频率5000pps,攻击并发数255),防护设备通过302重定向认证进行流量清洗,清洗后可见正常用户已被加入白名单列表。
四、SDN环境下的DDoS攻击防护思路
软件定义网络(Software Defined Networking,SDN)通过将传统网络架构解耦为数据、控制和应用平面,实现网络架构的重建。原本依托于转发设备的控制功能被整合至控制器后,网络的灵活性、开放性、可编程性均得到了显著提升。同时,SDN集中化控制、OpenFlow协议不够成熟等特征也引发了新的安全威胁。本文仅对部分常见SDN的DDoS攻击防护思路作简要介绍。
1.基于数据包多特征联合熵的DDoS攻击检测方案
该方案以流量持续时间、数据包长度、源地址IP、目的端口作为检测DDoS攻击类型的关键指标,由控制器通过计算交换机上报的Packet-In消息得出的目的IP信息熵与阈值进行比较,当熵值小于阈值时,则判断存在DDoS攻击。
2.基于流表的路径图溯源方案
该方案利用网络流量的自相似性原理,通过计算自相似指数判断网络中是否存在网络攻击。在检测到网络存在攻击的情况下,基于网络中的主机和交换机以及交换机中的流表项建立有向图,从受到攻击的主机进行追踪溯源,从而找出攻击路径并找到实施攻击的节点。
本文通过剖析DDoS攻击原理,总结过往防护经验,提出了针对常见DDoS攻击的防护思路,并验证了防护效果,可作为各类金融机构巩固本地防护、提高服务高可用性的有效参考。同时,受搭建环境限制,单次实验仅能对单个类型的攻击与防护策略进行模拟。事实上,随着互联网业务的繁荣发展,DDoS攻击逐渐呈现出类型多样化、大流量常态化的趋势,这对防护系统的秒级攻击响应速度、扫段攻击防御能力提出了更高要求。在搭建层次化立体架构、部署合适的防御技术、兼顾成本与可扩展性的基础上,进一步完善运营商云端与本地清洗相结合的防护策略,培养一流的网络安全人才队伍,是金融机构预防网络攻击风险、消除潜在安全隐患的关键。
本文刊于《中国金融电脑》2023年第3期
通讯地址:北京市海淀区海淀南路甲21号中关村知识产权大厦A座2层206、207室 邮政编码:100080
电话:010-62565314 刘莉 京ICP证16064523号-2 版权所有:北京软件和信息服务业协会
技术支持:中科服 内容支持:鑫网安