基于规约深度解析的电网工控安全协同监测方法及装置
技术领域
本发明涉及信息安全领域,具体涉及一种基于规约深度解析的电网工控安全协同监测方法及装置。
背景技术
近年来,电网工控系统正遭受越来越严重的安全威胁,且攻击行为日渐频繁和系统化。与传统的互联网攻击手段相比,针对电网工控系统的攻击手段普遍为APT(AdvancedPersistent Threat)攻击,攻击者利用工控自身软硬件漏洞和运维调试时管控不健全等问题,通过隐蔽通道或加密通道,利用未知木马程序发动攻击,威胁电网安全稳定运行。
为了构建全面、主动的电网工控安全防护体系,入侵检测技术越来越得到研究学者和技术人员的重视,然而目前绝大多数入侵检测系统都是基于通用的计算机网络设计的,虽然能够较准确的识别大多数通用的数据传输协议,发现传输异常,但是还没有一种针对电力工控专有通信协议、电力专用设备、适用于电力系统专有业务逻辑的安全监测方法。如果将现有的入侵检测方法直接应用于电网工控系统的安全监测当中,存在两个问题。
第一,基于通用计算机网络设计的传统入侵检测技术只针对网络层进行检测,难以发现应用层攻击事件,然而电网工控系统应用层协议众多,同时各类应用层协议层出不穷,将现有的入侵检测方法直接应用于电网工控系统的安全监测当中,其防护强度最多只能达到某个系统安全级别,并不能提供全面的安全防护。
第二,绝大多数入侵检测系统的检测机制还停留在:基本的数据包捕获加以非智能模式匹配与特征搜索技术来探测攻击。目前国内电力行业的自动化系统中规约种类繁多,各体系里又衍生出大量规约变种。由于不同体系间通信规约定义的数据项差异很大,即使是同一体系中不同规约变种所定义的数据项也存在着差异,在不同时期内对同一种通信规约的实现也有所不同,面对众多千差万别的数据项,单独为每种规约编写解析代码工作量巨大、系统的后期维护相当困难。因此简单的特征模式匹配技术存在着两个最根本的缺陷:匹配算法计算量大、特征匹配误报率较高。
发明内容
鉴于上述的分析,本发明提出了一种基于规约深度解析的电网工控安全协同监测方法及装置,用以解决现有入侵检测技术难以发现应用层攻击事件、现有入侵检测机制的特征匹配算法计算量大以及误配率高的问题。
本发明的目的主要是通过以下技术方案实现的:
本发明提供一种基于规约深度解析的电网工控安全协同监测方法,包括:采集电网工控系统中的多个数据包;建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库;对所述多个数据包进行规约解析,生成规约异常事件;对所述规约异常事件进行聚合,生成聚合告警分组;根据所述策略库及聚合告警分组生成安全威胁评估结果。
可选地,上述基于规约深度解析的电网工控安全协同监测方法中,建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库,包括:S21:根据识别电网工控系统的安全威胁的策略建立原始策略库,所述原始策略库中包含针对已知攻击的规则和针对未知攻击的脚本;S22:以所述多个数据包为训练数据集进行机器学习,根据训练结果对所述原始策略库进行修改,生成修改后的策略库;S23:以所述原始策略库对修改后的策略库进行一致性检验;S24:将通过一致性检验的修改后的策略库作为新的策略库,将所述新的策略库替换所述原始策略库,重复执行步骤S22-S24,对所述原始策略库进行更新,生成更新后的策略库。
可选地,上述基于规约深度解析的电网工控安全协同监测方法中,对所述多个数据包进行规约解析,生成规约异常事件,包括:对所述多个数据包进行网络层规约解析,当有异常时生成网络层异常事件;当所述网络层规约解析没有异常时,对所述多个数据包进行传输层规约解析,当有异常时生成传输层异常事件;当所述传输层规约解析没有异常时,对所述多个数据包进行应用层规约解析,当有异常时生成应用层异常事件;对所述网络层异常事件、传输层异常事件和应用层异常事件进行整合,生成规约异常事件。
可选地,上述基于规约深度解析的电网工控安全协同监测方法,对所述多个数据包进行规约解析,生成规约异常事件中,对所述多个数据包进行应用层规约解析,当有异常时生成应用层异常事件,包括:提取数据包的应用层字段;根据数据包的应用层字段识别数据包的操作类型和操作频度;检测数据包中是否包含工控特种攻击,得到数据包的检测结果;根据数据包的操作类型和操作频度,以及数据包的检测结果,判断是否存在异常;当存在异常时,生成应用层异常事件。
可选地,上述基于规约深度解析的电网工控安全协同监测方法中,根据所述策略库及聚合告警分组生成安全威胁评估结果,包括:根据关联规则确定所述聚合告警分组的安全威胁类型,建立安全威胁评估;根据所述更新后的策略库对所述安全威胁评估进行校正,生成所述安全威胁评估结果。
可选地,上述基于规约深度解析的电网工控安全协同监测方法中,还包括:对生成的安全威胁评估结果进行综合审计,生成安全威胁报告。
本发明还提供一种基于规约深度解析的电网工控安全协同监测装置,包括:数据包采集模块,用于采集电网工控系统中的多个数据包;策略库生成模块,用于建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库;规约解析模块,用于对所述多个数据包进行规约解析,生成规约异常事件;聚合告警模块,用于对所述规约异常事件进行聚合,生成聚合告警分组;安全威胁评估结果生成模块,用于根据所述策略库及聚合告警分组生成安全威胁评估结果。
可选地,上述基于规约深度解析的电网工控安全协同监测装置中,策略库生成模块执行下列步骤:S21:根据识别电网工控系统的安全威胁的策略建立原始策略库,所述原始策略库中包含针对已知攻击的规则和针对未知攻击的脚本;S22:以所述多个数据包为训练数据集进行机器学习,根据训练结果对所述原始策略库进行修改,生成修改后的策略库;S23:以所述原始策略库对修改后的策略库进行一致性检验;S24:将通过一致性检验的修改后的策略库作为新的策略库,将所述新的策略库替换所述原始策略库,重复执行步骤S22-S24,对所述原始策略库进行更新,生成更新后的策略库。
可选地,上述基于规约深度解析的电网工控安全协同监测装置,规约解析模块包括:网络层规约解析模块,用于对所述多个数据包进行网络层规约解析,当有异常时生成网络层异常事件;传输层规约解析模块,用于当所述网络层规约解析没有异常时,对所述多个数据包进行传输层规约解析,当有异常时生成传输层异常事件;应用层规约解析模块,用于当所述传输层规约解析没有异常时,对所述多个数据包进行应用层规约解析,当有异常时生成应用层异常事件;规约异常事件生成模块,用于对所述网络层异常事件、传输层异常事件和应用层异常事件进行整合,生成规约异常事件。
可选地,上述基于规约深度解析的电网工控安全协同监测装置,应用层规约解析模块,包括:应用层字段提取模块,用于提取数据包的应用层字段;数据包识别模块,用于根据数据包的应用层字段识别数据包的操作类型和操作频度;数据包检测模块,用于检测数据包中是否包含工控特种攻击,得到数据包的检测结果;异常判断模块,用于根据数据包的操作类型和操作频度,以及数据包的检测结果,判断是否存在异常;应用层异常事件生成模块,用于当存在异常时,生成应用层异常事件。
可选地,上述基于规约深度解析的电网工控安全协同监测装置,安全威胁评估结果生成模块包括:安全威胁评估建立模块,用于根据关联规则确定所述聚合告警分组的安全威胁类型,建立安全威胁评估;安全威胁评估校正模块,用于根据所述更新后的策略库对所述安全威胁评估进行校正,生成所述安全威胁评估结果。
可选地,上述基于规约深度解析的电网工控安全协同监测装置,还包括安全威胁管理模块,用于对生成的安全威胁评估结果进行综合审计,生成安全威胁报告。
本发明还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述基于规约深度解析的电网工控安全协同监测方法的任意一项。
本发明提供的上述技术方案,与现有技术相比,至少具有如下优点:
本发明提供的基于规约深度解析的电网工控安全协同监测方法及装置,采集电网工控系统中的多个数据包;建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库;对上述多个数据包进行规约解析,生成规约异常事件;对上述规约异常事件进行聚合,生成聚合告警分组;根据上述策略库及聚合告警分组生成安全威胁评估结果。与传统的入侵检测机制采用简单的特征模式匹配技术,匹配算法计算量大、特征匹配误报率较高,以及传统的入侵检测技术难以发现应用层攻击,不能实现全面的安全防护相比,本发明提出的上述基于规约深度解析的电网工控安全协同监测方法及装置实现了安全威胁的有效识别、定位和评估,以及全面的安全防护,提高了电网工控系统的安全监测精度,加强了安全监测的可扩展性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于规约深度解析的电网工控安全协同监测方法的一个具体示例的流程图;
图2为本发明实施例中建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库的方法的一个具体示例的流程图;
图3为本发明实施例中对多个数据包进行规约解析并生成规约异常事件的方法的一个具体示例的流程图;
图4为本发明实施例中对多个数据包进行应用层规约解析以及当有异常时生成应用层异常事件的方法的一个具体示例的流程图;
图5为本发明实施例中根据策略库及聚合告警分组生成安全威胁评估结果的方法的一个具体示例的流程图;
图6为本发明实施例中基于规约深度解析的电网工控安全协同监测方法的一个具体示例的流程图;
图7为本发明实施例中基于规约深度解析的电网工控安全协同监测装置的一个具体示例的原理框图;
图8为本发明实施例中基于规约深度解析的电网工控安全协同监测装置的一个具体示例的原理框图;
图9为本发明实施例中应用层规约解析模块的一个具体示例的原理框图;
图10为本发明实施例中电子设备的一个具体示例的原理框图;
图11为本发明实施例中电子设备的一个具体示例的原理框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例提供一种基于规约深度解析的电网工控安全协同监测方法,该方法流程图如图1所示,包括:
S1:采集电网工控系统中的多个数据包。
作为一种可选的实施方式,将电网工控系统分为若干个监测域,采集每个监测域在各个时间段的数据包,全面有效地获取监测域内的数据。上述数据包内包含了电网工控系统监测区域的所有上下行流量、设备状态、配置信息以及服务器日志等信息。
作为一种可选的实施方式,上述步骤S1还包括对采集的多个数据包进行预处理,将上述多个数据包整合为半结构化数据元组。
S2:建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库,该策略库既能识别大部分已知攻击,也能识别未知的特种攻击。
上述步骤S2的方法流程图如图2所示,该方法包括以下步骤:
S21:根据识别电网工控系统的安全威胁的策略建立原始策略库,所述原始策略库中包含针对已知攻击的规则和针对未知攻击的脚本。
具体地,上述规则定义了已知攻击行为特征或入侵的模式;上述脚本定义了电网工控系统中的参数设置、设备控制等特权敏感操作的序列以及操作频度,用于检测判断电网工控系统中的异常行为模式,识别未知的攻击行为。
S22:以所述多个数据包为训练数据集进行机器学习,根据训练结果对所述原始策略库进行修改,生成修改后的策略库。
具体地,以对采集的多个数据包进行预处理后得到的半结构化数组为训练数据集,采用BP神经网络和增量式GHSOM算法对上述训练数据集进行机器学习;
进一步地,BP神经网络和增量式GHSOM算法采用串行条件结构进行调用,以BP神经网络作为基分类器进行快速建模,用于对已知安全威胁进行快速分类;当遇到无法准确分类的数据集时,调用增量式GHSOM算法,该算法具备较强的适应性,适用于进一步检测未知的特种攻击。
S23:以所述原始策略库对修改后的策略库进行一致性检验。
上述一致性检验便于不同的数据集训练结果对策略库中的策略进行增加、删除、修改以及添加等操作,避免导致策略的冗余、闭环以及矛盾。
S24:将通过一致性检验的修改后的策略库作为新的策略库,将所述新的策略库替换所述原始策略库,重复执行步骤S22-S24,对所述原始策略库进行更新,生成更新后的策略库。
S3:对所述多个数据包进行规约解析,生成规约异常事件。
上述步骤S3的方法流程图如图3所示,该方法包括以下步骤:
S31:对所述多个数据包进行网络层规约解析,当有异常时生成网络层异常事件。
S32:当所述网络层规约解析没有异常时,对所述多个数据包进行传输层规约解析,当有异常时生成传输层异常事件。
S33:当所述传输层规约解析没有异常时,对所述多个数据包进行应用层规约解析,当有异常时生成应用层异常事件。
S34:对所述网络层异常事件、传输层异常事件和应用层异常事件进行整合,生成规约异常事件。
在一个具体的实施例中,上述规约异常事件用W表示如下:
W=<w_ID,sour_IP,dest_IP,sour_P,dest_P,feature,time>
其中w_ID表示异常事件唯一标识符,sour_IP表示数据包源地址,dest_IP表示数据包目的地址,sour_P表示源端口,dest_P表示目的端口,feature表示异常特征,time表示产生的时间戳。
可选地,上述步骤S33的方法流程图如图4所示,进一步包括以下步骤:
S331:提取数据包的应用层字段。
S332:根据数据包的应用层字段识别数据包的操作类型和操作频度。
S333:检测数据包中是否包含工控特种攻击,得到数据包的检测结果。
S334:根据数据包的操作类型和操作频度,以及数据包的检测结果,判断是否存在异常。
S335:当存在异常时,生成应用层异常事件。
作为上述步骤S3的具体实施方式,首先读取数据包格式进行网络层规约解析,若有异常则返回异常事件,若没有则根据数据包头部信息确定规约类型进行规约分流。对分流后的数据包进行传输层规约解析,检测规约是否出现异常,若有异常则返回异常事件,若没有则确定规约类型进一步分流。此时的异常事件往往预示着不符合协议规范的数据包来自于一些常规的网络攻击,为后续的监测提供初步的判断依据。随后根据电网工控传输规约检测数据包是否存在传输规约异常,若有则返回异常事件,此异常事件预示数据包不符合现有的电网工控传输规约。若没有异常则对数据包载荷进行应用层规约解析,实现电网工控系统中的规约应用层的深度还原。对于电网工控传输规约种类繁多的情况,在传输规约分析实现部分采用插件技术,能够方便增加规约类型,增强规约解析的可扩展性。
作为一种可选的实施方式,如图6所示,在本方案步骤S3之前,还包括步骤S30:设置伯克利数据包过滤器对流经网卡的所有数据包进行过滤,过滤掉以非法地址或端口进行通信的数据包,得到有效的数据包进行缓存,并结合零拷贝技术,在网卡缓冲区和用户空间对缓存的数据包进行内存映射。
这是因为,数据包的快速捕获是准确解析规约的效率前提,传统网络数据包捕获需要在网卡缓冲区、内核空间、用户空间层层复制,在高速的网络环境下,大量消耗系统CPU时间,严重影响系统性能。本发明实施例通过设置伯克利数据包过滤器加载过滤规则,同时将网卡设置为洪泛模式获取并缓存有效的数据包,从而提高了数据包解析的性能;通过运用零拷贝技术,直接在网卡缓冲区和用户空间进行内存映射来处理网络数据包,减少了数据拷贝和共享总线操作的次数,消除了通信数据在存储器之间不必要的中间拷贝过程。
S4:对所述规约异常事件进行聚合,生成聚合告警分组。
可选地,上述聚合告警分组包括常规网络攻击、电网工控协议异常、违规业务以及工控特种攻击。
在一个具体的实施例中,聚合告警用hW表示如下:
hW=<ID,num,dest_IP,precond,postcond,TM>
其中ID表示聚合告警唯一标识符(继承自异常事件唯一标识符),num表示聚合告警次数统计,dest_IP直接继承自异常事件W当中,precond表示聚合告警前提,postcond表示攻击后果,TM表示聚合告警起始时间。
S5:根据所述策略库及聚合告警分组生成安全威胁评估结果。
作为一种可选的实施方式,如图5所示,上述步骤S5进一步包括:
S51:根据关联规则确定所述聚合告警分组的安全威胁类型,建立安全威胁评估;
S52:根据所述更新后的策略库对所述安全威胁评估进行校正,生成所述安全威胁评估结果。
在一个具体的实施例中,对于三个不同的聚合告警hW_A,hW_B和hW_C,当满足:
hW_A.dest_IP=hW_B.dest_IP=hW_C.dest_IP
hW_A.TM≤hW_B.TM≤hW_C.TM
hW_A.postcond=hW_B.precond
hW_B.postcond=hW_C.precond
则认为三次聚合告警形成因果关联;
当满足:
hW_A.dest_IP=hW_B.dest_IP=hW_C.dest_IP
hW_A.TM-hW_B.TM=hW_B.TM-hW_C.TM
则预示三次聚合告警之间有精准的时间间隔,那么认为存在针对同一目标的安全威胁。
在一个具体的实施例中,上述安全威胁评估用Att表示如下:
Att=<category,dest_IP,specif,TMs,>
其中category表示安全威胁分类,dest_IP直接继承自聚合告警,specif表示安全威胁的详细报告,TMs表示安全威胁的时间链。安全威胁的详细报告specif继承自聚合告警并得到进一步的汇总。时间链TMs记录了攻击过程中的重要时间节点。
在一个具体的实施例中,根据上述方案中更新后的策略库对上述安全威胁评估进行校正,如果经校正发现没有潜在安全威胁,则不输出任何信息,如果经校正发现存在潜在安全威胁,则输出校正后的安全威胁评估结果。
上述步骤S5的可选方案,不仅能够进一步准确监测出潜在的安全威胁,而且能够有效监测出分布式攻击、协同攻击等传统入侵监测系统无法正确识别的攻击行为。
可选地,如图6所示,上述基于规约深度解析的电网工控安全协同监测方法还包括步骤S6:对生成的安全威胁评估结果进行综合审计,生成安全威胁报告。
作为一种可选的实施方式,上述步骤S6包括:设定电网工控系统各监测域的重要度;为各个聚合告警分组设定基准威胁度,各类安全威胁的基准威胁度代表了安全威胁的危险程度,并以此作为衡量其他安全威胁的基准;以上述基准威胁度为基准,对收到的安全威胁评估结果进行综合审计并设定威胁度修正值;根据上述威胁度修正值计算当前安全威胁所针对目标的安全态势,生成安全威胁报告并输出。
本发明实施例提供的基于规约深度解析的电网工控安全协同监测方法,采集电网工控系统中的多个数据包;建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库;对上述多个数据包进行规约解析,生成规约异常事件;对上述规约异常事件进行聚合,生成聚合告警分组;根据上述策略库及聚合告警分组生成安全威胁评估结果。与传统的入侵检测机制采用简单的特征模式匹配技术,匹配算法计算量大、特征匹配误报率较高,以及传统的入侵检测技术难以发现应用层攻击,不能实现全面的安全防护相比,本发明提出的上述基于规约深度解析的电网工控安全协同监测方法实现了安全威胁的有效识别、定位和评估,以及全面的安全防护,提高了电网工控系统的安全监测精度,加强了安全监测的可扩展性。
本发明实施例还提供一种基于规约深度解析的电网工控安全协同监测装置,该装置的原理框图如图7所示,包括:
数据包采集模块1,用于采集电网工控系统中的多个数据包;
作为一种可选的实施方式,将电网工控系统分为若干个监测域,数据包采集模块1采集每个监测域在各个时间段的数据包,全面有效地获取监测域内的数据。上述数据包内包含了电网工控系统监测区域的所有上下行流量、设备状态、配置信息以及服务器日志等信息。
作为一种可选的实施方式,上述数据包采集模块1对采集的多个数据包进行预处理,将上述多个数据包整合为半结构化数据元组。
策略库生成模块2,用于建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库,该策略库既能识别大部分已知攻击,也能识别未知的特种攻击。
规约解析模块3,用于对所述多个数据包进行规约解析,生成规约异常事件。
聚合告警模块4,用于对所述规约异常事件进行聚合,生成聚合告警分组,该聚合告警分组包括常规网络攻击、电网工控协议异常、违规业务以及工控特种攻击。
在一个具体的实施例中,聚合告警用hW表示如下:
hW=<ID,num,dest_IP,precond,postcond,TM>
其中ID表示聚合告警唯一标识符,num表示聚合告警次数统计,dest_IP直接继承自异常事件w当中,precond表示聚合告警前提,postcond表示攻击后果,TM表示聚合告警起始时间。
安全威胁评估结果生成模块5,用于根据所述策略库及聚合告警分组生成安全威胁评估结果。
可选地,上述策略库生成模块2执行下列步骤:
S21:根据识别电网工控系统的安全威胁的策略建立原始策略库,所述原始策略库中包含针对已知攻击的规则和针对未知攻击的脚本。
具体地,上述规则定义了已知攻击行为特征或入侵的模式;上述脚本定义了电网工控系统中的参数设置、设备控制等特权敏感操作的序列以及操作频度,用于检测判断电网工控系统中的异常行为模式,识别未知的攻击行为。
S22:以所述多个数据包为训练数据集进行机器学习,根据训练结果对所述原始策略库进行修改,生成修改后的策略库。
具体地,以对采集的多个数据包进行预处理后得到的半结构化数组为训练数据集,采用BP神经网络和增量式GHSOM算法对上述训练数据集进行机器学习;
进一步地,BP神经网络和增量式GHSOM算法采用串行条件结构进行调用,以BP神经网络作为基分类器进行快速建模,用于对已知安全威胁进行快速分类;当遇到无法准确分类的数据集时,调用增量式GHSOM算法,该算法具备较强的适应性,适用于进一步检测未知的特种攻击。
S23:以所述原始策略库对修改后的策略库进行一致性检验。
上述一致性检验便于不同的数据集训练结果对策略库中的策略进行增加、删除、修改以及添加等操作,避免导致策略的冗余、闭环以及矛盾。
S24:将通过一致性检验的修改后的策略库作为新的策略库,将所述新的策略库替换所述原始策略库,重复执行步骤S22-S24,对所述原始策略库进行更新,生成更新后的策略库。
可选地,如图8所示,上述规约解析模块3包括:
网络层规约解析模块31,用于对所述多个数据包进行网络层规约解析,当有异常时生成网络层异常事件;
传输层规约解析模块32,用于当所述网络层规约解析没有异常时,对所述多个数据包进行传输层规约解析,当有异常时生成传输层异常事件;
应用层规约解析模块33,用于当所述传输层规约解析没有异常时,对所述多个数据包进行应用层规约解析,当有异常时生成应用层异常事件;
规约异常事件生成模块34,用于对所述网络层异常事件、传输层异常事件和应用层异常事件进行整合,生成规约异常事件。
进一步地,如图9所示,上述应用层规约解析模块33,包括:
应用层字段提取模块331,用于提取数据包的应用层字段;
数据包识别模块332,用于根据数据包的应用层字段识别数据包的操作类型和操作频度;
数据包检测模块333,用于检测数据包中是否包含工控特种攻击,得到数据包的检测结果;
异常判断模块334,用于根据数据包的操作类型和操作频度,以及数据包的检测结果,判断是否存在异常;
应用层异常事件生成模块335,用于当存在异常时,生成应用层异常事件。
作为一个具体的实施方式,上述规约解析模块3首先读取数据包格式进行网络层规约解析,若有异常则返回异常事件,若没有则根据数据包头部信息确定规约类型进行规约分流。对分流后的数据包进行传输层规约解析,检测规约是否出现异常,若有异常则返回异常事件,若没有则确定规约类型进一步分流。此时的异常事件往往预示着不符合协议规范的数据包来自于一些常规的网络攻击,为后续的监测提供初步的判断依据。随后根据电网工控传输规约检测数据包是否存在传输规约异常,若有则返回异常事件,此异常事件预示数据包不符合现有的电网工控传输规约。若没有异常则对数据包载荷进行应用层规约解析,实现电网工控系统中的规约应用层的深度还原。对于电网工控传输规约种类繁多的情况,在传输规约分析实现部分采用插件技术,能够方便增加规约类型,增强规约解析的可扩展性。
可选地,如图8所示,上述基于规约深度解析的电网工控安全协同监测装置还包括数据包过滤与拷贝模块30,用于对所述多个数据包进行规约解析,生成规约异常事件之前,设置伯克利数据包过滤器对流经网卡的所有数据包进行过滤,过滤掉以非法IP地址或端口进行通信的数据包,得到有效的数据包进行缓存,并结合零拷贝技术,在网卡缓冲区和用户空间对缓存的数据包进行内存映射。
这是因为,数据包的快速捕获是准确解析规约的效率前提,传统网络数据包捕获需要在网卡缓冲区、内核空间、用户空间层层复制,在高速的网络环境下,大量消耗系统CPU时间,严重影响系统性能。本发明实施例通过设置伯克利数据包过滤器加载过滤规则,同时将网卡设置为洪泛模式获取并缓存有效的数据包,从而提高了数据包解析的性能;通过运用零拷贝技术,直接在网卡缓冲区和用户空间进行内存映射来处理网络数据包,减少了数据拷贝和共享总线操作的次数,消除了通信数据在存储器之间不必要的中间拷贝过程。
可选地,如图8所示,上述安全威胁评估结果生成模块5包括:安全威胁评估建立模块51,用于根据关联规则确定所述聚合告警分组的安全威胁类型,建立安全威胁评估;安全威胁评估校正模块52,用于根据所述更新后的策略库对所述安全威胁评估进行校正,生成所述安全威胁评估结果。
在一个具体的实施例中,对于三个不同的聚合告警hW_A,hW_B和hW_C,当满足:
hW_A.dest_IP=hW_B.dest_IP=hW_C.dest_IP
hW_A.TM≤hW_B.TM≤hW_C.TM
hW_A.postcond=hW_B.precond
hW_B.postcond=hW_C.precond
则认为三次聚合告警形成因果关联;
当满足:
hW_A.dest_IP=hW_B.dest_IP=hW_C.dest_IP
hW_A.TM-hW_B.TM=hW_B.TM-hW_C.TM
则预示三次聚合告警之间有精准的时间间隔,那么认为存在针对同一目标的安全威胁。
在一个具体的实施例中,上述安全威胁评估用Att表示如下:
Att=<category,dest_IP,specif,TMs,>
其中category表示安全威胁分类,dest_IP直接继承自聚合告警,specif表示安全威胁的详细报告,TMs表示安全威胁的时间链。安全威胁的详细报告specif继承自聚合告警并得到进一步的汇总。时间链TMs记录了攻击过程中的重要时间节点。
在一个具体的实施例中,根据上述方案中更新后的策略库对上述安全威胁评估进行校正,如果经校正发现没有潜在安全威胁,则不输出任何信息,如果经校正发现存在潜在安全威胁,则输出校正后的安全威胁评估结果。
上述安全威胁评估结果生成模块5不仅能够进一步准确监测出潜在的安全威胁,而且能够有效监测出分布式攻击、协同攻击等传统入侵监测系统无法正确识别的攻击行为。
可选地,如图8所示,上述基于规约深度解析的电网工控安全协同监测装置还包括安全威胁管理模块6,用于对生成的安全威胁评估结果进行综合审计,生成安全威胁报告。
作为一种可选的实施方式,上述安全威胁管理模块6执行以下步骤:设定电网工控系统各监测域的重要度;为各个聚合告警分组设定基准威胁度,各类安全威胁的基准威胁度代表了安全威胁的危险程度,并以此作为衡量其他安全威胁的基准;以上述基准威胁度为基准,对收到的安全威胁评估结果进行综合审计并设定威胁度修正值;根据上述威胁度修正值计算当前安全威胁所针对目标的安全态势,生成安全威胁报告并输出。
本发明实施例提供的上述方案中,提供了一种基于规约深度解析的电网工控安全协同监测装置,用于采集电网工控系统中的多个数据包;建立由针对已知攻击的规则和针对未知攻击的脚本组成的策略库;对上述多个数据包进行规约解析,生成规约异常事件;对上述规约异常事件进行聚合,生成聚合告警分组;根据上述策略库及聚合告警分组生成安全威胁评估结果。与传统的入侵检测机制采用简单的特征模式匹配技术,匹配算法计算量大、特征匹配误报率较高,以及传统的入侵检测技术难以发现应用层攻击,不能实现全面的安全防护相比,本发明提出的上述基于规约深度解析的电网工控安全协同监测装置实现了安全威胁的有效识别、定位和评估,以及全面的安全防护,提高了电网工控系统的安全监测精度,加强了安全监测的可扩展性。
本发明实施例还提供一种电子设备7,如图10所示,包括一个或多个处理器71;以及与所述一个或多个处理器通信连接的存储器72;图中以一个处理器71为例。
其中,所述存储器72存储有可被所述一个处理器71执行的指令,所述指令被所述一个或多个处理器71执行,以使所述一个或多个处理器71执行上述基于规约深度解析的电网工控安全协同监测方法。
如图11所示,上述电子设备还可以包括:输入装置73和输出装置74。
处理器71、存储器72、输入装置73和输出装置74可以通过总线或者其他方式连接。
处理器71可以为中央处理器(Central Processing Unit,CPU)。处理器71还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器72作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的基于规约深度解析的电网工控安全协同监测方法对应的程序指令/模块。处理器71通过运行存储在存储器72中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理。
存储器72可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器72可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至基于规约深度解析的电网工控安全协同监测装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述输入装置73可接收输入的数字或字符信息,以及产生与基于规约深度解析的电网工控安全协同监测装置的用户设置以及功能控制有关的键信号输入。输出装置74可包括显示屏等显示设备。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。