# [Identifying Mirai-Exploitable Vulnerabilities in IoT Firmware Through Static Analysis](https://ieeexplore.ieee.org/document/9292382) ## Abstract * 物聯網存在 weak authentication credentials 的漏洞。 * 2016 年,Mirai 病毒利用該漏洞進行攻擊。 * 希望利用靜態分析去測試系統對殭屍病毒的抵抗力。 * 結果表明 1200 個 Firmware 中有 193 個容易受到攻擊。 ## Introduction * 物聯網產品存在安全性問題,使客戶購買意願降低。 * 物聯網設備計算資源少,難以實現 high entropy cryptographic algorithm,使攻擊更容易。 * Mirai 是最瘋狂的物聯網攻擊之一,危害了百萬個設備並進行 DDos 攻擊。 * 本文專注在 IoT Firmware 的安全檢測上,測試設備對 Mirai 的可利用性。 ## Background and Literature Review ### Firmware of an IoT Device * IoT 設備的 Firmware 大多是 Based on Linux,本文也專注在這上面。 * 主要分成三類: * 有完整作業系統 * 有部分作業系統(功能被侷限) * 只有應用程式本身 * 分析會暴露關鍵資訊的文件 * SSL certificates * SSH certificates * configuration files * startup scripts * password 相關文件(shadow, passwd)。 ### Boot Up Process * 啟動初始化腳本時需要設定檔,這些通常存在 IoT 設備的 nvram 中,並透過 libnvram 得到。 ### Mirai Malware * 儘管 Mirai 曝光這麼久了,依然持續影響設備。 * 設置的 honey pot 在 5 天內捕捉到 9 個樣本。 * 透過逆向和 Github 上 Mirai 的原始碼分析,Mirai 大致分為兩個階段: * 掃描階段,掃描 23 和 2323 port,都與 Telnet 有關。 * 攻擊階段,對服務進行字典攻擊。 * 最後在 /tmp 注入惡意 binary file 並隱藏自身。 ### Authentication Vulnerabilities in IoT * 不需要高度技術即可利用。 * 提供 high level 權限。 * 大多數設備沒有進行權限訪問管理。 ### Literature Review * 過往 Mirai 的檢測方式: * 利用 Yara rule 對 binray 進行分類(是否惡意) * 透過監控網路流量和分析 packet * 模擬 firmware 後捕捉 Mirai 的 system call * 分析 bash 腳本,遞迴追蹤 file,直到找到後門 ## Methodology  ### Firmware Collection * 使用爬蟲收集 1200 個 Firmware。 * 全部 Based on Linux。 ### Preprocessing * 使用 binwalk 提取。 * 刪除不需要的文件(HTML、JPEG、PDF)。 * 結束後提取 filesystem 並搜索漏洞。 ### Services Analyzer * 目標是搜索這個 Firmware 是否有 Telnet 服務。 * 檢測配置文件(init.d)和 ELF 可執行檔是否存在 Telnet 服務。 * 使用簡單的工具完成(find, grep, cat, strings) ### Files Analyzer * 目標是搜索特殊文件中的 default/weak passwords。 * 檢查 shadow file 和 配置文件的密碼。 * 使用 John the ripper 工具。 ### Component Analyzer * Mirai 使用 cURL 和 wget 下載惡意檔案。 * 檢查這些工具,確認 Mirai 是否攻擊成功。 ### Report Generator * 最後會根據其他模組生成一份報告。 * Firmware metadata * 確定 Telnet 是否存在的 file * 破解的密碼 * 用於下載惡意檔案的服務 ## Technical Challenges ### Firmware Gathering * 有三種方式可以收集 Firmware * 從實際設備的 flash device 提取 * 透過中間人攻擊,在 Firmware 更新獲得 * 從供應商站點下載 * 自動化工具不容易且無法保證成功率 ### Extraction * 收集了 1230 個 Firmware,但有 52 個提取失敗。 * 沒有使用標準的 filesystem 或壓縮演算法導致。 ### Emulation * 有些 Firmware 有 Telnet 服務卻沒有 shoadow 或 passwd。 * 使用模擬的方式可以解決該問題。 ## Results and Discussion  * 1178 個 Firmware 中,有 193 個容易受到 Mirai 攻擊。 * Dataset 中不同種類的數量有點差異,但可以看出 Routers 和 Cameras 有蠻大比例可能有危險。  * 如果增加 username/password 字典大小,比例可能更高。 ## Conclusion * Mirai 利用身分驗證漏洞攻擊。 * 採用靜態分析檢查設備的 Firmware 對 Mirai 的敏感性。 ###### tags: `paper`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up