[发明专利]一种基于BP神经网络的工业控制系统漏洞自动挖掘方法在审
申请号: | 201710056656.9 | 申请日: | 2017-01-25 |
公开(公告)号: | CN106773719A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 王勇;刘蔚;贺文婷 | 申请(专利权)人: | 上海云剑信息技术有限公司 |
主分类号: | G05B13/04 | 分类号: | G05B13/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200433 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 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)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海云剑信息技术有限公司,未经上海云剑信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710056656.9/2.html,转载请声明来源钻瓜专利网。