一种基于工业防火墙的序列攻击检测实现方法与流程

专利2022-06-30  60


本发明属于工控安全技术领域,尤其涉及一种基于工业防火墙的序列攻击检测实现方法。



背景技术:

目前,工业防火墙主要通过流量分析、特征库匹配、工控协议深度解析等安全防护技术来保障工业网络安全。申请号为201310453267.1的专利公开了一种防火墙自动防御分布式拒绝服务攻击的方法和装置,包括:对穿越和到达防火墙设备的数据流量进行流flow分析;根据flow分析的结果,若检测出符合某种分布式拒绝服务ddos攻击类型的攻击特征,符合该攻击特征的数据流量为ddos攻击流量,根据预先设置的ddos攻击类型与防护安全策略之间的对应关系,自动生成拦截ddos攻击流量的防护安全策略,并将生成的防护安全策略配置在防火墙设备上;响应于检测出符合某种ddos攻击类型的攻击特征消失,从防火墙设备上删除拦截ddos攻击流量的防护安全策略。申请号为201410104519.4的专利公开了一种防御httpflood攻击的方法,包括如下步骤:防火墙生成并维护挑战列表;防火墙与用户建立tcp连接,并判断接收到的来自用户的get报文的源ip地址是否存在于挑战列表内;如果防火墙接收到的get报文的源ip地址不存在于挑战列表内,则防火墙拦截get报文并根据get报文构建javascript重定向页面,以及将get报文的源ip地址、get请求页面地址、生成的javascript重定向页面地址作为一个条目加入到挑战列表;防火墙在检测到挑战列表中有条目在预设时长内未进行重定向访问时,将该条目的源ip地址加入黑名单列表以阻止源ip地址的后续流量。

基于工控协议的特点,工业防火墙厂商也开始关注将指令的序列检测作为一种安全防护手段。工控协议序列攻击是将合法的操作注入到序列不合法的位置上,迫使工控系统进入异常状态,损坏设备甚至破坏周边环境。比如燃气管道有两个开关s1,s2,攻击者通过完全关闭s1,开启s2的操作序列,导致管道内压强最大,产生危险。也就是同时开启s1、s2的指令次序没有问题,开启s1、关闭s2的次序异常就会产生问题。目前的工业防火墙指令序列攻击检测技术支持配置规则间没有相同指令的序列规则,甚至同一条规则内都没有重复的指令。



技术实现要素:

本发明的目的在于提供一种能够克服上述技术问题的基于工业防火墙的序列攻击检测实现方法,本发明所述方法包括以下步骤:

步骤1,首条指令到来,建立指令序列表:

步骤1.1,遍历所有指令序列规则;

步骤1.2,如果第i条规则r[i]中没找到首指令,则跳过步骤1.3;

步骤1.3,将r[i]及首指令在第i条规则中的位置记录到指令序列表;

步骤1.4,重复步骤1.2、步骤1.3,将所有包含首指令的指令序列添加到指令序列表,形成最终的指令序列表。

步骤2,下一条指令到来,查指令序列表,根据命中情况,刷新指令序列表:

步骤2.1,遍历指令序列表中的每个序列;

步骤2.2,如果序列i的第pos 1位置是当前到来的指令,则将序列i保留在指令序列表,跳过步骤2.3;

步骤2.3,将序列从指令序列表中删除;

步骤2.4,重复步骤2.2、步骤2.3,完成当前指令对指令序列表的刷新操作。

步骤3,后续指令到来,重复步骤2,直到指令序列表为空或剩余一条指令序列;

步骤4,指令序列表为空,则说明没有命中任一指令序列,指令序列检查失败,跳过步骤5;

步骤5,如果剩余一条指令序列规则,则说明命中此条指令序列规则,本次指令序列检查成功;

步骤6,本次指令序列检查完成,清空指令序列表;

步骤7,循环重复步骤1、步骤2、步骤3、步骤4、步骤5,步骤6进行下一轮指令序列检查。

本发明所述方法的优越效果是:

1、本发明所述方法能够应对日益精准的针对性攻击并显著提高了攻击成本且减少了工控系统停机。

2、目前工业防火墙指令序列攻击检测技术支持配置规则间没有相同指令的序列规则,甚至同一条规则内都没有重复的指令,而本发明所述方法对指令序列规则的配置没有此类约束且规则间和规则内允许有相同的指令。

3、本发明所述方法在工业防火墙实现了序列攻击检测方法,任一序列非法指令都将被拦截、告警,使得工控系统中所有有序列关系的指令都将被规范运行在按序、合法状态,从而消除了工控系统因序列攻击或用户的误操作可能产生的危害。

附图说明

图1是本发明所述方法的指令序列检测流程示意图;

图2是本发明所述方法的合法的指令序列表示意图;

图3是本发明所述方法的报文a命中的指令序列表示意图;

