天天看點

linux firmware 架構,Towards Automated Dynamic Analysis for Linux-based Embedded Firmware

linux firmware 架構,Towards Automated Dynamic Analysis for Linux-based Embedded Firmware

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系統的網絡物聯網裝置自動化可擴充動态分析系統

linux firmware 架構,Towards Automated Dynamic Analysis for Linux-based Embedded Firmware

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中,固件提取時加入統計分析技術,處理混淆和加密的固件類型等。