基于深度包解析的面向综合电子系统的异常检测方法与流程

文档序号:16887679发布日期:2019-02-15 22:47阅读:172来源:国知局
基于深度包解析的面向综合电子系统的异常检测方法与流程

本发明属于入侵检测的技术领域,特别涉及一种深度包解析和行为规范检测异常数据包的可抵御重放攻击、伪造子系统攻击和拒绝服务攻击的轻量级入侵检测方法。



背景技术:

综合电子系统通常处于物理隔离网络,其安全问题一直不受重视,自从震网病毒问世后,人们逐渐对物理隔离的网络进行安全研究。在此之前,人们重点关注综合电子系统的功能实现,基本不对综合电子系统进行安全测试。目前安全事件又频繁发生,apt攻击日益猖獗,后门程序的威胁日益严峻,因此需要对综合电子系统进行安全测试。对于在地面工作的综合电子系统,例如车辆综合电子系统,可以通过物理攻击方式将攻击源接入车辆综合电子系统。车辆综合电子系统可分为民用轿车和装甲车综合电子系统,民用轿车使用controllerareanetwork(can)总线作为车内通讯总线,随着自动驾驶的推广,民用轿车的安全研究及检测技术已有很多研究,装甲车综合电子系统使用mil-std-1553(1553b)总线作为车内通讯总线,关于1553b的研究较少。对于在太空工作的综合电子系统,例如航天器综合电子系统,由于航天器综合电子系统在太空中运行,所以通常无法通过物理攻击方式对综合电子系统实施攻击。但可以通过advancedpersistentthreat(apt)攻击控制地面站,从而控制航天器综合电子系统。

综合电子系统受硬件、功耗、尺寸的限制,其内存和cpu主频都很小,大多数综合电子系统会充分利用有限的硬件资源,使其满足系统可靠性需求设计,而较少考虑安全性设计。尤其是综合电子系统的入侵检测研究更加稀少。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种基于深度包解析的面向综合电子系统的异常检测方法,采用深度包解析以及行为规范检测异常数据包方法,即可抵御重放攻击、伪造子系统攻击和拒绝服务攻击。在继承了基于命令字规范和时间序列相结合的异常检测方法的高效性的同时,本发明可识别出符合马尔可夫模型的攻击数据,降低漏报率,为总线控制器和子系统之间消息传输提供了安全保护。

本发明提出了基于深度包解析的面向综合电子系统的异常检测方法,包括如下阶段:

收集总线数据阶段:监听并收集总线传输数据包;

提取周期性数据包特征阶段:在收集的周期性数据包中提取内容变化的特征值;

训练生成决策树阶段:根据提取所得的特征值集合,对不同子系统下的不同应用训练生成对应决策树;

行为规范检测异常数据包阶段:根据周期性数据包提供目标子系统和应用信息选择相应的决策树并利用该决策树预测当前周期性数据包的合法操作,若待检验的非周期性数据包内容中的指令符合决策树预测结果,则让消息通过,否则数据包异常,进行异常处理,停止总线传输此消息,阻止此次入侵。

本发明提出的所述基于深度包解析的面向综合电子系统的异常检测方法中,所述收集总线数据阶段包括下述步骤:

步骤a1:实时监听总线,记录总线控制器和子系统之间在总线上传输的数据包。

本发明提出的所述基于深度包解析的面向综合电子系统的异常检测方法中,所述提取周期性数据包特征阶段包括下述步骤:

步骤b1:根据总线协议,从多个周期性轮询结果中提取各个子系统的周期性数据包;

步骤b2:提取各个周期性消息特征并按周期排列;

步骤b3:将各个子系统相邻周期周期性数据包内容变化量提取并作为特征值。

本发明提出的所述基于深度包解析的面向综合电子系统的异常检测方法中,步骤b3所述数据包内容变化量特征是相邻周期数据包中变化的字节,变化字节为连续值或离散值。

本发明提出的所述基于深度包解析的面向综合电子系统的异常检测方法中,步骤3中所述训练生成决策树算法,其使用的特征选择方法包括但不限于分类回归树(classificationandregressiontreecart)方法。

本发明提出的所述基于深度包解析的面向综合电子系统的异常检测方法中,所述行为规范检测异常阶段包括以下步骤:

步骤c1:根据周期性数据包中的子系统id和应用id组成唯一应用标识uid;

步骤c2:从训练的决策树集合tm中取出当前uid的决策树;

步骤c3:使用所选决策树预测当前周期性数据包对应的指令,将所得的预测指令和监听获得的实际指令相比较,若实际指令与预测指令相符,则不存在入侵,让消息成功传输;若实际指令与预测指令不相符,则判定该指令为入侵事件,执行步骤c4;

步骤c4:数据包异常,进行异常处理。

本发明提出的所述基于深度包解析的面向综合电子系统的异常检测方法中,步骤c4中所述异常数据包处理具体包括:

步骤d1:停止总线传输此消息,阻止此次入侵;

步骤d2:记录该入侵事件。

本发明的有益发明在于:

提出基于深度包解析的面向综合电子系统的异常检测方法,通过收集并分析周期性数据包的特征变化,训练生成针对不同子系统下不同应用的决策树,从而实现预测非周期性数据包合理的指令。若实际监听所得的指令与决策树计算所得的预测指令不相符,则判定为入侵事件,阻止该非周期性数据包的传输,并记录该入侵事件详情;若实际监听所得的指令与决策树计算所得的预测指令相吻合,则可认为是合理的指令,不作拦截操作。

本发明的有益效果在于:

