一种基于规则描述语言的动态配置过滤规则的方法

文档序号:9754622阅读:1211来源:国知局
一种基于规则描述语言的动态配置过滤规则的方法
【技术领域】
[0001] 本发明涉及网络通讯设备的安全防护方法,更详细地说,涉及防火墙、网关、网络 通讯处理机以及各类带有网络接口的计算设备、工业用的控制器、PLC、RTU中应用的网络过 滤保护方法。
【背景技术】
[0002] 在现有的防火墙、网关、网络通讯设备以及各类带有网络接口的计算设备,如计算 机、工业用的控制器、PLC、RTU的过滤技术中,防火墙得到快速发展,典型的防火墙是用于对 网络边界的保护或用于对于不同的安全域之间的网络通讯实施安全规则的过滤。
[0003] 在现有技术中广泛应用的包过滤型的防火墙,是依据安全保护的原则,根据已知 的网络帧的结构特征,如IP源地址、IP目的地址、协议类型、目的端口号(有时还包括MAC地 址,源端口号)设置是否放行还是禁止的过滤规则,对网络帧进行匹配,为了保障安全性,有 时还要对网络包中的有效数据内容进行分析匹配过滤。
[0004] 现有的防火墙是根据已知的网络结构和可预见的网络数据内容设计过滤规则程 序,开发成防火墙产品,在网络现场应用时根据用户的安全要求对过滤规则进行配置,然后 下装到防火墙过滤模块中,启动防火墙进行防护过滤。
[0005] 如果在防火墙应用中,出现了新的结构特征或对网络数据内容有了更多的过滤要 求,而现有的防火墙设计没有能覆盖这些要求时,则需对防火墙软件进行修改,再升级更新 防火墙,配置过滤规则后,实施新的网络安全保护。
[0006] 在现有专利技术中,如专利公开号CN104519065,发明名称为一种支持过滤Modbus TCP协议的工控防火墙实现方法,所述方法包括如下步骤:
[0007] 1)将防火墙设置为桥接模式,将Modbus TCP主站和Modbus TCP从站分别设置于防 火墙不同的以太网接口上;
[0008] 2)防火墙包过滤模块对所有进入防火墙的数据包进行系统安全检查;
[0009] 3)管理员自定义数据包过滤规则,当数据包满足自定义数据包过滤规则时允许通 过,否则将数据包丢弃;
[0010] 4)防火墙包过滤模块对数据包是否为Modbus TCP协议进行检测,当数据包为 Modbus TCP协议时允许通过,否则将数据包丢弃;
[0011] 5)防火墙通过Modbus TCP模块进行Modbus TCP协议过滤。
[0012] 上述专利申请在使用上具有局限性。

【发明内容】

