适用电力SCADA系统的反爬虫系统、装置及部署方法与流程

文档序号:23993433发布日期:2021-02-20 14:32阅读:136来源:国知局
适用电力SCADA系统的反爬虫系统、装置及部署方法与流程
适用电力scada系统的反爬虫系统、装置及部署方法
技术领域
[0001]
本发明属于网络安全技术领域,具体涉及适用电力scada系统的反爬虫系统、装置及部署方法。


背景技术:

[0002]
电力scada(supervisory control and data acquisition)系统,即数据采集与监视控制系统,是以计算机为基础的自动化监控系统,是火电厂、水电站、风电场、光伏电站负责对现场的运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节以及各类信号报警等各项功能的信息化系统。
[0003]
网络爬虫是从信息系统中的一个或若干初始化网页开始,逐步访问信息系统中各个网页,并将网页中所需要的数据抓取下来保存的程序。
[0004]
随着网络爬虫技术的普及,越来越多的电厂员工、运维人员开始自行编写爬虫程序,从电力scada系统中大量爬取需要的机组状态、发电量、报警信息、电压电流等数据,给系统服务器造成了极大的负载,对系统的安全、稳定运行带来了严重的影响,不利于电力生产安全,因此,需要及时发现爬虫行为,然后进行处置。
[0005]
现有的反爬虫系统,主要通过对爬虫程序发出的服务器数据请求包中header头的特定字段,如ua(user-agent,用户代理)、host(来源主机ip)、cookie、referer(引用ip)等进行识别,判断当前的访问不是由人员正常发起,而是由自动化程序发起,但由于header头很容易被伪造,因此,程序可以通过构造伪造的字段信息,绕过检测行为。为此,现有的增强性的反爬虫技术,会将请求间隔时间、并发数量等作为识别参数,进一步提高反爬虫的能力,但仍存在爬虫程序可以通过降低爬取速率、提高爬取间隔时间、减少并发数量等方式进行绕过,使反爬虫功能失效。且现有的爬虫系统往往需要部署在应用服务器上,会改变服务器的运行配置、状态,同时需要部署人员具备专业知识,不利于反爬虫技术的推广使用。


技术实现要素:

