一种应用于工控网络的两级入侵检测系统技术方案

技术编号:23365222 阅读:35 留言:0更新日期:2020-02-18 18:19
本发明专利技术涉及一种应用于工控网络的两级入侵检测系统,该方法包括:下载源数据集对数据集进行攻击生成和标准化、降维、重采样;基于特征向量生成数据包签名,构建基于布鲁姆过滤器的第一级检测器;构建基于k‑means聚类算法的第二级检测器。利用本发明专利技术的方法,可以有效检测工控网络中的异常数据。使用真实工控网络的数据集进行训练得到的模型更有利于识别工控网络中的异常;两级检测,通过了第一级检测的数据包,再进行与特定签名无关的基于k‑means聚类算法的二级检测,可以有效识别“零日攻击”;与现有的入侵检测系统相比,两级的入侵检测系统有更高的检测率;经过平衡的数据集更好地提高了系统的性能。

A two-level intrusion detection system applied to industrial control network

【技术实现步骤摘要】
一种应用于工控网络的两级入侵检测系统
本专利技术涉及一种应用于工控网络的两级入侵检测系统,属于工业控制安全

技术介绍
入侵检测是一个传统安全研究领域,目前已有多种针对工控网络的入侵检测系统,近年来基于机器学习的入侵检测越来越被重视。构建一个基于机器学习的入侵检测系统首先面对的挑战是需要处理不平衡的数据集,需要识别的异常数据只是数据集中的少数样本,这极大影响算法训练的效果;另一个主要的挑战是大多数的入侵检测系统需要基于特定的签名来进行检测,难以识别“零日攻击”。此外,传统的入侵检测系统,大多存在检测率低或者误报率高的问题。
技术实现思路
有鉴于此,本专利技术的目的在于针对上述现有技术中存在的问题,提出了一种应用于工控网络的两级入侵检测系统。为达到上述专利技术的目的,本专利技术通过以下技术方案实现:一种应用于工控网络的两级入侵检测系统,包括如下步骤:步骤1,下载源数据集,对数据集进行预处理,解决数据不平衡问题。步骤2,训练第一级基于布鲁姆过滤器的入侵检测器。步骤3,数据包通过训练好的第一级检测器,被第一级检测器识别为异常的数据包丢弃。步骤4,通过了第一级检测的数据包,再经过第二级基于k-means聚类算法的检测器,进一步识别攻击。有益效果:与现有技术相比,本专利技术的有益效果:使用真实工控网络的数据集进行训练得到的模型更有利于识别工控网络中的异常;经过平衡的数据集更好地提高了系统的性能;两级检测,通过了第一级检测的数据包,再进行与特定签名无关的基于k-means聚类算法的二级检测,可以有效识别“零日攻击”;与现有的入侵检测系统相比,两级的入侵检测系统有更高的检测率。附图说明图1为本专利技术的系统流程图。图2为本专利技术的数据预处理模块示意图。图3为本专利技术的第一级检测模型示意图。图4为本专利技术的第二级检测模型示意图。具体实施方式为使本专利技术实施例的目的、技术方案和有益效果更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术公开一种应用于工控网络的两级入侵检测系统,包括如下步骤:步骤1,下载数据集,对数据集进行预处理。具体步骤如下:步骤1.1,首先下载数据集,使用的是由密西西比州立大学公开的天然气管道系统数据集,该数据集是一个真实的大规模工控网络数据集,包括了工控网络实际流量的数据日记,使用的是工控网络的协议,所以使用该数据集训练的模型更有利于工控网络的异常检测。步骤1.2,对数据集进行预处理。使用处理之后的数据集,对第一级模型进行训练。步骤2,训练第一级基于布鲁姆过滤器的入侵检测器。具体步骤如下:步骤2.2,首先利用特征矩阵的所有特征向量和一个签名生成函数生成数据包签名。步骤2.3,将布鲁姆过滤器记为BF,所有规则数据的集合记为SN,判断生成的签名是否属于SN,如果属于则加入BF中。步骤2.4,训练完成之后,利用该检测器进行第一阶段的异常检测。步骤3,数据包首先通过训练好的第一级检测器,被第一级检测器识别为异常的数据包被丢弃。步骤4,通过了第一级检测的数据包,再经过第二级检测器,进一步识别攻击。具体步骤如下:步骤4.1,首先将数据包与模式库进行比对,如果没有比对成功,则进行下一步操作;步骤4.2,对整个数据集进行聚类分析,输出聚类结果,进行判断。如图2所示,本专利技术提供一个数据预处理模块示意图。该模块包括攻击生成、标准化、降维、重采样。首先对下载的源数据集使用Autolt技术来发起攻击,该技术是一种自动攻击生成技术,可以丢弃、延迟、注入、修改网络数据包,使用该技术生成攻击之后的数据集,就是有大量正常数据、也有异常数据的不平衡数据集。接下来对该数据集进行标准化操作,目的是使数据标准、一致、无噪声,使数据具有均值mean为0,标准差σ为1的特性。所述标准化问题的求解如公式1所示:所述公式1中,X'是标准化后的新数据,x是原始数据,mean代表原始数据的均值,σ代表原始数据的标准差。对标准化后的数据集进行降维操作,使用的是主成分分析法(PCA)。具体步骤如下:若有n个样本,每个样本都是一个d维向量。将该数据集的所有数据组成n行d列的矩阵X,每一行代表了一个样本的所有特征,每一列就代表了一个特征属性。首先进行零均值化,即计算每一列的均值,该列的所有数据都减去该列的均值。计算矩阵X的协方差矩阵以及协方差矩阵的特征值和对应的特征向量。将特征值从大到小排列,保留最大的n个特征值对应的特征向量,将特征向量按特征值的大小从上到下排列成矩阵P。计算得到降维后的数据如公式2所示:Y=PX(2)所述公式2中,将矩阵P左乘矩阵X就得到了降维后的特征矩阵Y。接着对数据集进行重采样。经过上述操作之后的数据集是不平衡的,大多数的数据都是正常数据,异常数据只是少部分,这也是现实中的情况,使用这样的数据集,大多数机器学习算法都会因为不平衡问题而不能高效的训练,所以需要进行重采样。使用的是SMOTE方法,该方法对异常数据样本进行分析,然后根据异常样本合成新的异常样本加入到数据集中,使数据集数据类别达到平衡。具体步骤如下:首先找到每一个异常样本的与其他异常样本的距离,样本与样本之间的距离计算方法如公式3所示:所述公式3中,d(a,b)即为样本a和样本b的欧式距离。其中n是a和b的维数。然后按照计算结果找到该异常样本的k个最近邻(即欧氏距离最近的k个样本),再从k个最近邻中随机抽取样本,将每一个抽取的样本与该点经过计算得到新的异常样本,计算方法如公式4所示:xnew=x+rand(0,1)×(x'-x)(4)所述公式4中,xnew即为生成的新的异常样本,x'是从x的最近邻中随机抽取的样本。如图3所示,本专利技术提供一个第一级检测模型示意图。包括数据包签名生成和训练布鲁姆过滤器。首先利用数据包的所有特征生成数据包的签名。数据包的特征向量a(t)={a1(t),a2(t)......ak(t)},其中每个分量都是一个特征。所述数据包签名的生成如公式5所示:d(a(t))=f(a1(t),a2(t)......an(t))(5)所述公式5中,d(a(t))即为生成的数据包签名。f(·)是签名生成函数,该函数使用分隔符将参数连接到字符串。接下来对布鲁姆过滤器进行训练。布鲁姆过滤器是一种利用哈希函数来查找的数据结构,它包括k个哈希函数{h1,h2......hk}和一个所有位置都初始化为0的m位的位列阵,每一个数据经过哈希函数的计算都对应了位列阵中的一个位置。将布鲁姆过滤器记为BF,所有正常数据的规则签名的集合本文档来自技高网...

