A Large-Scale Analysis of the Security of Embedded Firmwares

SEC’14 Proceedings of the 23rd USENIX conference on Security Symposium (CCF-A)
Pages 95-110
San Diego, CA — August 20 – 22, 2014
USENIX Association Berkeley, CA, USA ©2014
table of contents ISBN: 978-1-931971-15-7
32K固件镜像文件 — 1.7百万独立文件
静态分析发现 — 在693个固件中发现38个CVEs —
挑战
1、创建具代表性的数据库
设备类型、版本、厂商、收集的数量等
2、固件提取识别
厂商、代码、版本、架构等;文件格式
3、固件解压 自定义格式
非标准固件格式内容解压
4、扩展性和计算能力限制
计算固件之间关系,目标相似性检测,在大规模固件数据库时需要极大的计算和处理能力
5、结果确认
漏洞复现环境复杂,规模巨大很难确认
设计实现


主要功能
1、固件收集 固件存储
网络爬虫、用户上传
2、固件分析云平台
分布式系统进行固件解包和静态分析
对提取的密码hash进行破解
3、相关性分析引擎
固件分析结果保存在DB中,可对其进行统计、查询等操作
相关性:固件镜像之间的关系
相同认证和自签名证书
关键字keywords,如backdoor
根据文件相似性预测判断是否存在同一个漏洞
数据丰富程度
shodan搜索固件
带SSL证书的固件收集
总结
规模巨大的固件量,从已有的漏洞出发,推测与此文件类似的其他固件(可能是不同厂商不同产品)是否包含相同的漏洞。
采用静态分析方法挖掘漏洞,加入了对密码Hash的破解模块。
优点:固件规模可观;根据相似性推测漏洞的方法
缺点:纯静态分析太初步和简单