八种硬件木马设计和实现。

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

负载:

根据这些载荷分类,有几个类别的硬件木马:

1)向攻击者广播一些内部信号,通常是敏感数据(如加密密钥)。

2)妥协的电路的功能(如与其他预设信息替换明文)。

3)破坏芯片。

我们的设计,tro1,tro4,tro5,tro7,和tro8属于第一集团。很显然,对攻击者,最有价值的信息加密设备是加密密钥。当该木马被触发时,该密钥和该密码文本将被发送。攻击者,通过适当地听传输信道,从而获得密钥并破坏系统。

tro3属于第二组,明文置换。该木马被激活,合法接收者仍然会收到合理的明文。例如,当我们输入“莫斯科”,将它改为“波士顿”,即明文“发射导弹瞄准莫斯科”将改为“发射导弹瞄准波士顿”。

tro2,TRO6属于第三组,目的是摧毁整个芯片。在功能测试中,这种方法具有很难被检测到的优点,因为该木马的配置睡眠时间通常会比测试时间长得多。因此在测试阶段,木马被灭活而不会对芯片造成任何伤害。

触发:

类似地,我们可以根据触发,一个事件,使木马进行分类。此事件的目的是逃避功能测试,要么依靠罕见的/非典型的事件,如未定义的输入序列,或通过使用一个计数器后,延长时间。对于触发器,我们有以下几类:

1)攻击者可以在物理上访问该设备,并可以给予特殊的输入,以触发木马。

2)该木马在内部触发:由特定的输入事件、计数器或其他信号改变。

3)没有触发,该木马总是被激活。

tro1,tro2,和tro8属于第一组,该组的触发方式是相当模糊和在正常测试难以检测的。最紧凑的但有用的是重新定义键盘中未使用的键触发木马。因为阿尔法加密只支持字母,这触发可合理预期逃避功能测试。使用一个特殊的字符串作为触发器,可以很容易地逃避功能测试,因为输入空间太大,它不像这个特殊的字符串会被类型化。

显然,触发器依赖物理访问是受限制的。

触发器的二类(tro3,tro4,tro5,TRO6,tro7)是设备不能被攻击者物理访问。在这种情况下,我们注意到,某些类型的内部计数器可以用作一个激活机制的木马。例如,我们可以实现一个计数器来跟踪在α中的传输次数,并触发后,它超过了预先指定的号码。一个实时计数器也可以用作触发器。最后,内部信号的开关,也可作为触发,如tro5。在这个设计中,每当钥匙被改变,木马就会被激活。一个更复杂的方法将为RS232接收器让攻击者控制整个芯片通过RS232通道

第三组的木马配置是始终激活的。它需要的是隐藏的木马的有效载荷,即通过广播秘密信息的方式不被功能测试检测到。缺点是这种方式是功率的使用将变得更高,可能引起怀疑。tro5可以很容易地修改,以适应在这个群体中,但是这是兴趣的空间,我们不在此讨论。

代码优化

随着触发/基于载荷的木马上面所描述的,有两个木马的目标可以是相当有效的,很难在Rtl检测。

首先是针对未经优化的HDL代码。例如,一些模块可以写在一个不合理的方式,即使有先进的合成工具的帮助下,生成的门级的设计将有大量冗余逻辑。攻击者知道这个模块的规格,可以以更紧凑的方式重写硬件电路的代码,同时,执行相同的功能。通过这个优化保存的片上资源,然后被分配给一个木马。例如,在我们的工作中,我们重写了串行到并行的数据转换模块pt_exp.V节约了了我们128个触发器。在tro2,tro7和tro8,原pt_exp.V文件是由我们自己设计的模块替换以平衡芯片面积和功耗的使用。

二是针对标准或商业模块(ip核)。ip核是现在广泛使用的学术和商业设计,以尽量减少开发时间。作为一个可重用的模块,ip核通常是设计来完成一些通用的功能,以适应许多不同的用法。然而,在大多数应用中,并不是所有的功能将被使用。这会导致冗余逻辑,可以通过修改代码来消除未使用的功能来优化。再次,该修改保存的芯片面积可用于插入木马程序。我们将展示ps2interface.vhd模块优化后的,消除13个触发器和10个4输入LUT。

在tro2,和tro3,原ps2interface.vhd文件是由我们的优化模块取代以减少总的芯片面积和功耗的使用。

木马实现

实验装置

我们的木马在Alpha平台的实现是在Xilinx公司的ISE WebPACK 10.1环境下进行,使用目标芯片xc3s250e-4tq144在Digilent Basys开发板[ 8 ]。这些木马位于整个阿尔法架构如图1所示,“T”是指每个木马的位置。

图2总结了所有八个木马在本文包括触发器的其余部分讨论了有效载荷,面积开销,可能他们会通过正常的检测方法检测。

木马类型一

描述和触发机制:该木马是在设计和监控键盘输入前端插入。如果“New Haven”被检测是在明文的开始,木马就会被触发。当木马被触发,第一块(128位)的输出密文的加密密钥将被取代。该木马代码的大部分位于alphatop.V 模块,里面插入有限状态机。图3显示了木马类型一的工作流程。

平台和区域消耗:未经修改的原代码被用作该木马的平台。总之,1486个触发器和4320个LUT使用对应于原设计多了0.8%和6.8%,分别。

实施效果:攻击者,有权访问输入(键盘)和听输出通道(RS232串口),可以很容易地获取加密密钥。远程攻击者不能访问设备但可以监听通信渠道仍然可以获得的密钥,但它依赖于一个用户进入特殊的文本为明文。

用户输入这个特殊的字符串。当然,攻击者也必须有能力监控输出。此外,芯片面积开销可能会导致更多的功耗,提高到可疑的测试过程中的水平。虽然它是非常不可能的,但也有一个非零的概率,使木马将被发现在功能测试,如果这个特殊的关键字是用来测试系统。此外,当木马被触发,合法接收者仍然试图对已经被加密密钥替换的密文解密。这将导致接收机获取垃圾数据而不是正确的明文,这也可能导致木马被检测。

木马类型二

说明和触发机制:该木马的设计,以减少功率的使用显着,以避免给木马带来木马可疑增加。在木马实施之前,两个Verilog文件通过编辑删除多余的成分和减少空间的使用。这个木马,触发是一个最初定义的键F12。无论何时,按下该键,触发木马后会锁定和忽略任何输入,除非对FPGA重新编程。主要的木马代码位于kb2ascii.V文件,那里对F12键定义。图4显示了木马类型二的工作程序。

面积消耗:优化过的pt_exp.v和kb_top.v模块作为平台。

Fig2

总之,1336个触发器和4198个LUTS是比原来设计分别少了9.4%的设计和多了0.024%。

显然,使用太少的触发器是没有问题的,因为我们可以随意插入虚拟系统去匹配原来设计。

实施效果:可以访问输入端的攻击者,可以很容易地触发木马。无法访问该设备的远程攻击者是依赖于用户误按未定义的密钥来触发该木马的。局限性:由于合成工具的局限性,我们不能物理地通过RTL代码破坏芯片,即从VDD接地进行连接。由于该木马可以通过简单的重新编程灭活,这种类型的木马可能不会对用户产生严重的长期负面影响。

木马类型三

相关文档
最新文档