0x00 漏洞背景
2020年05月28日, 360CERT监测发现 国外研究团队
发布了 DNS协议
中实现的逻辑错误导致拒绝服务漏洞
的风险通告,漏洞等级:高危
。
域名系统(服务)协议(DNS)
是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,进而简化记忆IP地址的互联网连接方式。
DNS协议
存在 实现上的逻辑错误
,攻击者
通过 发起指向恶意name-server
的DNS查询请求,可以造成 递归服务器/特定域名服务器
拒绝服务影响。
对此,360CERT建议广大用户及时安装最新补丁,做好资产自查以及预防工作,以免遭受黑客攻击。
0x01 风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 高危 |
影响面 | 广泛 |
0x02 漏洞详情
以下内容部分引用 NXNSAttack Paper
下面做出如下定义
描述 | 简称 |
---|---|
用户所在网络的上层DNS服务器 | 服务器A |
attacker.com nameserver服务器 | 服务器B |
victim.com 被攻击的服务器 | 服务器C |
以 sd1.attacker.com 的 DNS 解析过程为例
在攻击者触发向 恶意的 name-server 服务器
进行对应域名解析的时候。
-
首先会由当前网络环境中的上层DNS服务器(服务器A)去检索 attacker.com 的 name-server 服务(服务器B)。
-
攻击者控制该 nameserver 服务器(服务器B)返回特制的响应包(该包的主要目的:通知接收服务器做NS转发查询)。
-
响应包中含有复数条记录。
-
每天记录都表述 sd1.attacker.com 需要转发到 {fake-n}.victim.com 的 dns name-server 服务器(服务器C)去做查询。
-
其中不含对应的IP地址。(确保查询的成立)
-
(服务器A)接收到该特制的响应包后会逐一对响应包中的NS记录进行 dns 查询。
-
导致(服务器A)发送大量的请求包/(服务器C)接收大量的请求包导致拒绝服务。
根据研究报告显示,NXNSAttack
攻击比 NXDomain
更加高效,放大倍数达到了递归解析器交换的包数的1620倍。
0x03 影响版本
目前已知受到影响的组件和服务有
组件
-
UNIX bind 组件
-
Windows DNS
服务商
-
PowerDNS
-
Google
-
Microsoft
-
Amazon
-
Oracle
-
Cloudflare
0x04 修复建议
临时修补建议:
在流量设备侧对DNS响应包中对满足如下条件的包进行拦截
-
含有大量的NS转发查询请求
-
复数指向同一服务器的二级/多级子域名请求
不响应非信任服务器的 DNS 查询结果
-
同传统的防护策略采用流量黑白名单进行
原创文章,作者:EJBED,如若转载,请注明出处:http://www.wangzhanshi.com/n/12720.html