首页> 中国专利> 一种入侵检测系统安全规则的自动生成方法

一种入侵检测系统安全规则的自动生成方法

摘要

本发明涉及工业控制系统信息安全领域,具体涉及一种入侵检测系统安全规则的自动生成方法,包括如下步骤:(1)检测点的部署;(2)网络数据的抓取与保存;(3)正常数据样本以及变异数据样本的构造;(4)正常数据样本的特征点的提取;(5)安全规则的生成。本发明能自动化地提取工业控制网络的安全规则,解决目前严重依赖专家知识制定安全规则的问题,可有效弥补现有工业入侵检测方法的短板,降低工业入侵检测系统的漏报率,提高检测的准确性、高效性和通用性,可以实现不同生产领域的入侵检测。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-21

    授权

    授权

  • 2018-08-03

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20171229

    实质审查的生效

  • 2018-07-10

    公开

    公开

说明书

技术领域

本发明涉及工业控制系统信息安全领域,具体涉及一种入侵检测系统安全规则的自动生成方法。

背景技术

随着工业4.0时代的到来以及中国制造2025的提出,原本相对封闭的工业控制网络逐渐暴露在互联网中。无论是2017年发生的勒索病毒事件还是近几年发生的黑暗能量、震网病毒等事件都对工业控制系统造成了巨大影响,对工业控制系统进行必要的安全防护显得尤为迫切。

目前,一些关系到国家利益的重要基础设施和企业如电力、石化、城市供水、烟草以及市政等行业已经在其生产和控制网络采取部分安全措施。例如,在生产大区和办公网络区之间布置硬件隔离装置,阻断不同分区之间网络流量的传输。但是这种方式一方面不能阻断摆渡攻击以及PLC蠕虫等攻击方式,另一方面,过于封闭的控制网络给日常生产和智能制造的发展也带来了一定的阻碍。再如,在控制网络的关键节点上部署工业防火墙或者在工控主机上安装病毒查杀软件,这也在一定程度对工业控制网络进行了防护,但是防护效果也及其有限。首先,多数工业防火墙和病毒查杀软件都是由应用在传统IT网络的产品发展而来,虽然它们对主流工业协议进行了兼容性的升级,但是,不一定能兼容某些私有协议。而且,不同领域工业系统的网络拓扑结构和现场设备都不同,限制了这些产品的使用效果。其次,由于攻击手段的千变万化以及产品自身的更新换代,需要对安全产品进行频繁升级和更新。但是,更新过程中带来的短暂停产以及严格的管理制度都会使得安全产品在事实上处于长期未更新状态,达不到应有的防护效果。综上,工业控制系统需要一款既能达到良好防护水平,又在运行维护需求方面不大的安全产品。

工业入侵检测系统可以实时监控工业系统的控制网络,对可疑行为发出警报、阻断和记录等。现有工业入侵检测系统的安全规则生成方式主要依赖专家知识和各漏洞共享平台公布的设备、系统等漏洞特征,前者对实施者的先验知识和技术水平要求很高,后者不能发现新型攻击和变种攻击方式,降低了入侵检测系统的防护水平。所以,工业入侵检测领域急需一种能通过学习网络数据包特点,自动生成安全规则的方法。

发明内容

本发明的目的是提供一种可弥补现有工业入侵检测方法的短板,降低工业入侵检测系统的漏报率,提高检测的准确性、高效性和通用性,可以实现不同生产领域的入侵检测的入侵检测系统安全规则的自动生成方法。

上述目的是通过如下技术方案实现:一种入侵检测系统安全规则的自动生成方法,包括如下步骤:

(1)检测点的部署:结合工业控制系统网络拓扑,分析造成所述工业控制系统脆弱性的关键节点,并将所述入侵检测系统的检测点部署于所述的关键节点;

(2)网络数据的抓取与保存:利用步骤(1)中部署的检测点对所述关键节点的网络流量进行抓取并进行保存;

(3)正常数据样本以及变异数据样本的构造:将步骤(2)中保存的数据包进行解析处理,并进行协议分析和数据格式的转换,构造正常数据样本;利用测试工具对预定的通信协议的数据进行变异,构造变异数据样本;

(4)正常数据样本的特征点的提取:利用栈式稀疏自编码器对步骤(3)中的数据样本以及变异数据进行深度学习,提取出正常数据样本的特征点;

(5)安全规则的生成:将步骤(4)中提取的正常数据样本的特征点转换为所述入侵检测系统可以识别的安全规则文件,并将所述的安全规则写入规则库中。

