掌桥专利:专业的专利平台
掌桥专利
首页

一种基于功耗特征分类的细粒度恶意逻辑检测方法及系统

文献发布时间:2024-04-18 19:58:53


一种基于功耗特征分类的细粒度恶意逻辑检测方法及系统

技术领域

本发明涉及芯片安全可信检测技术领域,具体涉及一种基于功耗特征分类的细粒度恶意逻辑检测方法及系统。

背景技术

近年来信息安全事件时有发生,集成电路安全正受到广泛关注,保证芯片“自主可控”与“自主可信”成为当前形势下各类信息系统的迫切需求。在集成电路生命周期中的不可控环节,很容易被别有用心的第三方插入恶意逻辑(又称为硬件木马),带来巨大的安全威胁。硬件恶意逻辑是近年来出现的一种针对集成电路芯片的新型攻击方式。它们是攻击者在整个IC设计和制造流程中,借助电路内部冗余状态或版图中冗余面积对目标电路进行有目的的篡改,且作为隐藏在芯片中的一块炸弹,并不能像软件病毒一样消除,给IC安全带来重大的挑战。硬件中的恶意逻辑检测一致受到广泛关注,尤其是基于侧信道分析的方法逐渐成熟,具有较强的应用价值。在侧信道领域,根据面向的不同物理特征,可分为能量、电磁、时间等侧信道方向。基于功耗信息的硬件恶意逻辑检测方法效率较高,是一种非侵入式检测方法,无需破坏芯片本身的使用,可以实行普测,整体安全性高,且利于形成成熟的行业检测规范。但是基于功耗的侧信道分析技术作为学术界最受关注的一种检测手段,其检测敏感度与噪声影响和特征识别模型强相关。一方面硬件恶意逻辑作为隐藏在芯片中的微小恶意逻辑,这种功能规范之外的恶意逻辑的特征功耗信息容易被噪声(测量噪声、工艺噪声、电压温度等变化带来的噪声等)淹没,虽然可以通过大样本来去除测量噪声,但是很多高频噪声依然没有成熟的解决方法;另一方面已有主流的检测模型大多都是基于分析空间的转换或数据降维,例如PCA,非线性分析,马氏距离,其变换过程中无法避免会损失特征信息。现有技术中很早就开始尝试构建成熟的硬件恶意逻辑行业检测规范外,无论是基于均值差的硬件木马检测方法还是线性/非线性检测方法在实施流程中未对待检测功耗数据进行高频去噪,检测结果的有效性和识别精度受到一定程度的制约;现有公开的基于神经网络的硬件木马检测方法侧重于识别某一类型或个例样本的测试,缺乏对训练集样本噪声的处理,未能对待检测电路进行细粒度的硬件木马类型分析。目前对基于功耗信息的硬件木马检测还没有形成一套可以在优化噪声条件下对硬件木马进行细粒度精准识别的检测模型和系统,对当前芯片安全自主可控带来隐患。

目前对非可控密码芯片恶意逻辑的可信检测模型大多针对某些个性化的样本,不具备普遍性的检测能力。而对于基于均值差的基本手段,这种方法在PVT(工艺、电压和温度)噪声和测量噪声的影响下可信度较低,现有的线性或非线性检测方法在数据转换过程中存在特征信息丢失的问题,且无法对检测进行精准的类型识别;现有神经网络硬件木马检测模型在特征识别方面过于考虑单一区间段功耗特征,无法规避噪声影响的问题,且没有实现对硬件木马的精准特征识别和细粒度分类,检测结果的有效性和精度受到一定程度的限制。总的来看,针对密码芯片底层恶意逻辑的智能化、精细化检测方面还没有形成一套可靠的评估模型和辅助检测平台,给密码芯片的可信安全带来了重大挑战。

发明内容

本发明提出了一种基于功耗特征分类的细粒度恶意逻辑检测方法及系统,以解决现有检测方法可信度和精确度较低的技术问题。

为解决上述技术问题,本发明提供了一种基于功耗特征分类的细粒度恶意逻辑检测方法,包括以下步骤:

步骤S1:采集待测芯片的待测功耗曲线和多组正常芯片的正常功耗曲线;

步骤S2:对所述待测功耗曲线和正常功耗曲线进行去噪;

步骤S3:将所述待测功耗曲线和正常功耗曲线进行重组分段形成特征矩阵,并输入训练好的神经网络进行分类,当所述待测芯片的分类结果相似度小于设定阈值时,则为正常芯片,相似度大于设定阈值时,则为恶意逻辑芯片。

