一种基于SA-iForest的网络入侵异常检测方法技术

技术编号:16703631 阅读:169 留言:0更新日期:2017-12-02 17:01
本发明专利技术公开了一种基于SA‑iForest的网络入侵异常检测方法,属于网络安全领域。首先通过对训练集随机选择属性训练出多棵iTree,通过交叉验证计算出它们的异常检测精度,同时采用Q‑统计量计算出iTree之间的差异性,然后把精确度和差异性作为iTree挑选标准,根据iTree的差异性和精确度,利用模拟退火算法从初始森林中选出比较优秀的iTree来构建集成iForest,然后对测试集进行测试统计出其异常分值,完成对网络入侵异常检测。该方法不仅减小了iTree的集成规模而且利用模拟退火优化算法的快速收敛性来提高网络入侵异常检测效率,同时还提高了算法的泛化能力和预测性能。

An anomaly detection method based on iForest network SA

The invention discloses an anomaly detection method of SA based on iForest network, belonging to the field of network security. First, by randomly selecting multiple attribute tree iTree training on the training set, calculated by cross validation of abnormal detection precision, while using Q statistics to calculate the difference between iTree, and then the accuracy and diversity of iTree as selection criteria, according to the iTree difference and accuracy, using the simulated annealing algorithm from the initial forest choose good iTree to build an integrated iForest, then the test set to test the statistical anomaly score, the network intrusion detection. This method not only reduces the integration scale of iTree, but also improves the efficiency of network intrusion detection by using the fast convergence of simulated annealing algorithm, and improves the generalization ability and prediction performance of the algorithm.