作为优选,进一步的技术方案是:所述步骤(3)中数据样本的构造过程中先构建筛选器,将步骤(2)中保存的数据包依据通信协议类型通过筛选器进行分类筛选,留下与检测相关的数据包。

作为优选,进一步的技术方案是:所述步骤(3)中将筛选后的数据包进行包解析,选取数据包结构中易遭受攻击和影响系统安全的特征点,以所述的特征点为键,每个键设置相对应的值构建翻译矩阵,利用所述的翻译矩阵将各数据包转换为相对应的正常数据样本。

作为优选,进一步的技术方案是:所述步骤(4)的具体步骤如下:

(4.1)训练第一层稀疏自编码器以及其对应一阶特征的输出:先将网络参数进行初始化,再将步骤(3)中的正常数据样本和变异数据样本组合并构成数据样本集{x},从数据样本集{x}中选取部分数据作为第一层训练数据x(1),以第一层训练数据x(1)作为第一层稀疏自编码器的输入,以最小化损失函数为目标,利用优化算法迭代运算训练得到第一层稀疏自编码器最佳网络参数θ(1),然后将所述数据样本集{x}作为已训练好的第一层稀疏自编码器的输入,得到并输出其对应的一阶特征h(1)(x);

(4.2)训练第二至N层稀疏自编码器以及其分别对应的二至N阶特征的输出:从一阶特征h(1)(x)中选取部分数据作为第二层训练数据x(2),以第二层训练数据x(2)作为第二层稀疏自编码器的输入,以最小化损失函数为目标,利用优化算法迭代运算训练得到第二层稀疏自编码器最佳网络参数θ(2),然后将第一层稀疏自编码器的输出的一阶特征h(1)(x)作为已训练好的第二层稀疏自编码器的输入,得到并输出其对应的二阶特征h(2)(x);以此类推,从(N-1)阶特征h(N-1)(x)中选取部分数据作为第N层训练数据x(N),以第N层训练数据x(N)作为第N层稀疏自编码器的输入,以最小化损失函数为目标,利用优化算法迭代运算训练得到第N层稀疏自编码器最佳网络参数θ(N),然后将第(N-1)层稀疏自编码器的输出的(N-1)阶特征h(N-1)(x)作为已训练好的第N层稀疏自编码器的输入,得到并输出其对应的N阶特征h(N)(x);

(4.3)将第N层的稀疏自编码器输出h(N)(x)作为softmax分类器的输入,通过训练得到一个能将输入数据特征映射到数字标签的模型;

(4.4)微调稀疏自编码器、softmax分类器的系统模型:构造标签数据,将标签数据作为稀疏自编码器的输入,利用反向传播算法,对稀疏自编码器、softmax分类器系统模型内的参数进行有监督地微调,得到具有N个隐含层和一个softmax分类层的数据学习和分类模型,利用上述数据学习和分类模型对正常数据样本进行学习分类,提取出正常数据样本的特征点。

作为优选,进一步的技术方案是:所述步骤(5)的具体步骤如下:

(5.1)利用步骤(3)中构建的翻译矩阵,将步骤(4)提取的正常数据样本特征反翻译为数据包结构表示形式;

(5.2)根据预定的入侵检测系统的规则解析语法,构建预处理器或利用入侵检测系统自带的预处理器,将步骤(5.1)得到的数据包输入所述预处理器,生成标准结构的安全规则文件,并将所述规则文件导入到所述入侵检测系统的规则库中。

作为优选,进一步的技术方案是:所述步骤(4)中,所述栈式稀疏自编码器训练过程中,选择sigmoid函数作为隐含层神经元的激活函数,其中,隐含层的输出为:式中,在解码时,选择线性激活函数,增加稀疏自编码器的鲁棒性,重构层的输出为:式中W表示权重矩阵,b表示偏置项,n表示输入层节点数,下标1和2分别表示输入层与隐含层、隐含层与重构层之间的数学关系。

作为优选,进一步的技术方案是:所述步骤(4)中,对于输入向量X,稀疏自编码器的损失函数如下:

式中,为第一层稀疏自编码器的损失函数,其第一项为输入数据与重构数据的方差,第二项为权重衰减项,第三项为惩罚项;λ和β分别为权重衰减项和稀疏惩罚项的系数;为隐含层神经元j在的平均激活度,为近似保持稀疏性约束在损失函数中引入了Kullback-Leibler相对熵,其中ρ为稀疏性参数。

作为优选,进一步的技术方案是:所述步骤(4)中,以最小化损失函数为目的,训练第一层稀疏自编码器网络,得到最优网络参数

