论文标题

Metaemu:汽车固件的建筑不可知论框架

MetaEmu: An Architecture Agnostic Rehosting Framework for Automotive Firmware

论文作者

Chen, Zitai, Thomas, Sam L., Garcia, Flavio D.

论文摘要

在本文中,我们介绍Metaemu,这是一种旨在重新主持和安全性分析汽车固件的架构 - 敏捷的仿真器合成器。 Metaemu通过两种方式改善了现有的重新安置环境:首先,它解决了迄今为止缺乏通用虚拟执行环境(VXE)的开放问题,可以通过从Ghidra的语言定义中综合处理器模拟器来重新安置。通过这样做,Metaemu可以模拟由开源定义的庞大而不断增长的库支持的任何处理器。在Metaemu中,我们使用基于规范的方法来涵盖外围设备,执行模型和分析,从而可以轻松扩展我们的框架。其次,Metaemu可以同时重新主持和分析每个目标,并共享每个目标分析环境之间的分析事实,这是我们称为设备间分析的技术。我们表明,我们的方法提供的灵活性不会导致性能权衡 - Metaemu将重新主持的固件提升为优化的中间表示,并提供与独角兽等现有仿真工具相当的性能。我们的评估涵盖了五个不同的架构,基于金属和RTO的固件,以及来自四个不同销量的三种汽车电子控制单元(ECU) - 由于缺乏处理器支持,当前工具都无法通过当前工具进行重新主持或模拟。此外,我们通过实现fuzzer,用于求解外围访问检查的象征性执行者,CAN ID反向工程工具以及设备间的覆盖范围跟踪器来展示Metaemu如何启用各种分析。

In this paper we present MetaEmu, an architecture-agnostic emulator synthesizer geared towards rehosting and security analysis of automotive firmware. MetaEmu improves over existing rehosting environments in two ways: Firstly, it solves the hitherto open-problem of a lack of generic Virtual Execution Environments (VXEs) for rehosting by synthesizing processor simulators from Ghidra's language definitions. In doing so, MetaEmu can simulate any processor supported by a vast and growing library of open-source definitions. In MetaEmu, we use a specification-based approach to cover peripherals, execution models, and analyses, which allows our framework to be easily extended. Secondly, MetaEmu can rehost and analyze multiple targets, each of different architecture, simultaneously, and share analysis facts between each target's analysis environment, a technique we call inter-device analysis. We show that the flexibility afforded by our approach does not lead to a performance trade-off -- MetaEmu lifts rehosted firmware to an optimized intermediate representation, and provides performance comparable to existing emulation tools, such as Unicorn. Our evaluation spans five different architectures, bare-metal and RTOS-based firmware, and three kinds of automotive Electronic Control Unit (ECU) from four distinct vendors -- none of which can be rehosted or emulated by current tools, due to lack of processor support. Further, we show how MetaEmu enables a diverse set of analyses by implementing a fuzzer, a symbolic executor for solving peripheral access checks, a CAN ID reverse engineering tool, and an inter-device coverage tracker.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源