图4是本发明所述方法的报文a、b命中的指令序列表示意图;

图5是本发明所述方法的报文a、b、c、d、e、q命中的指令序列表示意图。

具体实施方式

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

本发明所述方法包括以下步骤:

步骤1,首条指令到来,建立指令序列表:

步骤1.1,遍历所有指令序列规则;

步骤1.2,如果第i条规则r[i]中没找到首指令,则跳过步骤1.3;

步骤1.3,将r[i]及首指令在第i条规则中的位置记录到指令序列表;

步骤1.4,重复步骤1.2、步骤1.3,将所有包含首指令的指令序列添加到指令序列表,形成最终的指令序列表。

步骤2,下一条指令到来,查指令序列表,根据命中情况,刷新指令序列表:

步骤2.1,遍历指令序列表中的每个序列;

步骤2.2,如果序列i的第pos 1位置是当前到来的指令,则将序列i保留在指令序列表,跳过步骤2.3;

步骤2.3,将序列从指令序列表中删除;

步骤2.4,重复步骤2.2、步骤2.3,完成当前指令对指令序列表的刷新操作。

步骤3,后续指令到来,重复步骤2,直到指令序列表为空或剩余一条指令序列;

步骤4,指令序列表为空,则说明没有命中任一指令序列,指令序列检查失败,跳过步骤5;

步骤5,如果剩余一条指令序列规则,则说明命中此条指令序列规则,本次指令序列检查成功;

步骤6,本次指令序列检查完成,清空指令序列表;

步骤7,循环重复步骤1、步骤2、步骤3、步骤4、步骤5,步骤6进行下一轮指令序列检查。

设定合法的指令序列如图1,

首包到来的指令为a,那么查图2中的指令序列,序列1-6中都含有a,序列7中没有,那么将序列1-6存入hit_rlist,即图3;

第2个包到来指令为b,那么此时查hit_rlist即图3表,将第2个位置不是b的序列6删除,此时hit_rlist中还有5组序列,即图4;

重复上面的过程,假设后面依次到来的指令为c、d、e、q,那么最终hit_rlist中只存有序列2即图5。

这时,就认为此次指令序列检查成功;否则如果hit_rlist中序列为空,则认为指令序列检查失败。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。


技术特征:

1.一种基于工业防火墙的序列攻击检测实现方法,其特征在于,包括以下步骤:

步骤1,首条指令到来,建立指令序列表;

步骤2,下一条指令到来,查指令序列表,根据命中情况,刷新指令序列表;

步骤3,后续指令到来,重复步骤2,直到指令序列表为空或剩余一条指令序列;

步骤4,指令序列表为空,则说明没有命中任一指令序列,指令序列检查失败,跳过步骤5;

步骤5,如果剩余一条指令序列规则,则说明命中此条指令序列规则,本次指令序列检查成功;

步骤6,本次指令序列检查完成,清空指令序列表;

步骤7,循环重复步骤1、步骤2、步骤3、步骤4、步骤5,步骤6进行下一轮指令序列检查。

2.根据权利要求1所述的一种基于工业防火墙的序列攻击检测实现方法,其特征在于,所述步骤1包括以下步骤:

步骤1.1,遍历所有指令序列规则;

步骤1.2,如果第i条规则r[i]中没找到首指令,则跳过步骤1.3;

步骤1.3,将r[i]及首指令在第i条规则中的位置记录到指令序列表;

步骤1.4,重复步骤1.2、步骤1.3,将所有包含首指令的指令序列添加到指令序列表,形成最终的指令序列表。

3.根据权利要求1所述的一种基于工业防火墙的序列攻击检测实现方法,其特征在于,所述步骤2包括以下步骤:

步骤2.1,遍历指令序列表中的每个序列;

步骤2.2,如果序列i的第pos 1位置是当前到来的指令,则将序列i保留在指令序列表,跳过步骤2.3;

步骤2.3,将序列从指令序列表中删除;

步骤2.4,重复步骤2.2、步骤2.3,完成当前指令对指令序列表的刷新操作。

技术总结
本发明公开了一种基于工业防火墙的序列攻击检测实现方法。方法包括首条指令到来,建立指令序列表,下一条指令到来,查指令序列表,根据命中情况,刷新指令序列表,后续指令到来,直到指令序列表为空或剩余一条指令序列。本发明优越效果是:能够应对日益精准的针对性攻击并显著提高了攻击成本且减少了工控系统停机。实现了序列攻击检测方法,任一序列非法指令都将被拦截、告警,使得工控系统中所有有序列关系的指令都将被规范运行在按序、合法状态,从而消除了工控系统因序列攻击或用户的误操作可能产生的危害。

技术研发人员:刘锋;冯全宝
受保护的技术使用者:北京威努特技术有限公司
技术研发日:2019.12.23
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56034.html

最新回复(0)