安全研究人員最近披露了九個漏洞,,這些漏洞影響了至少1億臺設(shè)備,,這些漏洞可以在設(shè)備上運行流行TCP / IP網(wǎng)絡(luò)通信堆棧中的域名系統(tǒng)協(xié)議的實現(xiàn)。
研究人員目前將這些漏洞統(tǒng)一命名為NAME:WRECK,攻擊者可以利用這些漏洞使受影響的設(shè)備脫機或?qū)ζ溥M行控制,。
這些漏洞是在廣泛的TCP/IP協(xié)議棧中發(fā)現(xiàn)的,,這些協(xié)議棧運行在從高性能服務(wù)器和網(wǎng)絡(luò)設(shè)備到監(jiān)控和控制工業(yè)設(shè)備的操作技術(shù)(OT)系統(tǒng)等各種各樣的產(chǎn)品上,。
四個TCP / IP堆棧中的漏洞
NAME:WRECK的發(fā)現(xiàn)是物聯(lián)網(wǎng)企業(yè)安全公司Forescout和以色列安全研究小組JSOF的共同努力結(jié)果,,它影響了DNS在以下TCP/IP協(xié)議棧中的實現(xiàn):
FreeBSD(易受攻擊的版本:12.1):BSD系列中最流行的操作系統(tǒng)之一;
IPnet(易受攻擊的版本:VxWorks 6.6):由Interpeak最初開發(fā),,現(xiàn)在由WindRiver維護,,并由VxWorks實時操作系統(tǒng)(RTOS)使用;
NetX(易受攻擊的版本:6.0.1):是ThreadX RTOS的一部分,,現(xiàn)在是Microsoft維護的一個開源項目,,名稱為Azure RTOS NetX;
Nucleus NET(易受攻擊的版本:4.3):西門子公司Mentor Graphics維護的Nucleus RTOS的一部分,,用于醫(yī)療,、工業(yè)、消費,、航空航天和物聯(lián)網(wǎng)設(shè)備。
根據(jù)Forescout的說法,,在假設(shè)但可行的情況下,,攻擊者可以利用NAME:WRECK漏洞通過竊取敏感數(shù)據(jù)、修改或離線設(shè)備進行破壞,,對政府或企業(yè)服務(wù)器,、醫(yī)療保健設(shè)施,、零售商或制造業(yè)企業(yè)造成重大損害。
攻擊者還可能篡改住宅或商業(yè)場所的關(guān)鍵建筑功能,,以控制供暖和通風(fēng),,禁用安全系統(tǒng)或篡改自動照明系統(tǒng)
NAME:WRECK漏洞
研究人員分析了上述TCP / IP堆棧中的DNS實現(xiàn),著眼于協(xié)議的消息壓縮功能,。
DNS響應(yīng)數(shù)據(jù)包多次包含相同域名或一部分域名的情況并不少見,,因此存在一種壓縮機制來減小DNS消息的大小。
不僅僅是DNS解析器從這種編碼中受益,,而且它還存在于多播DNS (mDNS),、DHCP客戶端和IPv6路由器通告中。
Forescout在一份報告里解釋說,,盡管某些協(xié)議并未正式支持壓縮,,但該功能還存在于許多實現(xiàn)中。發(fā)生這種情況是由于代碼重用或?qū)σ?guī)范的特定理解,。
研究人員指出,,實施壓縮機制一直是一項艱巨的任務(wù),特別是自2000年以來發(fā)現(xiàn)了十多個漏洞,。
必須注意的是,,并非所有NAME:WRECK都可以被利用來獲得相同的結(jié)果。其中最嚴(yán)重的潛在影響是遠程執(zhí)行代碼,,最高嚴(yán)重性得分被計算為9.8(滿分10分),。
以下是九個漏洞的標(biāo)識號和嚴(yán)重性得分的摘要。
如上表所示,,并非所有漏洞都與消息壓縮有關(guān),。這些例外是研究的副產(chǎn)品,可以與其他例外聯(lián)系起來以擴大攻擊的影響,。
另一個例外是CVE-2016-20009,。該漏洞最初由Exodus Intelligence于2016年發(fā)現(xiàn),但并未獲得跟蹤號,。盡管該產(chǎn)品不再維護(報廢),,但今天仍在使用。
Forescout要求Wind River申請CVE,,但該公司已經(jīng)幾個月沒有采取任何行動,。因此,該公司向Exodus Intelligence提出了同樣的要求,,該漏洞最終于2021年1月獲得了一個標(biāo)識符,。
利用單個漏洞的攻擊者可能無法取得很大的攻擊效果,但通過將它們組合在一起,,可能會造成嚴(yán)重破壞,。
例如,,攻擊者可以利用一個漏洞將任意數(shù)據(jù)寫入易受攻擊的設(shè)備的敏感存儲位置,將另一種漏洞注入到數(shù)據(jù)包中,,然后將再利用第三個漏洞將其發(fā)送給目標(biāo),。
Forescout的報告深入探討了有關(guān)技術(shù)利用的技術(shù)細節(jié),該技術(shù)如何利用該公司在開放源代碼TCP /IP堆棧中發(fā)現(xiàn)的NAME:WRECK漏洞和AMNESIA:33集合中的漏洞,,成功地導(dǎo)致成功的遠程代碼執(zhí)行攻擊,。2020年12月08日,F(xiàn)orescout實驗室公布了4個開源TCP/IP協(xié)議棧中被統(tǒng)稱為AMNESIA:33的33個漏洞,。這些漏洞的嚴(yán)重性已經(jīng)超出了常規(guī)安全范圍,,并且一直延伸到開發(fā)級別。AMNESIA:33會影響DNS,、IPv6,、IPv4、TCP,、ICMP,、LLMNR和mDNS等7個不同的組件,其影響包括遠程代碼執(zhí)行,、拒絕服務(wù),、信息泄漏、DNS緩存中毒等,。
該公司還討論了多個實現(xiàn)漏洞,,這些漏洞在DNS消息解析器中不斷重復(fù),稱為反面模式(anti-pattern),,以下是導(dǎo)致NAME:WRECK漏洞發(fā)生的原因:
1.缺少TXID驗證,,隨機TXID和源UDP端口不足;
2.缺乏域名字符驗證,;
3.缺少標(biāo)簽和名稱長度驗證,;
4.缺少NULL終止驗證;
5.缺少記錄計數(shù)字段驗證,;
6.缺乏域名壓縮指針和偏移量驗證,;
NAME:WRECK的修補程序可用于FreeBSD,Nucleus NET和NetX,,并且如果修補程序涉及到受影響的產(chǎn)品,,則可以防止漏洞利用。
因此,,現(xiàn)在由設(shè)備供應(yīng)商來將更正應(yīng)用于仍可以更新的產(chǎn)品,。但是,由于存在多個障礙,因此該過程的成功率不太可能達到100%,。
首先,操作員需要確定在受影響的設(shè)備上運行的TCP / IP堆棧,。這并不總是一項容易的任務(wù),,因為有時連設(shè)備供應(yīng)商也不知道。
另一個障礙是應(yīng)用補丁,,在許多情況下,,由于沒有集中管理,因此需要手動安裝該補丁,。除此之外,,關(guān)鍵設(shè)備無法在脫機中更,所以實際上不可能達到100%的補丁率,。
更糟糕的是,,研究人員發(fā)現(xiàn)新固件有時會運行不受支持的RTOS版本,該版本可能存在已知漏洞,,例如,,CVE-2016-20009。這是非常令人擔(dān)憂的,,因為假設(shè)新固件不容易受到攻擊,,可能會導(dǎo)致網(wǎng)絡(luò)風(fēng)險評估中的嚴(yán)重盲點。
但是,,安全工程師可以使用一些緩解信息來開發(fā)檢測DNS漏洞的簽名:
1.發(fā)現(xiàn)并清點運行易受攻擊的堆棧的設(shè)備,;
2.實施分段控制和適當(dāng)?shù)木W(wǎng)絡(luò)安全檢查;
3.關(guān)注受影響的設(shè)備供應(yīng)商發(fā)布的補??;
4.配置設(shè)備依賴內(nèi)部DNS服務(wù)器;
5.監(jiān)控所有網(wǎng)絡(luò)流量中是否有惡意數(shù)據(jù)包,;
此外,,F(xiàn)orescout還提供了兩個開放源代碼工具,這些工具可以幫助確定目標(biāo)網(wǎng)絡(luò)設(shè)備是否運行特定的嵌入式TCP / IP堆棧(Project Memoria Detector)以及檢測類似于NAME:WRECK的漏洞,。