[0006]
本发明针对以上不足,提出了适用电力scada系统的反爬虫系统、装置及部署方法,从“人和自动化程序在操作上存在区别”的角度出发,通过对电力scada系统正常用户操作行为建立画像模型,然后基于正常行为画像模型对访问电力scada系统的数据流量进行行为画像,将人的操作行为和爬虫程序机器操作的行为产生的流量有效的区分开,从而对爬虫行为进行有效的处理;同时,提出了一种装置直接封装了所述反爬虫系统,部署简单、方便,无需用户具备专业知识,不会对现有服务器的运行配置、状态造成任何影响,同时也不影响正常用户访问电力scada系统。
[0007]
为了达到上述目的,本发明是通过以下技术方案来实现的:
[0008]
一种适用于电力scada系统的反爬虫系统,包括数据采集模块1、反爬虫安全管理模块2、行为画像分类配置表3、行为画像生成模型4、正常行为画像库5、实时流量行为画像临时库6、行为相似度匹配模块7、决策模块8、日志模块9和数据输出模块10;其中:
[0009]
所述数据采集模块1与反爬虫安全管理模块2连接,数据采集模块1负责采集所有访问电力scada系统的数据流量,并将数据流量传给反爬虫安全管理模块2;
[0010]
所述反爬虫安全管理模块2与行为画像分类配置表3、行为画像生成模型4连接、决策模块8和日志模块9连接,反爬虫安全管理模块2负责对行为画像分类配置表3进行配置,负责将接收到的数据流量送往行为画像生成模型4,负责接收决策模块8发送过来的反爬虫处理结果,将处理过程记录为日志,存入日志模块9;
[0011]
所述行为画像分类配置表3包含行为画像的参数,用于对电力scada系统正常业务行为进行分类,并作为行为画像生成模型4的输入文件;
[0012]
所述行为画像生成模型4与行为画像分类配置表3、正常行为画像库5和实时流量画像临时库6连接,行为画像生成模型4根据画像分类配置表3的参数信息,采用kmeans算法,对反爬虫安全管理模块2发送过来的数据流量进行正常业务行为画像和实时流量临时画像,并分别存入正常行为画像库5和实时流量画像临时库6中;
[0013]
所述正常行为画像库5用于存储电力scada系统的正常业务行为画像;
[0014]
所述实时流量画像临时库6用于存储当前实时流量的行为画像;
[0015]
所述行为相似度匹配模块7与正常行为画像库5、实时流量画像临时库6和决策模块8连接,用于计算实时流量画像临时库6发送过来的实时流量的行为画像和正常行为画像库5发送过来的正常业务行为画像的相似度,并给出实时画像最终的匹配结果,然后送入决策模块8;
[0016]
所述决策模块8与反爬虫安全管理模块2和数据输出模块10连接,负责根据行为相似度匹配模块7发送的匹配结果,按照不同的决策规则对实时流量进行反爬虫处理,并将处置情况发送给反爬虫安全管理模块2,其中,如果决策结果是将流量放行,则还会将实时流量转发给数据输出模块10;
[0017]
所述数据输出模块10用于将流量输出到其他设备。
[0018]
画像分类配置表3包含行为画像参数,所述行为画像参数包括:电力scada系统被正常操作时产生的请求方式、请求间隔、数据包生成速率、数据包格式、请求时间分布、上下文请求逻辑关系、差错等待时间、数据包连续流量总和。
[0019]
对电力scada系统正常业务行为进行分类,所述的正常业务行为分类分为:查询业务、指令下发业务、应急处置业务、维护业务和空闲业务;其中,每一种业务分类由行为画像参数的不同组合进行定义。
[0020]
行为画像生成模型4对流量进行画像,所述行为画像生成模型采用kmeans算法构建模型,具体方法包括:
[0021]
确定行为画像的参数个数k;
[0022]
选定k个d维向量作为初始画像中心;
[0023]
对每一个数据流量样本计算与初始画像中心的距离,选择最近的距离作为该样本的画像;
[0024]
在同一画像内部,重新计算画像中心即几何重心,不断迭代,直到连续10次计算值不再发生变化,得出最终的画像值。
[0025]
行为相似度匹配模块(7)计算实时流量的行为画像和正常业务行为画像的相似度,具体计算方法包括:
[0026]
输入实时流量行为画像值v1;
[0027]
然后实时流量行为画像值v1与正常行为画像库中的画像值z1、z2、z3、z4、z5分别进行减法运算,得到r1、r2、r3、r4、r5,然后取其中绝对值最小的rm,即rm=min{|r1|,|r2|,|r3|,|r4|,|r5|};
[0028]
然后计算rm是否在对应的正常行为画像值的
±
5%以内,如果是,直接将rm作为相似度值进行输出,如果不是,则判断为爬虫行为,将输出值设为-1。
[0029]
决策模块(8)按照不同的决策规则对实时流量进行反爬虫处理,其特征在于,所述的决策规则至少包括如下方式中的一种:
[0030]
将流量视为正常流量,进行流量放行;
[0031]
将访问流量视为爬虫流量,进行流量丢弃;
[0032]
对访问流量视为爬虫流量,进行速率限制;
[0033]
将访问流量视为无法判明的流量,记录到日志,进行流量放行。
[0034]
一种适用于电力scada系统的反爬虫装置,包括依次连接的接收单元11、处理单元12和发送单元13;其中:
[0035]
所述接受单元11包括权利要求1所述的数据采集模块1;
[0036]
所述处理单元12包括权利要求1所述的反爬虫安全管理模块2、行为画像分类配置表3、行为画像生成模型4、正常行为画像库5、实时流量行为画像临时库6、行为相似度匹配模块7、决策模块8和日志模块9;处理单元12用于对数据采集模块1发送的数据进行行为画像、反爬虫处理,最后根据处理情况,将流量进行丢弃或转发给发送单元13;
[0037]
所述发送单元13包括权利要求1所述的数据输出模块10。
[0038]
一种适用于电力scada系统的反爬虫装置部署方法,包括串联部署和旁路部署;所述串联部署,所有访问电力scada系统的流量都需要经过反爬虫装置,反爬虫装置对数据进行处理后,才能决定是否将流量转发到电力scada系统,保证了爬虫流量不会影响电力scada系统的正常运行;所述旁路部署,所有访问电力scada系统的流量不受影响的发送到电力scada系统,反爬虫装置只通过交换机的镜像端口获取全部流量,然后对流量进行处理后,只记录爬虫行为,提供报警、日志记录功能,供维护人员、管理人员查阅,并不影响爬虫程序继续爬取电力scada系统数据。
[0039]
因此,应用本发明后,能有利于提高电力行业反爬虫技术的推广应用,降低电力scada系统服务器的运行压力,进一步提高电力生产安全,并且正常用户的访问也不会受到影响。
附图说明
[0040]
图1是本发明反爬虫系统的系统架构图。
[0041]
图2是本发明反爬虫装置的结构示意图。
[0042]
图3是本发明反爬虫装置的串联部署图。
[0043]
图4是本发明反爬虫装置的旁路部署图。
具体实施方式
[0044]
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对
本发明所述方案做进一步地详细说明。
[0045]
实施例
[0046]
图1为反爬虫系统的系统架构图,所述系统适用在火电厂、水电站、风电场、光伏电厂的电力scada系统中使用。
[0047]
如图1所示,所述适用于电力scada系统的反爬虫系统包括数据采集模块1、反爬虫安全管理模块2、行为画像分类配置表3、行为画像生成模型4、正常行为画像库5、实时流量行为画像临时库6、行为相似度匹配模块7、决策模块8、日志模块9和数据输出模块10。其中:
[0048]
所述数据采集模块1负责采集所有访问电力scada系统的数据流量,并将数据流量传给反爬虫安全管理块2。
[0049]
所述反爬虫安全管理模块2负责提供用户可填写的配置页面,用于对行为画像分类配置表3进行配置,负责将接收到的数据流量送往行为画像生成模型4,负责接收决策模块8发送过来的反爬虫处理情况,将处理过程记录为日志,存入日志模块9;
[0050]
所述行为画像分类配置表3包含行为画像的参数,由用户在反爬虫安全管理模块2提供的配置页面上进行配置,用于对电力scada系统正常业务行为进行分类,并作为行为画像生成模型4的输入文件,该配置表一次配置,永久生效,用户可根据电力scada系统正常操作时的业务行为变化,对配置表进行更新、调整。配置表支持至少数据请求方式、请求间隔、数据包生成速率、数据包格式、请求时间分布、上下文请求逻辑关系、差错等待时间、数据包连续流量总和8个方面的参数进行配置,用于提供用户更加灵活、更加全面的行为画像能力。
[0051]
所述行为画像生成模型4根据画像分类配置表3的参数信息,采用kmeans算法,对反爬虫安全管理模块2发送过来的数据流量进行正常业务行为画像和实时流量临时画像,生成画像值,分别存入正常行为画像库5和实时流量画像临时库6中;所述的生成模型采用kmeans算法构建模型,具体方法包括:
[0052]
确定行为画像的参数个数k;
[0053]
选定k个d维向量作为初始画像中心;
[0054]
对每一个数据流量样本计算与初始画像中心的距离,选择最近的距离作为该样本的画像;
[0055]
在同一画像内部,重新计算画像中心(几何重心),不断迭代,直到收敛(收敛的准则是连续10次计算值不再发生变化),得出最终的画像值。
[0056]
所述正常行为画像库5用于存储电力scada系统的正常业务行为画像值;
[0057]
所述实时流量画像临时库6用于存储当前实时流量的行为画像值;
[0058]
所述行为相似度匹配模块7用于计算实时流量画像临时库6发送过来的实时流量的行为画像和正常行为画像库5发送过来的正常业务行为画像的相似度,并给出实时画像最终的匹配结果,然后送入决策模块8。所述的相似度具体计算方法包括:
[0059]
输入实时流量行为画像值v1;
[0060]
然后实时流量行为画像值v1与正常行为画像库中的画像值z1、z2、z3、z4、z5分别进行减法运算,得到r1、r2、r3、r4、r5,然后取其中绝对值最小的rm,即rm=min{|r1|,|r2|,|r3|,|r4|,|r5|};
[0061]
然后计算rm是否在对应的正常行为画像值的
±
5%以内,如果是,直接将rm作为相
似度值进行输出,如果不是,则判断为爬虫行为,将输出值设为-1。
[0062]
所述决策模块8负责根据行为相似度匹配模块7发送的匹配结果,按照不同的决策规则对实时流量进行反爬虫处理,并将处置情况发送给反爬虫安全管理模块2,其中,如果决策结果是将流量放行,则还会将实时流量转发给数据输出模块10;所述的决策规则至少包括如下方式中的一种:
[0063]
将流量视为正常流量,进行流量放行;
[0064]
将访问流量视为爬虫流量,进行流量丢弃;
[0065]
对访问流量视为爬虫流量,进行速率限制;
[0066]
将访问流量视为无法判明的流量,记录到日志,进行流量放行;
[0067]
所述数据输出模块10用于将流量输出到其他设备。
[0068]
基于以上实施例,本发明实施例提供一种装置,该装置用于实现实施例中相应的流程或者步骤。参阅图2所示,该装置包括接收单元11、处理单元12、发送单元13。其中:
[0069]
所述接受单元11包括数据采集模块1,用于采集访问电力scada系统的流量数据;
[0070]
所述处理单元12包括反爬虫安全管理模块2、行为画像分类配置表3、行为画像生成模型4、正常行为画像库5、实时流量行为画像临时库6、行为相似度匹配模块7、决策模块8和日志模块9,用于对数据采集模块1发送的数据进行行为画像、反爬虫处理,最后根据处理情况,将流量进行丢弃或转发给发送单元13;
[0071]
所述发送单元14包括数据输出模块10,用于与电力scada系统进行连接,把流量发送给电力scada系统。
[0072]
基于以上实施例,本发明实施例提供一种适用于电力scada系统的反爬虫装置部署方法,包括串联部署和旁路部署;
[0073]
所述串联部署,如图3所示,反爬虫装置15的接受单元11连接到企业的intranet网络的任一交换机14上,发送单元13连接到电力scada系统16,所有访问电力scada系统16的流量都需要经过反爬虫装置15,反爬虫装置15对数据进行处理后,才能决定是否将流量转发到电力scada系统16,保证了爬虫流量不会影响电力scada系统16的正常运行;
[0074]
所述旁路部署,如图4所示,反爬虫装置15的接受单元11和发送单元13都连接到企业的intranet网络的任一交换机14的同一端口上,所有访问电力scada系统16的流量可以不受影响的发送到电力scada系统16,反爬虫装置15只通过交换机的镜像端口获取全部流量,然后对流量进行处理后,只记录爬虫行为,提供报警、日志记录功能,供维护人员、管理人员查阅,并不影响爬虫程序继续爬取电力scada系统数据。
[0075]
综上,本发明的有益效果在于:
[0076]
一、本发明专门针对火电厂、水电站、风电场、光伏电站的电力scada系统的运行特点,从“人和自动化程序在操作上存在区别”的角度出发,通过对电力scada系统正常用户操作行为建立画像模型,然后基于正常行为画像模型对访问电力scada系统的数据流量进行行为画像,将人的操作行为和爬虫程序机器操作的行为产生的流量有效的区分开,从而对爬虫行为进行有效的处理。避免了现有的反爬虫系统容易被绕过,导致反爬虫功能失效的问题。
[0077]
二、本发明提出了一种装置直接封装了所述反爬虫系统,部署简单、方便,无需用户具备专业知识,不会对现有服务器的运行配置、状态造成任何影响,也不影响正常用户访
问电力scada系统,同时,两种部署方法,允许用户在不改变现有网络结构的情况下使用反爬虫功能,降低了用户的部署难度和成本,有利于反爬虫技术的推广运用。
[0078]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1