NDSS 2023下周就要开始了,作为本年度四大安全会议中第一个召开的会议,今年的议题丰富多彩,我们之前已经介绍了好几项不同的工作,今天要为你推荐的这篇论文 FirmWire: Transparent Dynamic Analysis for Cellular Baseband Firmware 是一项最新的针对(无线基带)固件进行动态模拟分析的研究工作
先说说本文的主要研究问题——针对无线蜂窝网络基带(Celluar Baseband)处理器固件的动态模拟。作者开发了FirmWire
,一个用于实现基带处理器固件模拟执行的分析系统。这个系统的架构如下图所示,分为两大部分,第一大部分是插件部分(vendor plugins),第二大部分是核心分析部分(analysis core)。插件部分其实主要是提供一些针对不同厂商的配置信息,在加载特定厂商的固件时,提供正确的加载参数。而核心分析部分才是FirmWire
的主要功能组件,它提供了对设备总线的模拟以及内存读写的支持。
不过,在FirmWire
的设计中,最有意思的是下图描述的这个firmware “ModKit”,也就是有点类似Intel PIN那样的插桩框架,为分析人员提供了一个编写自己的分析插件,然后注入到被模拟的固件代码中去一起执行的渠道。
为了让这个ModKit更加好用,作者还为FirmWire
设计了一个Guest Link(GLINK)模块,这个模块在上层能够和Python代码沟通,而在底层则是和被模拟的固件进行一些函数hook、代码debug的基础操作:
有了ModKit的支持,作者开发了一个针对基带通信协议的fuzzing模块,来挖漏洞~ 他们主要分析了213个三星和联发科的相关基带固件,涉及的型号如下表所示:
如下图所示,一方面FirmWire
能够为底层的基带固件注入fuzz模块去驱动fuzzing任务执行,另一方面上层的GLINK模块还能够帮助捕获错误信息并分析crash的相关原因:
论文写到这里,就变成了一篇fuzzing的文章……作者开始给读者展示各种fuzzing效果……以及找到的漏洞……我们就请大家自己去论文中寻找细节啦!
最后,论文展示了一个基于挖掘的漏洞,对over-the-air(OTA)更新过程进行攻击的实例,利用了Ettus Research的USRP B210 和 N210软件无线电装置,以及OpenLTE + YateBTS 5.5.0(用来模拟LTE、GSM网络)来对实际设备进行了测试,确认了所发现的代码问题可以让设备崩溃
论文:https://www.ndss-symposium.org/wp-content/uploads/2022-136-paper.pdf
源码:https://www.github.com/FirmWire/FirmWire
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2023-02-21 FirmWire
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论