# A Survey of Security Vulnerability Analysis,Discovery, Detection, and Mitigation on IoT Devices
---
## Abstract
- 藍色:原文
- 綠色:翻譯
- 黃色:心得
:::info
We review
state-of-the-art research on IoT device vulnerability discovery, detection, mitigation, and other related
works. Then, we point out the current challenges and opportunities by evaluation. Finally, we forecast
and discuss the research directions on vulnerability analysis techniques of IoT devices
:::
:::success
我們回顧了有關IoT設備漏洞發掘,檢測,解決方法和其他相關研究。
然後,通過評估指出當前的挑戰和機遇。 最後,我們預測並討論了物聯網設備漏洞分析技術的研究方向。
:::
## Background
:::info
1. Device Composition
Whether a big and complex machine for car manufacturing or a small and smart bracelet for wearing, they contain relatively fixed components such as chips, flash, firmware, and so on.
Its composition mainly includes hardware and software parts
:::
:::success
無論是用於汽車製造商還是小型智能手環
,它們都有相對固定的零件,例如芯片,快快閃記憶體,韌體等。
它的組成主要包括硬體和軟體
==設備組成==
1. 邏輯晶片
較復雜的設備,它具有操作系統,因此需要多個邏輯芯片或CPU。
簡單的嵌入式設備只需使用微處理器來執行程式。
2. 記憶體
提供儲存空間
3. 快閃儲存區
給韌體儲存的區域
4. 網路模組
大多數物聯網設備都可以連接到網路上,他們提供無線技術讓他們可以連接到AP
5. debug 介面
除錯接口可以給供應商開發人員之間發送和接收指令。 最常用的接口之一是UART
6. BootLoader
一個小程序,在IoT設備系統運行之前,它將初始化硬體設備並將韌體加載到引導設備。 因此,它將系統的軟體和硬體環境置於適當的狀態,以準備正確的環境。
7. 韌體
韌體包含作業系統 檔案系統 和服務程式。資安人員大多先從韌體下手
==攻擊層面==
物聯網領域的攻擊分成三種層面:
1. portocol 層面
- 弱認證
- 洩漏敏感資訊的傳輸
- 不安全遠端管理介面
2. 軟體層面
- 不安全設定
- 不安全像是 ssh 、telent
- 不安全應用程式服務
- 應用程式缺乏安全表準,弱不安全程式碼 被編譯竟軟體裡可能造成危害
- 韌體洩漏敏感資訊
- 用明文儲存資訊
- 不安全作業系統
- 由於開發週期短和輕量化,IoT設備作業系統的核新版本通常不是最新的,這會導致各種bof問題,例如特權升級。例如,MarvellWiFi 芯片驅動程序存在多個漏洞 例如CVE-2019-14901,CVE-2019-14897和CVE-2019-14896 。
- 不安全載入程式
- e.g. checkm8載入程式漏洞 用在apple上
4. 硬體層面
- 洩漏敏感資訊硬體介面
- 未受保護快閃晶片
- 未受保護除錯介面
==漏洞發現 檢測 減緩==
物聯網漏洞技術分類:
1. 漏洞分析的基本框架,這種框架會模擬設備運行幫助檢測
2. 漏洞研究發現技術,尋找未知漏洞的方法
3. 漏洞檢測研究,基於現有的特徵進行特徵檢測已知漏洞的方法
4. 修補措施:漏洞修復的方法,限制惡意行為或存取控制的方法
5. 韌體提取
==相似度檢測方法 Similarity Detection Method==
研究人員會用原始碼相似性檢測方法來檢測已知漏洞,因為IoT設備中有大量未修補的已知漏洞。
在這階段,類似檢測的研究主要針對傳統的軟體安全領域。
目前也逐漸開始往跨架構物聯網設備。
目前沒有針對物聯網往韌體相似度的研究論文
在圖4中,相似性檢測方法的基本思想是提取
代碼的原始功能,例如字符串,指令序列,基本程式區塊,語法樹,
函數調用圖,等等。
然後,通過算法類似地測量這些特徵。
最後,確定相應的代碼片段中是否存在漏洞。 本節
主要分為以下兩點:源代碼的相似度檢測和相似度
檢測二進制代碼。
(1) 原始碼檢測
指的是基於源始碼檢測已知漏洞,CP-Miner [論文] 採用了一種
基於(token-based)方法,使用詞法分析來產生token
序列並蒐索重複的token
序列來測量相似性 。
ReDeBug [論文] 提出了一種可擴展方法,結合修補程式碼來確定漏洞code的特徵,然後再進行修復,並提供檢測
未修補的程式碼。 但是,以上基於程式碼的方法不適用於物聯網。
在多數情況下,
安全研究人員無法獲取固件的源始碼。
(2) 二進位檔檢測

:::
## Approach overview
###### tags: `thesis`