【技术实现步骤摘要】
一种基于SA-iForest的网络入侵异常检测方法
本专利技术涉及网络安全领域,尤其是一种基于SA-iForest的网络入侵异常检测方法。
技术介绍
随着网络技术的飞速发展和网络规模的不断扩大,网络安全问题日趋严重。入侵检测作为维护网络安全的一项重要技术,俨然已成为信息安全领域一个重要的研究内容,获得了众多专家学者的广泛关注。入侵检测技术主要是通过分析相关的网络数据来判断系统中是否存在违背系统安全或安全策略的行为。IsolationForest算法的设计利用了异常数据的两个特征:极少且与众不同。即异常数据对象个数占数据集总体规模的比重较小,其次异常数据的属性值与正常的属性值相比存在明显差异。当在仅包含数值类型的训练集中,对数据对象进行递归地划分,直至每个数据对象都由一棵称为iTree的二叉树与其他对象区别开来。显然异常对象距离树的根节点较近,即路径长度较短,反映了仅需少量条件就可将异常对象与其他对象区别。与其他异常检测算法相比,IsolationForest没有利用距离或密度来检测异常,这消除了基于距离和密度方法的计算量。利用异常数据少且与众不同的特点,使得它们与正常数据快速分离,具有较低的线性时间复杂度。虽然IsolationForest算法在异常检测方面取得较好的效果,但仍存在一些不足之处:(1)IsolationForest算法对数据集进行异常检测的精确度与iTree的数目相关,而构建大规模iTree需要耗费大量内存,同时导致更大的计算。(2)由于iTree数量过多,iTree之间的差异将越来越不明显,其异常检测的精确度参差不齐,存在一些性能较差的iTree,造成了空间浪费。(3)IsolationForest算法基于单个计算节点设计,其处理的数据规模受内存最大容量限制,处理海量数据较为困难。
技术实现思路
本专利技术要解决的技术问题是:提出一种基于SA-iForest的网络入侵异常检测方法,克服了传统的网络入侵检测方法检测精度低、泛化能力差等缺点。利用模拟退火的思想选择精度高和有差异性的iTree来优化iForest,使得该算法泛化能力提高,进一步提高了预测性能,同时去掉冗余iTree以减少iForest的存储空间、降低预测计算量、加快预测速度。本专利技术的目的是这样实现的:一种基于SA-iForest的网络入侵异常检测方法,其特征在于,包括如下步骤:步骤一构建第一颗iTree。网络入侵数据训练集DTrain={d1,d2,…,di,…,dn},其中di网表示为第i条网络入侵数据。络入侵数据属性集A={A1,A2,…,Ai,…,Am},其中Ai表示为第i个属性。从属性集A中随机地选择k(k≤m)个属性构成子属性集a={A1,A2,…,Ak},在a中随机选择一个属性Aj,然后对每个网络入侵数据,按照属性Aj的分裂值p进行划分。如果数据di的Aj属性的属性值di(Aj)<p,则放在左子树,反之则放在右子树。按此方式迭代地构造左、右子树,直至满足下列条件之一:(1)DTrain中只剩下一条数据或多条相同的数据;(2)树达到最大高度。步骤二重复步骤一再构建L-1棵树组成初始森林T={T1,T2,…,TL},其中T表示L个iTree的集合,Ti表示第i棵iTree。步骤三用训练集DTrain对初始森林T进行训练,根据Q-统计量法计算iTree之间的差异值,用交叉验证法计算每棵iTree的精度值ACC。ACC={X1,X2,…,XL}其中,Q表示L个iTree的差异矩阵;Qij表示为初始森林中树Ti与树Tj之间的差异值;Xj表示树Tj的精确值。如果任意两个iTree独立,那么这两个iTree的Q统计量的值为0。Q统计量的值在[-1,1]之间变化。Q统计量的值越大,表示两个iTree的差异度越小。极端情况,如果两个iTree的Q统计量的值为1,那么两个iTree差异度为0。步骤四初始化。取初始温度t0足够大,令温度t=t0,任取初始解T1。步骤五对当前温度t,重复步骤43-步骤46。步骤六对当前解T1随机扰动产生一个新解T2。步骤七计算T2的增量df=F(T2)-F(T1),其中F(T1)为树T1的适应度值。步骤八若df<0,则接受T2作为新的当前解,即T1=T2;否则按Metropolis规则,计算T2的接受概率p,即随机产生(0,1)区间上均匀分布的随机数rand,若p>rand,也接受T2作为新的当前解,即T1=T2,否则保留当前解T1。其中,κ为玻耳兹曼常数,exp表示自然指数。步骤九如果满足设定的终止条件,则输出当前解T1为最优解,终止条件通常取为在连续若干个Metropolis链中新解T2都没有被接受时终止或者是设定结束温度;否则按衰减函数衰减温度t后返回步骤42。所述衰减函数为:其中,ts为第θ步时的温度值,t0为初始温度。步骤十重复步骤43-步骤46,从初始森林T中选出l(l≤L)个具有较优适应值的iTree组合成iForest。每棵iTree的适应度函数关系如下式:其中,F(Tj)表示为树Tj的适应度值。W1,W2分别表示精确度和差异性对应的权重。步骤十一对待检测数据进行预测,计算待测数据d在每一棵iTree的路径长度h(d)。由于iTree与二叉查找树的结构等价,所以包含数据d的叶节点的路径长度等于二叉查找树中失败查询的路径长度。二叉查找树中失败查询的路径长度:C(n)=2H(n-1)-(2(n-1)/n)其中,H(i)=Ln(i)+γ,γ为欧拉常数。n为叶子节点数。C(n)为给定n时h(d)的平均值,使用它来标准化h(d)。待检测数据d的异常分数S(d,n)如公式所示:其中,E(h(d))为iTree集合中h(d)的平均值。当E(h(d))→C(n)时,S(d,n)→0.5,即当所有数据均返回的S(d,n)≈0.5时,那么全部样本中没有明显的异常值;当E(h(d))→0时,S(d,n)→1,即当数据返回的S(d,n)非常接近于1时,那么它们是异常值;当E(h(d))→n-1时,S(d,n)→0,即当对象返回的S(d,n)远远小于0.5时,那么它们有很大的可能被评价为正常值。此时完成对网络入侵异常检测。本专利技术首先通过对训练集随机选择属性训练出多棵iTree,通过交叉验证计算出它们的异常检测精度,同时采用Q-统计量计算出iTree之间的差异性,然后把精确度和差异性作为iTree挑选标准,选出比较优秀的iTree来构建集成iForest,然后对测试集进行测试统计出其异常分值。该方法不仅减小了iTree的集成规模而且利用模拟退火优化算法的快速收敛性来提高网络入侵异常检测效率,同时还提高了算法的泛化能力和预测性能。附图说明图1为本专利技术的一种SA-iForest算法流程图。具体实施方式本专利技术旨在提出一种基于SA-iForest的网络入侵异常检测方法,克服了传统的网络入侵检测方法检测精度低、泛化能力差等缺点。如图1所示,本专利技术中的一种基于SA-iForest的网络入侵异常检测方法包括如下步骤:步骤1:构建第一课iTree。网络入侵数据训练集DTrain={d1,d2,…,di,…,dn},其中di表示为第i条网络入侵数据。网络入侵数据属性集A={A1,A2,…,Ai,…,Am},其中Ai表本文档来自技高网
...
一种基于SA-iForest的网络入侵异常检测方法

