芯片中的硬件木马:X86 CPU生活在怎样的水生火热中?

2016年07月04日 作者:糖悦之果飞

从海湾战争中萨达姆的防空系统突然瘫痪,到2007年以色列轰炸叙利亚东北部的一处潜在核设施时,叙利亚预警雷达因通用处理器后门而失效,再到2012年伊朗布什尔核电站在信息系统物理隔绝的情况下遭到震网病毒的攻击....

残酷的现实向世人阐释了只要存在国家和利益斗争,给CPU留后门的行为就永远存在。

不久前,自由软件基金会(FSF)指出,所有现代Intel处理器平台都内置了一个低功耗的子系统IntelManagementEngine,IntelManagementEngine能完全访问和控制PC,能启动和关闭电脑,读取打开的文件,检查所有运行的程序,跟踪按键和鼠标移动,甚至能捕捉屏幕截图,它还有一个被证明不安全的网络接口,允许攻击者植入rootkit程序控制和入侵电脑。

FSF称,IntelManagementEngine威胁着用户的隐私和安全,而开发替代的自由固件是一项不可能任务,因此唯一的做法是抛弃Intel平台。

据业内人士分析,由于很多底层功能不开放,导致Intel掌握着用户的命门,虽然Intel未必会随意黑用户,但确实拥有黑掉用户的能力。其实,除自由软件基金会曝光度IntelManagementEngine之外,各种硬件木马,甚至是X86指令集本身也存在安全风险。

| 什么是硬件木马?

硬件木马是指被故意植入电子系统中的特殊模块以及电路,或者设计者无意留下的缺陷模块以及电路,这种模块或电路平日中潜伏在原始电路之中,在特殊条件触发下,该模块或电路能够被攻击者利用以实现对原始电路进行有目的性的修改,以及实现破坏性功能,使原始电路发生本不该发生的情况——比如泄露信息给攻击者,使电路功能发生改变,甚至直接损坏电路。硬件木马能够实现对专用集成电路(ASIC)、微处理器、微控制器、网络处理器、数字信号处理器等硬件的修改以及对FPGA比特流的修改。

上图为一个简单的利用电流信号触发的硬件木马电路,该木马电路由1个AND门,1个NAND门,1个电容和2个XOR门组成。木马电路通过监测信号a、b和c实施攻击。当a、b、c均为“1”时对电容充电,反之,电容放电。若满足充电条件的时间足够长,电容结点就会在一定的时间内进入高电平区,从而触发硬件木马功能逻辑单元,使信号e发生改变,否则,硬件木马电路则不影响原始电路的功能。

硬件木马并不遥远

实事求是地说,硬件木马离我们并不遥远——据台湾媒体报道,台湾VIA公司于2014年11月24日在香港高等法院审理“HKIAC/A11022仲裁案”上诉案中,承认VIA的VT3421安全芯片(亦使用编号TF376)有后门,威盛电子高层黎少伦甚至在诉讼中坦承,“这颗晶片,有“后门”(Backdoor)。”

据媒体报道,该起案件的起因是VIA设计生产的VT3421安全芯片被出售给Samsung、Honda、上海通用、中国电子、新科电子等20多家公司后,遭客户投诉经常发射存储器泄露、频频当机等情况而引发的......在案件审理中,VIA公司公然辩称TF376的设计,“Preventing hackers such as”“Fa Lun Gong”只是产品功能之一;并坦承产品留有后门(Backdoor),“客户不知道Backdoor的存在,亦不能自行启动”。VIA却可以轻易打开这个后门,取得末端使用者手机、机顶盒等之包括通话、通讯录、信用卡、定位等等各种数据。

硬件木马的特点

硬件木马一般是由攻击者根据被攻击系统的工作原理精心设计,实现对底层硬件的修改,而且随着半导体工艺的不断发展,纳米级关键尺寸和电路高集成度使得硬件木马的检测越来越困难。

与传统的软件木马相比,硬件木马具有以下几个特点:

一是隐蔽性强。硬件木马逻辑部件较小且在未激活时不影响系统功能,不易被检测;

二是设计灵活,作用机制复杂。可实现摧毁,逻辑破坏,信息泄露等不同功能;

三是破坏力大。通用CPU已被广泛使用,而且通常广泛用于对信息系统中央控制,一旦遭到硬件木马攻击,将对国家利益造成重要威胁;

四是设计要求高。硬件木马设计需要设计者熟悉系统工作原理,有较高的硬件设计水平;

