你知道破解物聯(lián)網(wǎng)設(shè)備有多么容易嗎?除了顯而易見(jiàn)的——大多數(shù)物聯(lián)網(wǎng)設(shè)備缺乏安全性——這很容易,因?yàn)?a target="_blank">黑客可以使用大量的軟件和硬件工具,這往往使他們發(fā)現(xiàn)和利用物聯(lián)網(wǎng)漏洞的工作變得微不足道。這些工具利用不安全的接口、反編譯固件、模擬和分析代碼以發(fā)現(xiàn)導(dǎo)致網(wǎng)絡(luò)攻擊的缺陷。沒(méi)有適當(dāng)網(wǎng)絡(luò)安全的物聯(lián)網(wǎng)設(shè)備可以在幾個(gè)小時(shí)內(nèi)被黑客入侵,如果它沒(méi)有網(wǎng)絡(luò)安全,則可以在幾分鐘內(nèi)被黑客入侵。在最近的 DEFCON 會(huì)議上,一些比較著名的物聯(lián)網(wǎng)設(shè)備黑客包括 Apple Air Tag、Sonos 網(wǎng)絡(luò)音頻設(shè)備以及 Landis 和 Gyre 電表。
本文是研究真實(shí)世界的物聯(lián)網(wǎng)黑客以及如何解決暴露的漏洞的系列文章的第三部分。目標(biāo)是通過(guò)提供可以減輕攻擊的控件來(lái)幫助您提高物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)安全。在第一篇文章《 從殖民管道攻擊中吸取的教訓(xùn)》中,我們回答了為什么勒索軟件攻擊導(dǎo)致操作技術(shù)系統(tǒng)(即管道)關(guān)閉的問(wèn)題。第二, 汽車網(wǎng)絡(luò)安全:進(jìn)步,但仍有改進(jìn)空間,通過(guò)比較 5 年前與去年披露的攻擊的努力程度和結(jié)果,回顧了汽車網(wǎng)絡(luò)安全的進(jìn)步程度。
在這里,我們將回顧網(wǎng)絡(luò)對(duì)手用來(lái)攻擊物聯(lián)網(wǎng)設(shè)備的工具。在辦公電話中暴露真實(shí)漏洞的方法將說(shuō)明這些工具的使用。通過(guò)使用硬件和軟件工具,發(fā)現(xiàn)了許多缺陷。然而,包括軟件更新和加密代碼在內(nèi)的基本安全功能可以緩解攻擊。在這種情況下,代碼加密不僅是為了保護(hù)敏感數(shù)據(jù),也是為了保護(hù)設(shè)備的整體安全性,使其免受這些黑客工具的侵害,因?yàn)樗勾a的純文本列表幾乎不可能獲得。
Fraunhofer FIT 的 Stephan Huber 和 Philipp Roskosch完成了在 33 種不同 VoIP 辦公電話中發(fā)現(xiàn) 40 個(gè)漏洞的工作,并在 DEFCON 27 上進(jìn)行了展示。發(fā)現(xiàn)的漏洞類型多種多樣??偣灿?13 個(gè),包括錯(cuò)誤的密碼學(xué)、堆棧溢出和無(wú)需身份驗(yàn)證即可更改的密碼。廣泛使用從閃存轉(zhuǎn)儲(chǔ)固件以訪問(wèn)純文本代碼列表的做法。這極大地幫助了逆向工程工作和識(shí)別漏洞。靜態(tài)和動(dòng)態(tài)分析都用于提取的純文本代碼。如果這些手機(jī)包括安全啟動(dòng)、閃存加密和安全軟件更新,那么訪問(wèn)純文本列表和發(fā)現(xiàn)可利用的弱點(diǎn)就會(huì)變得更加困難。
嘗試獲取純文本代碼通常是黑客采取的第一步。由于純文本列表的價(jià)值,嘗試了許多不同的方法來(lái)提取它。在這項(xiàng)研究中,一項(xiàng)是檢查固件是否可以直接從制造商處獲得。另一種是觸發(fā)軟件更新,如果未加密,則嗅探下載的網(wǎng)絡(luò)流量的數(shù)據(jù)包以獲取純文本代碼列表。使用 HTTPS(即加密)發(fā)送的更新可關(guān)閉此漏洞。第三種方法也是最常用的方法是從手機(jī)本身獲取代碼。
有數(shù)量驚人的逆向工程/黑客工具可用。電話研究使用工具來(lái)獲取 root 訪問(wèn)權(quán)限、提取代碼和模擬提取的代碼。用于提取代碼的工具包括 BuSPIrate 和 JTAGulator。兩者都使用串行終端和來(lái)自 PC 的 USB 連接。BuSPIrate 被描述為“開(kāi)源黑客多功能工具”。它可以與 I2C、SPI、JTAG 和其他幾個(gè)接口。JTAGulator 將檢測(cè)到 JTAG/IEEE 1149.1、ARM 單線調(diào)試 (SWD) 或 UART 引腳的連接。當(dāng)電路板的調(diào)試接口未知時(shí),JTAGulator 的檢測(cè)功能使連接變得更加容易,因?yàn)樗鼤?huì)自動(dòng)識(shí)別接口類型。它將運(yùn)行不同的引腳排列并尋找與這三種協(xié)議之一的匹配。
一旦從手機(jī)中提取純文本代碼,就會(huì)使用軟件模擬工具。其中包括 QEMU 和 Unicorn。QEMU 是一個(gè)開(kāi)源仿真器/虛擬器,支持對(duì)特定操作系統(tǒng)(Linux、Windows 等)和指令集(MIPS、ARM、x86)的仿真。在這項(xiàng)研究中,QEMU 工具的 ARM/MIPS 處理器內(nèi)核仿真功能與 gdb 一起使用,以獲取代碼痕跡。Unicorn 是一個(gè)基于 QEMU 的 CPU 仿真器,但重量更輕,并提供了一些附加功能,包括檢測(cè)。
其他沒(méi)有用于電話安全研究但值得一提的仿真工具是 Ghidra(由 NSA 開(kāi)發(fā))、IDA Pro 和 Angr。Ghidra 和 IDA Pro 是逆向工程工具,支持對(duì)多種處理器類型的二進(jìn)制文件進(jìn)行反編譯,包括 x86、ARM、PPC、MIPS、MSP430 和 AVR32。Angr 是一個(gè)用于分析二進(jìn)制文件的 Python 框架。它使用靜態(tài)和動(dòng)態(tài)符號(hào)分析。
由于這些工具可以很容易地對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行逆向工程,從而揭示代碼中的漏洞,因此保護(hù)物聯(lián)網(wǎng)設(shè)備免受這些工具的利用至關(guān)重要。為防止輕松提取代碼,應(yīng)鎖定串行/JTAG 接口。此外,對(duì)于縱深防御方法,代碼也應(yīng)該被加密。這提供了另一層保護(hù),以防設(shè)備接口被破壞或使用其他方法破壞非易失性存儲(chǔ)器。
采用多種方法從各種手機(jī)的閃存中獲取代碼。BuSPIrate 和 JTAGultor 設(shè)備用于通過(guò) SPI、UART 或 JTAG 接口獲取訪問(wèn)權(quán)限。檢查 UART 接口是否有帶有命令接口的引導(dǎo)加載程序或?qū)?Linux shell 的可能 root 訪問(wèn)權(quán)限?;?IP 的方法會(huì)導(dǎo)致內(nèi)存轉(zhuǎn)儲(chǔ),而 Telnet 命令注入會(huì)導(dǎo)致 root 訪問(wèn)。如果閃存中的代碼被加密,訪問(wèn)代碼列表將更加困難。
由于訪問(wèn)純文本代碼,幾個(gè)漏洞被利用。如果沒(méi)有這些代碼清單,識(shí)別這些缺陷會(huì)更加困難。他們有助于識(shí)別以下漏洞:未經(jīng)授權(quán)遠(yuǎn)程更改管理員密碼,在代碼中發(fā)現(xiàn)管理員密碼的硬編碼密鑰,以及弱密碼加密方案。在另一部手機(jī)中,使用了不安全的 DES 加密方案。DES 是在 40 多年前引入的,現(xiàn)在可以在合理的時(shí)間(幾天)內(nèi)使用單個(gè)現(xiàn)代 PC 進(jìn)行暴力破解。
這項(xiàng)工作中出現(xiàn)的許多漏洞都在運(yùn)行時(shí)被利用。這凸顯了良好運(yùn)行時(shí)保護(hù)的重要性,例如使用 TrustZone 和入侵檢測(cè)系統(tǒng) (IDS) 軟件等可信執(zhí)行環(huán)境,這些軟件可以檢測(cè)由于攻擊導(dǎo)致的代碼操作變化。
審核編輯:郭婷
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2930文章
46210瀏覽量
392035 -
Linux
+關(guān)注
關(guān)注
87文章
11509瀏覽量
213673 -
uart
+關(guān)注
關(guān)注
22文章
1275瀏覽量
103874
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論