高级检索

    一种嵌入式Linux系统上的新型完整性度量架构

    A Novel Integrity Measurement Architecture for Embedded Linux Systems

    • 摘要: 完整性度量框架是可信计算平台的重要组成部分之一.但过往研究工作所提出的完整性度量框架设计在实际应用于嵌入式设备场景时,往往体现出不同程度的局限性.提出了内核级动态完整性度量架构(dynamic integrity measurement architecture at kernel-level, DIMAK),一种针对嵌入式Linux操作系统的实用化完整性度量架构,为基于Linux的嵌入式设备提供有效且高性能的运行时完整性验证能力.该架构支持对映射至系统内核空间及用户进程的可执行文本、静态数据以及动态链接信息等关键内容实施即时(just-in-time)完整性校验.利用Linux内核的进程、内存和页面管理机制,DIMAK实现了对被度量内容所驻留物理页面的运行时校验,避免了基于文件的静态度量方法可能存在的检查与使用时差(time-of-check to time-of-use, TOCTTOU)漏洞.通过首次引入对位置无关代码的重定位/动态链接信息的完整性基线预测方法,DIMAK在面对包括基于hooking的控制流劫持、恶意代码运行时载入等攻击威胁时具有较之现存同类技术更强的完备性.另外,通过引入对软件热补丁功能的可信验证支持,DIMAK在系统完整性度量问题中将该应用场景与恶意攻击行为正确地加以区分.根据各种被度量实体的不同类型,DIMAK在离线阶段、系统启动时、进程加载时和代码动态加载时等时机分别生成其对应的完整性基线,确保其完整性验证行为的正确性.真机测试显示,所述的DIMAK架构产生的性能开销完全可以满足嵌入式设备场景下的实际应用要求.

       

      Abstract: Integrity measurement architecture (IMA) is an important component of trusted computing. However, existing IMA schemes possess a number of practical limitations when applied in embedded systems. In this paper, we propose dynamic integrity measurement architecture at kernel-level (DIMAK), an effective and efficient runtime integrity measurement architecture for embedded Linux systems. DIMAK supports just-in-time integrity measurement for code texts and static data in both kernel and user space, as well as dynamic linking information maintained by position independent executables (PIE). Exploiting the process, memory and page management mechanism of Linux kernel, DIMAK is capable of measuring the to-be-measured contents at physical-page-level, hence avoids potential time-of-check to time-of-use (TOCTTOU) vulnerability that has been discovered in existing techniques. On top of that, by proposing a predictive integrity baseline generation technique for the relocation and dynamic linking information of ELF files, the proposed architecture achieves better completeness than the state-of-the-art schemes in case of responding to threats like hooking-based control flow hijacking and dynamically loaded malware. Also, with a novel trusted software hot-fix protocol, the proposed architecture becomes the first IMA scheme capable of correctly distinguishing on-the-fly software patching behaviors from malicious code loading. Given different types of contents to be measured, DIMAK generates the corresponding integrity baselines at a variety of timings, e.g., during off-line phase, system booting, process loading or dynamic code loading, thus ensures correctness of the architecture’s integrity measurement for all possible scenarios. Experiments on real commercial embedded devices have also shown that performance overhead caused by DIMAK is sufficiently acceptable for embedded devices.

       

    /

    返回文章
    返回