五是防护检测难度大。随着半导体工艺的进步,集成度的提高,使得硬件木马检测的难度越来越大。

硬件木马的结构

虽然硬件木马工作机制的多样性和设计方法的灵活性使得它的实现方式复杂多样,但就大多数情况下硬件木马在单个芯片内部的实现而言,其结构主要由2个功能部件构成。

(硬件木马结构示意图)

一是触发逻辑单元,通过监听输入,总线,寄存器数据,监测电路工作状态或经过设定的工作时间等方式激活功能逻辑单元。根据是否需要触发逻辑,硬件木马可分为有条件触发和无条件触发2类。

有条件触发是指木马电路同时包含触发逻辑和功能逻辑单元,需要在特定的状态下激活硬件木马,此类硬件木马较为隐蔽,可通过设置较为苛刻的触发条件,避免被传统的功能测试检测;无条件触发是指硬件木马电路仅包含功能逻辑单元,木马电路时刻处于激活状态,此类木马活性很强,功耗相对较大,而且易被功能测试等检测发现,一般只在实验验证中使用。

由于硬件木马工作机制多样,设计方法灵活,使得触发单元既可能被组合逻辑信号、时序逻辑信号或混合信号等数字信号触发,也可能被电流、电压、温度、电磁等数字信号测试技术很难实施检测的模拟信号触发。

二是功能逻辑单元,是硬件木马攻击的执行单元,负责实施硬件木马攻击行为。当功能逻辑单元被激活后,其通过改变系统输出或按预先设定的攻击方式,达到破坏电路正常运行的目的。

功能逻辑单元根据其行为特征和工作方式的不同可分为显性功能单元和隐性功能单元。显性功能单元通过改变电路节点的逻辑状态来实施攻击,硬件木马被激活以后,通过改变电路内部控制信号和数据信号,使得芯片出现错误的行为或直接传输秘密信息。隐性功能单元同显性功能单元相比,不改变电路内部逻辑,仅将其作为触发信号,通过其他方式来实施攻击,如发射电磁、功耗等旁路信号泄露密钥、加速芯片失效或者直接物理摧毁芯片,使芯片失效。

1 2

相关文章

  • 超级时序控制器ADM1260

    在有多个供电轨的复杂系统中需要使用时序控制,现代CPU,DSP,FPGA以及其他ASIC经常需要多个供电轨。这些供电轨要求以特定的时序上电和掉电。 在复杂系统中,甚至经常需要对超过10条供电轨进行时序控制。 因此ADM1260推出了晶片互连串联汇流排,在其中多个ADM1260时
    2019年06月15日
  • CPU侧切,以一种前所未有的角度能发现什么?

    过去几年中由于CPU的导热材质从钎焊变成了硅脂,很多高玩都习惯给CPU开盖更换硅脂以提高散热性能,这个操作可以说是把CPU横向打开,我们能看到完整的CPU核心、底座、顶盖等,那么要是竖着切一刀呢? “美国微博”用户TubeTime还真的这么做了一次,他把一个CPU(具体型号不明)切成了两半,正好可
    2019年06月09日
  • 半导体工艺师如何影响CPU性能的?

    现在半导体工艺上所说的多少nm工艺其实是指线宽,也就是芯片上的最基本功能单位门电路的宽度,因为实际上门电路之间连线的宽度同门电路的宽度相同,所以线宽可以描述制造工艺。缩小线宽意味着晶体管可以做得更小、更密集,而且在相同的芯片复杂程度下可使用更小的晶圆,于是成本降低了。 半导体的支持工艺和CPU的性
    2019年04月04日
  • 做一个性能超强的单核CPU在技术上可行吗?

    CPU的的单核性能有多重要,这个不用再重复了,但是CPU的单核性能可以无限增加下去吗?回答这个问题之前,先说一个小故事吧。很多年前VIA威盛还可以跟英特尔硬刚,那时候是Pentium 4时代,英特尔在CPU频率不断突破1GHz、2GHz、3GHz之后要做更高频率的CPU,放言称奔4频率上4GHz,后
    2019年03月27日
  • 不再拘泥于传统框架:Intel 3D立体封装或是CPU转折点

    半个世纪以来,半导体行业一直在魔鬼般的摩尔定律的指导下飞速前进,工艺、架构、技术不断翻新,但任何事情都有个变化的过程。近年来,整个半导体行业明显感觉吃力了很多,很多老路已经行不通或者跑不快了,要想继续前行,必须拓展新思路、新方向。
    2019年01月23日