当前位置: X-MOL 学术arXiv.cs.AR › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
ECMO: Peripheral Transplantation to Rehost Embedded Linux Kernels
arXiv - CS - Hardware Architecture Pub Date : 2021-05-29 , DOI: arxiv-2105.14295
Muhui Jiang, Lin Ma, Yajin Zhou, Qiang Liu, Cen Zhang, Zhi Wang, Xiapu Luo, Lei Wu, Kui Ren

Dynamic analysis based on the full-system emulator QEMU is widely used for various purposes. However, it is challenging to run firmware images of embedded devices in QEMU, especially theprocess to boot the Linux kernel (we call this process rehosting the Linux kernel in this paper.) That's because embedded devices usually use different system-on-chips (SoCs) from multiple vendors andonly a limited number of SoCs are currently supported in QEMU. In this work, we propose a technique calledperipheral transplantation. The main idea is to transplant the device drivers of designated peripherals into the Linux kernel binary. By doing so, it can replace the peripherals in the kernel that are currently unsupported in QEMU with supported ones, thus making the Linux kernel rehostable. After that, various applications can be built upon. We implemented this technique inside a prototype system called ECMO and applied it to 824 firmware images, which consist of 17 kernel versions, 37 device models, and 24 vendors. The resultshows that ECMO can successfully transplant peripherals for all the 824 Linux kernels. Among them, 719 kernels can be successfully rehosted, i.e., launching a user-space shell (87.3% success rate). The failed cases are mainly because the root file system format (ramfs) is not supported by the kernel. We further build three applications, i.e., kernel crash analysis, rootkit forensic analysis, and kernel fuzzing, based on the rehosted kernels to demonstrate the usage scenarios of ECMO.

中文翻译:

ECMO:外设移植以重新托管嵌入式 Linux 内核

基于全系统仿真器 QEMU 的动态分析被广泛用于各种目的。然而,在 QEMU 中运行嵌入式设备的固件映像是具有挑战性的,尤其是引导 Linux 内核的过程(我们在本文中称此过程为重新托管 Linux 内核。)这是因为嵌入式设备通常使用不同的片上系统(SoC) ) 来自多个供应商,并且 QEMU 目前仅支持数量有限的 SoC。在这项工作中,我们提出了一种称为外周移植的技术。主要思想是将指定外设的设备驱动程序移植到Linux内核二进制文件中。通过这样做,它可以用支持的外设替换 QEMU 当前不支持的内核中的外设,从而使 Linux 内核可重新托管。之后,可以构建各种应用程序。我们在名为 ECMO 的原型系统中实现了这项技术,并将其应用于 824 个固件映像,其中包括 17 个内核版本、37 个设备模型和 24 个供应商。结果表明ECMO可以成功移植所有824个Linux内核的外设。其中,719个内核可以成功rehost,即启动用户空间shell(成功率87.3%)。失败的情况主要是内核不支持根文件系统格式(ramfs)。我们进一步构建了三个应用程序,即内核崩溃分析、rootkit 取证分析和内核模糊测试,基于重新托管的内核来演示 ECMO 的使用场景。结果表明ECMO可以成功移植所有824个Linux内核的外设。其中,719个内核可以成功rehost,即启动用户空间shell(成功率87.3%)。失败的情况主要是内核不支持根文件系统格式(ramfs)。我们进一步构建了三个应用程序,即内核崩溃分析、rootkit 取证分析和内核模糊测试,基于重新托管的内核来演示 ECMO 的使用场景。结果表明ECMO可以成功移植所有824个Linux内核的外设。其中,719个内核可以成功rehost,即启动用户空间shell(成功率87.3%)。失败的情况主要是内核不支持根文件系统格式(ramfs)。我们进一步构建了三个应用程序,即内核崩溃分析、rootkit 取证分析和内核模糊测试,基于重新托管的内核来演示 ECMO 的使用场景。
更新日期:2021-06-01
down
wechat
bug