[发明专利]一种低开销的FPGA硬件木马设计方法有效
申请号: | 201710857862.X | 申请日: | 2017-09-21 |
公开(公告)号: | CN107391896B | 公开(公告)日: | 2019-12-24 |
发明(设计)人: | 王坚;陈哲;覃皓;杨鍊;李桓 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 51229 成都正华专利代理事务所(普通合伙) | 代理人: | 何凡;李林合 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 开销 fpga 硬件 木马 设计 方法 | ||
1.一种低开销的FPGA硬件木马设计方法,其特征在于,包括以下步骤:
S1、对不含木马的FPGA设计进行综合与布局布线,得到该FPGA设计的原始设计网表;
S2、构建硬件木马触发机制与预期实现的恶意功能,并采用FPGA支持的基本元件搭建硬件木马逻辑;
S3、寻找FPGA中可用于木马植入的LUT资源;
S4、根据香农展开定理分解所述硬件木马逻辑的布尔函数;
S5、将分解后的布尔函数全部分配到所述可用于木马植入的LUT资源中;
S6、判断硬件木马电路中所有LUT逻辑是否都在FPGA中实现,若是则进入步骤S7,否则返回步骤S4;
S7、得到植入硬件木马的网表文件;
所述步骤S3具体包括以下分步骤:
S31、根据步骤S1得到的原始设计网表信息,获取原始电路占用的LUT集合A;
S32、删除集合A中不能被木马利用的LUT资源,得到可用于木马植入的LUT集合C;
S33、对集合C进行标记,作为可用于木马植入的LUT资源;
所述步骤S4具体为:
从所述可用于木马植入的LUT资源中任意选取一个硬件木马电路的LUT逻辑fj,1≤j≤n,n为实现硬件木马所需的LUT数量,根据香农展开定理对其所包含的布尔函数进行分解,表示为若干子函数的和,使得每个子函数的变量个数减少;重复上述分解步骤,直至每个子函数的变量个数pi小于等于4,即1≤pi≤4,1≤i≤m,m为子函数的个数;
所述步骤S5具体为:
对步骤S4分解得到的任一子函数fi,在集合C中随机选取一个剩余引脚数大于等于pi的LUT,在原始设计网表上修改该LUT的真值表,在其未使用的输出端实现子函数fi的输出,同时将该LUT从集合C删除;重复该步骤直至所有的子函数都被分配到FPGA可用于木马植入的LUT资源中;
所述步骤S7具体为:
选取FPGA中的其它逻辑元件实现硬件木马的其余逻辑,使这些逻辑元件同木马LUT之间的汉明距离之和最短,并通过最短路径算法对硬件木马逻辑进行布线,使其与原始FPGA设计相关联,能够实施恶意功能,得到植入硬件木马的网表文件。
2.根据权利要求1所述的FPGA硬件木马设计方法,其特征在于,所述步骤S2中FPGA支持的基本元件包括LUT、寄存器和进位链逻辑。
3.根据权利要求1所述的FPGA硬件木马设计方法,其特征在于,所述步骤S32中不能被木马利用的LUT资源包括输出引脚已完全被占用的LUT集合B1、输入引脚已经完全被占用的LUT集合B2以及输入引脚只有一个未被占用的LUT集合B3。
4.根据权利要求1所述的FPGA硬件木马设计方法,其特征在于,所述其它逻辑元件包括寄存器和进位链逻辑。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710857862.X/1.html,转载请声明来源钻瓜专利网。