MetaEmu:一种面向汽车固件且与架构无关的重托管框架
密码学与安全
2022-08-09 v1
摘要
在本文中,我们提出 MetaEmu,一种面向汽车固件重托管与安全分析的架构无关模拟器合成器。MetaEmu 在两方面改进了现有重托管环境:首先,它通过从 Ghidra 的语言定义合成处理器模拟器,解决了此前缺乏通用虚拟执行环境(VXE)用于重托管的开放性问题。由此,MetaEmu 可模拟由庞大且不断增长的开源定义库所支持的任何处理器。在 MetaEmu 中,我们采用基于规约的方法覆盖外设、执行模型与分析,使框架易于扩展。其次,MetaEmu 可同时重托管并分析多个不同架构的目标,并在各目标的分析环境间共享分析事实,我们将此技术称为设备间分析。我们表明,该方法所提供的灵活性并未带来性能折损——MetaEmu 将重托管固件提升为优化的中间表示,并提供与 Unicorn 等现有仿真工具相当的性能。我们的评估涵盖五种不同架构、裸机与基于 RTOS 的固件,以及来自四家不同厂商的三类汽车电子控制单元(ECU)——由于缺少处理器支持,这些均无法被当前工具重托管或仿真。此外,我们展示了 MetaEmu 如何通过实现模糊测试器、用于求解外设访问检查的符号执行器、CAN ID 逆向工程工具以及设备间覆盖率追踪器,来赋能多样化的分析。
引用
@article{arxiv.2208.03528,
title = {MetaEmu: An Architecture Agnostic Rehosting Framework for Automotive Firmware},
author = {Zitai Chen and Sam L. Thomas and Flavio D. Garcia},
journal= {arXiv preprint arXiv:2208.03528},
year = {2022}
}