物聯(lián)網企業(yè)安全公司Forescout和以色列安全研究小組JSOF的安全研究人員最近發(fā)現了9個漏洞,,這些漏洞影響4個TCP/IP協(xié)議棧從而影響了1億多臺用戶和企業(yè)設備,。攻擊者可以利用這些漏洞來控制系統(tǒng),。
這些被稱為“WRECK”的漏洞是一項名為Projrct Memoria的計劃的最新成果,。該計劃旨在研究被廣泛使用的TCP/IP堆棧的安全性,,這些堆棧被各個供應商納入其固件以提供互聯(lián)網和網絡連接功能,。
研究人員表示,,這些漏洞與域名系統(tǒng)(DNS)的實現有關,。它們會導致拒絕服務(DoS)或遠程代碼執(zhí)行(RCE),,從而允許攻擊者將目標設備脫機或控制它們,。
這已經是第五次在支撐百萬互聯(lián)網設備的協(xié)議棧中發(fā)現安全漏洞。
四個TCP/IP堆棧中的問題
FreeBSD (易受攻擊的版本:12.1) - BSD家族中最流行的操作系統(tǒng)之一,。
IPnet(易受攻擊的版本:VxWorks 6.6)—最初由Interpeak開發(fā),,現在由WindRiver維護,由VxWorks實時操作系統(tǒng)(RTOS)使用,。
NetX(易受攻擊的版本:6.0.1)—ThreadX RTOS的一部分,,它現在是微軟以Azure RTOS NetX為名維護的一個開源項目。
Nucleus NET(易受攻擊的版本:4.3)—由西門子旗下的Mentor Graphics公司維護的Nucleus RTOS的一部分,,它被用于醫(yī)療,、工業(yè)、消費,、航空航天和物聯(lián)網設備中,。
根據Forescout的說法,黑客很可能會利用這些漏洞來竊取敏感數據,、修改或使設備離線以達到破壞目的,,對政府或企業(yè)服務器、醫(yī)療設施,、零售商或制造業(yè)公司造成重大損害,。
攻擊者還可能篡改住宅或商業(yè)場所的關鍵建筑功能,以控制供暖和通風,,禁用安全系統(tǒng)或篡改自動照明系統(tǒng),。
WRECK漏洞
研究人員在分析上述TCP/IP棧中的DNS實現時,考察了該協(xié)議的消息壓縮功能。
DNS響應數據包中包含相同的域名或部分域名的情況并不少見,,因此存在一種壓縮機制來減小DNS消息的大小,。
Forescout在4月13日的一份報告中解釋說,盡管一些協(xié)議不正式支持壓縮,,但該功能也存在于許多現實操作中,。這種情況的發(fā)生是 “由于代碼重用或對規(guī)范的特殊理解”。
不過,,并不是所有的NAME:WRECK都可以被利用來達到同樣的效果,。其中潛在影響最嚴重的是遠程代碼執(zhí)行漏洞,計算出最高的嚴重性分數為9.8分(滿分10分),。
以下是所有9個漏洞的概要,,它們的識別號,以及它們的嚴重性分數,。
從此表可以看出,,并非所有的漏洞都與信息壓縮有關。這些例外的漏洞是研究的副產品,,可以和其他的漏洞連鎖起來,,擴大攻擊的效果。
Forescout公司的報告深入探討了技術細節(jié),,即利用該公司在開源TCP/IP堆棧中發(fā)現的幾個NAME:WRECK漏洞以及AMNESIA:33集合中的漏洞,,可能導致遠程代碼執(zhí)行攻擊。
該公司還討論了多個在DNS消息解析器中不斷重復的執(zhí)行問題,,這些問題被稱為反面模式,,是造成NAME:WRECK漏洞的原因:
缺少TXID驗證,隨機TXID和源UDP端口不足
缺少域名字符驗證
缺少標簽和名稱長度驗證
缺少NULL終止驗證
缺少記錄計數字段驗證
缺少域名壓縮指針和偏移量驗證
FreeBSD,、Nucleus NET 和 NetX 都提供了 NAME:WRECK 的補丁,,受影響的產品只要安裝修復程序就可以解決這些問題。
不過,,這個過程不太可能有100%的成功率,,因為有幾個障礙:
首先,運營商需要確定受影響設備上運行的TCP/IP協(xié)議棧,。這并不總是一件容易的事,因為有時連設備供應商都不知道,。
另一個障礙是應用補丁,,在許多情況下,需要手動安裝補丁,。
安全工程師可以使用一些緩解信息來開發(fā)檢測DNS漏洞的簽名:
發(fā)現并清點運行脆弱堆棧的設備
執(zhí)行分段控制和適當的網絡衛(wèi)生
監(jiān)控受影響設備供應商發(fā)布的漸進式補丁
將設備配置為依賴內部DNS服務器
監(jiān)視所有網絡流量,,防止惡意數據包
此外,Forescout還提供了兩個開源工具,可以幫助確定目標網絡設備是否運行特定的嵌入式TCP/IP協(xié)議棧(Project Memoria Detector)和用于檢測類似于NAME:WRECK的問題(與Joern合作),。