优选地,步骤S2中所述去噪的方法包括:大样本随机噪声优化和小波变换高频噪声优化。

优选地,所述大样本随机噪声优化的方法包括以下步骤:通过施加相同的测试向量重复采集N次,利用大样本均值的方法进行消除。

优选地,所述小波变换高频噪声优化的方法包括以下步骤:将信号从时域转换到时频域中,通过将小波基的平移和伸缩提取信号的细节,以去除噪声,小波变换的表达式为:

式中,r(t)表示输入,a和τ分别表示伸缩和平移因子,

优选地,步骤S1中采集功耗数据的方法包括以下步骤:

步骤S11:构建集成电路的功耗模型P

P

式中,P

步骤S12:测量N块芯片,在不同温度和电压下输入相同的激励K执行s次的功耗数据;

步骤S13:通过以下公式对功耗数据进行处理,得到真实电流

式中,

优选地,步骤S3中神经网络进行分类的方法包括以下步骤:

步骤S31:网络初始化,输入特征矩阵;

步骤S32:根据输入的特征矩阵、输入层和隐含层间连接权值w

步骤S33:根据隐含层输出H,连接权值w

步骤S34:根据网络预测输出O和期望输出Y,计算网络预测误差e;

步骤S35:根据网络预测误差e更新网络连接权值w

步骤S36:根据网络预测误差e更新网络节点阈值a,b;

步骤S37:判断算法迭代是否结束,若没有结束,返回步骤S32重新执行,否则输出分类结果。

优选地,所述方法还包括去噪效果评价步骤:计算去噪后的信噪比SNR:

式中,power

优选地,当所述信噪比SNR小于设定阈值时,则重复步骤S2,直到满足设定阈值。

本发明还提供了一种基于功耗特征分类的细粒度恶意逻辑检测系统,所述系统包括功耗曲线提取模块、去噪模块和特征分类判断模块;

所述功耗曲线提取模块,用于采集待测芯片的待测功耗曲线和多组正常芯片的正常功耗曲线;

所述去噪模块,用于对所述待测功耗曲线和正常功耗曲线进行去噪;

所述特征分类判断模块,用于将所述待测功耗曲线和正常功耗曲线进行重组分段形成特征矩阵,并输入训练好的神经网络进行分类,以判断是否为恶意逻辑芯片。

优选地,所述系统还包括去噪评价模块,用于计算去噪的信噪比,当所述信噪比低于设定阈值时,则调整所述去噪模块进行再次去噪。

本发明的有益效果至少包括:基于功耗特征分类的细粒度恶意逻辑检测方法建立在侧信道噪声预处理的基础上,通过多类硬件木马数据集的样本训练,选择噪声优化后功耗曲线的不同区间段进行神经网络特征分类识别,能够规避噪声影响、时间对齐和未激活等不利因素影响,具有评估特征全面、识别结果可信度高、能实现细粒度检测的特点,检测流程和计算难度更为复杂高效,结果可信度和精准度更高。

附图说明

图1为本发明实施例的方法流程示意图;

图2为本发明实施例的神经网络特征提取示意图;

图3为本发明实施例的正常功耗数据分类结果示意图;

图4为本发明实施例的待测电路功耗数据分类结果示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

如图1所示,本发明实施例提供了,包括以下步骤:

步骤S1:采集待测芯片的待测功耗曲线和多组正常芯片的正常功耗曲线。

具体地,本发明实施例在数据采集时,芯片被植入恶意逻辑电路后,必然在一定程度上改变电路的原有结构及规模,这使得植入木马恶意逻辑电路后的芯片表现出与原始芯片不同的功耗,延时等旁路特征。通常集成电路的功耗如下式所示划分成动态功耗(Dynamic power)、静态功耗(Static power)和短路电流功耗(Short circuit power)三部分,其功耗模型表示为:

P

式中,P

在基于功耗信息的恶意逻辑检测过程中,以电路全局电流IDD为分析目标,通过改变工艺参数或利用不同的芯片得到N块母本(Genuine)芯片C

其中

对植入恶意逻辑电路的芯片,可以将木马电路对电路总功耗的影响看作噪声来处理,对全局电流IDD的贡献用

本发明实施例中,测量功耗数据中数据中包含的测量噪声、PVT噪声,该PVTM噪声影响下的功耗分析模型可以后续检测提供依据。

步骤S2:对待测功耗曲线和正常功耗曲线进行去噪。

本发明实施例中,进行去噪的方法包括大样本随机噪声优化和小波变换高频噪声优化。

