论文部分内容阅读
摘 要:目前专家系统的应用领域非常的广泛,解析防火墙配置的问题很自然的由一个专家系统来解决。防火墙通过控制和检测网络之间的信息交换和访问行为来实现对网络安全的有效管理。其中防火墙的包过滤规则是根据网络安全的实际需要来制定的,而管理防火墙规则变得越来越复杂,并且容易出错。本文提出了解析防火墙规则的专家系统方案及其实现,实现了防火墙过滤规则正确性检查以及对于规则的处理等功能。对于提高防火墙的智能性产生了积极的作用。
关键词:网络安全 专家系统 防火墙 规则 知识库
中图分类号:TP206 文献标识码:A 文章编号:1674-098X(2011)02(a)-0046-02
1 引言
防火墙作为目前使用最为普遍的安全防护措施,在实际的应用中发挥了巨大的作用。尤其是包过滤防火墙,由于它具有安装、使用方便,对用户的高透明度、转发速度快、效率较高等特点,应用尤为广泛。然而,传统的包过滤防火墙在应对现代网络攻击时,却存在着许多的缺陷,特别是网络安全策略的制定,过滤规则的设置,需要专家级的全面、深入的专业领域知识。而在现实中,网络安全专家极其匾乏,这一方面造成普通的网络管理人员在设置防火墙时由于经验或知识上的不足,不能有效地制定网络安全策略,从而导致许多网络安全隐患的存在;另一方面使得包过滤防火墙的推广应用存在很多的误区。而且,对于一个组织来说,仅有一个包过滤防火墙是不够的,还要合理地对它进行配置。防火墙配置通常用难于理解的低级的语言来写,如何用防火墙可以理解的语言来表达组织的安全策略,从而实现包过滤防火墙的过滤规则对网络的数据流进行过滤,从而阻止不合法的访问,同时允许合法的访问顺利通过,并且发现网络攻击时,适时而且及时地同网络管理员交互,从而实现更好的管理防火墙。
目前防火墙上所做的研究集中在性能或用防火墙可以理解的语言来表示一个组织的安全策略[1]。目前也有一些可用的商业产品,例如:Cisco公司的Access Control List Manager和Secure Policy Manager.现代防火墙产品通常允许图形用户界面来对规则作说明,同时Mayer、Wool和Eiskind防火墙分析机制是基于图形算法的,因而表达任何专家知识都要比逻辑程序要难;并且防火墙能够支持网络地址解析(NAT),Lumata公司将其转化为商业产品。
为此本文尝试对防火墙过滤规则进行相关分析,并通过Visual Prolog实现了一个对于异常规则的检测的专家系统,从而实现对于防火墙规则的完整性的维护。
2 背景知识
2.1 TCP/IP
TCP/IP协议(Transmission control protocol/Internet protocol)即传输控制/网际协议,是一组用来协调网络中不同的网络设备之间进行信息交换的规则集合。由于IP定义了在整个TCP/IP互联网上数据传输的基本单位,所以,它规定了互联网上传输数据的确切格式。类似于一个在物理网络上传送的帧(Frame),IP包(Packet)也被分为首部和数据区。首部包含源和目的IP地址、分片控制、优先级以及用来发现传送差错的校验和等信息。除了固定长度的字段,每个数据包首部还可以包含一个选项字段。这个选项字段依赖于选项的号、类型以及分配给每个选项数据区的大小而定。IP头部的格式如表1所示:
其中数据区里包含了IP包封装的上层协议包。
与IP协议一样,TCP协议也有自己的包结构,其中的源端口和目的端口用来标识各种服务;此外,序列号、标志位和校验和都是TCP包中比较重要的部分。其结构如表2所示。
2.2 防火墙
防火墙通常作为路由器将不同网络连接起来,根据防火墙所在的协议层,防火墙可以分为包过滤、环路代理和应用层代理。通常这些技术都是结合在一起的。而作为简单的包过滤通常用简单的顺序规则表来表示,Cisco路由存取列表的一个实例如表3所示:
当收到一个包的时候,从头到尾对列表进行扫描[2]。这个动作(允许或拒绝)和第一条匹配的相关联。如果一个包不匹配任何规则,默认的动作是“deny”,通常一个“deny all”规则存于一个列表的末尾,用来证实一个列表没有被消减,不同的列表可以用在指定的每个网络接口上。
2.3 专家系统
专家系统是人工智能应用研究的主要领域,实质是一计算机程序,它能够以人类专家的水平完成特别困难的某一专业领域的任务。目标通常有一个逻辑推理机和一个知识库,知识库中的信息包含很多已知事实和一些基于事实和其他需求信息的允许if_then推论的产生式规则。
2.4 逻辑控制程序
逻辑程序是一个用逻辑推理力解决问题的程序图,不是给出要解决问题的计算步骤,逻辑程序给出逻辑事实和描述解决问题的独立性,并通过推理机来解决问题。控制逻辑程序是扩展了控制可信度能力的逻辑程序,控制可信度是一个比通常逻辑程序更为常用的一致性操作,一致性操作能解决结构和最后变量的准确值,而控制可信度增加了控制变量值的可信度,设置真正的实际的控制能力,通常来说是不可行的,因而真正的控制逻辑程序系统仅允许一定类型的限制,例如:对实数来说的线性等式和不等式。
3 專家系统在防火墙过滤规则中的实现
3.1 知识库
知识库是一个基于Visual prolog程序语言表达的逻辑规则和事实的集合[5],这种描述性的语言使它易于表达知识,而没有掺杂计算细节的信息。知识库包含动态和静态的信息。
3.1.1 表示包
该专家系统的最简单最基本的概念是包,IP包用5元组表示(协议,源IP,目的IP,源端口,目的端口,标识符),所有输入都是数字,标识符flags域仅用来表示TCP连接,0表示开始的一个新的连接包(例如:SYN位表示已经设置,ACK位清空),1表示属于已存在的连接包。
3.1.2 表示过滤规则
存取列表是包过滤规则的集合[6],规则由一个6元组的匹配包和指出了如何匹配规则的包的动作令牌(permit或deny)组成,存取列表规则依照给定的顺序处理,直到发现一条匹配规则,第一条匹配的规则指出了包过滤所采取的动作。该专家系统表达了作为上面定义的包空间的存取列表规则。
3.1.3 拓扑表示和连接
防火墙常有很多网络接口,通过有效地分析存取列表,可以知道哪个网络或地址段定位在哪个接口的后面,这种信息在知识库中有两种简单的谓词来表示,network(interface,network)和network_internet(interface)。后者表明连接到因特网上。
3.1.4 扩展知识库
该专家系统的知识库可以通过添加更高级的规则和事实来扩展,当设计新的功能时,可以用已存在的概念和知识,例如:前面定义的连接的概念就是新规则的一个很好的起点,下面的谓词验证了一个DNS服务器可以通过UDP和TCP连接来获取。
3.2 推理机
对于该专家系统的推理机是基于Visual Prolog的控制逻辑程序语言。该推理机制可以将主要工作集中在核心问题上,从而避免一些繁琐的无谓的工作。而且它所具有的这个高性能和易于扩展的平台, 可以将该专家系统移植到其他基于Visual Prolog的程序中。
3.3 用户界面
用户界面包含一个解析存取列表的预处理器,一些处理路由的输入输出集合和一个简单的用来管理系统的快捷命令界面。用户界面部分允许管理员来交互的检查存取列表,该工具的操作实现可以分为3类:1)存取列表的查询和操作;2)存取列表允许的网络数据流的查询;3)掌握和解决部分配置问题的专家规则。该用户面皆是用Visual Prolog语言的输入输出库来写的;由于Perl有较好的字符串处理功能,对于防火墙存取列表的文本文件解析的预处理器用Perl编写。
4 结语
本文提出了一种将专家系统应用于防火墙过滤解析的方案,并给出了实现,通过用专家系统来控制网络信息,对于规则的合法性进行判断以及对于判断结果进行及时的处理,使得网络安全管理具有一定的智能性,从而提高了网络管理的实时性,大大减少了管理人员的负担,具有很高的实用价值和理论价值。
参考文献
[1] 吴克喜,赵勤燕.具有智能特征的防火墙.小型微型计算机系统,1999.
[2] 郑进远,韩玲玲,李祥.Visual Prolog 6面向对象技术与应用.电脑与信息技术,2005.
[3] 雷英杰,华继学.Visual Prolog截断机制对回溯的作用机理.计算机工程,2005.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
关键词:网络安全 专家系统 防火墙 规则 知识库
中图分类号:TP206 文献标识码:A 文章编号:1674-098X(2011)02(a)-0046-02
1 引言
防火墙作为目前使用最为普遍的安全防护措施,在实际的应用中发挥了巨大的作用。尤其是包过滤防火墙,由于它具有安装、使用方便,对用户的高透明度、转发速度快、效率较高等特点,应用尤为广泛。然而,传统的包过滤防火墙在应对现代网络攻击时,却存在着许多的缺陷,特别是网络安全策略的制定,过滤规则的设置,需要专家级的全面、深入的专业领域知识。而在现实中,网络安全专家极其匾乏,这一方面造成普通的网络管理人员在设置防火墙时由于经验或知识上的不足,不能有效地制定网络安全策略,从而导致许多网络安全隐患的存在;另一方面使得包过滤防火墙的推广应用存在很多的误区。而且,对于一个组织来说,仅有一个包过滤防火墙是不够的,还要合理地对它进行配置。防火墙配置通常用难于理解的低级的语言来写,如何用防火墙可以理解的语言来表达组织的安全策略,从而实现包过滤防火墙的过滤规则对网络的数据流进行过滤,从而阻止不合法的访问,同时允许合法的访问顺利通过,并且发现网络攻击时,适时而且及时地同网络管理员交互,从而实现更好的管理防火墙。
目前防火墙上所做的研究集中在性能或用防火墙可以理解的语言来表示一个组织的安全策略[1]。目前也有一些可用的商业产品,例如:Cisco公司的Access Control List Manager和Secure Policy Manager.现代防火墙产品通常允许图形用户界面来对规则作说明,同时Mayer、Wool和Eiskind防火墙分析机制是基于图形算法的,因而表达任何专家知识都要比逻辑程序要难;并且防火墙能够支持网络地址解析(NAT),Lumata公司将其转化为商业产品。
为此本文尝试对防火墙过滤规则进行相关分析,并通过Visual Prolog实现了一个对于异常规则的检测的专家系统,从而实现对于防火墙规则的完整性的维护。
2 背景知识
2.1 TCP/IP
TCP/IP协议(Transmission control protocol/Internet protocol)即传输控制/网际协议,是一组用来协调网络中不同的网络设备之间进行信息交换的规则集合。由于IP定义了在整个TCP/IP互联网上数据传输的基本单位,所以,它规定了互联网上传输数据的确切格式。类似于一个在物理网络上传送的帧(Frame),IP包(Packet)也被分为首部和数据区。首部包含源和目的IP地址、分片控制、优先级以及用来发现传送差错的校验和等信息。除了固定长度的字段,每个数据包首部还可以包含一个选项字段。这个选项字段依赖于选项的号、类型以及分配给每个选项数据区的大小而定。IP头部的格式如表1所示:
其中数据区里包含了IP包封装的上层协议包。
与IP协议一样,TCP协议也有自己的包结构,其中的源端口和目的端口用来标识各种服务;此外,序列号、标志位和校验和都是TCP包中比较重要的部分。其结构如表2所示。
2.2 防火墙
防火墙通常作为路由器将不同网络连接起来,根据防火墙所在的协议层,防火墙可以分为包过滤、环路代理和应用层代理。通常这些技术都是结合在一起的。而作为简单的包过滤通常用简单的顺序规则表来表示,Cisco路由存取列表的一个实例如表3所示:
当收到一个包的时候,从头到尾对列表进行扫描[2]。这个动作(允许或拒绝)和第一条匹配的相关联。如果一个包不匹配任何规则,默认的动作是“deny”,通常一个“deny all”规则存于一个列表的末尾,用来证实一个列表没有被消减,不同的列表可以用在指定的每个网络接口上。
2.3 专家系统
专家系统是人工智能应用研究的主要领域,实质是一计算机程序,它能够以人类专家的水平完成特别困难的某一专业领域的任务。目标通常有一个逻辑推理机和一个知识库,知识库中的信息包含很多已知事实和一些基于事实和其他需求信息的允许if_then推论的产生式规则。
2.4 逻辑控制程序
逻辑程序是一个用逻辑推理力解决问题的程序图,不是给出要解决问题的计算步骤,逻辑程序给出逻辑事实和描述解决问题的独立性,并通过推理机来解决问题。控制逻辑程序是扩展了控制可信度能力的逻辑程序,控制可信度是一个比通常逻辑程序更为常用的一致性操作,一致性操作能解决结构和最后变量的准确值,而控制可信度增加了控制变量值的可信度,设置真正的实际的控制能力,通常来说是不可行的,因而真正的控制逻辑程序系统仅允许一定类型的限制,例如:对实数来说的线性等式和不等式。
3 專家系统在防火墙过滤规则中的实现
3.1 知识库
知识库是一个基于Visual prolog程序语言表达的逻辑规则和事实的集合[5],这种描述性的语言使它易于表达知识,而没有掺杂计算细节的信息。知识库包含动态和静态的信息。
3.1.1 表示包
该专家系统的最简单最基本的概念是包,IP包用5元组表示(协议,源IP,目的IP,源端口,目的端口,标识符),所有输入都是数字,标识符flags域仅用来表示TCP连接,0表示开始的一个新的连接包(例如:SYN位表示已经设置,ACK位清空),1表示属于已存在的连接包。
3.1.2 表示过滤规则
存取列表是包过滤规则的集合[6],规则由一个6元组的匹配包和指出了如何匹配规则的包的动作令牌(permit或deny)组成,存取列表规则依照给定的顺序处理,直到发现一条匹配规则,第一条匹配的规则指出了包过滤所采取的动作。该专家系统表达了作为上面定义的包空间的存取列表规则。
3.1.3 拓扑表示和连接
防火墙常有很多网络接口,通过有效地分析存取列表,可以知道哪个网络或地址段定位在哪个接口的后面,这种信息在知识库中有两种简单的谓词来表示,network(interface,network)和network_internet(interface)。后者表明连接到因特网上。
3.1.4 扩展知识库
该专家系统的知识库可以通过添加更高级的规则和事实来扩展,当设计新的功能时,可以用已存在的概念和知识,例如:前面定义的连接的概念就是新规则的一个很好的起点,下面的谓词验证了一个DNS服务器可以通过UDP和TCP连接来获取。
3.2 推理机
对于该专家系统的推理机是基于Visual Prolog的控制逻辑程序语言。该推理机制可以将主要工作集中在核心问题上,从而避免一些繁琐的无谓的工作。而且它所具有的这个高性能和易于扩展的平台, 可以将该专家系统移植到其他基于Visual Prolog的程序中。
3.3 用户界面
用户界面包含一个解析存取列表的预处理器,一些处理路由的输入输出集合和一个简单的用来管理系统的快捷命令界面。用户界面部分允许管理员来交互的检查存取列表,该工具的操作实现可以分为3类:1)存取列表的查询和操作;2)存取列表允许的网络数据流的查询;3)掌握和解决部分配置问题的专家规则。该用户面皆是用Visual Prolog语言的输入输出库来写的;由于Perl有较好的字符串处理功能,对于防火墙存取列表的文本文件解析的预处理器用Perl编写。
4 结语
本文提出了一种将专家系统应用于防火墙过滤解析的方案,并给出了实现,通过用专家系统来控制网络信息,对于规则的合法性进行判断以及对于判断结果进行及时的处理,使得网络安全管理具有一定的智能性,从而提高了网络管理的实时性,大大减少了管理人员的负担,具有很高的实用价值和理论价值。
参考文献
[1] 吴克喜,赵勤燕.具有智能特征的防火墙.小型微型计算机系统,1999.
[2] 郑进远,韩玲玲,李祥.Visual Prolog 6面向对象技术与应用.电脑与信息技术,2005.
[3] 雷英杰,华继学.Visual Prolog截断机制对回溯的作用机理.计算机工程,2005.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文