1)能够抵御伪造总线控制器攻击:当发生伪造总线控制器攻击时,伪造总线控制器使用总线向子系统传递非法控制消息,即使使用基于命令字规范和时间序列相结合的异常检测方法也无法识别符合命令字规范和时间序列的攻击消息。使用本发明,可以检测出伪造总线控制器向子系统发送的异常非周期性数据包,当检测出异常情况时,阻断该消息的传输,避免因错误的遥控操作对综合电子系统造成影响。

2)低漏报率:基于命令字规范和时间序列相结合的异常检测方法可以实现轻量级的异常检测,但有较高的漏报率,对于符合命令字规范和时间序列的攻击消息,该检测方案会判定为合法消息。本发明进一步深究非周期性数据包中指令的合法性,进而大大降低漏报率。

附图说明

图1是本发明流程图;

图2是本发明提取各个周期性消息特征并按周期排列示意图;

图3是本发明行为规范检测异常数据包流程图。

具体实施方式

以下结合附图及具体实施例,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。

本发明中有关的技术术语代表的含义如下:

m表示总线通讯中的一次完整的通信(消息);

mki表示第k周期的消息的第i个字;

如图1所示,本发明基于深度包解析的面向综合电子系统的异常检测方法包括如下四个阶段:

第一阶段:收集总线数据阶段:监听并收集总线传输数据包;

第二阶段:提取周期性数据包特征阶段:在收集的周期性数据包中提取内容变化的特征值;

第三阶段:训练生成决策树阶段:根据提取所得的特征值集合,对不同子系统下的不同应用训练生成相应决策树;

第四阶段:行为规范检测异常数据包阶段:根据周期性数据包提供目标子系统和应用信息选择相应的决策树并利用该决策树预测当前周期性数据包的合法操作,若待检验的非周期性数据包内容中的指令符合决策树预测结果,则让消息通过,否则数据包异常,进行异常处理,停止总线传输此消息,阻止此次入侵。

所述第一阶段包括下述步骤:

步骤a1:实时监听总线,记录总线传输周期性数据(消息m)和非周期性数据,消息m由m11,m12,m13,...,m1n组成。

所述第二阶段包括下述步骤:

步骤b1:所述根据总线协议,从多个周期性轮询结果中提取各个子系统的周期性数据包,周期性数据包有包头,包内容,差错控制三部分,提取其中包内容作为周期性数据;

步骤b2:提取各个周期性消息特征并按周期排列;

如图2所示,令m1={m11,m12,m13,...,m1n}为第1个周期内的消息记录,mk={mk1,mk2,mk3,...,mkn}为第k个周期的消息记录。其中mij={commandwordij,datawordij,statuswordij},i表示第一个周期的消息,j表示该周期内第j个消息。datawordij={data1,data2,data3,...,datap},其中1≤p≤32,每个datap为2个字节。提取第j个周期性消息特征,即将m中各个周期的第j个周期性消息提取出来,组成sj={m1j,m2j,m3j,...,mkj}。

步骤b3:所述将各个子系统相邻周期周期性数据包内容变化量提取并作为特征值。

由于周期性数据包头是数据字中的第一个和第二个数据字,校验和是数据字中的最后一个数据字,因此在仅提取周期性数据包数据域时,将rowdataij={data3,...,datap-1}作为数据包原始数据,dataq∈{固定值,连续值,离散值},其中3≤q≤p-1。在特征提取时,仅需要提取连续值和离散值即可。定义rdj为第j个周期性原始消息,rdj={rowdata1j,rowdata2j,...,rowdatakj}。从rowdata中提取连续值和离散值,rowdataij-rowdatai-1j={...,notzero,zero,...},将notzero对应的数据字提取出,将其表示rd的特征,所以第j个周期性消息特征定义为tj={...,dataq,...},其中dataq∈{连续值,离散值}。

所述第三阶段包括下述步骤:

因为每个应用的行为状态不同,为了直观得出每个应用的行为状态,根据第二阶段收集提取所得的每个应用的数据集生成该应用的决策树模型,从而来预测该应用的行为状态。将子系统的远程终端地址和数据包的应用标识作为综合电子系统的唯一应用标识,由于每个应用的行为状态不一样,因此根据唯一应用标识构建决策树。

决策树的训练过程可分为特征选择、决策树生成和减枝:

1)特征选择,从训练数据的特征中选择一个特征作为当前结点的分裂标准,不同的特征选择方法产生了不同的决策树算法。

2)决策树生成,根据所选特征选择方法,从上至下递归地生成子结点,当没有特征满足分裂条件时停止生成决策树。

3)剪枝,决策树容易过拟合,可以预剪枝或后剪枝来减小树的结构和规模,从而来解决决策树过拟合的问题。

本发明结合综合电子系统的特征样本,选择了cart方法来生成决策树。在给定训练集,基尼系数阈值,样本个数阈值的条件下,以各特征为切割点划分数据集,进行基尼系数计算,选取基尼系数最小的特征作为最优特征。将数据集按照最优特征进行分割,并递归选取最优特征直至当前数据集的基尼系数低于阈值或样本个数低于阈值。其中,基尼系数的表达式为:

表达式中,pk表示为第k个类别的概率。

如图3所示,所述第四阶段包括下述步骤:

步骤c1:根据周期性数据包中的子系统id和应用id组成唯一应用标识uid;

步骤c2:从训练的决策树集合tm中取出当前uid的决策树;

步骤c3:使用所选决策树预测当前周期性数据包对应的指令,将所得的预测指令和监听获得的实际指令相比较,若实际指令与预测指令相符,则不存在入侵,让消息成功传输;若实际指令与预测指令不相符,则判定该指令为入侵事件,执行步骤c4;

步骤c4:数据包异常,进行异常处理;

其中,步骤c4中所述异常数据包处理具体包括:

步骤d1:停止总线传输此消息,阻止此次入侵;

步骤d2:记录该入侵事件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1