[0013] 为了克服现有技术中的缺陷,本发明提供的一种基于规则描述语言的动态配置过 滤规则的方法。本发明所述方法的具体步骤如下:
[0014] 步骤一、建立规则描述语言
[0015] 1、建立会话连接
[0016] 建立会话连接正向与会话连接逆向,即由客户机向服务器发出连接请求的方向, 由关键字forward link(前向链路)整数表示,从0开始,0,1,2……;会话连接逆向,即由服 务器向客户机做出响应的方向;由关键字backrward link(后向链路)整数表示,从0开始, 0,1,2……;
[0017] 其中,同一个会话连接中,会话连接正向和会话连接逆向的整数须相等。
[0018] 2、确定会话连接状态
[0019] 所述一个会话连接由两个或两个以上的状态组成,由关键字stat整数表示,整数 从〇开始,按序增加为〇,1,2……;会话创建时的状态为会话开始状态,会话结束时为会话结 束状态,
[0020] 其中,所述会话开始状态、所述会话结束状态,其中,依据会话连接状况还能够包 含会话连接其它多个状态,如客户机基于TCP的应用协议,向服务器发起连接的SYN帧时进 入statO,服务器同意建立连接发SYN、ACK帧时进入statl,客户机收到后发ACK确认帧进入 stat2,这就是所称的TCP建立连接时的三次交互的握手过程,同样TCP协议正常结束时有四 次交互的断开连接的过程,这也能够用四个状态表示,这个TCP协议从建立连接到结束断开 连接的过程就是一个会话,中间还应有有效数据的传输,它还可能由应用协议构成,中间还 可分若干个状态,这取决于对其内容过滤的需要,上述会话连接状态的作用域为一个会话 连接,包括会话连接正向和会话连接逆向。
[0021 ] 3、进行过滤字段
[0022] 过滤字段是指网络帧中的一段16进制字节数据,过滤字段的属性是:开始地址,从 网络帧开始计算,以字节为单位;字段长度,以字节为单位。所述过滤字段表示为:fiIter整 数(开始地址,字段长度),所述整数为〇,1,2……,过滤字段的作用域为一个会话连接,包括 话连接正向和会话连接逆向。
[0023] 4、匹配规则字段
[0024] 用于匹配网络帧中过滤字段的16进制字节数据,所述规则字段的属性是:字段长 度,以字节为单位,所述规则字段以关键字加整数后缀表示为:rule整数(字段长度),所述 整数为〇,1,2......。
[0025] 5、赋予操作语句表达式
[0026] 所述赋予操作语句表达式是指用匹配规则字段对网络帧中的特定过滤字段进行 比对时进行的操作,例如:对以下操作:
[0027] if(表达式)
[0028] {操作语句系列1;
[0029] }
[0030] else
[0031] {操作语句系列2;
[0032] };
[0033] 可用例子解释为:
[0034] if (网络帧中的特定过滤字段==匹配规则字段)
[0035] {丢弃,并记日志;
[0036] }
[0037] else
[0038] {放行;
[0039] };
[0040] .......
[0041] 6、会话连接的操作动作
[0042] 会话连接的操作动作是指用匹配规则字段对网络帧中的某一过滤字段进行比对 后要采取的操作,会话连接的操作动作:1表示放行,2表示丢弃,3表示记日志,4表示创建新 的会话连接,5表示转入另一个状态。
[0043] 进一步的,会话连接的操作动作也能够是中间运算的结果,所述中间运算的结果 是一个待过滤的帧的开始地址,待创建新的会话连接的TCP协议的目的端口号。
[0044] 7、定义操作运算符
[0045] 所述操作方法的操作运算符定义类似C语言,操作运算符包括运算符含义/运算符 类型/结合方向等,用于对网络帧中的过滤字段进行操作。
[0046] 8、过滤字段字符的转换操作
[0047] 所述过滤字段字符的转换操作是指把两字节网络过滤字段字符,即用2字节表示 数字的字符转换成两字节整数,把4字节的网络过滤字段数据转换成4字节的浮点数。
[0048] 步骤二、动态过滤的实现
[0049]防火墙以包过滤状态检测技术为基础,并预置了:
[0050] (1)、动态增加深度过滤的接口;
[0051] (2)、预留了状态转换处理函数;
[0052] (3)、建立各类过滤算法库。
[0053]进一步的,如果在防火墙应用中,出现了新的结构特征或对网络数据内容有了进 一步的过滤要求,而现有的防火墙设计未能覆盖这些要求时,则修改或设计防火墙软件,再 升级更新防火墙,配置过滤规则后,再实现动态过滤,实施新的网络安全保护。
[0054] 本发明对定义的规则语言所描述的过滤需求,能够实现对网络帧在任何地方、对 任何长度的规则字段进行过滤,根据过滤规则,过滤是多个,实际上在过滤程序中是按照一 个对任意长度的多个字段的分类算法,本发明提出了一个高效的分类算法实现了对网络帧 在任何地方、对任何长度的规则字段进行过滤的需求。
[0055] 用户定义规则时,往往会用到一段连续的空间,如一个IP网段,一段端口号等,而 在这连续的区间内有着同样规则要求及属性,因此能够把这一集合当做一个树节点来处 理,对于η维空间的函数求值,实际上可化为对η维空间的一个查找过程,用逐步降维的方法 转化为面向集合的三叉树方法来解决这个问题.
[0056]对集合的分类查找采用三叉树的方法,前提条件是要查找的集合已被处理成为在 空间上连续的闭区间,代表这个集合树节点的关键字不再是一个键值,而是由2个键分别表 示这个集合的闭区间的上下界端点值,我们称为这个集合结点的右键和左键,例如:在IP源 地址空间上有 3 个网段集,128.0.0.11-128.0.0.16,128.0.0.40-128.0.0.45,128.0.0.51-128.0.0.53,面向集合的三叉树结点结构如下所示:
[0057] struct s_tree{
[0058] struct s_tree*left_s;//指向左子
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1