利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改

栏目: 编程工具 · 发布时间: 6年前

内容简介:,

作者: {Persist}@ArkTeam

原文作者: Xueyang Wang, Charalambos Konstantinou , Michail Maniatakos

,

Ramesh Karri

原文题目: ConFirm: Detecting Firmware Modifications in Embedded Systems using Hardware Performance Counters

原文来源: ICCAD ’15 Proceedings of the IEEE/ACM International Conference on Computer-Aided Design

程序的行为可以通过其执行期间硬件事件的总出现次数以及不同被监视事件的计数之间的关系来唯一地表征。 此类硬件事件包括退役指令,分支机构,返回,浮点运算等。当对软件进行恶意修改时,执行的硬件事件的计数将与合法的固件运行期间的计数不同。利用HPC来统计硬件事件,开销低。本文在基于ARM和PowerPC的嵌入式平台上实现了ConFirm的原型。 并通过两种固件和攻击证明了该技术的可行性。

HPC是内置于现代微处理器的PMU中的专用寄存器,用于存储有关硬件事件的信息,事件选择器可以指定要监视的用户定义的硬件事件。

本文提出了一种计算路径分析方法,固件的子程序通常在其控制流程图中具有多个计算路径。每个计算路径都经过不同的代码块,因此执行不同的代码。触发不同的硬件事件,从而可以生成不同的硬件事件的计数向量。令C(Ex)表示来自目标计算路径执行的事件x的计数。如果同时监视m个硬件事件,则可以获得具有m个元素的HPC向量V,如下所示:

利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改

如下图所示,在被监视的子例程中执行有效路径P1和P2就低级硬件事件的出现而产生不同的向量V1和V2。例如,恶意执行可以通过路径P3,生成与V1和V2不同的意外HPC向量V3。

利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改

图1 计算路径

ConFirm核心由三个组件组成:插入模块,将检查点插入受监控的固件,HPC处理程序,驱动HPC,数据库,存储有效的基于HPC的签名。所有这些组件都存储在在写保护的非易失性存储器中。这可以防止攻击损害ConFirm,同时仍允许授权更新

利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改

图2 ConFirm的结构示意图

初始化过程:当固件程序加载到内存当中执行之前,bootloader将控制权转交给Confirm,ConFirm中的检查点生成器就会在固件程序中插入检查点,两个检查点形成一个检查窗口,然后HPC handler就开始启动并初始化HPCs,最后Confirm会把控制权转交给bootloader,完成初始化工作。

ConFirm的工作工程如下图所示,当固件程序一旦执行到达检查点,ConFirm就会拦截控制流并将其重定向到核心模块。然后,核心与HPC处理程序和基于HPC的签名数据库进行通信。具体地,读取先前检查窗口的事件计数并与数据库中的相应签名进行比较。然后重置HPC等待下一个检查窗口,并继续执行受监视的固件。HPC会一直计算硬件事件的发生次数,直到达到下一个检查点。

利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改

图3 Confirm工作过程示意图

本文还提出利用一种随机化检查点的方法来阻止恶意的检测绕过,如下图所示,如果攻击者知道正确的AB的值,可以修改AC的值,同时修改CB的值,从而使AB不变,系统就检测不到恶意修改。所以随机化检查点可以避免检查窗口被预测。

利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改

图4 随机化检查点

Confirm整个检测分为离线和在线两个阶段,如图下图所示,离线阶段执行一些干净的副本,并将检查点插入固件程序中,生成正常的向量存入数据库中,所谓在线阶段就是检测阶段,利用离线阶段的向量数据来检测是否有恶意修改,如果有终止程序或发出警报。

利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改

图5 在线阶段和离线阶段示意图

ConFirm是一种检测恶意行为的新思路!


以上所述就是小编给大家介绍的《利用硬件性能计数器(HPCs) 检测嵌入式系统中的固件修改》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web表单设计

Web表单设计

[美] Luke Wroblewski / 卢颐、高韵蓓 / 清华大学出版社 / 2010-6 / 49.00元

精心设计的表单,能让用户感到心情舒畅,愉快地注册、付款和进行内容创建和管理,这是促成网上商业成功的秘密武器。本书通过独到、深邃的见解,丰富、真实的实例,道出了表单设计的真谛。新手设计师通过阅读本书,可广泛接触到优秀表单设计的所有构成要素。经验丰富的资深设计师,可深入地了解以前没有注意到的问题及解决方案。 本书专为表单设计或开发人员准备,但同时也适合可用性工程师、网站开发人员、产品经理、视觉设......一起来看看 《Web表单设计》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具