一种基于BP神经网络的工业控制系统漏洞自动挖掘方法技术方案

技术编号:15545859 阅读:126 留言:0更新日期:2017-06-05 18:17
本发明专利技术公布了一种基于BP的工业控制系统漏洞自动挖掘方法,该方法包括工业控制系统数据采集模块,神经元设计模块,神经网络结构设计模块,算法实现模块;其核心算法是采集了工业控制系统的状态数据作为输入,控制命令作为输出,经过归一化处理,按照误差逆传播算法训练的多层前馈神经网络,训练形成了状态与控制数据之间的关系,确定神经网络的阈值和权重;然后利用训练后的BP神经网络结构,去识别判断实时工业控制系统当前状态与控制命令之间有不符合BP神经网络的数据,若存在,就可以判断该时刻这组状态和控制数据存在的疑似的工业控制系统漏洞。该方法不需要过滤数据包,不影响工业控制系统的实时运行,具有非常强实用价值。

An automatic mining method of industrial control system vulnerabilities based on BP neural network

The invention discloses an automatic mining method of industrial control system vulnerabilities based on BP, the method includes industrial control system data acquisition module, neuron design module, neural network structure design module, algorithm module; the core algorithm is the collection of state data of industrial control system as input control commands as output, after normalization processing, in accordance with the multilayer feedforward neural network back-propagation algorithm training, training the formation of the relationship between state and control data, determine the threshold and weight of neural network; and then use the BP neural network structure to practice after training, to identify non-compliance with the BP neural network data, real-time industrial control system and current status the control command if it exists, we can judge the industrial control system has the time suspected this group of state and control data Unified loophole. The method does not need to filter data packets, and does not affect the real-time operation of industrial control systems, and has very strong practical value.