具体地,大样本随机噪声优化:测量噪声、VT噪声服从N(u,σ2)正态分布,这些随机噪声可以通过施加相同的测试向量重复采集N次,利用大样本均值的方法消除其影响,此时电路的功耗消除随机噪声并减去真实IC功耗

小波变换高频噪声优化:电路在工作中不断地对电容进行充放电,采样得到的功耗波形包含很多尖峰与突变。基于频率的传统去噪方法不能有效的滤除高斯白噪声。在工程实践中处理的信号往往是非平稳信号,因此应用“数学显微镜”—小波分析的方法来去除功耗数据中的噪声。小波分解是将信号从时域转换到时频域中,通过将小波基的平移和伸缩能够对信号的任意细节进行逼近。

以含有噪声的信号r(k)为例说明小波去噪的工作原理:

r(k)=f(k)+e(k)k=0,1,…,n-1;

上式中r(k)是含噪声信号,f(k)为有用信息,e(k)是噪声信号。e(k)通常分布于高频部分。f(k)通常分布在低频部分。

记信号为r(t),信号r(t)的连续小波变换为WT

式中,r(t)表示输入,a和τ分别表示伸缩和平移因子,

步骤S3:将待测功耗曲线和正常功耗曲线进行重组分段形成特征矩阵,并输入训练好的神经网络进行分类,当待测芯片的分类结果相似度小于设定阈值时,则为正常芯片,相似度大于设定阈值时,则为恶意逻辑芯片。

现有功耗曲线采集和特征提取主要依赖理论计算中功耗最为显化的时间段进行特征矩阵构建,实际操作过程中往往受到波形对齐等影响,单一片段的数据容易带来较大误差,且波形无法对齐带来的误差无法听过大样本优化的手段进行处理。

本发明实施例根据功耗波形特性,对功耗数据进行初始化操作的基础上,选择噪声优化后功耗曲线的不同区间段进行数据分段和特征矩阵构建,在功耗曲线完成PVTM噪声优化的基础上,对同一功耗曲线分段提取N个片段Tra

将正常功耗曲线和待测功耗曲线均进行上述的分段处理后,输入BP神经网络进行细粒度分类识别,包括以下步骤:

步骤1:网络初始化。根据系统输入输出序列(X,Y)确定网络输入层节点数n、隐含层节点数l,输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权值w

步骤2:隐含层输出计算。根据输入向量X,输入层和隐含层间连接权值w

步骤3:输出层输出计算。根据隐含层输出H,连接权值w

步骤4:误差计算。根据网络预测输出O和期望输出Y,计算网络预测误差e;

e

步骤5:权值更新。根据网络预测误差e更新网络连接权值w

w

式中,η为学习速率;

步骤6:阈值更新。根据网络预测误差e更新网络节点阈值a,b;

b

步骤7:判断算法迭代是否结束,若没有结束,返回步骤2,否则输出分类结果。

若待测数据为正常数据,则其整体特征与输入正常数据的整体特征也极为相似,神经网络将每组数据分类为不同正常数据的可能性均等,因此当相似度小于设定阈值时则为正常芯片;而若待测数据中为含有木马程序的数据,则其整体特征与正常数据的整体特征极为不同,但其总是与其中一组正常数据的整体特征的相似度要高于其他3组,因此当相似度大于设定阈值时则为恶意逻辑芯片。

以下通过具体的流程对本发明进行说明:

硬件恶意逻辑的攻击目标一般为重大核心设备,电路规模较大,因而实际情况下噪声影响也较大,为保证设计与验证的通用性,硬件木马应在覆盖一般体系结构的攻击载体中实现。实验采用国际通用且能覆盖一般微处理器体系结构的AES加密算法作为载体,在AES算法中设计并实现了一个基于序列检测的密钥泄漏型硬件木马,其中硬件木马电路等效门所占大小为0.54%(原是电路等效门277000,木马电路等效门1500)。AES电路正常工作过程中用128bit的秘钥对128bit的输入数据进行加密。其中硬件木马触发模块通过检测输入数,当输入符合设定的序列顺序时木马被触发。

借助高精度信号采集板、示波器和上位机功耗采集软件等工具进行数据采集,通过去噪获取母本电路和待测电路的功耗。

基于BP神经网络的特征识别过程中,对功耗采集平台采集得到的4组正常功耗曲线的特征数据矩阵A、B、C、D,每组数据包含12000个点,给其分别添加特征标签1、2、3、4。为尽可能全面的分析其功耗特征。取4组母本电路功耗特征数据矩阵A、B、C、D的12000个点,将其截取为等长的24段,每段包含500个数据点,得到重组后的24行500列的特征矩阵E