【技术保护点】
一种基于SA‑iForest的网络入侵异常检测方法,其特征在于,包括如下步骤:步骤一构建第一颗iTree;网络入侵数据训练集DTrain={d1,d2,…,di,…,dn},其中di网表示为第i条网络入侵数据;络入侵数据属性集A={A1,A2,…,Ai,…,Am},其中Ai表示为第i个属性;从属性集A中随机地选择k(k≤m)个属性构成子属性集a={A1,A2,…,Ak},在a中随机选择一个属性Aj,然后对每个网络入侵数据,按照属性Aj的分裂值p进行划分;如果数据di的Aj属性的属性值di(Aj)<p,则放在左子树,反之则放在右子树;按此方式迭代地构造左、右子树,直至满足下列条件之一:(1)DTrain中只剩下一条数据或多条相同的数据;(2)树达到最大高度;步骤二重复步骤一再构建L‑1棵树组成初始森林T={T1,T2,…,TL},其中T表示L个iTree的集合,Ti表示第i棵iTree;步骤三用训练集DTrain对初始森林T进行训练,根据Q‑统计量法计算iTree之间的差异值,用交叉验证法计算每棵iTree的精度值ACC;

【技术特征摘要】
1.一种基于SA-iForest的网络入侵异常检测方法,其特征在于,包括如下步骤:步骤一构建第一颗iTree;网络入侵数据训练集DTrain={d1,d2,…,di,…,dn},其中di网表示为第i条网络入侵数据;络入侵数据属性集A={A1,A2,…,Ai,…,Am},其中Ai表示为第i个属性;从属性集A中随机地选择k(k≤m)个属性构成子属性集a={A1,A2,…,Ak},在a中随机选择一个属性Aj,然后对每个网络入侵数据,按照属性Aj的分裂值p进行划分;如果数据di的Aj属性的属性值di(Aj)<p,则放在左子树,反之则放在右子树;按此方式迭代地构造左、右子树,直至满足下列条件之一:(1)DTrain中只剩下一条数据或多条相同的数据;(2)树达到最大高度;步骤二重复步骤一再构建L-1棵树组成初始森林T={T1,T2,…,TL},其中T表示L个iTree的集合,Ti表示第i棵iTree;步骤三用训练集DTrain对初始森林T进行训练,根据Q-统计量法计算iTree之间的差异值,用交叉验证法计算每棵iTree的精度值ACC;ACC={X1,X2,…,XL}其中,Q表示L个iTree的差异矩阵;Qij表示为初始森林中树Ti与树Tj之间的差异值;Xj表示树Tj的精确值;如果任意两个iTree独立,那么这两个iTree的Q统计量的值为0;Q统计量的值在[-1,1]之间变化;Q统计量的值越大,表示两个iTree的差异度越小;极端情况,如果两个iTree的Q统计量的值为1,那么两个iTree差异度为0;步骤四初始化;取初始温度t0足够大,令温度t=t0,任取初始解T1;步骤五对当前温度t,重复步骤43-步骤46;步骤六对当前解T1随机扰动产生一个新解T2;步骤七计算T2的增量df=F(T2)-F(T1),其中F(T1)为树T1的适应度值;步骤八若df<0,则接受T2作为新的当前解,即T1=T2;否则按Metropolis规则,计算T2的接受概率p,即随机产...

【专利技术属性】
技术研发人员:徐东王岩俊孟宇龙张子迎姬少培张朦朦李贤张玲玲王磊吕骏
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1