一种基于协议深度分析的工控安全监测系统研究与应用的制作方法

文档序号:17488555发布日期:2019-04-23 20:12阅读:112来源:国知局
一种基于协议深度分析的工控安全监测系统研究与应用的制作方法

本发明涉及工业控制系统安全监测技术领域,具体涉及一种基于协议深度分析的工控安全监测系统研究与应用。



背景技术:

近年来,随着工业以太网的逐步推广与应用,工业控制系统产品越来越多地采用通用协议、通用硬件和通用软件,以各种方式与互联网等公共网络间接连接,传统it信息网中的安全威胁已逐步渗透到生产控制网络中。为了提升电力行业的安全防护能力,加强电力监控系统安全防护,2014年国家发改委发布了14号令《电力监控系统安全防护规定》,2015年国家能源局发布《关于印发电力监控系统安全防护总体方案等安全防护方案和评估规范的通知》(国能安全〔2015〕36号),简称36号文,进一步明确了安全管理责任,完善了电力监控系统安全防护方案,切实落实安全防护措施,积极开展电力监控系统和信息系统安全评估和安全等级保护测评,并按照文件要求及时完成现场评估和测评。

现代信息技术与现代控制技术的深度结合,在为控制技术带来新的创新机会、为企业带来新的商业模式的同时,也将信息网络中的信息安全问题一起带入了现代工业控制系统中。从2010年众所周知的“震网病毒”事件,2011年“duqu病毒”,2012年的“火焰病毒”和2015年的乌克兰电网遭遇攻击停电事件,再到今天互联网上随处可见的黑客攻击工具,处处展现的是工控系统遭受攻击的“战况”,充分显示了工业控制系统信息安全问题的现实迫切性。因此,以美国为代表的“工业互联网”、以德国为代表的“工业4.0”,都将信息安全作为重中之重。在工业控制智能化推进过程中,信息安全保障工作却进展缓慢,体现在如下几个方面:

信息安全空白:借助信息化手段提高生产效率的同时,并没有考虑信息安全防护措施,有些工业控制系统甚至与互联网保持“亲密接触”。

信息安全浅表化:部分企业为了满足生产联动,将原来相互独立的工业控制系统互联,或者将生产控制网接入到企业管理网;为了满足信息安全需求,虽然增加了信息安全防护设备,但使用的却是信息系统常用的防火墙。

信息安全僵化:个别企业认识到工业控制系统信息安全的重要性,在工业控制系统改造过程中,主动增加了安全防护措施,例如工业防火墙、工控网络监控系统,但由于工业控制系统对高可靠运行生产的要求,作为使用方,在信息安全运维过程中,相应的信息安全策略并没有随着外界攻击技术的发展而调整,导致在实际运行过程中,信息安全问题依然时有发生。

攻击工具层出不穷:两化融合中,信息安全保障不到位,但是针对工业控制系统的攻击技术却呈现出日新月异的发展趋势,针对工业控制系统的攻击工具,被黑客制作并散布在互联网上,使得攻击成本越来越低。

攻击范围迅速扩大:早期针对部署在关键基础设施的工业控制系统进行攻击,需要较强的攻击能力;但随着工业控制系统信息安全问题公众化后,许多黑客开始利用互联网上轻易得到的攻击工具,瞄准很多基本不具备信息安全防护能力的行业或企业进行攻击,虽然没有严重的恶性事件,却造成严重经济损失。



技术实现要素:

为此,本发明提供了一种基于协议深度分析的工控安全监测系统,通过采用私有工控控制协议的逆向分析技术,可信运维管理技术,以满足电力工控网络环境下的业务处理、入侵检测的需要。

为达到上述目的,本发明采用如下技术方案:

一种基于协议深度分析的工控安全监测系统,包括前端监测展示模块组、中端通信模块和后端处理模块组,所述前端监测展示模块组用于对工控系统进行直接控制操作,监测整个系统的网络通信流量;所述后端处理模块组用于对运维监测操作指令进行接收、解析和控制;所述中端通信模块用于所述前端监测展示模块组与后端处理模块组之间的通信连接;运行时,所述前端监测展示模块组发起报文同步数据,并通过所述中端通信模块与所述后端处理模块组进行连接并通过所述后端处理模块组接收并解析报文信息,根据结果进行日志记录,并关闭同服务的连接,通知前端监测展示模块组协议通信结果。

所述前端监测展示模块组与后端处理模块组之间可通过工业交换机进行网络连接。

所述前端监测展示模块组是基于java语言开发的b/s系统,用户可通过web访问的方式访问。

