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

文档序号:9754622阅读:来源:国知局

[0059] struct s_tree*right_s;//指向右子树
[0060] unsigned int left_key;//左键值
[0061] unsigned int right_key;//右键值
[0062] struct s_tree*next;//指向中子树
[0063] int bal;
[0064] }*tree_pt;
[0065] 用关键字id查找匹配安全规则的程序段如下所示,tree_pt为指向面向集合三叉 树根节点的指针,
[0066] ......
[0067]
[0068]使用三叉树查找,获得log3级别的查找时间复杂度,且每步处理简洁,开销小,同 样对网络帧中任意开始地址的任意长度的字段,也可以构造三叉树处理。
[0069] 对为新增安全需求的规则进行解析下装后,即可实现过滤。
[0070] 本发明所述基于规则描述语言的动态配置过滤规则的方法的优越效果在于:
[0071] 所述方法设置的基于规则描述语言动态过滤规则能够广泛适用于防火墙、网关、 网络通讯处理机以及各类带有网络接口的计算设备、工业用的控制器等实现有效的过滤保 护。
【具体实施方式】
[0072]下面详细描述本发明所述一种基于规则描述语言的动态配置过滤规则的方法的
【具体实施方式】。
[0073]步骤一、确定规则描述语言 [0074] 1、建立会话连接
[0075] 所述会话连接是流经防火墙的由客户机和服务器模型表会话连接逆向示的两个 实体之间建立的网络通讯。会话连接进一步细分为:会话连接正向与会话连接逆向,会话连 接正向即由客户机向服务器发出连接请求的方向,由关键字forward link(前向链路)整数 表示,从〇开始,〇,1,2……;会话连接逆向,即由服务器向客户机做出响应的方向;由关键字 backrward 1 ink(后向链路)整数表示,从0开始,0,1,2......;同一个会话连接中,会话连接 正向和会话连接逆向的整数须相等。
[0076] 例如:当一个客户机向跨过防火墙的服务器发出一个由IP源地址、IP目的地址、协 议类型、源端口号、目的端口号的TCP协议(Transmission Control Protocol,传输控制协 议)的连接请求,如果防火墙的设置的安全规则允许放行,则这个会话连接正向建立,同时 这个会话连接逆向也建立。其中,对于UDP协议(User Datagram Protocol,用户数据报协 议),本身是无连接的,但为了跟踪检查网络通讯,也建立会话连接正向和会话连接逆向,通 讯先发起一方为会话连接正向,如果防火墙的设置的安全规则允许放行,会话连接正向和 会话连接逆向也同时建立;当一个协议如TCP协议会话连接结束时或中断(rst包),话连接 正向和会话连接逆向也结束;UDP协议由防火墙的定时器计时,超过规定的时间段后,话连 接正向和会话连接逆向也结束。
[0077] 2、确定会话连接状态
[0078] -个会话连接由两个或两个以上的状态组成。由关键字stat整数表示,整数从0开 始,按序增加为〇,1,2……;会话创建时的状态为开始状态,会话结束时为结束状态,中间还 可由其它多个状态组成。状态的作用域为一个会话连接,包括会话连接正向和会话连接逆 向。
[0079] 3、进行过滤字段
[0080] 过滤字段是指网络帧中的一段16进制字节数据。过滤字段的属性是:开始地址,从 网络帧开始计算以字节为单位;字段长度,以字节为单位。
[0081] 所述过滤字段表示为整数(开始地址,字段长度),整数为0,1,2……。
[0082] 所述过滤字段的作用域为一个会话连接,包括话连接正向和会话连接逆向。
[0083] 4、匹配规则字段
[0084]用于匹配网络帧中过滤字段的16进制字节数据。规则字段的属性是:字段长度,以 字节为单位。规则字段以关键字加整数后缀表示为:rule整数(字段长度),整数为0,1, 2……。
[0085] 5、赋予操作语句
[0086] if(表达式)
[0087] {操作语句系列1;
[0088] }
[0089] else
[0090] {操作语句系列2;
[0091] };
[0092] .......
[0093] 6、操作动作的描述
[0094] 会话连接操作动作的描述,如表示值数字1其功能为放行,表示值数字1的功能为 放弃,表示值数字1的功能为丢弃等等。详见下表1所示。
[0095] 表 1
[0096]
[0097] 7、定义操作运算符
[0098] 操作运算符定义类似C语言,如下表2所示。
[0099] 表 2
[0100]
[0101] -
[0102] 8、过滤字段字符的转换操作
[0103] 转换操作是指把两字节网络过滤字段字符(用2字节表示数字的字符)转换成两字 节整数,把4字节的网络过滤字段数据转换成4字节的浮点数。如下表3所示。
[0104] 表3
[0105]
[0106] 步骤二、动态过滤的实现
[0107] 防火墙以包过滤状态检测技术为基础,并预置了:
[0108] 1、动态增加深度过滤的接口,
[0109] 2、预留了状态转换处理函数;
[0110] 3、建立各类过滤算法库;
[0111] 4、如果在防火墙应用中,出现了新的结构特征或对网络数据内容有了进一步的过 滤要求,而现有的防火墙设计未能覆盖这些要求时,则修改或设计防火墙软件,再升级更新 防火墙,配置过滤规则后,再实现动态过滤,实施新的网络安全保护。
[0112] 本发明能够对一些深度内容过滤需求,用规则语言说明新的过滤规则下装到防火 墙中过滤,而不必重新设计防火墙软件。
[0113] 本发明是能够实现对网络帧在任何地方对任何长度的规则字段进行过滤,
[0114] 以对0PC协议的过滤为例,假如在应用中对0PC服务器的某个标签名的异步写操作 规定了一个保护上限值,高于上限值3.3丢弃,小于等于上限值3.3则放行,
[0115] 从0PC客户机请求数据通讯建起的TCP连接后,即可开始对0PC客户机发出的网络 帧查异步操作的UUID码,异步操作的UUID码的地址= DCERPC头地址(0x36)+0x20 = 0x56,用 UUID={39C13A71-011E-llD0-9675-0020AFD8ADB3},在网络中的编码序列是71 3A C1 39 1E 01 D0 11 96 75 00 20 AF D8 AD B3进行查找,找到第208帧,其数据单元如下所示:
[0116] 地址_络帧内容 相应ASCII码 说明 0000 00 1 b 11 04 3ii c4 90 ib ??6 07 18 91 08 00 45 00 ....:.........E. 以太网头 0010 00 70 5c 17 40 00 80 06 9cftb8l 00 00 03 SU 00 .p'M... .k...... IP 头 0020 00 02 3a fD Oc fb aO 1c 5c ec ee a5.20 fd 50 18 \... .P, TCP 头 0030 ff i 1' 02 68 00 00 05 00 Oe 03 10 00 00 00 48 00 ...h..........H. 0x3ft 'h RPC 0040 00 00 0c 00 00 00 dO 16 dO 16 b6 58 73 be 01 00 ...........Xs...蓝色加下划线为 Callld 0050 00 00 06 00 01 00 71 3a cl 39 le 01 dO 11 96 75 ,..,,.4: ..9,...,.u 红色加下划线表示的 0060 00 20 af d8 ad b:3 00 00 00 00 04 5d M 8a eb 1 e 是异步操作的 UUID 码 0070 c9 11 08 00 2b 10 48 60 02 00 00 00
[0117] 找出与异步UUID相对应的异步Object
[0118] 当OPC服务器发回的一个应答帧(第209帧)之后,在下一个从OPC客户机发出的网 络帧(第210帧)中找到一个动态生成的16字节长的异步Object,异步Object地址= DCERPC 头地址(0x36)+0xl8 = 0x4E,
[0119] 得到异步01^_6(^={00009(:08-(^04-0000-8卩卩6-728厶32281厶73},以网
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1