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