Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于马氏距离OOD得分的CAN总线攻击检测方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:东北大学

摘要:本发明属于车载网络安全技术领域,公开一种基于马氏距离OOD得分的CAN总线攻击检测方法。提出一种基于重构损失和OOD得分的CAN总线攻击检测架构,将入侵检测问题转化为紧密联系的两阶段检测问题,分别是正常流量与异常流量的区分问题,对异常流量进行已知攻击分类,未知攻击识别问题。为解决数据不平衡所造成的影响,提供一种基于集成学习的改进随机抽样算法;为降低检测的误报率,提供一种基于置信区间原则的阈值选择算法;提高检测CAN总线已知攻击、未知攻击的精度、召回率、F1分数,最终实现在复杂多变的CAN总线环境下,能够快速准确的对各种CAN流量进行检测,提高检测的精度、召回率、F1分数,降低模型检测的误报率。

主权项:1.一种基于马氏距离OOD得分的CAN总线攻击检测方法,其特征在于,训练阶段,根据已知的正常流量和异常流量训练所述CAN总线攻击检测方法进行正常流量与异常流量的区分,再对异常流量进行已知攻击分类和未知攻击识别;测试阶段计算待检测CAN流量的重构误差,使用训练阶段得到的最优阈值对待检测CAN流量类别进行判断;计算待测CAN异常流量的OOD得分,对不同异常CAN流量进行多分类,识别CAN总线未知攻击;所述训练阶段,对异常流量进行已知攻击分类和未知攻击识别通过ResNet18模型实现;提出一种基于softmax和feature相结合的OOD方法检测CAN总线中的攻击,设置三方面损失:分类损失、类间差异与类内聚合损失以及参数优化损失;通过分类损失确保检测攻击的有效性,通过类间差异与类内聚合损失增加不同类之间的差异性,增加相同类的紧密程度;通过参数优化损失提高ResNet18模型的训练速度;损失函数LA如公式27,其中LS是分类损失,Lc是类间差异与类内聚合损失,λc是惩罚因子,0≤λC≤1;LA=Ls+λCLC27步骤3.1:所区分的异常流量经ResNet18网络提取样本特征,输出向量Φxm,记为Φm;每一行输出向量代表一条CAN样本数据xm,包含CANID、数据域字段包括的Data[0]-Data[7]所有特征信息,对应已知类别标签ym,如公式28;{x1,y1,x2,y2,...,xm,ym}28设置ResNet18网络参数为W,学习率为l;在每次迭代t中,计算损失函数LA和参数优化损失LW,如公式29;之后更新t+1时刻参数W,直到达到收敛,通过随机梯度下降算法SGD进行优化,如公式30; 步骤3.2:计算不同已知类别的CAN攻击类别中心,具体流程如下:步骤3.2.1:使用公式31计算不同已知类别样本的特征均值favg_K,使用公式32计算协方差矩阵; 其中一共有Z个类,第K个类别的数量为NK;步骤3.2.2:对于不同的样本,使用公式33计算其特征到所属类别中心之间的马氏距离Dxm,使用公式34计算每个类别的平均马氏距离Mahalanobis_avgK; 步骤3.2.3:构建每个类的类别中心,将求得的已知类别样本的类特征均值,每个类别的平均马氏距离定义为类别中心,如公式35; 步骤3.3:训练分类器,建立特征向量如公式36;根据不同特征向量到不同类别中心的马氏距离定义为不同样本相对于不同类别中心的OOD得分,如公式37; 步骤3.4:计算最小softmax概率MSP,具体流程如下:步骤3.4.1:指数化:将OOD得分scorexm指数化处理;步骤3.4.2:概率化:将指数化后的结果除以同一样本相对不同类别中心计算的scorexm总和,得到每个样本相对于总和的概率分布;步骤3.4.3:归一化:概率化的结果为softmax函数的输出,表示每个概率的类别;步骤3.4.4:计算MSP:根据样本对于不同的已知攻击类别中心的OOD得分得到相对应的输出概率,最终得到预测的分类结果Pmin,选取所有结果中的概率最小值作为分类结果;计算如公式38-公式39;pA,pB,...,pZ=softmaxscorexm38Pmin=min{pA,pB,...,pZ}39在计算MSP过程中,采用分类交叉熵损失将输出的概率分布与真实标签的概率分布进行比较,通过最小化二者之间的交叉熵来优化ResNet18模型参数,所述分类损失计算如公式40; 其中,M是训练样本数量,Z是已知攻击类别数量,样本点xm,yK,y是真实标签,第m个样本预测为第K个类的概率为pm,K;步骤3.5:训练每个已知类的最佳阈值的具体过程如下:步骤3.5.1:初始化每个类的最大OOD得分max_scorexK=0,K=A,B,...,Z;使用公式41对所属类别相同的样本比较OOD得分,得到不同类的最大OOD得分; 步骤3.5.2:使用公式42对不同的Z个类阈值初始化;τA=max_scorexA,τB=maxscorexB,...,τZ=max_scorexZ42步骤3.5.3:当有新的训练数据加入时,通过类内聚合损失、类间差异损失进行计算,对所有的阈值、类别中心进行更新,所述类间差异与类内聚合损失计算如公式43; 其中M是训练样本的数量,表示第m个样本的最近类别中心,α为平衡类间和类内相分离的惩罚因子,Z表示为已知类别数量;所述测试阶段,计算待测CAN异常流量的OOD得分scorexm,对不同异常CAN流量进行多分类,识别CAN总线未知攻击,设计一种基于马氏距离OOD得分的CAN攻击检测算法,检测流程如下:步骤4.1当scorexm>τK,则被识别为CAN总线未知攻击,τK为更新后的阈值;步骤4.2当scorexm≤τK,采用KL散度来判断,记录每个类别中,距离类别中心最远样本的KL值,记为thresholdK-KL;已知CAN总线类别K的样本分布为Px,待检测样本分布为Qx,使用公式44计算待检测样本与已知类别K的KL散度; 其中,Hq,p表示用待测样本分布近似已知类别K分布的信息,即待测样本与已知类别的交叉熵;Hq表示基于待测样本分布的信息;qx、px为概率分布Qx、Px相对应的概率密度函数;步骤4.3当待检测样本与类别中心本的KL散度小于等于thresholdK-KL,被判断为已知攻击K;步骤4.4当待检测样本与类别中心的KL散度大于thresholdK-KL,更新scorexm与thresholdK-KL;scorexm选择去掉当前scorexm的剩余最大值作为新的OOD得分进行计算,直到所计算出的KL散度小于等于某一个已知类的阈值时停止,待检测样本不属于已知攻击K,但属于其他已知攻击类;步骤4.5当判断完所有已知攻击类别,待检测样本仍然未进行分类,则将待检测的样本识别未CAN总线未知攻击;所述训练阶段中,包括以下步骤:步骤1:获取CAN正常流量、异常流量数据,对数据进行预处理操作;步骤2:对预处理后的数据进行正常流量与异常流量区分;步骤2.1:使用一种基于集成学习的改进随机抽样方法对步骤1预处理后的数据进行平衡数据操作;步骤2.2:通过自编码器网络架构计算不同CAN流量的重构误差,得到重构误差模型;步骤2.3:使用一种基于置信区间3σ原则的阈值选择方法,根据重构误差模型得到不同CAN流量的重构误差,根据重构误差比较不同阈值下的ROC面积选取最优阈值,根据最优阈值对CAN流量中正常流量与异常流量进行区分;步骤3.对异常流量进行分类,识别CAN总线未知攻击;使用ResNet18模型提取不同异常流量的特征,计算不同异常流量的类别中心,根据不同异常流量样本的OOD得分、不同类别的最大KL散度,对异常流量进行多分类,识别未知攻击。

全文数据:

权利要求:

百度查询: 东北大学 一种基于马氏距离OOD得分的CAN总线攻击检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。