您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 八种硬件木马设计和实现。
负载:根据这些载荷分类,有几个类别的硬件木马: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公司的ISEWebPACK10.1环境下进行,使用目标芯片xc3s250e-4tq144在DigilentBasys开发板[8]。这些木马位于整个阿尔法架构如图1所示,“T”是指每个木马的位置。图2总结了所有八个木马在本文包括触发器的其余部分讨论了有效载荷,面积开销,可能他们会通过正常的检测方法检测。木马类型一描述和触发机制:该木马是在设计和监控键盘输入前端插入。如果“NewHaven”被检测是在明文的开始,木马就会被触发。当木马被触发,第一块(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接地进行连接。由于该木马可以通过简单的重新编程灭活,这种类型的木马可能不会对用户产生严重的长期负面影响。木马类型三描述和触发机制:这个木马是专为特殊的情况下:攻击者知道电路的使用,可以适当地构建一个明文的置换方案。在这个木马,每当在明文检测到“Moscow”,它将被取代“boston”。感兴趣的短语和替换短语可以根据使用的木马和芯片来改变。木马代码位于插入了FSM的alphatop.V模块。图5显示了木马类型三的工作流程。平台和面积消费:优化的kb_top.V模块应用平台。总之,1523个触发器和4266LUTS是+3.3%和+1.6%超过原设计。实施效果:攻击者不需要访问输入设备,也不需要监控输出。替换的词的选择是木马修改系统的功能的能力,为了在某些方面对攻击者有用。约束:如上所述,在设计该木马时,关键字的选择是至关重要的。然而,这种类型的木马会屈服于功能测试的输入空间的穷举测试。此外,如果TMR(三重模块冗余)是用三个不同的加密模块(没有硬件木马的)来加密和传输数据,修改后的结果将被丢弃的木马效果将无效。木马类型四描述和触发机制:木马设计定制目标是系统中的不匹配的缓冲区大小。明文缓冲区的大小是1KB,而视频缓冲区是4KB。这使得操作者难以知道他或她太多的明文是否已经发生了输入缓冲溢出。当输入缓冲区发生溢出时,该木马被触发,而有效载荷是用加密密钥替换最后一个块。这种方法充分利用了原设计中的一个细节:根据设计,如果输入是1kb,最后一个字节将被丢弃,为了传输的密钥索引。因此,合法的接收器将丢弃最后一个块作为垃圾。由于接收器会丢弃这个块,该木马可以简单地用整个加密密钥替换块。木马代码位于alphatop.V模块。图6显示了木马类型四的工作流程。平台和面积消费:没有任何修改的原始代码被用作一个平台。总之,1475个触发器和LUTS是4273+0.068%+1.8%超过原设计。实施效果:攻击者不需要物理访问设备,但应该有访问的通信通道缓冲区溢出发生后去听取加密密钥,。约束:攻击者必须连续监测通信信道,并检查每个传输的最后一个块的爆发。如果在功能测试计划中包含一个缓冲区溢出测试,它可以检测到该类型的木马。木马类型五描述和触发机制:这个木马是设计来通过隐藏信息在传输RS-232通道,去妥协(泄露)通信信道。在我们的设计中,对串口波特率为9600bps,改为19200bps。在最初的设计中,每一个RS-232数据包中包含1个起始位,8个数据位,2停止位。在19200个基点的波特率,这些参数被更改为1个起始位,8个数据位,1个停止位。这使得木马插入其他信息,例如,加密密钥,随着合法的数据。对于每个合法的8位数据包,多达7位可以被插入。图7比较了原RS-232包在9600波特率与折中渠道19200波特率包。“Tro”表示,泄漏的位可以插入从而泄露秘密。在我们的设计中,我们使用了四个这样的位。当关键索引被改变时,该木马被触发以加密密钥插入到隐藏的通道中的。如果波特率设置为9600bps,合法用户或功能测试设备将不再注意任何输出端的差异。因此,唯一可能用于检测该木马的手段是通过比较功耗。木马代码位于async_transmitter.V模块。图8显示了木马类型五的工作流程。Fig7Fig8平台和面积消耗:没有任何修改的原始代码被用作一个平台。总之,1485个触发器(0.75%超过原设计)和4255个LUT(+超过1.4%原创设计)的使用。实施效果:这是一个复杂的木马,它免疫规范参数的功能测试,尽管被触发频繁。攻击只需要在19200的波特率监测RS-232传输信道就可获得密钥和密文。限制:由于该区域的开销是微不足道的,该木马大多数时间不能被功能测试或通过功率跟踪测试检测到的。然而,当木马被触发时,由于高的传输速率,在传输阶段的功率消耗可以高于正常的。因此,一个在线的功率谱监测方法可能会检测到该木马。木马类型六描述和触发机制:该木马类似于定时炸弹。插入的计数器将在每个字符的传输自增,直到它超过了预定数,N。当该木马被触发,输出被锁定到一个二进制1。木马代码位于alphatop.V模块。图9显示了木马类型六的流程。平台和面积消耗:没有任何修改的原始代码被用作一个平台。总之,1479个触发器和4204个LUTS分别+0.34%+0.17%超过原设计。实施效果:该木马是一个定时炸弹,这将不被激活,直到计数的传输超过预定数量。攻击应该小心地设置号码。约束:对于这个木马,设定的N数是关键的整个设计。一个差的选择可能会导致在功能测试中被检测。再次,由于综合工具的限制,我们不能通过RTL代码破坏芯片,这意味着当木马被触发,重新编程是修复芯片的一个简单的方法。然而,在实际环境中,产生的负载可能导致破坏芯片,例如通过激活一条短路VDD至接地。木马类型七描述和触发机制:该木马是一种积极的尝试,演示如何完全控制设备通过一个木马。在本设计中,原本闲置的RXD端口BASYS板配置为触发/控制信号和一个async_receiver.V模块添加到设计。随着木马的触发信号,两个控制信号插在原设计:tro7_trigger_rst,和tro7_trigger_tx。这两个信号控制通过RXD端口作为远程版本的复位信号和在系统板发送按钮。新的加密密钥也插入,这是用来加密木马通过RS-232通信信道
本文标题:八种硬件木马设计和实现。
链接地址:https://www.777doc.com/doc-2658123 .html