作为优选,进一步的技术方案是:所述步骤(3)中用于构造变异数据样本的预定的通信协议为所述入侵检测系统的通信控制协议。

作为优选,进一步的技术方案是:所述步骤(3)中正常数据样本的构造过程中,先选取预定通信协议的特征点,所述特征点包括数据包长度、源IP地址、目的IP地址、源端口号、目的端口号、数据包序列号、应答号、报文长度、功能码、线圈以及寄存器地址中的一种或多种,然后依据选取的特征点将步骤(2)中保存的数据包进行数据格式的转换,生成原始样本数据,再将样本数据进行储存。

本发明对工控网络进行脆弱性分析,得到网络的安全脆弱节点,然后抓取各脆弱节点的数据包,利用基于栈式稀疏自编码器的深度学习技术提取特定网络环境下数据包的特征,最后将数据包特征通过预处理器处理成工业入侵检测系统能识别的规则文件;本发明能自动化地提取工业控制网络的安全规则,解决目前严重依赖专家知识制定安全规则的问题,可有效弥补现有工业入侵检测方法的短板,降低工业入侵检测系统的漏报率,提高检测的准确性、高效性和通用性,可以实现不同生产领域的入侵检测。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明一种实施方式下的入侵检测系统安全规则的自动生成方法的工作流程图;

图2为本发明一种实施方式下所涉及的栈式稀疏自编码器的深度学习的流程示意图。

具体实施方式

下面结合附图对本发明进行详细描述,本部分的描述仅是示范性和解释性,不应对本发明的保护范围有任何的限制作用。此外,本领域技术人员根据本文件的描述,可以对本文件中实施例中以及不同实施例中的特征进行相应组合。

本发明实施例如下,参照图1和图2,一种入侵检测系统安全规则的自动生成方法,包括如下步骤:

(1)检测点的部署:结合工业控制系统网络拓扑,分析造成所述工业控制系统脆弱性的关键节点,并将所述入侵检测系统的检测点部署于所述的关键节点;

(2)网络数据的抓取与保存:利用步骤(1)中部署的检测点对所述关键节点的网络流量进行抓取并进行保存;

步骤(1)和步骤(2)的具体实践过程可为:依据IEC62443、Achilles认证等工业控制系统信息安全评估规范,对待测工业控制网络进行脆弱性分析。在若干脆弱节点部署网络数据包抓取工具,对流经节点的网络包进行抓取并将原始数据保存至数据库中。

(3)正常数据样本以及变异数据样本的构造:将步骤(2)中保存的数据包进行解析处理,并进行协议分析和数据格式的转换,构造正常数据样本;利用测试工具对预定的通信协议的数据进行变异,构造变异数据样本;

具体实践过程可为:首先结合网络脆弱性评估结果和专家知识,构建筛选器,将保存的数据包依据通信协议类型进行分类筛选,仅留下与检测相关的数据包。并设置好特定通信协议的特征点,如Modbus协议可以设置数据包长度、源IP地址和目的IP地址、源端口号和目的端口号、数据包序列号、应答号、报文长度、功能码、线圈或寄存器地址等。然后依据设置好的协议特征点将数据包进行数据格式的转换,生成原始样本数据,最后将样本数据进行储存。其中,所述步骤(3)中将筛选后的数据包进行包解析的具体过程为:选取数据包结构中易遭受攻击和影响系统安全的特征点,以所述的特征点为键,每个键设置相对应的值构建翻译矩阵,利用所述的翻译矩阵将各数据包转换为相对应的正常数据样本。

变异数据样本的构造过程中,用于构造变异数据样本的预定的通信协议为所述入侵检测系统的通信控制协议,如Peach测试框架通信协议,此时,在具体的实践过程中利用包括但不限于Peach测试框架等对特定通信协议数据进行变异,构造变异数据样本集。

(4)正常数据样本的特征点的提取:利用栈式稀疏自编码器对步骤(3)中的数据样本以及变异数据进行深度学习,提取出正常数据样本的特征点;具体步骤如下:

(4.1)训练第一层稀疏自编码器以及其对应一阶特征的输出:先将网络参数进行初始化,再将步骤(3)中的正常数据样本和变异数据样本组合并构成数据样本集{x},从数据样本集{x}中选取部分数据作为第一层训练数据x(1),以第一层训练数据x(1)作为第一层稀疏自编码器的输入,以最小化损失函数为目标,利用优化算法迭代运算训练得到第一层稀疏自编码器最佳网络参数θ(1),然后将所述数据样本集{x}作为已训练好的第一层稀疏自编码器的输入,得到并输出其对应的一阶特征h(1)(x);