【技术实现步骤摘要】
一种基于BP神经网络的工业控制系统漏洞自动挖掘方法
本专利技术涉及漏洞自动挖掘领域,尤其涉及一种基于BP神经网络的工业控制系统漏洞自动挖掘方法。
技术介绍
截止到2017年1月24日,国家新型安全漏洞共享平台公布的工业控制系统漏洞有979条,期中西门子漏洞占据40.86%,研华科技漏洞占据19.43%,施耐德占据15.43,罗克韦尔占据12%,其余的是从事虚拟化的Parallels漏洞占据了12.29%。这些漏洞中高危漏洞占据了48.18%,中危占45.97%,低危占5.85%。常见的工控系统漏洞有通讯传输协议漏洞、工控设备漏洞、工控软件漏洞、配置错误漏洞等。通讯传输协议漏洞主要是TCP/IP、RPC、UDP等协议的漏洞。工控软件漏洞主要由于工控软件缺少统一的安全防护规范,普遍存在安全设计缺陷,因此工控软件容易被攻击者攻击,取得设备的控制权,造成严重后果。当前的漏洞扫描技术主要是模糊测试技术,模糊测试是一个自动或半自动的过程,主要属于黑盒测试和灰盒测试领域。早期主要采用简单的随机测试技术到2002年首次把文件格式知识和协议知识融入到模糊测试技术之中,再到2007年一批开源和商业的模糊测试工具问世,随后更多新思想、新方法的模糊测试不断涌现,如一种基于模糊测试的全局方法、有关网络控制方面漏洞的测试模型、一种利用组合模型推理和进化的模糊方法都为漏洞挖掘技术提供了强有力的支撑。随着模糊测试的发展,其所运到的工具也愈发多样化,通用的模糊测试工具可以针对各种不同类型的目标进行测试,具有可重用性和使用范围广等优点,其中比较具有代表性的有Protos、SPIKE、Peach、Sulley、Dfuz和Bunny等。当前工业控制系统漏洞检测主要采用判定函数法、格蕴含推理法、漏洞规则匹配法、动态签名法、通信数据解析法、哈希校验法、漏洞特征匹配法、规则判定法、属性推理法等。综上所述,当前工业控制系统漏洞检测虽然采用了诸多方式,主要采用的是基于Fuzzy为基础的异常数据探查法,特征值匹配法、规则判断法几类,BP(BackPropagation)神经网络这种按误差逆传播算法训练的多层前馈网络多用于模式识别,在工业控制系统漏洞挖掘领域还很少出现。由于工业控制系统的实时性运行,无法在线挖掘工业控制系统漏洞,没有办法去分析数据之间的关系,还存在自动学习能力不足的特点,为了解决当前问题,我们公布了一种基于BP神经网络的工业控制系统漏洞自动挖掘方法。
技术实现思路
本专利技术公布了一种基于BP神经网络的工业控制系统漏洞自动挖掘方法,该方法包括工业控制系统数据采集模块,神经元设计模块,神经网络结构设计模块,算法实现模块。本专利技术的工业控制系统数据采集模块:主要是采集数据和数据的归一化处理。本专利技术的神经元设计模块:主要是把工业控制系统的状态信息作为输入向量,把控制信息作为输出向量。本专利技术的设计网络结构设计模块:主要是包含输入层、隐含层、和输出层;输入工业控制系统数据样本,使用反向传播方法对神经网络的权值和阈值调整训练,使输出的逼近目标向量。本专利技术的算法实现模块,是一种有监督式的学习算法,其主要思想是:,其具体步骤如下:步骤(1):工业控制系统原始数据采集,采集工业控制系统的传感器数据包括温度、压力、湿度、转速、开关状态信息,如阀门状态和控制命令等;步骤(2):数据的归一化处理,由于采集的数据类型不一样,数据的表达范围也有很大差异,不能直接用于BP神经网络的输入向量,需要对数据进行归一化处理,定义转换方式,转换成能被BP神经网络所接受的输入数据;步骤(3):输入工业控制系统训练样本:从数据中选取输入向量和输出向量作为训练样本,对设计的BP神经网络进行训练,生成必要的权重和阀值;步骤(4):计算隐含层单元输出:根据隐含层到输出层的连接权值、阈值进行计算,逐步确定隐含层的权值和阈值;步骤(5):计算输出单元输出:根据BP神经网络的传递函数和阈值、全职计算输出值;步骤(6):结果比较:输出值与目标值的之差是否小于设定误差;步骤(7):若步骤(6)判定条件为真,则输出结果;步骤(8):判定条件:输出值与目标值之差不大于设定误差并且循环次数大于设定值步骤(9):若步骤(8)判定条件为真,则输出可疑漏洞步骤(10)若步骤(8)判定条件为假,调整神经元的权值和阀值,转向步骤(3)。本专利技术方法采集了工业控制系统的状态数据作为输入,控制命令作为输出,通过训练形成了状态与控制数据之间的关系,根据神经网络训练结构图,找出状态与控制命令之间的关系,并以神经网络训练结果为依据,判断工业控制系统可能存在的疑似漏洞。该方法不需要过滤数据包,不影响工业控制系统的实时运行,具有非常强实用价值。附图说明:图1是本专利技术的系统结构图;图2是本专利技术的神经元结构图;图3是本专利技术的网络结构图;图4是本专利技术的算法流程图。图1是本专利技术的系统结构图:一种基于BP神经网络的工业控制系统漏洞自动挖掘方法,该方法包括工业控制系统数据采集模块,神经元设计模块,神经网络结构设计模块,算法实现模块。工业控制系统数据采集模块:包括原始数据采集和数据的归一化处理;工业控制系统原始数据采集,采集工业控制系统的传感器数据包括温度、压力、湿度、转速、开关状态信息,如阀门状态和控制命令等;数据的归一化处理:由于采集的数据类型不一样,数据的表达范围也有很大差异,不能直接用于BP神经网络的输入向量,需要对数据进行归一化处理,定义转换方式,转换成能被BP神经网络所接受的输入数据。图2是本专利技术的神经元结构图:通过输入m个工业控制系统数据,如温度、压力、湿度、转速等通信数据,设定若干对应的连接权值;归一化后的工业控制系统数据和权重的乘积之和与阀值比较;若该值大于设定的阀值,则生成神经元的输出值,通过传递函数,产生输出;若该值小于或等于阀值,则不产生神经元的输出值。图3是本专利技术的BP神经网络结构图,其包括输入层,隐含层和输出层;在输入层里面有归一化处理后的m个温度、压力、湿度、转速等,这些数据形成输入向量,隐含层中的节点个数为node个,形成node*m个的权值,经过传递函数形成隐含层的输出,然后再经过输出层转换成输出,数据正向传递的时候,数据经过输入层到隐含层,然后到输出层;若输出结果与期望差距较大,误差信号反向传播作为BP神经网络的输入,通过迭代,促进误差降低,逼近期望值;也存在隐含层节点数选择不恰当,导致循环次数结束时,误差还比较大,达不到理想期望值的情况。图4:是本专利技术的算法的流程图,BP神经网络算法工业控制系统漏洞自动挖掘算法,这是一种有监督式的学习算法,其主要思想是:输入工业控制系统数据样本,使用反向传播方法对神经网络的权值和偏差的调整训练,使输出的向量接近目标值,其具体步骤如下:步骤(1):工业控制系统原始数据采集,采集工业控制系统的传感器数据包括温度、压力、湿度、转速、开关状态信息,如阀门状态和控制命令等;步骤(2):数据的归一化处理,由于采集的数据类型不一样,数据的表达范围也有很大差异,不能直接用于BP神经网络的输入向量,需要对数据进行归一化处理,定义转换方式,转换成能被BP神经网络所接受的输入数据;步骤(3):输入工业控制系统训练样本:从数据中选取输入向量和输出向量作为训练样本,对设计的BP神经网络进行训练,生本文档来自技高网
...
一种基于BP神经网络的工业控制系统漏洞自动挖掘方法

