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

ed9e9f72b9fefde61fd957537c031658.png

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系统的网络物联网设备自动化可扩展动态分析系统

879da5c0af12ceb9a8238c8603cdb3e9.png

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中,固件提取时加入统计分析技术,处理混淆和加密的固件类型等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值