一种基于神经网络的硬件木马识别方法

文档序号:6590519阅读:215来源:国知局
专利名称:一种基于神经网络的硬件木马识别方法
技术领域
本发明涉及硬件木马芯片的检测和识别领域,具体涉及一种基于神经网络的硬件木马识别方法。
背景技术
随着集成电路设计、制造、测试、封装等各环节的相分离,用户所使用的芯片被别有用心者植入硬件特洛伊木马电路的可能性变大,给信息安全领域以及芯片的可靠性带来了严重威胁。目前,对于硬件木马芯片的检测与识别,大多数情况下采用的是提取芯片侧信道信息特征值,以建立芯片的侧信道信息指纹库的技术。该项技术的一般步骤为,首先从一批芯片中随机选取一些芯片作为样本;检测样本芯片的侧信道信息,包括功耗,电磁或热量等侧信道信息;对样本芯片进行破坏反剖,获取芯片类型,确定芯片是否含有硬件木马;利用特征值分解的方法提取样本芯片侧信道信息特征值,建立芯片的侧信道指纹信息;对于其他芯片直接测试他们的侧信道信息,并提取侧信道信息的特征值,与指纹库比对,得出他们的芯片类型。对于特征值提取方法,一般利用K-L变换,对已经确定不含硬件木马的样本芯片的侧信道信息数据进行处理,建立非木马芯片的样本特征子空间,将非木马芯片的侧信道信息投影到该子空间,做出其投影数据图像,而建立指纹库;同批其他芯片用同样的数据处理方法,将侧信道信息投影到该子空间,得到各自的侧信道特征信息,与得到的指纹库信息进行比较,判断芯片是否被植入硬件木马。这种技术需要绘图,并且需要人工将测试数据的图像与指纹信息的图像进行比较,很容易带来视觉误差,识别效率低。另外,由于木马类型不同,使得感染木马的芯片的侧信道信息不尽相同,进一步加大了通过图像识别硬件木马的难度。

