跟着白泽读paper丨A Large-Scale Analysis of the Security of Embedded Firmwares

A Large-Scale Analysis of the Security of Embedded Firmwares

本文发表在USENIX Security 2014,文章工作主要由法国Eurecom研究中心的研究者完成。第一作者是现工作于芬兰 于韦斯屈莱大学的助理教授,Andrei Costin,主要研究方向是嵌入式固件和静态分析,在USENIX、WiSec上等会议上发表过文章。

主要内容

随着嵌入式系统在我们的社会中越来越普遍,它们的安全性正成为一个越来越重要的问题。根据最近许多对单个固件映像的分析结果,嵌入式系统的安全性还十分有待提高。然而,我们目前还缺乏对嵌入式系统安全性以及支持此类声明所需的工具技术的全面理解。
本文首次对固件映像进行了公开的大规模分析,解包了3.2万个固件镜像文件得到了170万个独立文件,对其进行了静态分析。通过这种大规模的分析,作者团队为嵌入式设备的安全性问题带来了新的见解,并详细说明了未来研究中需要解决的几个重要挑战,同时展示了查看不同设备以及将结果与其他大型数据集链接的主要好处。
作者构建了一个自动化框架,收集并分析固件镜像,在没有执行复杂静态分析的情况下,在超过693个固件映像中发现了38个新的CVE,此外,通过在明显不相关的固件映像中关联相似文件,能够将其中一些漏洞扩展到123中不同的产品,同时,这些漏洞总共影响了至少140K件设备。

设计与实现

作者首先总结了大规模固件分析工作中所遇到的五大挑战,其中包括:

  • 数据集的收集。由于嵌入式系统生态环境复杂,非集中式分布的特点,很难去收集一个有代表性的庞大数据集,作者采用爬虫和公开性网络服务结合的方法来收集固件映像。
  • 固件的识别。对于收集到的固件映像,人工识别文件身份是十分耗时费力的工作,同时自动化方法又存在准确性不高的问题,无法对所有文件进行处理,作者采取随机抽样的方法,选取32K样本进行人工分析。
  • 对于自定义格式镜像文件的解压。由于厂商的定制化设计,固件没有统一的格式,解压也是很大一个问题,作者分析现有工具,选取了BAT并为其开发了一些相关插件,结合file carving的方法对文件进行解包,但仍不能解决所有情况。
  • 可伸缩性及计算限制。数据集庞大带来的计算开销问题也是无法避免的挑战,作者只能选择修改计算策略,在计算文件相似度时摒弃one-to-one的计算方法,只对认为可能存在漏洞的文件,计算其与其他文件的模糊哈希相似度。
  • 和分析结果的验证。这是所有大规模分析研究都会遇到的问题,但不在本文的工作范围之内。

下面来分析文中设计的自动化框架。整体结构如下图所示,
数据库构建:通过爬虫和Public Web Interface从网络上获取固件映像存储在Firmware DataStore中。

跟着白泽读paper丨A Large-Scale Analysis of the Security of Embedded Firmwares_第1张图片

静态分析:Firmware Analysis Cloud模块负责对映像进行分析,Master Node负责为worker nodes派发静态分析任务,worker nodes执行具体的静态分析任务,Password Hash Cracker负责对分析过程中遇到的密码哈希进行破解记录,得到的分析结果存储在Firmware Analysis & Reports DB中。
此外,Master节点中还运行着Data Enrichment 和 Correlation Engine模块,分别负责丰富固件相关信息和文件相似性计算。通过对与存在漏洞文件相似度较高的相似文件分析,能够扩大发现漏洞的影响范围。

评价与反思

对嵌入式固件进行大规模分析,对于发现并分析嵌入式设备中存在的漏洞是十分有益,并且十分必要的。作者帮助之后的研究人员理清了研究过程中可能遇到的挑战并讲解了自己的解决方法,在了解嵌入式设备的整体安全状态之外,还可以帮助安全分析员探索已知的漏洞是否存在于其他厂商设备中。
但是作者的工作还是比较初步的,构建的数据集不够完整,对于文件的过滤比较粗粒度,执行的静态分析方法比较简单,其中人工参与度还是比较高,对于分析结果的确认也没有提出有效的方法。在之后进行相关类型的研究课题时,可以尝试针对作者提出的五大挑战提出更好的解决方法。

文丨LKK, Wisher


跟着白泽读paper丨A Large-Scale Analysis of the Security of Embedded Firmwares_第2张图片
扫码关注白泽战队微信公众号

你可能感兴趣的:(跟着白泽读paper丨A Large-Scale Analysis of the Security of Embedded Firmwares)