(4.2)训练第二至N层稀疏自编码器以及其分别对应的二至N阶特征的输出:从一阶特征h(1)(x)中选取部分数据作为第二层训练数据x(2),以第二层训练数据x(2)作为第二层稀疏自编码器的输入,以最小化损失函数为目标,利用优化算法迭代运算训练得到第二层稀疏自编码器最佳网络参数θ(2),然后将第一层稀疏自编码器的输出的一阶特征h(1)(x)作为已训练好的第二层稀疏自编码器的输入,得到并输出其对应的二阶特征h(2)(x);以此类推,从(N-1)阶特征h(N-1)(x)中选取部分数据作为第N层训练数据x(N),以第N层训练数据x(N)作为第N层稀疏自编码器的输入,以最小化损失函数为目标,利用优化算法迭代运算训练得到第N层稀疏自编码器最佳网络参数θ(N),然后将第(N-1)层稀疏自编码器的输出的(N-1)阶特征h(N-1)(x)作为已训练好的第N层稀疏自编码器的输入,得到并输出其对应的N阶特征h(N)(x);

(4.3)将第N层的稀疏自编码器输出h(N)(x)作为softmax分类器的输入,通过训练得到一个能将输入数据特征映射到数字标签的模型;

(4.4)微调稀疏自编码器、softmax分类器的系统模型:构造标签数据,将标签数据作为稀疏自编码器的输入,利用反向传播算法,对稀疏自编码器、softmax分类器系统模型内的参数进行有监督地微调,得到具有N个隐含层和一个softmax分类层的数据学习和分类模型,利用上述数据学习和分类模型对正常数据样本进行学习分类,提取出正常数据样本的特征点。

(5)安全规则的生成:将步骤(4)中提取的正常数据样本的特征点转换为所述入侵检测系统可以识别的安全规则文件,并将所述的安全规则写入规则库中,具体步骤如下:

(5.1)利用步骤(3)中构建的翻译矩阵,将步骤(4)提取的正常数据样本特征反翻译为数据包结构表示形式;

(5.2)根据预定的入侵检测系统的规则解析语法,构建预处理器或利用入侵检测系统自带的预处理器,将步骤(5.1)得到的数据包输入所述预处理器,生成标准结构的安全规则文件,并将所述规则文件导入到所述入侵检测系统的规则库中。

如snort等入侵检测系统自带Preprocessors等预处理机制的,可以针对协议特点进行预处理器的改进,将步骤(4)得到的数据包特征作为预处理器的输入,经过处理,输出入侵检测系统可以识别的规则文件。

在上述实施例的基础上,本发明另一实施例中,所述步骤(4)中,所述栈式稀疏自编码器训练过程中,选择sigmoid函数作为隐含层神经元的激活函数,其中,隐含层的输出为:式中,在解码时,选择线性激活函数,增加稀疏自编码器的鲁棒性,重构层的输出为:式中W表示权重矩阵,b表示偏置项,n表示输入层节点数,下标1和2分别表示输入层与隐含层、隐含层与重构层之间的数学关系。

在上述实施例的基础上,本发明另一实施例中,所述步骤(4)中,对于输入向量X,稀疏自编码器的损失函数如下:

式中,为第一层稀疏自编码器的损失函数,其第一项为输入数据与重构数据的方差,第二项为权重衰减项,第三项为惩罚项;λ和β分别为权重衰减项和稀疏惩罚项的系数;为隐含层神经元j在的平均激活度,为近似保持稀疏性约束在损失函数中引入了Kullback-Leibler相对熵,其中ρ为稀疏性参数。

在上述实施例的基础上,本发明另一实施例中,所述步骤(4)中,以最小化损失函数为目的,训练第一层稀疏自编码器网络,得到最优网络参数

本发明对工控网络进行脆弱性分析,得到网络的安全脆弱节点,然后抓取各脆弱节点的数据包,利用基于栈式稀疏自编码器的深度学习技术提取特定网络环境下数据包的特征,最后将数据包特征通过预处理器处理成工业入侵检测系统能识别的规则文件;本发明能自动化地提取工业控制网络的安全规则,解决目前严重依赖专家知识制定安全规则的问题,可有效弥补现有工业入侵检测方法的短板,降低工业入侵检测系统的漏报率,提高检测的准确性、高效性和通用性,可以实现不同生产领域的入侵检测。

于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号