例如,将A组数据从头至尾每隔24个数据截为一段,分为500段,将每段数据第一个数据组为1组,第二个数据同样组为第2组,以此类推形成500组数据,每组数据含24个数据。将B、C、D照此法同样处理。

A:将500组来自数据组A的数据均在开头加上标识1得到大数组E;

B:将500组来自数据组B的数据均在开头加上标识2得到大数组F;

C:将500组来自数据组C的数据均在开头加上标识3得到大数组G;

D:将500组来自数据组D的数据均在开头加上标识4得到大数组H。

按照BP神经网络硬件木马检测算法,将重新处理后的E、F、G、H四组数据矩阵放入神经网络中训练得到样本参考模型,对植入硬件木马的芯片采集功耗得到待测数据O,同样包含数据12000个。照A组数据处理方法做同样处理得到数据N,将大数组N放入神经网络中进行处理,神经网络识别数组细微差别,进行分类。每个大数据中的500个数据组可看做大数据的500个细微特征共同组成大数据的整体特征,4组输入训练的大数据因其均为正常数据故其整体特征极为相似,其500个细微特征也均极为相似。若待测数据为正常数据,则其整体特征与4组输入大数据整体特征也极为相似,神经网络将每组数据(每个细微特征)分类为1、2、3、4类的可能性均等,均为近25%±阈值,故整体500组数据的分类情况是极为离散的,而若待测数据中为含有木马程序的数据,则其整体特征与4组输入大数据整体特征极为不同,但其总是与4组大数据中1组数据整体特征的相似度要高于其他3组,即相似度大于设定阈值。故其500组细微特征中大部分细微特征也与该组输入数据的对应细微特征更相似,故神经网络进行分类时会将大部分数据分为该类,成归一态势,本发明实施例中通过大样本去噪和小波去噪的噪声优化,可以避免噪声对硬件木马噪声的淹没,功耗数据中分离出硬件木马带来的功耗波动,通过神经网络的的分类处理,使得硬件木马识别结果更为明显。

按照BP神经网络硬件木马检测算法,将重新处理后的E、F、G、H四个特征数据矩阵输入神经网络中训练得到样本参考模型。为同后续待测电路神经网络分类结果进行对比分析,随机选择一组原始电路的功耗数据进行重组得到其特征矩阵,并将重组后的结果输入BP神经网络进行分类,实验结果如下图3所示,图中横坐标表示特征功耗点,竖坐标表示特征值。

从图4的实验结果可以看出,若待测数据为正常数据,经BP神经网络处理后的分类结果较为离散,在四个标签上的分布基本一致。这是因为测试数据的整体特征与4组样本数据特征也极为相似,神经网络将每组数据(每个细微特征)分类为1、2、3、4类的可能性均等,均为近25%,故500组数据的分类情况是极为离散。

同样对植入恶意逻辑的芯片采集功耗得到待测数据O,它同样包含数据12000个。照矩阵A数据重组方法做同样处理得到特征矩阵N,并将其输入神经网络进行处理,分类结果如下图4所示。

图4中可以看出,待测电路功耗矩阵经BP神经网络处理后的分类结果显示,电路被植入恶意逻辑电路后,其特征功耗矩阵的细微差异被显化,分类后的分布差异较大。从理论分析来看,若待测电路中含有硬件木马,其功耗特征与样本数据整体特征极为不同,但其总是与4组大数据中1组数据整体特征的相似度要高于其他3组。故其500组细微特征中大部分细微特征也与该组输入数据的对应细微特征更相似,故神经网络进行分类时会将大部分数据分为该类,呈归一态势,以此来区分正常芯片与木马芯片。

本发明实施例还提供了一种,基于功耗特征分类的细粒度恶意逻辑检测系统,包括功耗曲线提取模块、去噪模块和特征分类判断模块;

功耗曲线提取模块,用于采集待测芯片的待测功耗曲线和多组正常芯片的正常功耗曲线;

去噪模块,用于对待测功耗曲线和正常功耗曲线进行去噪;

特征分类判断模块,用于将待测功耗曲线和正常功耗曲线进行重组分段形成特征矩阵,并输入训练好的神经网络进行分类,以判断是否为恶意逻辑芯片。

还包括去噪评价模块,用于计算去噪的信噪比,当信噪比低于设定阈值时,则调整去噪模块进行再次去噪。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,仅表达了本发明的较佳实施例而已,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 基于细粒度特征的Android恶意应用检测的方法及装置
  • 一种基于混合特征组合分类的Android系统恶意软件检测方法
技术分类

06120116513785