NDSS ’16, 21-24 February 2016, San Diego, CA, USA
Copyright 2016 Internet Society, ISBN 1-891562-41-X
http://dx.doi.org/10.14722/ndss.2016.23415
FIRMADYNE
基于Linux系統的網絡物聯網裝置自動化可擴充動态分析系統
1、網絡爬蟲
從ftp和web站點爬取固件鏡像,設定爬取規則,比如檔案擴充名白名單(img/chk/bin/stk/zip/tar/sys/rar/pkg/rmt等),過濾掉更新包和無用的包等
2、提取解壓
讀取ELF頭,确定架構和檔案類型,使用binwalk API解壓,注意設定的黑名單(PE32 windows/ELF Linux/ binaries Mactosh等),使用第三方工具庫如jefferson/sasquatch提取JFFS32/SquashFS檔案類型,以及結合其他工具jffsdump/unsquashfs/bat/firmware-mod-kit等
3、模拟執行
主要關注的幾種架構類型 — MIPS(大端序、小端序) ARM(小端序)
模拟工具QEMU
4、自動分析
1)web頁面
提取web server頁面,過濾掉靜态檔案(png/css/js等),注意Response狀态碼2xx,過濾4xx和5xx等,使用者認證過程和方式–用戶端cookie、server ip、賬号登入等
2)snmp資訊
使用snmpwalk工具進行SNMP協定分析,注意OIDs等敏感資訊
3)漏洞檢測
使用Metasploit架構的POC和EXP進行漏洞檢測
4)額外功能
調試和攻擊子產品,代碼執行動态跟蹤功能,可以結合IDA Pro
結果
在固件樣本中發現了14個未知的漏洞,使用metasploit中的60個poc進行檢測
漏洞類型 — 指令注入、緩沖區溢出、資訊洩露、 CVE-2014-0659 (配置資訊讀取和任意代碼執行)、CVE-2013-0229(DOS)、CVE-2014-0224(openssl ChangeCipherSpec 導緻mitm攻擊)
總結
此工具整合了爬蟲、提取、模拟和漏洞檢測子產品,可以有效檢測出固件中的漏洞
受限于支援的固件類型,固件架構和漏洞檢測EXP數量
未來可以擴充至RTOS(實時作業系統)系統如VxWorks中,固件提取時加入統計分析技術,處理混淆和加密的固件類型等。