NXNSAttack: DNS協議安全漏洞通告
360-CERT [三六零CERT](javascript:void(0)😉 今天
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
- Microsoft
- Amazon
- Oracle
- Cloudflare
0x04 修復建議
臨時修補建議:
在流量設備側對DNS響應包中對滿足如下條件的包進行攔截
- 含有大量的NS轉發查詢請求
- 複數指向同一服務器的二級/多級子域名請求
不響應非信任服務器的 DNS 查詢結果
- 同傳統的防護策略採用流量黑白名單進行
0x05 時間線
2020-05-21 國外研究團隊發佈NXNSAttack研究論文
2020-05-28 360CERT發佈預警
0x06 參考鏈接
-
NXNSAttack
[http://www.nxnsattack.com/]
-
Debian – Security Information – DSA-4689-1 bind9
[https://www.debian.org/security/2020/dsa-4689]
-
ADV200009 | Windows DNS Server Denial of Service Vulnerability [https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV200009]
轉載自https://mp.weixin.qq.com/s/jYxHvIgPyeQknX0dNTZ0Zg