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