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