记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

G.O.S.S.I.P 阅读推荐 2022-05-31 FirmSec

2022-06-01 00:59
发表于

解封前的最后一天给大家推荐的是来自ISSTA 2022的一篇论文"A Large-Scale Empirical Analysis of the Vulnerabilities Introduced by Third-Party Components in IoT Firmware",作者对物联网固件中的第三方组件(Third-party Component, TPC)的安全性展开了研究,设计实现了一个TPC检测和安全分析自动化框架——FirmSec,识别出了429个CVEs造成的128,757个漏洞。


FirmSec主要用于自动识别固件中所使用的TPC,并检测TPC的相应漏洞,其主要架构如图1所示。


(1) 固件收集:从不同来源尽可能多的收集固件。

(2) 固件预处理:对收集的固件进行过滤、解包与反汇编,以实现后续的TPC识别。

  • 固件过滤:从原始数据集中排除非固件文件,包括后缀匹配方法和利用BANG工具。

  • 固件标识:确定必要的软件信息(如设备信息、操作系统、体系结构以及文件系统等),主要通过从metadata文件提取信息以及利用binwalk扫描固件来实现。

  • 固件提取:已有工具(Binwalk)在处理某些系统(SquashFS、JFFS2和YAFFS)过程中会存在问题,从而造成提取不完整。作者基于Binwalk来实现固件的提取,并使用sasquatch与jefferson替换其中的unsquashfs和jffsdump,同时实现了一个基于yaffshiv的新插件来解压YAFFS,以缓解特定系统提取不完全的问题。

  • 固件反汇编:许多固件由于采用了不常见的处理器而缺乏一些信息,导致已有的工具(IDA/GHIDRA)无法对其反汇编。为此,作者首先收集固件所有用到的处理器类型,为每个处理器收集相应的参考手册或数据表,来获得相关信息(指令集、RAM/ROM起始地址等);然后作者基于这些信息实现了7个IDA插件,对应于7种处理器,这些插件能够自动加载和反汇编固件。

(3) 固件分析:采用版本检查来识别TPC相应漏洞。

  • TPC数据库构建:首先从不同来源尽可能的收集可用TPC,然后利用CVE Search收集相关TPC CVE。最终,作者收集了1,191个TPCs。

  • TPC检测:作者实现了基于两种特征的TPC检测方法,即语法特征(字符串、函数信息)和CFG特征,这两种特征在源文件和二进制文件之间几乎没有变化。

    • 特征提取:首先从TPC源文件和固件中分别提取语法特征和CFG特征。具体来说,FirmSec提取TPC所有版本的共享语法特征和某个版本的特定语法特征,以及基于属性的控制流图(ACFG)。

    • 语法特征匹配:利用edit distance和ratio-based matching来衡量TPC和固件之间的语法相似性,即用共享语法特征来识别TPC,用特定语法特征来识别TPC版本。

    • CFG特征匹配:聚合多个ACFG的相似性来确定TPC与固件之间的相似性。高复杂性的CFG更有可能比其他CFG有更大的差异,因此作者利用圈复杂度(cyclomatic complexity)计算相应CFG权重以聚合多个ACFG的相似性。

  • 漏洞识别:根据TPC数据库来获得固件中检测到的相应版本TPC的漏洞。

作者总共收集了35978个固件,来自13家供应商,涉及35种设备。经过数据过滤后,最终获得了13家供应商的34136个有效固件,如图2所示。作者利用Tomatoshibby和Openwrt构建的数据集来进行阈值选择和FirmSec评估,因为这两个项目都有源代码,且配置文件中含有所采用TPC的确切版本。


TPC检测结果

  • 如表3所示,FirmSec在TPC级别检测和TPC版本级别检测都实现了较高的精度和召回率;并且本文所使用的两个特征结合的方法比基于单独特征的方法具有更好的性能(尤其是召回率),作者认为两种特征的结合能够减少漏报情况,且误报有重叠部分,从而能够提高召回率同时不会对精度有很大影响。

  • 作者进一步对TPC的使用进行分析,如表4和图2所示,平均每个固件使用了56.69个TPCs。



漏洞检测结果

  • FirmSec在34,136个固件中检测到128,757个潜在漏洞,涉及429个CVE;其中小米路由器的漏洞数量最多,平均每台设备的漏洞有116.19个,如表4所示。

  • 图3列出了3个方面的Top 10 TPC,包括受影响固件数量、涉及的CVE数量、造成的漏洞数量。其中OpenSSL包含最多的132个CVE,影响1,304个固件,造成52,135个漏洞。

  • 此外,作者还对漏洞检测结果进行了进一步的分析,包括不同类型、不同供应商的固件漏洞情况,受影响设备的地理分布,固件发布时是否采用最新TPC,以及是否存在TPC许可违规行为,详细的实验结果可以查阅原文~











原文链接:
https://nesa.zju.edu.cn/download/zbb_pdf_issta_22.pdf



知识来源: mp.weixin.qq.com%2Fs%2Fs7JwCRrzvF5kFc8aNvQ5xg&id=1b56e938fba5e1b3fbd786bd632a8c2d

阅读:53507 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“G.O.S.S.I.P 阅读推荐 2022-05-31 FirmSec”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

标签云 ☁