一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于机器学习的片上网络硬件木马检测平台的制作方法

2022-03-05 03:19:56 来源:中国专利 TAG:


1.本发明公开基于机器学习的片上网络硬件木马检测平台,涉及硬件安全技术,属于计算、推算或计数的技术领域。


背景技术:

2.近年来,随着半导体技术的发展和系统复杂度的增加,越来越多的内核可以集成到soc中以满足日益增长的需求。随着传统的基于总线的通信变得越来越困难,片上网络(noc,network on chip)已成为一种很有前途的解决方案。在集成电路方面,为了降低设计成本和上市时间,从第三方供应商处获取ip是当今的普遍做法,而noc开发涉及的复杂供应链给可靠性带来了巨大挑战。这些被植入的木马通常会执行许多恶意行为,例如拒绝服务(dos,denial of service)、敏感数据泄露、功能更改或性能损害等。因此,迫切需要开展片上网络的安全性研究和设计。
3.片上网络是运用网络结构连接各个ip核的系统芯片,是一种全新的片上通信方法,显著优于传统总线式系统的性能。传统的fpga设计方法都是通过对总线进行深度流水线来实现高带宽和高吞吐量。但是,对于一个大型设计来说,这种方法会很快造成fpga线上资源的拥挤,然后导致性能下降。noc则可以将需要进行高速数据传输的内容转化为基于数据包的形式,通过片上网络的交换机逻辑实现数据交换,在系统层面将数据传输和数据计算进行分离。但是恶意ip可能引入的攻击给片上网络的应用与发展造成了挑战。恶意ip可以通过修改或窃取片上网络中的敏感数据来实现干扰片上网络正常操作的目的。当前,片上网络硬件木马检测主要分为基于软件的木马检测和基于硬件的木马检测两种。基于软件的片上网络木马检测技术通过利用安全感知算法和框架来抵御木马攻击而不对原始电路做任何修改。基于软件的木马检测技术在施加外部激励的情况下,通过观察模拟电路或实际电路提取所需流量特征集,以离线的形式对木马进行检测,但该方法很难检测出实际工作情况下的硬件木马并且很难应用于大规模集成电路设计。基于硬件的片上网络木马检测技术添加相应的安全模块,针对基于软件的木马检测不能及时根据片上网络状态进行实时的木马检测、防护粒度较粗等缺陷。被攻击的noc将通过消息传递、资源共享和更改操作或数据流来破坏片上通信。因此,当木马被激活时,片上网络的通信流量会发生变化,因此可以通过监控流量来检测木马。本技术旨在通过构建安全性检测模块动态检测硬件木马,有效地提高硬件木马检测结果的准确性,为硬件木马检测方法提供一条新的思路。


技术实现要素:

