【关键字】
物联网设备固件虚拟化
2023年4月8日~9日,由InForSec、南方科技大学斯发基斯可信自主系统研究院、清华大学网络科学与网络空间研究院、复旦大学软件学院系统软件与安全实验室、国科学院计算技术研究所处理器芯片全国重点实验室、中国科学院软件研究所可信计算与信息保障实验室、中国科学院大学国家计算机网络入侵防范中心、浙江大学NESA Lab、山东大学网络空间安全学院、百度安全、奇安信集团、蚂蚁集团、阿里安全等单位联合主办的“InForSec 2023年网络空间安全国际学术研究成果分享及青年学者论坛”在南方科技大学成功召开。来自清华大学、复旦大学、浙江大学、北京邮电大学、中国科学院大学等66所高校及科研院所的230余人现场出席会议,900余人通过视频会议系统及直播系统参与了本次论坛。
我们将对会议精彩报告进行内容回顾,本文分享的是华中科技大学副研究员周威的报告——《无硬件依赖新型全系统物联网设备固件虚拟化方案研究》。
周威老师首先指出目前存在很多小型的运行在MCU上的物联网设备,这些设备看似很小,但是如果存在漏洞,造成的安全后果也是非常严重的。
目前,动态程序检测技术已经成为软件漏洞检测的首选利器,那么能否将现有的动态分析技术直接应用于物联网设备的漏洞检测呢?
周老师指出,物联网设备自身难以直接应用动态分析技术,主要是计算效率过低以及信息收集能力较弱导致的。于是周老师开始考虑是否能够通过在服务器上对物联网设备进行模拟来解决上述问题。
经过深入分析后,周老师总结出了MCU固件模拟存在的一些挑战。
随后,周老师对该领域的研究现状进行了总结并分析其局限性。
基于这些调研结果,周老师提出了他们的研究目标,即摆脱硬件依赖,提供自动化程度,测试方法通用化以及足够的扩展性。
为了实现该目标,周老师提出了通过固件自身逻辑学习外设反馈的解决思路。该方案的关键在于周老师发现如果外设错误的值到固件,固件在动态运行中往往会处于异常状态比如死循环等,并且这些异常的程序状态直接反应在不同的路径选择上。其核心思路在于将外设输入符号化后对程序运行状态进行实时异常监控,从而学习出使路径能够持续保持在非异常状态的外设反馈并存储形成知识库。然后,再利用知识库即可支持固件的动态运行无需任何硬件环境。
随后,周老师介绍了具体的设计方案uEmu,该研究成果发表于Usenix Security 2021。
在完成该研究后,周老师继续思考这种基于固件自身构建自动化外设仿真模型的方法是否存在一些不足之处。最后得出结论,设备仿真模型构建所依赖的信息仅从固件提取,而固件可能会存在错误,误导,不完整等问题。
经过进一步地分析,周老师发现想要实现完整和真实设备一样的外设交互状态机,除了固件程序逻辑以外还需要知道:硬件信号触发的时机,如IRQ,以及不同硬件信号触发后对应硬件反馈。
周老师指出现有的外设仿真模型保真度低,存在效率低,适用范围受限,可扩展性较低的缺陷,这些问题的根本原因在于主要的关于外设行为的硬件知识缺失。
基于这些发现,周老师产生了新的研究目标,提高仿真模型的保真度,即设计的仿真模型需要保证和真实设备在数据和执行路径上尽可能一致。
为了实现该目标,周老师提出了借助硬件描述手册辅助外设仿真模型生成的解决方案。
具体而言,周老师基于自然语言处理技术实现了基于设备手册的高保真度全设备仿真平台SEmu,该研究成果发表于ACM CCS 2022上。
特别地,周老师考虑到现有NLP技术对人类语言理解存在的局限性,导致提取的规则不完整甚至出现少数错误的问题,他们进一步利用符号执行等程序分析技术,快速辅助定位错误规则。
周老师选择了来自不同MCU厂商的5个不同的硬件描述手册,涵盖20多个热门MCU系列,从26个常用的外设中提取了23,000多个句子中的3,600多个C-A规则,使用大型固件数据集单元测试和模糊测试对SEMU进行了评估测试。
在保真度方面,SEmu自动化100%通过全部单元测试,SEmu在所有P2IM单元测试中的执行路径与真实设备完全一致。
在模糊测试方面,Semu支持20多种常见物联网外设并且是第一个支持以太网外设物理层自动化仿真工具,SEmu在保证准确度的同时,进一步提高了代码覆盖率,并且没有误报。
在介绍完自己的研究内容后,周老师对目前最前沿的MCU固件模拟研究进行了总结,并提出了对未来研究的一些讨论和展望。
最后,周老师分享了自己的科研心得,与大家共勉。
上一篇 : 伪装成红队以中国企业财务部门为目标的攻击活动分析
下一篇 : 用于检测IoT恶意软件变种的自监督比较学习框架
Copyright © 2016 云安全门户 | 南京聚铭网络科技有限公司 旗下产品 | 苏ICP备16021665号-2
Copyright © 2016 云安全门户
南京聚铭网络科技有限公司 旗下产品