信息來源:cnbeta
社會對技術的依賴程度非常高,預計到2025年,全球使用的互聯(lián)網(wǎng)連接設備數(shù)量將增長到559億臺。這些設備中的許多設備涵蓋了工業(yè)控制系統(tǒng)(ICS)的各個部分,它們影響著世界,協(xié)助我們在家中的日常生活,并監(jiān)控和自動化生產(chǎn)工作中從能源使用到機器維護的一切。濫用這些系統(tǒng)的潛力已經(jīng)引起了網(wǎng)絡犯罪分子的注意;根據(jù)2020年IBM X-Force威脅情報指數(shù),自2018年以來,針對這些系統(tǒng)的攻擊增加了2000%以上。
作為持續(xù)研究的一部分,IBM的黑客團隊X-Force Red發(fā)現(xiàn)了一個新的物聯(lián)網(wǎng)漏洞,可以被遠程利用。制造商泰雷茲自2020年2月起向客戶提供了CVE-2020-15858的補丁,X-Force Red一直在合作,以確保用戶了解該補丁,并采取措施保護他們的系統(tǒng)。
在今天使用的數(shù)十億智能設備中,泰雷茲是使它們能夠連接到互聯(lián)網(wǎng)、安全存儲信息和驗證身份的組件的供應商之一。泰雷茲的整個產(chǎn)品組合每年連接超過30億個設備,從智能能源表到醫(yī)療監(jiān)控設備和汽車,有超過3萬家機構依賴其解決方案。
然而,在2019年9月,X-Force Red發(fā)現(xiàn)了泰雷茲(原金雅拓)的Cinterion EHS8 M2M模塊中的一個漏洞,該模塊在過去十年中被用于數(shù)百萬個互聯(lián)網(wǎng)連接設備。經(jīng)過進一步的測試,泰雷茲確認該漏洞會影響到EHS8同一產(chǎn)品線中的其他模塊(BGS5、EHS5/6/8、PDS5/6/8、ELS61、ELS81、PLS62),進一步擴大了該漏洞的潛在影響。這些模塊是實現(xiàn)物聯(lián)網(wǎng)設備移動通信的微型電路板。
更重要的是,它們存儲和運行的Java代碼通常包含密碼、加密密鑰和證書等機密信息。利用從模塊中竊取的信息,惡意行為者有可能控制設備或獲得中央控制網(wǎng)絡的訪問權,從而進行廣泛的攻擊--在某些情況下甚至可以通過3G遠程攻擊。利用這個漏洞,攻擊者有可能指示智能電表打掉一個城市的電力,甚至給醫(yī)療病人注射過量的藥物,只要負責這些關鍵功能的設備使用的是一個暴露在攻擊者面前的未打補丁的模塊,例如,通過這個模塊啟用的3G/4G連接。
關于該漏洞
EHS8模塊及其系列中的其他模塊,旨在通過3G/4G網(wǎng)絡實現(xiàn)連接設備之間的安全通信。將該模塊視為相當于一個值得信賴的數(shù)字鎖箱,公司可以在其中安全地存儲密碼、憑證和操作代碼等一系列秘密。這個漏洞破壞了這一功能,允許攻擊者竊取組織機密。
X-Force Red發(fā)現(xiàn)了一種繞過安全檢查的方法,這種檢查可以使文件或操作代碼對未經(jīng)授權的用戶隱藏起來。這個漏洞可能使攻擊者能夠入侵數(shù)百萬臺設備,并通過轉入提供商的后端網(wǎng)絡來訪問支持這些設備的網(wǎng)絡或VPN。反過來,知識產(chǎn)權(IP)、憑證、密碼、加密密鑰都可能被攻擊者輕易獲得。換句話說,模塊存儲的機密信息可能不再是機密。攻擊者甚至可以搶奪應用程序代碼,徹底改變邏輯,操縱設備。
潛在的影響是什么?
這個漏洞的潛在影響根據(jù)攻擊者可能入侵使用這一行模塊的哪些設備而有所不同。據(jù)了解,全球有數(shù)百萬臺設備使用該模塊,橫跨汽車、醫(yī)療、能源和電信行業(yè)。
鑒于其中許多設備的關鍵性,有針對性的網(wǎng)絡攻擊可能會很重要。以下是一些例子,說明如果在各種類型的設備中暴露出未打補丁的模塊,攻擊者可能會做什么。
醫(yī)療設備: 操縱監(jiān)測設備的讀數(shù)來掩蓋生命體征或制造虛假恐慌 在根據(jù)輸入提供治療的設備中,如胰島素泵,網(wǎng)絡犯罪分子可能會使患者用藥過量或不足。
能源和公用事業(yè)。篡改智能電表,提供偽造的讀數(shù),增加或減少每月的賬單。通過控制網(wǎng)絡訪問一大群這些設備,惡意行為者還可以關閉整個城市的電表,造成大范圍的停電,需要進行單獨維修,甚至更糟糕的是,破壞電網(wǎng)本身。
技術細節(jié)
EHS8模塊與該系列的其他模塊一樣,由一個微處理器組成,內嵌Java ME解釋器和閃存,以及GSM、GPIO、ADC、數(shù)字和模擬音頻、GPS、I2C、SPI和USB接口。它還提供了更高層次的通信堆棧,如PPP和IP。嵌入式Java環(huán)境允許安裝Java "midlet",以提供可定制的功能和與主機設備的交互,和/或作為主邏輯。該模塊在基本的OEM集成商層面上運行時,其行為很像傳統(tǒng)的 "Hayes"調制解調器。這意味著,除了加載到系統(tǒng)中的Java應用程序外,還可以通過內置在電路中的物理UART連接使用 "AT "串行命令進行控制。
在安全研究實踐中,Java應用程序可以被繞過,并將控制權交還給低層,允許攻擊者直接控制模塊。一旦控制了AT命令接口,就可以發(fā)出大量的標準命令,如 "ATD"--撥號,或 "ATI"--顯示制造商信息。還有一些配置命令和用于訪問覆蓋在閃存上的基本文件系統(tǒng)的特定命令子集--"AT^SFA"。這提供了文件和子目錄的讀、寫、刪除和重命名。
為了方便Java環(huán)境,還有一些與Java相關的命令,其中一個命令是 "安裝 "先前上傳到閃存文件系統(tǒng)的Java midlet。這可以有效地將Java代碼復制到閃存文件系統(tǒng)中的 "安全存儲 "中,理論上是 "只寫 "的--即數(shù)據(jù)可以復制到該存儲中,但永遠不會被讀回。這樣一來,OEM廠商包含其IP的私有Java代碼,以及任何安全相關的文件,如PKI密鑰或證書和應用相關的數(shù)據(jù)庫,都可以防止第三方竊取。
然而,X-Force Red發(fā)現(xiàn)的漏洞允許對隱藏區(qū)域進行完全的讀、寫、刪除訪問(盡管Thales已經(jīng)針對特定的文件類型進行了額外的檢查)。這將允許攻擊者讀出系統(tǒng)上運行的全部java代碼(包括OEM midlets和Thales的主 "主"代碼),以及他們可能擁有的任何其他 "隱藏 "支持文件。
由于Java很容易被反轉為人類可讀的代碼,這可能會暴露任何應用程序的完整邏輯以及任何嵌入的 "秘密",如密碼、加密密鑰等,并使IP竊取成為一個非常簡單的操作。掌握了這些數(shù)據(jù),攻擊者可以很容易地創(chuàng)建 "克隆 "設備,或者更可怕的是,修改功能以實現(xiàn)欺詐或惡意活動。
帶有漏洞的代碼列表
上圖顯示了該漏洞存在于計算路徑子串中的字符數(shù)并檢查第四個字符是否為點(字符數(shù)組中的第三個索引)的代碼中。在正常情況下,任何訪問帶有點前綴的隱藏文件的嘗試都會被拒絕(例如:a:/.hidden_file)。然而,用雙斜線代替斜線(例如:a://.hidden_file)將導致條件失敗,代碼執(zhí)行將跳轉到一個字符檢查循環(huán),該循環(huán)將匹配任何可打印字符。在第二個斜線之后,系統(tǒng)將忽略它,沒有什么能阻止攻擊者使用點前綴的文件名,繞過安全測試條件。
責任披露和補救
泰雷茲公司與X-Force Red團隊合作,在2020年2月測試、創(chuàng)建并向其客戶分發(fā)補丁。
補丁可以通過兩種方式管理--通過軟件插入USB運行更新,或者通過管理空中(OTA)更新。這個漏洞的補丁過程完全取決于設備的制造商和它的能力,例如,設備是否可以訪問互聯(lián)網(wǎng),可能會使它的工作變得復雜。另一項需要注意的是,設備越是受監(jiān)管(醫(yī)療設備、工業(yè)控制等),應用補丁的難度就越大,因為這樣做可能需要重新認證,這往往是一個耗時的過程。