4.本发明的发明目的是针对上述背景技术中片上网络可能遭到恶意的硬件木马攻击的特点,提出基于机器学习的片上网络硬件木马检测平台,通过将构建的安全性检测模块植入片上网络电路中,有效提高片上网络检测木马攻击的能力,实现建立片上网络硬件木马检测平台的发明目的,解决现有片上网络安全防护技术提供的安全机制不能根据片上网络流量状态准确地进行动态安全性检测的技术问题。
5.本发明为实现上述发明目的采用如下技术方案:
6.基于机器学习的片上网络硬件木马检测平台,通过安全性检测模块对待测noc的每一个路由节点进行硬件木马检测,具体包含:流量特征跟踪提取模块、特征提取结果寄存模块、变点检测模块以及随机森林检测木马模块。设计s1为构建流量特征跟踪提取模块、特征提取结果寄存模块,设计s2为构建变点检测模块,设计s3为构建随机森林检测木马模块。
7.设计s1:流量特征跟踪提取模块用于提取片上网络硬件木马的网络流量特征数据,并按照时间顺序将流量特征跟踪提取的网络流量特征数据存储于特征提取结果寄存模块,经过一个采样间隔获取的网络流量特征数据在特征提取结果寄存模块中存储为片上网络流量时间序列。首先,以每1000个时钟周期采集1个样本的速率对片上网络中的链路信号以及路由节点的端口信号进行采样,以较低的计算成本获取待测片上网络的流量数据;然后,按时间顺序将提取的网络流量特征数据发送给特征提取结果寄存模块,构成片上网络流量时间序列。
8.设计s2:变点检测模块是通过贝叶斯变点检测方法分离出正常数据和变点数据。对片上网络流量时间序列中的变点及异常点进行定位,若检测出网络流量时间序列中存在变点时,将变点以及异常点的贝叶斯相关参数作为动态木马特征数据发送给随机森林检测木马模块,流量特征跟踪提取模块提取的网络流量特征以及动态木马特征构成动态木马特征集。
9.设计s3:随机森林检测木马模块首先以离线的方式进行训练。首先,依据动态木马特征集对待测片上网络进行流量特征数据值的提取以及动态木马特征数据值的提取,得到数据集;然后,以构造的数据集为随机森林模型的输入,使用交叉验证的方式对随机森林模型进行训练,对各待测片上网络的数据集进行筛选得到最佳特征集,以最佳特征集为随机森林模型的输入进行训练以确定随机森立模型的参数,比较不同随机森林参数的检测结果指标,选择检测准确率最高的参数模型,构造随机森林检测木马模块。
10.进一步地,设计s1中,提取的片上网络硬件木马的网络流量数据包括:路由节点每个输入端口的缓冲区利用率、路由节点每个输入端口的链路利用率、本地操作温度。路由节点每个输入端口的缓冲区利用率定义为片上网络运行时每个周期占用的虚拟通道数;路由节点每个输入端口的链路利用率定义为片上网络运行时每个周期的输入迁移值;本地操作温度定义为片上网络运行时路由的工作温度。
11.进一步地,在设计s3中,对随机森林检测木马模块在线检测时获取的片上网络流量时间序列和变点以及异常点贝叶斯相关参数进行归一化处理,将处理后的数据集作为训练数据送入分类器进行训练,通过随机森林算法得到木马检测结果。
12.进一步地,在设计s3中,最佳特征集的选取方法:将所构建的各待测片上网络的数据集全部作为训练数据,通过十折交叉验证将训练数据分成十个部分进行测试。即每次选取所有待测电路数据集的十分之一为测试集,其余数据集为训练集进行十次动态检测。通过机器学习算法中提供的内嵌函数,获得模型准确度最高时的木马特征数量以及每个特征的重要性排名,根据准确度最高时的木马流量数量以及每个流量数据的重要性排名对各待测片上网络的数据集进行有效地筛选,从而得到最佳特征集。
13.进一步地,在设计s3中,训练随机森林模型参数的具体方法为:采用十折交叉验证的方式将最佳特征集分为训练集和测试集,这样可以避免测试集在分类器训练过程中因未
曾被学习而导致实验结果不科学、不客观。交叉验证的方法为将数据集分成十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计,还需要进行多次10折交叉验证求均值。使用机器学习分类器对训练集进行训练并得到随机森林模型的参数,根据随机森林模型参数确定最佳训练模型,得到的最佳训练模型用于对测试集进行动态检测。
14.进一步地,在设计s3中,统计随机森林模型检测得到的木马流量数据检测结果。根据得到的检测结果计算true positive rate(tpr)、true negative rate(tnr)等指标来评估所提出的检测方法。
15.进一步地,在设计s3中,将训练完成的随机森林模型构建为随机森林检测木马模块。通过构建包含了流量特征跟踪提取模块、特征提取寄存模块、变点检测模块以及随机森林检测木马模块的安全性检测模块,搭建了基于机器学习的片上网络硬件木马检测平台。
16.进一步地,在设计s3中,木马检测中,tpr的平均值增加为97.1%,tpr、tnr指标的计算方法如下:
17.tnr=tn/(tn fp),tpr=tp/(tp fn)
18.本发明采用上述技术方案实现片上网络安全防护,具有下述有益效果:
19.(1)本技术首次提出并使用流量特征跟踪提取模块、特征提取寄存模块、变点检测模块以及随机森林检测木马模块的安全性检测模块,为硬件木马检测提供新方向,在动态检测中以变点检测模块通过贝叶斯变点检测方法定位片上网络中数据流任意时间点出现的变点并将其参数作为新的木马特征,使用随机森林检测木马模块通过动态检测的待测电路进行机器学习检测以进一步提高动态检测的准确率,最终确定木马电路的识别结果。实验验证了新提出的动态木马特征对木马检测的有效性,且通过变点检测模块有效提高了动态检测平均真阳性率(tpr),本技术提出的基于机器学习的片上网络硬件木马检测平台克服了静态检测很难实时检测出片上网络的硬件木马的缺陷,能够全面高效地检测硬件木马。
20.(2)通过对测试集进行检测,实验结果表明该检测木马平台与现有的其它单纯使用机器学习的检测平台相比能够提高在大多数情况下片上网络中硬件木马的准确性,检测方法可以达到97.1%的平均真阳性率(tpr)和93.9%的平均真阴性率(tnr),可见,本技术提出的基于机器学习的片上网络硬件木马检测平台有效提高了检测的准确率。
附图说明
21.图1为基于机器学习的片上网络硬件木马检测平台的整体框图。
22.图2为基于机器学习的片上网络硬件木马检测流程图。
具体实施方式
23.下面结合附图对发明的技术方案进行详细说明。
24.请参照图1,本发明提供一种基于机器学习的片上网络硬件木马检测平台。路由器节点按二维网格的方式排列,片上网络系统结构由处理单元,网络接口,以及路由器构成。首先,基于安全性片上网络的木马检测平台将安全性路由的建立分成了以下两部分:正常工作的路由模块、安全性检测模块。片上网络可以使用多种拓扑结构,参照图中使用的是二
维网格拓扑结构,每个路由器包含正常工作的三个模块,即输入/输出端口、路由控制器和交叉开关。一方面,输入/输出端口负责数据存储,交叉开关负责数据传输。输入/输出端口将进入端口的数据包存储到由缓冲区实现的相应虚拟通道中,交叉开关模块将数据包从输入端口传输到输出端口。另一方面,路由器控制器管理输入/输出端口和交叉开关的工作流程。当数据包的头部切片到达缓冲区时,路由控制模块根据数据包的目的地和路由算法生成下一跳的请求信息。然后,所有请求都竞标交换,虚通道分配器决定如何将下游路由器的虚通道分配给这些请求。同时,与虚通道分配器并行工作的交换机分配器从虚通道中挑选出正确的数据包并将它们送到交叉开关。安全性检测模块包含:流量特征跟踪提取模块、特征提取结果寄存模块,变点检测模块,随机森林检测木马模块。首先,将片上网络中路由流量特征进行提取。然后,将流量特征以时间序列的形式构建为片上网络时间序列模型,通过变点检测模块动态地对片上网络时间序列模型进行检测,分离出正常变化的流量和受木马攻击产生的异常变化的流量。最后,通过构建随机森林的硬件模块实现对提取出的待测流量进行检测,得到最终的木马流量数据。
25.参照图2,生成随机森林模型的训练过程,包括步骤s1至步骤s5。
26.步骤s1:分析片上网络中硬件木马的动态流量特征,以贝叶斯变点检测方法产生的相关参数形成新的动态木马特征并结合动态流量特征形成动态木马特征集。
27.片上网络的硬件木马例如拒绝服务(dos)、性能损害等攻击方式在流量上体现出相类似的表现,主要实现干扰片上网络正常操作的目的。针对这些木马,本发明提出了通过贝叶斯在线变点检测流量数据,利用一定的统计指标或统计方法,对片上网络时间序列的状态进行观测,以便准确有效的估计出变点的位置。通过观测通信行为,可分析出被激活的异常数据点。
28.片上网络中硬件木马的动态流量特征包括:路由节点每个输入端口的缓冲区利用率、路由节点每个输入端口的链路利用率、本地操作温度。路由节点每个输入端口的缓冲区利用率定义为片上网络运行时每个周期占用的虚拟通道数;路由节点每个输入端口的链路利用率定义为片上网络运行时每个周期的输入迁移值;本地操作温度定义为片上网络运行时路由的工作温度。结合动态流量特征以及贝叶斯在线变点检测提取的新的动态木马特征组成动态木马特征集。
29.步骤s2:使用流量跟踪提取模块,特征提取结果寄存将动态流量特征以预定的粒度从路由对待测片上网络流量进行提取。
30.首先,以预定的粒度对待测片上网络进行数据提取,noc数据流计数在1000个时钟周期内没有显着变化。因此,以每1000个时钟周期1个样本的速率对数据流进行采样,以降低计算成本。然后,将每个输入端口的缓冲区利用率、每个输入端口的链路利用率、本地操作温度分别放入相应的列表中。为步骤s3提供帮助。
31.步骤s3:依据动态木马特征集,对片上网络中流量特征数据值以及动态木马特征数据值进行提取,得到数据集。
32.变点检测模块通过贝叶斯在线变点检测s2中提取的片上网络流量时间序列,利用一定的统计指标或统计方法,对片上网络流量时间序列的状态进行观测,以便准确有效的估计出流量数据点的概率密度函数,根据概率密度函数值确定变点。对特征提取寄存模块中存储的片上网络流量时间序列模型和变点检测模块中检测得到的片上网络流量时间序
列模型的变点以及异常点贝叶斯相关参数进行提取,然后将其构造为数据集。
33.我们假设noc数据流d,其中,数据x1,x2……
xn都是在同一时间间隔采样,可以分成不重叠的分区p。分区之间的划分称为变化点,分区内的数据点与概率分布p(x
t
|n
p
)独立同分布。参数n
p
(p=1,2,...,n)也应该是独立同分布的。如果在时间t的传入数据点x
t
代表两个时间段di和dj之间的变化点,则它们分别具有不同的概率分布。
34.贝叶斯在线变点检测算法对每个时间t具有的游程长度(r
t
)的概率进行建模,其中,r
t
表示当前运行时间t的长度。表示与运行时间r
t
相关的数据点集合。由于r可以为0,所有x
(r)
的集合可以为空。如果r
t
=0的分布概率高于预定义的阈值,则时间t的数据点代表一个变点。但是,准确估计r
t
=0的概率可能不可行,因此我们可以估计在时间t之后预定数量的数据点n的概率。如果概率超过预定义的阈值,我们可以得出结论,时间t的点代表变化点。
35.贝叶斯在线变点检测操作如下。将时间a和时间b(含)之间的连续数据点表示为x
a:b
。当数据点x
t
到达时,到时间t为止已经达到的数据点x
1:t
,评估边际预测分布p(x
t 1
|x
1:t
),根据边际预测分布值确定数据点是否是变点,在边际预测分布p(x
t 1
|x
1:t
)超过预定义阈值时,时间a采集的网络流量特征数据即为变点,边际预测分布概率密度函数值p(x
t 1
|x
1:t
)即为片上网络流量时间序列模型的变点以及异常点贝叶斯相关参数。
36.对当前游程长度r
t
的后验分布进行积分,以找到边际预测分布,使用以下公式表示:
[0037][0038]
使用贝叶斯定理对当x
t
到达时的后验概率p(r
t
|x
1:t
)进行评估:
[0039][0040]
计算p(x
1:t
)如下:
[0041][0042]
联合概率p(r
t
|x
1:t
)使用以下方程式表示:
[0043][0044]
因此,基于当前游程长度和数据上的联合分布为p(r
t
|r
t-1
)和两个计算,分别表示:1)给定r
t-1
游程长度的当前游程长度r
t
的先验概率。2)时间t到达的数据点x
t
上的预测分布。
[0045]
步骤s4:为了选用合适的片上网络路由端口数据,将步骤s3得到的数据集进行归一化处理,将处理后的数据作为训练数据送入分类器进行模型训练,通过机器学习算法得
到最佳特征集。根据最佳特征选用数据集中合适的数据,对数据集进行处理。
[0046]
最佳特征集的选取方法为将所有待测电路的数据集全部作为训练数据,通过十折交叉验证将训练数据分成十个部分放入分类器中进行测试。通过机器学习算法中提供的内嵌函数,得到每个木马特征对模型的重要性排名以及最佳准确率时的特征个数n,依据这两项指标选择重要性排名前n的特征元素构成最佳特征集。
[0047]
步骤s5:为了提高随机森林模型检测木马的各项检测准确率采用交叉验证的方式将多个待测电路分为训练集和测试集。使用训练好的分类器对训练集中的数据进行训练,得到最佳训练模型对测试集进行动态检测。
[0048]
使用机器学习分类器对使用交叉验证划分训练集进行训练,从根节点开始,递归地对每个节点进行以下操作,递归构造二叉决策树。所述特征为:每个输入端口的缓冲区利用率、每个输入端口的链路利用率、本地操作温度以及使用贝叶斯在线变点检测方法构建地片上网络流量时间序列模型参数。设节点地训练数据集为d,计算现有特征情况下该数据集的gini系数,此时,对每个特征a,对于每一个可能地划分值a,根据大于a以及小于a将训练数据集分为d1,d2两部分。gini系数公式如下:
[0049][0050][0051]
通过随机取样,降低决策树与决策树之间地关联性,使其具有更高的准确性和泛化性能。通过对训练模型的评价,调整训练参数,得到最优的训练模型。最后,将测试数据集送到最优训练模型中,并对电路进行动态测试。
[0052]
步骤s6:结合以上检测方式的检测结果得到最终的木马电路集合。根据得到的检测结果计算true positive rate(tpr)、true negative rate(tnr)等指标来评估所提出的检测方法。
[0053]
步骤s7:将训练完成的随机森林模型构建为随机森林检测木马模块。通过构建包含了流量特征跟踪提取模块、特征提取寄存模块、变点检测模块以及随机森林检测木马模块的安全性检测模块,实现基于机器学习的片上网络硬件木马在线检测平台。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献