【技术保护点】
1.一种应用于工控网络的两级入侵检测系统,其特征在于,该方法包括:/n步骤1,下载源数据集,对数据集进行攻击生成和标准化、降维、重采样。/n步骤2,训练第一级基于布鲁姆过滤器的入侵检测器。生成数据包签名,利用数据包签名训练布鲁姆过滤器。/n步骤3,数据包通过训练好的第一级检测器,被第一级检测器识别为异常的数据包丢弃。/n步骤4,通过了第一级检测的数据包,再经过第二级基于k-means聚类算法的检测器,进一步识别攻击。/n

【技术特征摘要】
1.一种应用于工控网络的两级入侵检测系统,其特征在于,该方法包括:
步骤1,下载源数据集,对数据集进行攻击生成和标准化、降维、重采样。
步骤2,训练第一级基于布鲁姆过滤器的入侵检测器。生成数据包签名,利用数据包签名训练布鲁姆过滤器。
步骤3,数据包通过训练好的第一级检测器,被第一级检测器识别为异常的数据包丢弃。
步骤4,通过了第一级检测的数据包,再经过第二级基于k-means聚类算法的检测器,进一步识别攻击。


2.根据权利要求1所述的一种应用于工控网络的两级入侵检测系统,其特征在于,所述步骤1包括以下步骤:
步骤1.1,下载工控网络源数据集。
步骤1.2,对该数据集使用Autolt技术生成攻击;按照公式1进行标准化;利用主成分分析法进行降维;利用SMOTE算法进行重采样操作。





3.根据权利要求1所述的一种应用于工控网络的两级入侵检测系统,其特征在于,所述步骤2包括以下步骤:
步骤2.1,依...

【专利技术属性】
技术研发人员:陈夏裕袁键徐乐晨施靖萱章明飞
申请(专利权)人:江苏亨通工控安全研究院有限公司
类型:发明
国别省市:江苏;32

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

1