文摘
在硬件木马检测领域,破坏性的逆向工程和绕过检测都是重要的方法。提出了一个叫做命令混合进化算法特性GEP (OMF-GEP),试图恢复只有使用旁路电路结构信息。这种算法是由基本的创业计划通过三组实验在不同的阶段。为了解决这个问题,本文将《全球经济展望》通过引入混合特性,下令基因,superchromosomes。实验结果表明,该算法是有效的。
1。介绍
在生命周期的所有阶段的集成电路(IC),硬件有安全漏洞在全球的商业模式半导体供应链。在当前的硬件木马检测技术,具有破坏性的逆向工程(1- - - - - -3)是好的但昂贵的绕过检测(4- - - - - -9)技术,其成本低,是目前发展的主要方向。
一个叫做命令混合进化算法特性GEP (OMF-GEP)提出的。这个算法将单电路组件作为一个节点,形成各种逻辑或物理特性的混合特性的节点。它可以找到原始电路利用GEP函数回归能力。
2。混合特性
的逻辑值电路或任何类型的旁路电压和电流等信息可以被视为一种表现特征的电路。当只有一个特征值用于表示电路表示,如果其他约束不补充道,无疑会有各种各样的电路来满足这一需求的特性。这两个电路如图所示1。
(一)
(b)
如果你只看逻辑值,两个电路是完全相同,两者都是
电路中还可以看到,在图1 (b),输入一个和B使用;不输入一个和B在第一个电路实际上不影响输出。
这个例子只是价值的电路逻辑值和电路旁路信息检测,也有类似的情况。多个不同的电路结构可以获得检测结果的任何一个旁路信息。可以看出,只有使用逻辑值或旁路信息来描述电路将导致过多的同构确认电路结构。
硬件木马设计的本质是添加额外的电路正常电路,但整个电路的性能在一些特性(最常见的是逻辑值)是一样的,正常的电路,实现隐藏。然而,这些额外的电路将不可避免地导致其他电路特性变化。
本文的逻辑价值旁路电路或任何类型的信息,如电压和电流被称为功能。同构的一个特性,它本质上是由于电路的特征元素的叠加特性。多个不同的电路结构的特点与功能相似甚至相同的,所以相应的电路不能由一个特性的结果。
然后,当检测多个特性同时,多个同构电路可以获得每个特性的检测结果,但是不同的特性的叠加特性不能完全相同。这些同构电路不能是相同的,相同的部分是一个可能的实际电路。
图2说明了该算法的应用diode-designed和封闭的电路。
其逻辑意义
它有很多的物理意义。这里描述的电压:
其中,代表电压输出的位置 ; 和代表两个输入的电压值的位置一个和B;代表硅管,二极管导通电压和它的值通常是0.7。
然后,门可以表示为
然后,测量k的特性,n对于输入,单扇电路可以表示为表达式1:
其中, 采用的输出值吗kth特性。 是我输入值采用的特性j。
不失一般性,我们定义的
然后,表达式可以表示为1 表达式2。
3所示。算法1:对于电路
3.1。《表示全球经济展望》
近年来,有很多研究基于进化算法和多源数据自适应加权数据融合等多源传感器(10),研究进化算法为象征性的网络(11),应用多目标遗传算法的多播路由(12基因关联研究[],多重性问题13]。智和刘14)提出了一种新的GA算法机械设计优化问题。这些研究给了我们灵感,利用进化算法在硬件木马检测。
基因表达式编程(GEP) (15]是一种进化计算算法,表现在进化硬件的研究(16- - - - - -22]。它可以解决这个问题的树状结构很好。对于多输入/树结构电路,它可以被描述为一个树n叶节点,可以直接由GEP表示。如图3,6-input / 1输出逻辑电路可以很容易地表示为一个树结构,逻辑门的功能逻辑符号所取代,和相应的有效的基因
(一)
(b)
3.2。GEP算法的混合特性
一个运营商实施只代表一种计算,和实施个人只能代表一个测试项目,所以算法的概念是基本电路的多个测试结果合并到一个函数表达式。组合成一个复合函数,也就是说,让一个函数代表多个计算和进化表示接近于原始电路。具体地说,这些多个探测值都包含在一个函数,函数的输入多个值,输出结果是一个向量,如前面提到的门电路,仍表示为”和“GEP表达式树。然而,它的意义已经成为向量计算如下:
的 的输入值检测和 检测的结果吗输入值。
例如,对于这个门电路,象征和手段如下:
其中, 表示逻辑值(1或0)的电压输入一个或B点, 代表的输入电压一个或B点, 代表的输入电流一个或B点。
因此,当使用GEP进化,一个象征价值可以同时代表多个不相关的物品。该算法将被称为混合特性GEP (MF-GEP)。
3.3。实验设置
实验仅限于简单的电路逻辑门的使用,不涉及触发器,时钟,等等,不考虑时间的影响。
四组实验设计。
输出 ,
特征的数量 。
使用三个特性:特性1是逻辑值,特征2的电压值,特征3是当前值。
作为对比实验中,使用的参数是相同的表1所示。
3.4。适应度函数的设计
特性数据逻辑数据、电压数据,当前数据,有他们自己的健康。
逻辑数据健身 这是表达3。
N测试数据的数量,是逻辑值计算根据解码后的测试数据,然后呢是输出逻辑值的测试数据。因为它是一个逻辑值,最坏的情况是,每个输出解码由个人对测试值,也就是说, ,所以的范围是 。
电压数据健身 这是表达4。
N测试数据的数量,根据测试数据计算电压值解码后,然后呢是输出电压值的测试数据。在最坏的情况下,每个测试输出值是最高或最低水平,并且每个输出解码由个人对测试值 ;因此,的范围是 。
当前数据健康是 这是表达5。
其中, 在哪里是数据的观察,的估计价值吗这是解码的计算表达式,变量的平均值吗 。也就是说,上交所的平方误差的总和,对海温的平方和。的平方multicorrelation系数在统计数据。
根据前面的算法描述,个人健身应该是一个组合的三个;然后,个人健康 这是表达6:个人健身表达式。
三个特点的重量是在最后的健康。
3.5。实验
图4显示了一个电路。它的布尔表达式
它的计算是
输入值 可以被看作是特洛伊触发条件。当有更多的别针,只有值可以被测试的一部分,你可能错过了输入 。在接下来的实验中,输入数据将不会提供价值引发特洛伊,和输入值的输出将由进化决定电路。
其有效的基因
使用不同的组合形式,我们设计了四组实验。考虑到所需要的逻辑值是正确的第一个电路中,电压值和当前值必须是有意义的基础上,正确的逻辑值,所以逻辑值包含在每组实验中,和个人的健康结合一些数据;逻辑值占更大的比例。表2显示了实验的结果。
实验结果显示如下:(1)只使用一个特性不能找到木马电路。(2)使用多个特性可以有效地发现木马电路。(3)直接相关的功能没有影响的发现概率特洛伊木马:在实验2中,使用两个逻辑值和电压的特点同时,无法找到和特洛伊木马;在实验4中,虽然使用三个特性,发现特洛伊木马的概率是不高于实际3。原因在于,在数字电路中,所表达的逻辑值本身是电压值;例如,电压值小于3 V是0,和电压值大于3 V是1。因此,没有区别的逻辑值和电压值。
4所示。算法2:Multioutput电路
4.1。《表示全球经济展望》
一个电路n输入/米输出可以被描述为一个森林组成的米树,每1∼n叶节点。6-input / 2-output电路如图5可以分解成两个树结构对于多输入/电路。
在图所示的电路6可以分为两个独立的对于多输入/变量。
相应的有效的基因
这两个基因的组合代表了6-input / 2-output电路。
4.2。算法实施命令混合特性
《全球经济展望》应该被修改为以下能够代表这种电路。
4.2.1。准备消除基因功能和数量的链接
《全球经济展望》的数据结构都有自己的基因结构。在公式矿业、创业计划的基本思想是用一个多项式近似法,以便每个独立的基因进化的一部分最终多项式函数,然后使用一个连接(通常是“+”),形成一个完整的多项式。当然,如果测试数据无误,是充分的成本,实施最终表达式不需要近似,并表达自己的测试数据。
等操作符“+”有一个特点,没有顺序运营商之间的区别。如果使用这样一个操作符,它可以被认为是没有顺序的差异基因GEP染色体。
我们还可以看到,创业计划可以解决类似问题 功能问题;也就是说,它可以处理对于多输入和变量的问题。然而,电路组合往往是多输入/多输出问题,也就是说,一个问题 。这是一个全球创业不能处理的情况,自己的算法。
为解决multioutput情况组合电路,GEP改变数据结构如下:(1)连接函数用于连接GEP多个基因,基因是一个输出,而且没有关联的基因;这时,一个染色体k基因是一个电路k输出。(2)根据基因的位置号染色体和基因在染色体的位置,对应的输出接脚表示;即输入值在《全球经济展望》的测试值是每个输入插口。解码的结果代表了一个输出的电路结构销。每个基因在染色体独立发展。
4.2.2。每个基因的健康记录
健身设置为每个单独的《全球经济展望》,这是计算各种进化变化的基础。健身代表目标的近似程度总体上的一个独立的个体。这个健身计算基于表达式树,通过个体进行解码。
在本文的工作,因为每个基因在个体是相互独立的,整个个体解码不是一个表达式树,但一个表达式的森林,这片森林的树木仍然是有序的。个人的健康取决于每个基因。为了解决这个问题,个人的健身是每个基因在本文的工作。健身代表基因的相似的电路结构相应的销。结合所有基因的健身,形成个人的健身,表明个人的近似整个电路结构。因此,本文不仅设置适合每个人,还为每个基因集健身。
4.3。材料和方法
染色体健身和基因之间的关系可以描述为健身 这是表达7:个人健康基因的创业计划。
这个算法是有序的混合特性GEP (OMF-GEP)。
4.4。实验设置
实验2的设置是最符合实验1。所不同的是,基因的数量增加到2,对应的操作基因重组(概率是0.01),和算法的终止条件改变了100000倍。
每个基因的健身以同样的方式计算,实验1所示。表达5是用来计算整个染色体的适应性,在其中n是2。
4.5。实验
使用图的电路5。在这个电路中,布尔表达式
其中,
在实验中,我们故意隐藏的测试用例X值为1。4组实验的设置完全符合实验1。表3显示了结果。
从实验结果可以看到,无论如何结合使用功能,进化后开始,健身后无法继续增长达到很低的价值,与进化实际上已经停止了。总体趋势图所示7。
5。算法3:Superchromosome
在实验2中,是不可能发展健身不高时不断进化的早期阶段。通过分析原因,个人的健康代表个人对整个电路的近似程度,但在修改算法的设计,每个基因进化。也就是电路的近似分为不同的部分。进化计算的过程中,这些人将被认为是贫穷的人,用更少的机会在未来进化,遗传导致的损失当地基因在进化过程中已经领先。这种情况将导致算法的效率进化非常低效,甚至无法收敛,因为几乎随机演化的进化已经进入了一个情况。
5.1。算法描述
为了解决这种情况,本文介绍了“superchromosome”工作的概念。每个初始化后的人口获得的遗传变异,但超个体的人为地构造。使用每个基因的健康记录,后构造超个体的进化。方法是超个体的和普通染色体的结构是相同的,但基因在每个位置是最好的在相同的位置在整个人口,如下所示。这样,超个体的集中最后进化的最优基因在每个位置,而毫无疑问,超个体的最优个体的人口。然后,用这种superchromosome取代人口最严重的个人继续进化后可以有效地避免消除当地优秀的基因。图8显示了superchromosome如何组成。
superchromosome的引入是为了避免在同一个人优秀基因的消除由于“低质量”基因的存在,但它带来的一个额外的好处。进化个体适应性变化通常可以达到一个高水平进化后不久,如图9所示。原因是超个体的集中最优基因在每个基因位置,这样整个人就可以达到很高的健身。
5.2。实验装置
实验3的设置是一样的,实验2,但它增加了一代的超个体的每一代的发展。适应度函数的设计是完全按照一样的实验2。
5.3。实验
实验的内容是一样的,实验2。表4显示了结果。
实验结果显示如下:(1)在使用超个体的,进化可以在很短的时间内达到一个非常高的水平,然后进化的速度将显著降低。(2)只使用一个单一的功能或特性直接相关,该算法很难获得令人满意的健身,和原因分析了实验1的结果。(3)使用多个彼此之间缺乏直接的关联特性,有助于实现更高的适应性。
6。结论
GEP算法,本文提出了基于混合的特性,当多个特性与彼此之间没有直接的关系,即使一些重要的参数在测试用例中失踪,和异常结构电路中可以找到。multioutput电路,如果只是简单地分解为多个对于电路分别进化,将陷入一个完整的随机搜索算法,无法收敛。本文的概念提出了超个体的为了解决这个问题,顺利,使算法能够收敛的电路结构面临多输入。
数据可用性
使用的数据来支持本研究的发现可以获得https://pan.baidu.com/s/1z29JUVHv8Qx4-uasESnKMw (pwd: 55 vd)。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作是大学研究启动资金支持的大学成都信息技术(KYTZ201720),生物医学信息中心的开放项目生命科学和技术学院的中国电子科技大学(SYFD061902K)和四川科技项目(2019 yfg0196)。