打破隔離網絡安全迷信!氣隙網絡仍然易受DNS攻擊
2022年5月份Darkreading曾報道,Nozomi Networks公司的研究人員發現,在企業環境中實施域名系統 (DNS)的常見錯誤配置可能會使氣隙網絡及其旨在保護的高價值資產面臨外部攻擊者的風險。Nozomi Networks的ICS分析師團隊的一篇博文解釋了該缺陷存在于廣泛使用的物聯網 (IoT)設備C標準庫uClibc以及uClibc-ng的所有版本中,uClibc-ng是一個特殊版本OpenWRT,一種“用于部署在各種關鍵基礎設施領域的路由器的通用操作系統”。因此,該漏洞存在于 Linksys、Netgear和Axis的知名品牌產品以及Embedded Gentoo等Linux發行版中。自2022年1月以來,該漏洞已被披露給200 多家供應商,它可能會影響數百萬已安裝的設備。由于DNS錯誤仍未修補,因此未公開提供有關受影響設備的其他詳細信息,但在庫的維護者無法開發修復程序后,Nozomi提供了有關該錯誤及其可利用性的詳細信息,希望向社區尋求幫助。在 DNS中毒攻擊中,攻擊者能夠欺騙DNS客戶端接受偽造的響應,從而誘導某個程序與任意定義的端點而不是合法端點進行網絡通信。”Nozomi Networks表示,一旦成功,攻擊者就可以改變或攔截網絡流量以破壞連接的設備。

安全公司Pentera的研究人員在12月8日發布的博客文章中透露,使用連接到DNS 服務器的氣隙網絡的組織可能會無意中將資產暴露給威脅行為者,從而導致嚴重的數據泄露。Pentera的研究人員透露,攻擊者可以使用DNS作為命令和控制(C2)通道,通過連接到Internet的DNS服務器與這些網絡通信,從而破壞它們,即使組織認為網絡已成功隔離。
上述兩家安全公司的研究表明,氣隙作為一種常用的安全對策,其基于在數字資產和惡意行為者之間建立一道不可逾越的屏障的想法。全球各個行業、各種規模的組織都使用這種技術來隔離敏感網絡。許多防御者可能相信,通過隔離他們最敏感的信息,甚至依靠物理隔離和離線備份,他們的關鍵資產得到了保護。然而,現實遠非如此。 如所提供的示例攻擊所示,只要氣隙網段與網絡的其余部分連接到同一DNS服務器,通過 DNS被攻擊破壞的風險就是真實存在的。
氣隙網絡被隔離,無法從業務或企業IT環境中的公共用戶網絡訪問Internet。研究人員寫道,它們以這種方式設計是為了保護組織的“皇冠上的寶石”(即高價值核心資產),使用VPN、SSL VPN或用戶網絡通過跳轉箱讓其他人訪問它們。
但是,這些網絡仍然需要DNS服務,它用于為系統分配域名以實現網絡可發現性。如果網絡管理員沒有仔細配置DNS,這就代表了一個漏洞。
Pentera的網絡攻擊研究員Uriel Gabay告訴DarkReading,他們的研究展示了DNS 配置錯誤如何無意中影響氣隙網絡的完整性。
Gabay說,這對企業來說意味著,通過濫用DNS,黑客可以通過穩定的通信線路進入氣隙網絡,從而使他們能夠竊取敏感數據,而他們的活動對于組織的安全協議來說似乎是完全合法的。
錯誤配置的DNS協議
Gabay說,公司在設置氣隙網絡時最常犯的錯誤是,當他們將其鏈接到本地DNS 服務器時,他們認為自己正在創建一個有效的氣隙。在許多情況下,這些服務器可以鏈接到公共DNS 服務器,這意味著“它們無意中打破了自己的氣隙”。
研究人員在他們的帖子中解釋說,了解DNS的工作原理對于了解攻擊者如何駕馭其復雜性以闖入氣隙非常重要。
DNS連接到氣隙網絡的兩種常見架構:

直接連接到主DNS服務的“氣隙”網絡DNS服務

