作者:互联网域名系统国家研究中心(ZDNS) 产品研发中心
关键词:DDoS攻击 DNS安全
前言 近日陆续有大量高校自建DNS服务器遭受DDoS攻击,互联网域名系统国家研究中心(ZDNS)监控到攻击事件后,第一时间对攻击情况与处置建议进行了通告,同时迅速开展应急响应协助用户恢复业务。为了帮助用户更好地理解本次攻击原理以规划处置应对措施,ZDNS持续跟进分析,通过梳理攻击特征深度剖析了攻击事件的底层原理与核心过程,并针对性地提出了防护建议供参考借鉴。
攻击特征 攻击包源IP:伪造成DNS服务器同网段的随机IP地址。 攻击流量:根据监测数据统计,单服务器平均每秒收到5千个左右的攻击查询请求。 攻击域名:前期主要集中于hongmao520.com、cqxqjx.com、lzn376.com、fow757.com、wym317.com五个二级域名的NS类型查询,后期为了躲避安全拦截策略新增了以上域名的DGA子域名,不排除后续还会有新的域名出现。
底层原理 原理一:DNS通信主要基于UDP协议,无法有效验证伪造的源IP 在传统DNS系统中,DNS查询和响应都基于UDP协议。UDP协议是一种无连接的协议,没有内置的机制来验证源IP的真实性。这意味着攻击者可以伪造IP地址发送DNS查询请求,触发DNS服务器返回响应到被攻击者指定的地址。 原理二:网卡发送数据包前需先确定目标主机,并通过ARP请求获取目标主机的MAC地址 网卡发送出数据包前,需先经由两步查找确定发送目标主机的MAC地址。 i. 查找目标主机:如果数据包的目的IP与自身IP在同一个直连网段内,则选择目的IP所在主机作为发送目标主机,否则选择路由表匹配的下一跳网关作为发送目标主机。 ii. 获取MAC地址:通过广播的ARP请求获取发送目标主机应答的MAC地址,如未收到应答等待重试超时,具体等待时间取决于操作系统类型与配置,以CentOS系统为例,默认配置下无应答的ARP请求需等待3秒(重试3次,单次1秒超时)。
原理三: UDP套接字回包是按顺序的,且发送缓冲区大小存在容量限制 服务器构造完应答包后,会放到对应UDP套接字的发送缓冲区中进行处理,发送缓冲区有两个特点: i. 先进先出:只有前一个应答包被正常发送或者丢弃后,才会继续处理下一个应答包。 ii. 容量受限:Linux系统发送缓冲区一般默认为200K左右,配置参数可通过命令cat/proc/sys/net/core/wmem_default查看。当缓冲区溢出后再放入新的数据包会触发报错,具体错误处理方式依赖于上层应用实现,可选择重试或直接丢弃等。
攻击过程 有用户可能会好奇,常规DNS服务器性能规格远高于本次攻击流量,为什么几千的攻击查询会导致DNS服务可用性严重下降呢? 关键在于攻击者巧妙地利用了网络通信协议的一系列原理特点,本次攻击方发送了大量源IP伪造成服务器同网段未使用IP的DNS请求包,从而触发回包时ARP请求响应超时,同时利用了UDP套接字按顺序回包且存在缓冲区容量限制的特点,导致大量正常请求无法成功应答,具体过程如下: a. DNS服务器接收到大量攻击包,攻击包源IP伪造成服务器同网段未使用IP; b. 基于上述原理一,因为无法校验源IP真实性,DNS服务器内部处理完毕后会尝试向伪造IP回包; c. 基于上述原理二,因为数据包源IP与目标IP在同一网段,回包前需先通过ARP请求伪造IP的主机MAC地址; d. 因为伪造IP的主机不存在,所以无法响应ARP请求,每个请求需等待数秒后超时退出; e. 基于上述原理三,因为UDP套接字回包是按顺序的,每个攻击包触发的无应答ARP请求超时退出前会阻塞整个回包处理流程; f. 基于上述原理三,攻击包数量较多,会导致发送缓冲区被长时间频繁阻塞,当堆积的未发出应答包数据导致缓冲区溢出后,新的应答包无法继续放入缓冲区。 注:图示红框中为受攻击时发送缓冲区堆积的数据大小,单位:字节
本次攻击基于网络协议机制造成服务不可用,适用的攻击范围不限于DNS解析服务,任意满足攻击条件的服务都将造成影响。
防护建议 DNS安全防护是一个系统化工程,需要综合考虑各层面因素,以下为针对本次攻击的三个重点层面防护建议: 部署层面:缩小DNS服务暴露面。 ▪ DNS服务地址配置NAT:避免直接配置公网IP,可以增大攻击方伪造同网段IP的难度; ▪ 划分独立网段:DNS服务使用单独VLAN,减小攻击命中未使用地址概率,方便独立配置防护策略; ▪ 规避非必要服务暴露:如DNS服务无需向外暴露,通过出口防火墙策略控制,避免成为安全攻击目标; ▪ 递归权威分离:非公共递归服务无需对外暴露,权威服务按需进行安全加固。 功能层面:启用DNS服务器上的安全防护功能。 ▪ 开启IP限速:根据具体业务情况,对同网段IP配置限速策略; ▪ 开启域名限速:开启域名解析限速策略,丢弃超速报文; ▪ 开启威胁情报拦截:有效防护已知威胁事件,厂商监测到新攻击后可第一时间在云端更新威胁库实现及时封堵。 出口层面:互联网出口核心设备加强源地址欺骗防护,从源头上拦截可疑的DNS请求流量。
打造安全DNS刻不容缓 域名系统作为互联网关键基础设施,是互联网访问的入口。近年来,面向网络基础设施发起的攻击增长迅猛,而针对DNS发起的DDoS攻击就占据了其中50%以上。因为域名服务故障通常会造成大面积的网络中断,严重程度远大于单个应用系统故障,所以安全DNS的重要性进一步凸显。此次高校园区网遭受攻击再次敲响了警钟,重视并加强DNS系统安全,建设安全DNS成为企业信息化建设核心任务,刻不容缓! 互联网域名系统国家研究中心(ZDNS)在DNS安全领域已持续投入多年,并在国内率先发布安全DNS产品,现已拥有多项DNS安全发明专利,旨在为企业提供全功能智能DNS解析服务、深度DNS协议安全防护服务和基于威胁情报的解析防护服务,有效控制域名威胁,保障业务安全。同时,ZDNS提供安全云解析托管与安全云递归解析服务,为互联网公司、大型企业和金融机构等提供可靠、稳定、高扩展性的DNS DDoS防御解决方案。
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/76523.html