所述前端监测展示模块组包括:

显示层:基于jsp/html配合jquery实现页面效果展示;

控制层:使用springmvc框架,同时配合使用shiro作为权限控制组件;

服务层:为系统在所述前端监测展示模块组中提供业务操作逻辑的主要服务,在技术选型上使用spring作为容器管理框架,使用log4j进行日志管理和输出,并且提供报表、安全、权限等基础服务和操作接口;

缓存层:缓存框架选择使用ehcache,是一种广泛使用的开源java分布式缓存。

数据层:数据持久化引擎,在技术选择上使用mybatis。

所述后端处理模块组包括:

常规协议:为用户提供了基于telnet、ssh、rdp及remoteapp协议的运维功能,并根据管理要求实现系统的运维操作权限控制;

工控协议:modbus、opc、siemenss7、iec104、profinet以及dnp3等协议的规则维护及下发,并针对各类协议进行白名单、控制规则的维护以及下发操作。

所述工控协议还包括告警处理模块,用于处理规则下发后的执行结果反馈以及触发规则后的告警信息。

所述中端通信模块的业务服务端采用java开发,在通信技术上选择tcp/ip的协议。

以上所述基于协议深度分析的工控安全监测系统在工控网络环境下安全监测的应用。

本发明技术方案,具有如下有益效果:

a、本发明基于协议深度分析的工控安全监测系统,具备灵活的适应性和良好的扩展性,是为加强工业网络环境下工控系统安全管控的力度,通过电力专用协议深度解析、电力专用业务行为管控、特定攻击防御等功能,实时发现并阻断电力工控系统中存在的恶意指令攻击、关键非授权操作、木马病毒传播、厂商运维人员违规运维等安全风险,满足当前企业对网络内容分析与监测类设备的迫切需求,保障企业生产业务应用在工控网络环境下的可控、能控、在控,对电力工控系统形成有效的安全。

b、本发明基于协议深度分析的工控安全监测系统,可以直接应用到石油、水利、烟草等高度工业化行业中,同时可以衍生出工业防火墙、工业可信网关等产品。在工控系统的plc、dcs、工业交换机、hmi、操作员站、工程师站、以及历史数据库、实时数据库等设备的现场维护中,将能够帮助用户防止恶意代码通过运维扩散到工控系统、防止泄露生产工艺配方数据、防止违规操作不当造成生产事故,提高监测的粒度,加强风险识别和预警的能力,促进工控安全管理制度的有效落实,提升安全管理绩效。

附图说明

为了更清楚地说明本发明具体实施方式,下面将对具体实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明工控安全监测系统原理图;

图2为本发明中端通信模块流程图;

图3为本发明中工控协议控制规则的下发过程图;

图4为本发明中告警处理模块处理流程图。

附图标记说明:

1-前端监测展示模块组,11-显示层,12-控制层,13-服务层,14-缓存层,15-数据层;2-中端通信模块;3-后端处理模块组,31-常规协议,32-工控协议。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明提供了一种基于协议深度分析的工控安全监测系统,包括前端监测展示模块组1、中端通信模块2和后端处理模块组3,前端监测展示模块组1用于对工控系统进行直接控制操作,监测整个系统的网络通信流量;后端处理模块组3用于对运维监测操作指令进行接收、解析和控制;中端通信模块2用于前端监测展示模块组1与后端处理模块组3之间的通信连接;运行时,前端监测展示模块组1发起报文同步数据,并通过中端通信模块2与后端处理模块组3进行连接并通过后端处理模块组3接收并解析报文信息,根据结果进行日志记录,并关闭同服务的连接,通知前端监测展示模块组1协议通信结果。

前端监测展示模块组1与后端处理模块组3之间可通过工业交换机进行网络连接。

前端监测展示模块组1是基于java语言开发的b/s系统,用户可通过web访问的方式访问。前端监测展示模块组1主要包括显示层11,控制层12,服务层13,缓存层14,以及数据层15等几部分。

(1)显示层11:显示层11主要是基于jsp/html配合jquery实现页面效果展示。其中jquery包括了丰富的控件和特效,预置了多种风格供用户选择,避免了千篇一律。还可以通过jqueryui的可视化界面,自助对前台的显示效果进行配置,非常方便,能够有效提升可视化效果。

(2)控制层12:控制层12主要使用springmvc框架,同时配合使用shiro作为权限控制组件。