发明内容
本发明是为了解决现有利用芯片侧信道信息来识别芯片中是否含有硬件木马的方法中需要采用人工观察图像,存在误差大、效率低的问题,提供了一种智能化、准确率高的基于神经网络的硬件木马识别方法。本发明所述的基于神经网络的硬件木马识别方法包括以下步骤:
步骤一、针对所有待检测芯片,对其侧信道信息进行数据预处理,得到一个预处理后的所有待检测芯片的侧信道信息矩阵;
步骤二、选取待检测芯片的一部分作为反剖芯片,其它剩余待检测芯片称为测试芯片,对所述反剖芯片进行反向分析,确定每一个反剖芯片是否含有硬件木马;
步骤三、从步骤一所述的侧信道信息矩阵中取出经步骤二确定的不含有硬件木马的反剖芯片所对应的侧信道信息,利用此侧信道信息建立芯片的特征空间;
步骤四、将经预处理后的待检测芯片的侧信道信息矩阵投影到步骤三所述特征空间,得到所有待检测芯片的侧信道信息特征数据矩阵;
步骤五、从经过步骤四处理后得到的侧信道信息特征数据矩阵中取出反剖芯片所对应的特征数据作为神经网络的训练样本,利用所述训练样本以及与其相应的目标输出值建立并训练神经网络;
步骤六:从经过步骤四处理后得到的侧信道信息特征数据矩阵中取出测试芯片所对应的侧信道信息特征数据,将所述数据送入步骤五训练完成的神经网络中进行判别输出,根据判别输出值区分出相应测试芯片是否含有硬件木马。本发明的优点:一种基于神经网络的硬件木马识别方法的最大特点是使用已知类型芯片的侧信道特征数据,建立并训练神经网络,使得经过训练之后的神经网络能够自动区分木马芯片的侧信道特征数据和非木马芯片的侧信道特征数据,由此达到硬件木马芯片识别的智能化目的,提高硬件木马的识别效率和准确率,克服现有识别方法的缺陷。
具体实施例方式本实施方式所述一种基于神经网络的硬件木马识别方法,该方法包括以下步骤: 步骤一、针对所有待检测芯片,对其侧信道信息进行数据预处理,得到一个预处理后的
所有待检测芯片的侧信道信息矩阵;
步骤二、选取待检测芯片的一部分作为反剖芯片,其它剩余待检测芯片称为测试芯片,对所述反剖芯片进行反向分析,确定每一个反剖芯片是否含有硬件木马;
步骤三、从步骤一所述的侧信道信息矩阵中取出经步骤二确定的不含有硬件木马的反剖芯片所对应的侧信道信息,利用此侧信道信息建立芯片的特征空间;
步骤四、将经预处理后的待检测芯片的侧信道信息矩阵投影到步骤三所述特征空间,得到所有待检测芯片的侧信道信息特征数据矩阵;
步骤五、从经过步骤四处理后得到的侧信道信息特征数据矩阵中取出反剖芯片所对应的特征数据作为神经网络的训练样本,利用所述训练样本以及与其相应的目标输出值建立并训练神经网络;
步骤六:从经过步骤四处理后得到的侧信道信息特征数据矩阵中取出测试芯片所对应的侧信道信息特征数据,将所述数据送入步骤五训练完成的神经网络中进行判别输出,根据判别输出值区分出相应测试芯片是否含有硬件木马。步骤一中对待检测芯片的侧信道信息进行数据预处理的过程为:
步骤一一、对随时间变化的待检测芯片的侧信道信息进行采样,得到侧信道信息矩阵
代表待检测芯片的个数,Γ代表侧信道信息的采样点数;
步骤一二、对侧信道信息矩阵按列进行中心化处理,按照下式得到预处理后的侧信道信息矩阵I CSIIjm,
权利要求
1.一种基于神经网络的硬件木马识别方法,其特征在于,包括以下步骤: 步骤一、针对所有待检测芯片,对其侧信道信息进行数据预处理,得到一个预处理后的所有待检测芯片的侧信道信息矩阵; 步骤二、选取待检测芯片的一部分作为反剖芯片,其它剩余待检测芯片称为测试芯片,对所述反剖芯片进行反向分析,确定每一个反剖芯片是否含有硬件木马; 步骤三、从步骤一所述的侧信道信息矩阵中取出经步骤二确定的不含有硬件木马的反剖芯片所对应的侧信道信息,利用此侧信道信息建立芯片的特征空间; 步骤四、将经预处理后的待检测芯片的侧信道信息矩阵投影到步骤三所述特征空间,得到所有待检测芯片的侧信道信息特征数据矩阵; 步骤五、从经过步骤四处理后得到的侧信道信息特征数据矩阵中取出反剖芯片所对应的特征数据作为神经网络的训练样本,利用所述训练样本以及与其相应的目标输出值建立并训练神经网络; 步骤六:从经过步骤四处理后得到的侧信道信息特征数据矩阵中取出测试芯片所对应的侧信道信息特征数据,将所述数据送入步骤五训练完成的神经网络中进行判别输出,根据判别输出值区分出相应测试芯片是否含有硬件木马。
2.根据权利要求1所述基于神经网络的硬件木马识别方法,其特征在于,步骤一中对待检测芯片的侧信道信息进行数据预处理的过程为: 步骤一一、对随时间变化的待检测芯片的侧信道信息进行采样,得到侧信道信息矩阵 代表待检测芯片的个数,I.代表侧信道信息的采样点数; 步骤一二、对侧信道信息矩阵按列进行中心化处理,按照下式得到预处理后的侧信道信息矩阵
3.根据权利要求1所述基于神经网络的硬件木马识别方法,其特征在于,步骤三中利用不含有硬件木马的反剖芯片的经过预处理后的侧信道信息矩阵建立芯片的特征空间的过程为: 步骤三一、将步骤三中所述不含有硬件木马的反剖芯片所对应的侧信道信息表示成矩阵X=[石,I2ΧΓ的形式,其中=是一个维列向量,表示第i时刻不同芯片侧信道信息的不同值,而《表示不含硬件木马的反剖芯片个数,Γ代表侧信道信息的采样点数; 步骤三二、求矩阵I的协方差矩阵€>,协方差矩阵的第i行j列的元素表示为
全文摘要
本发明提出了一种基于神经网络的硬件木马芯片识别方法,解决了现有识别方法中需人工观察,效率低的问题,实现了硬件木马芯片识别的智能化。该方法包含以下步骤首先获取所有待检测芯片的侧信道信息并对其进行数据预处理;选取部分待检测芯片进行反剖分析,确定反剖芯片是否含有硬件木马;利用不含硬件木马的反剖芯片经预处理之后的侧信道信息建立芯片特征空间;将所有待检测芯片经预处理后的侧信道信息矩阵投影到该特征空间,得到侧信道信息特征数据矩阵;利用反剖芯片的侧信道信息特征数据及相应的目标输出值建立并训练神经网络;将测试芯片的侧信道信息特征数据送入到已训练完成的神经网络进行判别输出,实现对硬件木马芯片的识别。
文档编号G06N3/02GK103198251SQ20131010342
公开日2013年7月10日 申请日期2013年3月28日 优先权日2013年3月28日
发明者王晨旭, 罗敏, 喻明艳, 王进祥, 李 杰 申请人:哈尔滨工业大学(威海)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1