【技术保护点】
一种基于BP神经网络的工业控制系统漏洞自动挖掘方法,其特征在于包括工业控制系统数据采集模块,神经元设计模块,神经网络结构设计模块,算法实现模块。

【技术特征摘要】
1.一种基于BP神经网络的工业控制系统漏洞自动挖掘方法,其特征在于包括工业控制系统数据采集模块,神经元设计模块,神经网络结构设计模块,算法实现模块。2.根据权利要求1所述的工业控制系统数据采集模块,其特征在于采集了工业控制系统的状态和控制数据,进行归一化处理,状态数据作为输入,控制命令作为输出。3.根据权利要求1所述的神经元设计模块,其特征在于输入多个工业控制系统的状态数据作为输入向量,设定多个对应的连接权值;归一化后的工业控制系统数据和权重的乘积之和与阀值比较;若该值大于设定的阀值,则生成神经元的输出值,通过传递函数,产生输出;若该值小于或等于阀值,则不产生神经元的输出值。4.根据权利要求1所述的神经网络结构设计模块,其特征在于其包括把工业控制系统的状态和控制分别作为输入层和输出层;在输入层里面有归一化处理后的状态数据,这些数据形成输入向量,经过传递函数形成隐含层的输出,然后再经过输出层转换成输出,数据正向传递的时候,数据经过输入层到隐含层,然后到输出层;若输出结果与控制命令数据期望差距较大,误差信号反向传播作为BP神经网络的输入,通过迭代,促进误差降低,逼近期望值。5.根据权利要求1所述算法实现模块的,其特征在于采集了工业控制系统的状态数据作为输入,控制命令作为输出,经过归一化处理,按照误差逆传播算法训练的多层前馈神经网络,训练形成了状态与控制数据之间的关系,确定神经网络的阈值和权重;然后利用训练后的BP...

【专利技术属性】
技术研发人员:王勇刘蔚贺文婷
申请(专利权)人:上海云剑信息技术有限公司
类型:发明
国别省市:上海,31

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

1