shiro是一个强大且易用的java安全框架,执行身份验证、授权、密码学和会话管理。使用shiro作为过滤器还能够有效控制越权访问;同时配合有效的过滤控制可以防止xss跨站攻击,以及sql注入。

(3)服务层13:控制层13是整体系统在前端展现中提供业务操作逻辑的主要服务,在技术选型上使用spring作为容器管理框架,使用log4j进行日志管理和输出,并且提供报表、安全、权限等基础服务和操作接口。

(4)缓存层14:缓存层14的框架选择使用ehcache。ehcache是一种广泛使用的开源java分布式缓存。主要面向通用缓存,javaee和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持rest和soapapi等特点。

(5)数据层15:数据层15主要是指数据持久化引擎,在技术选择上使用mybatis。mybatis主要完成两件事情:1.根据jdbc规范建立与数据库的连接;2.通过annotaion/xml+java反射技术,实现java对象与关系数据库之间相互转化。其优点:高效、支持动态、复杂的sql构建,支持与spring整合和aop事务、结果集做了轻量级mapper封装、支持缓存。

在系统中端通信模块2上:业务服务端采用java开发,在通信技术上选择tcp/ip的协议,通信流程如图2所示,系统在中端通信时会先在后端处理模块3先启动tcp服务,并等待接收通信请求。在前端监测展现模块组1,当系统符合发起数据同步的要求后会先创建tcp客户端同服务进行第一次连接。在创建连接之后会根据报文协议要求生成对应报文格式,并记录发送日志,同时向服务器发送报文内容。当服务端接收到报文信息后会进行报文信息解析以及格式校验等处理,当解析失败或者格式出现问题后通知客户端异常信息,否则通知客户端请求处理成功。当客户端接收到服务端反馈结果后根据成功/失败的结果进行日志记录,并关闭同服务的连接,通知前端监测展现模块组1协议通信结果。

后端处理模块组3从处理的协议类型上主要可分为两大类:常规协议31和工控协议32。

常规协议31部分为用户提供了基于telnet、ssh、rdp及remoteapp协议的运维功能,系统针对运维的过程及行为还提供了相应的审计功能。其设计原理是,可以通过一个操作控制系统实现对运维操作的接收与转发,在接收与转发的同时,实现对运维操作指令的审计与控制,并根据管理要求实现系统的运维操作权限控制。

工控协议32主要涉及modbus、opc、siemenss7、iec104、profinet以及dnp3等协议的规则维护及下发。主要功能是针对各类协议进行白名单、控制规则的维护以及下发操作。因为各种工控协议的规则及接口相对独立,所以在设计时各处理模块也是相互独立的。在处理上相互平行、互不影响。这就使得后续的协议扩展变得很方便,每当需要新增一个协议的处理模块时,只需要新增一个模块并对配置信息做些调整即可。

白名单或控制规则的下发过程如图3所示,后端处理模块组3首先会等待前端监测展现模块组1发送触发条件,一旦收到消息则会对现有的最新控制规则或白名单信息进行检索。并将最终的查询结果按照相应的接口规范组装报文,报文发送完成,整个下发过程结束。

该部分还有一个重要的模块那就是告警处理模块,该模块主要处理的是规则下发后的执行结果反馈以及触发规则后的告警信息。处理流程如图4所示,当下发的规则触发时会有相应的告警消息产生,该模块主要负责接受、解析、归类并存储告警信息。以便前端展现展示或其他后续处理(如短信或邮件通知等)。

本发明基于协议深度分析的工控安全监测系统,具备灵活的适应性和良好的扩展性,是为加强工业网络环境下工控系统安全管控的力度,通过电力专用协议深度解析、电力专用业务行为管控、特定攻击防御等功能,实时发现并阻断电力工控系统中存在的恶意指令攻击、关键非授权操作、木马病毒传播、厂商运维人员违规运维等安全风险,满足当前企业对网络内容分析与监测类设备的迫切需求,保障企业生产业务应用在工控网络环境下的可控、能控、在控,对电力工控系统形成有效的安全。

另外,本发明还可以直接应用到石油、水利、烟草等高度工业化行业中,同时可以衍生出工业防火墙、工业可信网关等产品。在工控系统的plc、dcs、工业交换机、hmi、操作员站、工程师站、以及历史数据库、实时数据库等设备的现场维护中,将能够帮助用户防止恶意代码通过运维扩散到工控系统、防止泄露生产工艺配方数据、防止违规操作不当造成生产事故,提高监测和审计的粒度,加强风险识别和预警的能力,促进工控安全管理制度的有效落实,提升安全管理绩效。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1