论文学习_Understanding the Security Risks Introduced by Third-Party Components in IoT Firmware

论文名称 发表时间 发表期刊 期刊等级 研究单位

Understanding the Security Risks Introduced by Third-Party Components in IoT Firmware

2024年 IEEE TDSC CCF A 佐治亚理工学院

1. 引言

研究背景:物联网(IoT)已经无处不在,为我们的日常生活提供了极大的便利。 从路由器、打印机等传统物联网设备,到智能灯、智能插件等智能家居,物联网设备在现代生活中的应用日益广泛。 根据最近的一份报告,Gartner预测,从2020年到2030年,物联网设备的数量将增加两倍。物联网设备的蓬勃发展也不可避免地引发了公众对其安全风险的担忧以及几次现实世界的攻击进一步加剧了这种恐慌。 例如,Mirai 已经危害了数百万个物联网设备,包括 IP 摄像机、DVR 和路由器,形成僵尸网络,并对各种在线服务发起 DDoS 攻击。

固件是在物联网设备中启动的集成软件包,发挥着重要作用。 如今,固件广泛采用 TPC,例如 BusyBox 和 OpenSSL,以加速和简化开发过程。 然而,TPC 的广泛使用是一把双刃剑,因为大量 TPC 存在已知漏洞,这些漏洞将为物联网固件带来许多新的攻击面。 例如,OpenSSL 中的 Heartbleed 漏洞 已经极大地影响了至少数百万台物联网设备。 更糟糕的是,供应商可能会在不同类型的固件中重复使用一组相同的 TPC,这会加速潜在漏洞的传播。 因此,识别固件中使用的易受攻击的 TPC 至关重要。 由TPC引起的单一漏洞可能会在物联网生态系统中造成蝴蝶效应。

现存问题:尽管一系列研究采用了静态或动态方法在评估固件安全性方面,它们仍然受到限制,因为它们较少关注固件中由 TPC 引起的漏洞,缺乏对非基于 Linux 的固件的考虑,和/或在大规模固件安全分析中无法扩展。 具体来说,首先,他们缺乏对TPC引入的 N-day 漏洞的分析,这可能会导致比现实中未知漏洞更严重的问题。 其次,大多数方法仅限于分析基于 Linux 的固件,而缺乏对单片固件的分析,而单片固件广泛应用于新的无处不在的低功耗嵌入式系统,例如智能家居。 最后但并非最不重要的一点是,在进行大规模固件测试时,它们的可扩展性是一个挑战。 例如,多种方法需要真正的物联网设备进行分析或进行大量手动配置工作,这极大地限制了它们的可扩展性。 因此,目前仍然缺乏一种可扩展且实用的方法来全面了解TPC在多种固件中的使用情况及其引入的漏洞。

1.1 研究挑战

固件数据集构建:为了进行研究,第一个挑战是构建一个大规模且全面的固件数据集,涵盖来自不同供应商的不同类型的固件。 从而可以获得关于当前固件安全问题的令人信服的结果。 然而,没有可公开访问的固件数据集用于研究。 此外,越来越多的厂商开始禁止公众下载固件,并对恶意网络爬虫采取反抓取技术,这又大大增加了数据收集的难度。 固件处理。 固件处理存在两个主要挑战。 (1) 从基于 Linux 的固件中提取包含的对象,这些对象具有 TPC 检测的基本信息。 虽然现有的工具(binwalk),可以用于解压固件,但它们在处理采用最新或定制文件系统的固件时存在局限性。 (2)处理单片固件,该固件广泛应用于低功耗嵌入式系统,例如智能家居。 单片固件通常缺乏分析所需的传统操作系统或元数据,例如 RAM/ROM 起始地址。 此外,它的代码、库和数据是高度混合的。 然而,面对这些挑战,现有工具(例如 IDA)无法在没有额外配置的情况下处理单片固件。

TPC 检测和漏洞识别:在 TPC 检测和漏洞识别方面面临两大挑战, (1)在版本级别检测 TPC。 为了准确识别固件中使用的 TPC 对应的漏洞,我们需要在版本级别进行检测,而不仅仅是在 TPC 级别进行检测,因为不同版本的 TPC 的漏洞可能有所不同。 然而,由于不同版本的代码差异可能很小,因此很难在版本级别区分相同的 TPC。 此外,在没有源代码的情况下,只能从固件中获取有限的特征来进行 TPC 识别。 以前的固件分析工作无法满足我们的要求,因为它们不支持在固件的版本级别检测 TPC。(2)构建TPC数据库, 研究需要一个全面且易于使用的 TPC 数据库,以指示固件中可能使用的 TPC 以及每个版本的 TPC 的漏洞。 调研结果表明,之前还没有为物联网固件构建这样的 TPC 数据库的工作。 收集尽可能多的 TPC 并将漏洞映射到 TPC 版本是一项挑战。

1.2 研究方法

在论文致力于全面了解 TPC 在固件中的使用以及 TPC 带来的潜在安全风险。 为此,作者开发了一个可扩展的自动化框架 FIRMSEC 来对物联网固件进行大规模分析,论文的分析方法如下。

  • 步骤 1:为了解决构建固件数据集的挑战,作者从公共来源和私人来源(例如官方网站和私人固件存储库)收集固件映像。
  • 步骤 2:作者为现有的工具(例如binwalk和IDA)定制了几个插件,以解决固件处理中的问题。定制工具支持解压和反汇编基于 Linux 的固件(使用流行和不常见的文件系统)和单片固件。
  • 步骤 3:作者提出了一种新的检测策略来识别固件中使用的 TPC。论文的主要思想是利用从 TPC 和固件中提取的两种特征:语法特征和控制流图特征。然后论文根据版本检查搜索相应的漏洞,这依赖于论文的TPC数据库。根据结果​​,FIRMSEC 将为每个固件映像生成一份报告,指出其潜在风险。此外
  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值