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

上传人:v**** 文档编号:5300751 上传时间:2019-01-02 格式:PDF 页数:7 大小:365.60KB
返回 下载 相关 举报
摘要
申请专利号:

CN201710056656.9

申请日:

2017.01.25

公开号:

CN106773719A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G05B 13/04申请日:20170125|||公开

IPC分类号:

G05B13/04

主分类号:

G05B13/04

申请人:

上海云剑信息技术有限公司

发明人:

王勇; 刘蔚; 贺文婷

地址:

200433 上海市杨浦区营口路866弄1号楼202室

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

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

权利要求书

1.一种基于BP神经网络的工业控制系统漏洞自动挖掘方法,其特征在于包括工业控制
系统数据采集模块,神经元设计模块,神经网络结构设计模块,算法实现模块。
2.根据权利要求1所述的工业控制系统数据采集模块,其特征在于采集了工业控制系
统的状态和控制数据,进行归一化处理,状态数据作为输入,控制命令作为输出。
3.根据权利要求1所述的神经元设计模块,其特征在于输入多个工业控制系统的状态
数据作为输入向量,设定多个对应的连接权值;归一化后的工业控制系统数据和权重的乘
积之和与阀值比较;若该值大于设定的阀值,则生成神经元的输出值,通过传递函数,产生
输出;若该值小于或等于阀值,则不产生神经元的输出值。
4.根据权利要求1所述的神经网络结构设计模块,其特征在于其包括把工业控制系统
的状态和控制分别作为输入层和输出层;在输入层里面有归一化处理后的状态数据,这些
数据形成输入向量,经过传递函数形成隐含层的输出,然后再经过输出层转换成输出,数据
正向传递的时候,数据经过输入层到隐含层,然后到输出层;若输出结果与控制命令数据期
望差距较大,误差信号反向传播作为BP神经网络的输入,通过迭代,促进误差降低,逼近期
望值。
5.根据权利要求1所述算法实现模块的,其特征在于采集了工业控制系统的状态数据
作为输入,控制命令作为输出,经过归一化处理,按照误差逆传播算法训练的多层前馈神经
网络,训练形成了状态与控制数据之间的关系,确定神经网络的阈值和权重;然后利用训练
后的BP神经网络结构,去识别判断实时工业控制系统当前状态与控制命令之间有不符合BP
神经网络的数据,若存在,就可以判断该时刻这组状态和控制数据存在的疑似的工业控制
系统漏洞。
6.该方法不需要过滤数据包,不影响工业控制系统的实时运行,具有非常强实用价值,
包含以下步骤:
步骤(1):工业控制系统原始数据采集,采集工业控制系统的传感器数据包括温度、压
力、湿度、转速、开关状态信息把其作为输入向量,把控制命令作为输出向量;
步骤(2):数据的归一化处理,由于采集的数据类型不一样,数据的表达范围也有很大
差异,不能直接用于BP神经网络的输入向量,需要对数据进行归一化处理,定义转换方式,
转换成被BP神经网络所接受的输入数据;
步骤(3):输入工业控制系统训练样本:从数据中选取输入向量和输出向量作为训练样
本,对设计的BP神经网络进行训练,生成必要的权重和阀值;
步骤(4):计算隐含层单元输出:根据隐含层到输出层的连接权值、输出层的和隐含层
的输出计算误差函数对隐含层各神经元的;
步骤(5):计算输出单元输出:根据计算公式计算输出单元值;
步骤(6):结果比较:输出值与目标值的之差是否小于设定误差;
步骤(7):若步骤(6)判定条件为真,则输出结果;
步骤(8):判断条件:输出值与目标值的之差不大于设定误差并且循环次数大于设定值
步骤(9):若步骤(8)判定条件为真,则输出可疑漏洞
步骤(10)若步骤(8)判定条件为假,调整神经玩两个的权值和阀值,转向步骤(3)。

说明书

一种基于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(Back Propagation)
神经网络这种按误差逆传播算法训练的多层前馈网络多用于模式识别,在工业控制系统漏
洞挖掘领域还很少出现。由于工业控制系统的实时性运行,无法在线挖掘工业控制系统漏
洞,没有办法去分析数据之间的关系,还存在自动学习能力不足的特点,为了解决当前问
题,我们公布了一种基于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神经网络进行训练,生成必要的权重和阀值;

步骤(4):计算隐含层单元输出:根据隐含层到输出层的连接权值、阈值进行计算,逐步
确定隐含层的权值和阈值;

步骤(5):计算输出单元输出:根据BP神经网络的传递函数和阈值、全职计算输出值;

步骤(6):结果比较:输出值与目标值的之差是否小于设定误差;

步骤(7):若步骤(6)判定条件为真,则输出结果;

步骤(8):判定条件:输出值与目标值之差不大于设定误差并且循环次数大于设定值

步骤(9):若步骤(8)判定条件为真,则输出可疑漏洞

步骤(10)若步骤(8)判定条件为假,调整神经元的权值和阀值,转向步骤(3)。

一种基于BP神经网络的工业控制系统漏洞自动挖掘方法.pdf_第1页
第1页 / 共7页
一种基于BP神经网络的工业控制系统漏洞自动挖掘方法.pdf_第2页
第2页 / 共7页
一种基于BP神经网络的工业控制系统漏洞自动挖掘方法.pdf_第3页
第3页 / 共7页
点击查看更多>>
资源描述

《一种基于BP神经网络的工业控制系统漏洞自动挖掘方法.pdf》由会员分享,可在线阅读,更多相关《一种基于BP神经网络的工业控制系统漏洞自动挖掘方法.pdf(7页珍藏版)》请在专利查询网上搜索。

本发明公布了一种基于BP的工业控制系统漏洞自动挖掘方法,该方法包括工业控制系统数据采集模块,神经元设计模块,神经网络结构设计模块,算法实现模块;其核心算法是采集了工业控制系统的状态数据作为输入,控制命令作为输出,经过归一化处理,按照误差逆传播算法训练的多层前馈神经网络,训练形成了状态与控制数据之间的关系,确定神经网络的阈值和权重;然后利用训练后的BP神经网络结构,去识别判断实时工业控制系统当前状态。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 控制;调节


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1