連接到氣隙DNS的氣隙網絡DNS服務
在第二種架構中,許多組織經常錯誤地認為通過內部DNS服務器路由通信可以防止潛在的違規行為。但是,它們仍然容易受到攻擊,因為內部DNS服務器仍然可以連接到公共DNS服務器。
研究人員解釋說,通過DNS發送信息可以通過請求協議處理的記錄(例如TXT、文本記錄或名稱服務器記錄)并將信息放入記錄名稱的第一部分來完成。可以通過請求 TXT 記錄并接收返回該記錄的文本響應來通過DNS接收信息。
研究人員表示,雖然DNS協議可以在TCP上運行,但它主要基于UDP,UDP沒有內置的安全機制——這是攻擊者利用DNS發揮作用的兩個關鍵因素之一。在UDP中也無法控制數據傳輸的流程或順序。
研究人員解釋說,由于UDP中缺乏錯誤檢測,攻擊者可以在發送有效負載之前對其進行壓縮,并在發送后立即解壓縮,這可以使用任何其他類型的編碼來完成,例如 base64。
使用DNS打破氣隙
盡管如此,威脅行為者仍面臨著與DNS成功通信以打破氣隙的挑戰。DNS對接受的字符類型有限制,所以不是所有的字符都能發送;研究人員說,那些不能的被稱為“壞角色”。可以發送的字符長度也有限制。

為了接收對“*.pentera.io”下的任何子記錄的 DNS 請求,攻擊者必須擁有pentera.io根記錄的所有者權限并創建一個指向已定義服務器的名稱服務器記錄。一旦建立,具有DNS服務并可訪問Internet的氣隙網絡就可以與攻擊者連接。
研究人員表示,為了克服DNS中對數據流缺乏控制的問題,威脅行為者可以通知服務器應緩沖哪個數據包,以及預期的最后一個數據包。他們說,在攻擊者知道前一個包已成功到達之前,也不應發送包。
他們說,為了避免壞字符,攻擊者應該在發送數據之前對發送的數據應用 base64編碼,同時他們可以將數據分割成一塊一塊地發送,以避免DNS字符長度限制。
研究人員解釋說,為了繞過防御者,通過阻止訪問發送請求的服務器來阻止DNS請求,攻擊者可以根據雙方都知道和期望的變量生成域名。
“雖然可執行文件不一定很困難,但攻擊者或組織需要基礎設施才能繼續購買根記錄,”他們指出。
研究人員表示,攻擊者還可以將惡意軟件配置為根據日期在DNS中生成域,這將允許他們使用新的已知根域通過DNS不斷發送新請求。他們說,防御這種類型的配置“對使用靜態方法甚至使用基本異常檢測來檢測和預防的組織來說將是一項挑戰”。
緩解氣隙網絡上的DNS攻擊
隨著DNS攻擊的發生比以往任何時候都頻繁——根據最新的IDC全球DNS威脅報告,88%的組織報告在2022年發生了某種類型的DNS攻擊 ——研究人員了解如何減輕和防御DNS濫用對組織來說很重要說。
一種方法是為氣隙網絡創建一個專用的DNS服務器,Gabay告訴DarkReading。然而,組織必須注意確保該服務器未鏈接到組織中可能存在的任何其他DNS服務器,因為這“最終會將其鏈接到Internet上的DNS服務器,”他說。
公司還應該利用IDS/IPS工具在網絡中創建基于異常的檢測,以監控和識別奇怪的 DNS 活動,Gabay說。他說,鑒于所有企業環境都是獨一無二的,這種類型的解決方案對于一個組織來說也是獨一無二的。
但是,有一些常見的例子說明應該監控哪些異常類型的DNS行為,包括:對惡意域的DNS請求;短時間內大量DNS請求;以及在奇怪的時間發出的DNS請求。Gabay補充說,組織還應該實施SNORT規則來監控請求的DNS記錄的長度。
參考資源:
1.https://www.darkreading.com/attacks-breaches/report-air-gapped-networks-vulnerable-dns-attacks
2.https://pentera.io/blog/bypassing-air-gapped-networks-via-dns/?medium=article&campaign=pentera-labs-c2-over-dns
3.https://www.darkreading.com/vulnerabilities-threats/unpatched-dns-poisoning-bug-stumps-researchers