CN112448954B - 面向分布式访问控制策略的配置弱点分析方法和系统 - Google Patents

面向分布式访问控制策略的配置弱点分析方法和系统 Download PDF

Info

Publication number
CN112448954B
CN112448954B CN202011338233.4A CN202011338233A CN112448954B CN 112448954 B CN112448954 B CN 112448954B CN 202011338233 A CN202011338233 A CN 202011338233A CN 112448954 B CN112448954 B CN 112448954B
Authority
CN
China
Prior art keywords
network
port
security
protocol
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011338233.4A
Other languages
English (en)
Other versions
CN112448954A (zh
Inventor
白玮
陈哲
潘志松
张睿
王彩玲
张磊
蒋考林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Army Engineering University of PLA
Original Assignee
Army Engineering University of PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Army Engineering University of PLA filed Critical Army Engineering University of PLA
Priority to CN202011338233.4A priority Critical patent/CN112448954B/zh
Publication of CN112448954A publication Critical patent/CN112448954A/zh
Application granted granted Critical
Publication of CN112448954B publication Critical patent/CN112448954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了面向分布式访问控制策略的配置弱点分析方法和系统。本发明通过对分布在不同网络设备上的网络地址服务信息、数据流动策略和访问控制策略信息进行广泛收集的基础上,通过对网络安全目标、网络数据流动拓扑图和访问控制策略进行形式化定义,基于语义形式化定义构建目标网络的网络数据流动拓扑图;利用面向分布式访问控制策略的配置弱点分析方法,发现分布在不同设备上的访问控制策略中存在的配置弱点,从而达到发现网络配置中存在的安全弱点,提升网络安全防护能力的目的。

Description

面向分布式访问控制策略的配置弱点分析方法和系统
技术领域
本发明涉及通信网络安全技术领域,具体设计一种基于语义形式化描述的分布式访问控制策略弱点分析方法。
背景技术
随着网络技术和信息化技术的不断发展,网络空间已经成为继“陆海空天”之后的第五大战略空间,网络空间安全已经成为保障国计民生的重要支撑,越来越受到广泛的重视。
随着网络安全防护技术的不断发展,安全访问控制技术做为安全防护的基本保证,被广泛使用在网络上的交换机、路由器、防火墙、负载均衡设备等不同的网络设备或安全设备上,这些设备可以以VLAN隔离、路由隔离、基于IP地址的访问控制策略、基于URL的访问控制策略等多种形式,来实现对网络的安全隔离,共同维护网络整体的安全目标。
日常的网络安全管理工作,实际上是一项十分复杂繁琐的工作,其中一项重要的工作,就是根据网络的整体安全目标和整体安全目标,生成于分布在各个安全设备上的访问控制策略,在传统方式中,这些访问控制策略一般独立生成,相互之间缺乏协同,致使由于安全策略制定不合理,而使得网络安全整体安全目标无法得到保障。
发明内容
本发明旨在针对目前分布在各个安全设备上的访问控制策略一般独立生成,相互之间缺乏协同,致使由于安全策略制定不合理,而使得网络安全整体安全目标无法得到保障的技术问题,提供一种
面向分布式访问控制策略的配置弱点分析方法和系统。
本发明采用以下技术方案。
一方面,本发明提供面向分布式访问控制策略的配置弱点分析方法,包括以下步骤:
从底层的网络设备上获得到网络配置;对获得到的网络设备配置进行解析,得到网络地址服务信息、数据流动策略和访问控制策略信息,并对其进行形式化描述,包括对IP地址、IP地址区间、端口号、端口号区间、协议以及选项的形式化定义、对区间的运算定义、访问控制规则的形式化定义以及网络安全目标形式化定义;
基于语义形式化定义构建目标网络的网络数据流动拓扑图;
利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点。
进一步地,所述IP地址区间被定义为二元组<ip1,ip2>,其中ip1,ip2∈IPADDR且ip1<ip2,IPADDR为IP地址的集合,在IP地址集合IPADDR上定义五个二元关系“>”、“=”、“<”、“≥”和“≤”,分别表示两个IP地址的大小关系,如果一个以点分十进制表示的IP地址ip1,,在去掉“.”后形成的数字大于另一个以点分十进制表示的IP地址ip2在去掉“.”后形成的数字,则有ip1>ip2,如果两个数字相等,则认为ip1=ip2,如果前者小于后者,则有ip1<ip2。在端口号集合PORT上,同样定义五个二元关系“>”、“=”、“<”、“≥”和“≤”,分别表示两个端口号对应整数的大小关系,端口号区间被定义为二元组(p1,p2),其中p1,p2∈PORT且且p1≤p2
进一步,所有协议的集合被表示为PROTOCOL,它表示一棵协议树上所有节点的集合;所有选项的集合被表示为OPTION,它表示一棵选项树上所有节点的集合。
进一步地,区间的运算定位为两个区间的并、交或差,输入是两个IP地址区间或端口号区间,输出为一个IP地址区间或端口号区间的集合。
进一步地,访问控制规则的形式化定义就是定义访问控制规则集合R,对于任意r∈R,被形式化定义为:r=(action,sourAddr,destAddr,sourPort,destPort,protocol,option),表示对特定数据报文进行处理,
其中action表示本规则是允许特定的数据报文通过还是拒绝特定的数据报文通过;sourAddr表示该规则处理的数据报文的源地址区间,有destAddr表示该规则处理的数据报文的目的地址区间,同样有/>sourPort表示该规则处理的数据报文的源端口区间,有/>表示该规则处理的数据报文的目的端口区间,有/>protocol表示该规则处理的数据报文的协议,有/>option表示该规则处理的数据报文的特殊标记,它是所有可能标记中的一个子集,即有/>其中IPINTERVAL表示所有可能的IP地址区间的集合,PORTINTERVAL表示所有可能的端口号区间的集合,PROTOCOL表示所有协议的集合,OPTION表示所有选项的集合。
进一步地,网络安全目标形式化定义就是定义网络安全目标集合M,对于任意网络安全目标m∈M,可以被形式化定义为:m=(sip,dip,sport,dport,protocol,option),其中sip表示该规则处理的数据报文的源地址区间,有dip表示该规则处理的数据报文的目的地址区间,同样有/>sport表示该规则处理的数据报文的源端口区间,有/>dport表示该规则处理的数据报文的目的端口区间,有protocol表示该规则处理的数据报文的协议,有/>option表示该规则处理的数据报文的特殊标记,它是所有可能标记中的一个子集,也就是有/>其中IPINTERVAL表示所有可能的IP地址区间的集合,PORTINTERVAL表示所有可能的端口号区间的集合,PROTOCOL表示所有协议的集合,OPTION表示所有选项的集合。
进一步地,网络拓扑形式化定义就是根据网络端口之间的物理连接或逻辑连接关系,建立相应的形式化的网络拓扑,网络拓扑被形式化为一个有向图TG=(N,E,S,R,IV,λ,δ,τ),其中N是网络上所有可能的端口集合,包括网络设备和终端设备的所有端口;E是边的集合,所有的边为有向图,对于边e=(n1,n2),代表网络数据流可能从端口n1流向端口n2;S为网络服务的集合,表示网络上所有的服务,对于任意网络服务s∈S,有s=(ip,port,protocol),其中ip∈IPADDR,port∈PORT,protocol∈PROTOCOL;R为网络上所有访问控制策略的集合,对于任意r∈A,均是一条访问控制规则;IV为网络上端口各个直连网络的地址范围的集合,对于任意iv∈IV,均有iv∈IPINTERVAL;λ:N→2IV代表一个从节点到地址范围的映射,代表这个节点上所直连的所有子网的地址范围;δ:N→S代表一个从节点到服务的映射,代表某个节点上部署的服务;τ:E→2(D×R)代表一个从边到有序访问控制规则集合的映射,代表在这条边上部署的访问控制规则,其中D为自然数的集合,D×R代表自然数集合和安全策略集合的笛卡儿积,2D×R代表集合D×R的幂集,也就是集合D×R所有子集所构成的集合。
进一步地,利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点的具体方法包括以下步骤:
步骤1:根据网络安全文档,建立相应的网络安全目标集合M;根据从各个网络设备和网络安全设备中得到的网络基础信息,建立目标网络的网络数据流动拓扑图tg=(Ntg,Etg,Stg,Rtg,IVtgtgtgtg);建立警告集合A,并将其置空,在所有算法的最后,将A做为算法最后的输出;其中Ntg是目标网络tg上所有可能的端口集合,包括网络设备和终端设备的所有端口;Etg是边的集合,所有的边为有向图,对于边e=(n1,n2),代表网络数据流可能从端口n1流向端口n2;Stg为目标网络tg服务的集合,表示网络上所有的服务,对于任意网络服务s∈S,有s=(ip,port,protocol),其中ip∈IPADDR,port∈PORT,protocol∈PROTOCOL;Rtg为网络上所有访问控制策略的集合,对于任意r∈A,均是一条访问控制规则;IVtg为网络上端口各个直连网络的地址范围的集合,对于任意iv∈IVtg,均有iv∈IPINTERVAL;λtg代表一个从节点到地址范围的映射,代表这个节点上所直连的所有子网的地址范围;δtg:Ntg→Stg代表一个从节点到服务的映射,代表某个节点上部署的服务;代表一个从边到有序访问控制规则集合的映射,代表在这条边上部署的访问控制规则,其中Dtg为自然数的集合,Dtg×Rtg代表自然数集合和安全策略集合的笛卡儿积,/>代表集合Dtg×Rtg的幂集,也就是集合Dtg×Rtg所有子集所构成的集合;
步骤2:根据细粒度属性构建算法,建立细粒度属性,包括:源地址细粒度IP地址区间集合S_S_IP,目标地址细粒度IP地址区间集合S_D_IP,源端口细粒度端口区间集合S_S_PT,目标端口细粒度端口区间集合S_D_PT,协议细粒度集合S_PL,选项细粒度集合S_OP。
步骤3:如果|M|>1,其中|M|代表集合M中元素的个数,则利用网络安全目标约减算法来对网络安全目标进行约减,约减后的网络安全目标重新构建为集合M;
步骤4:针对网络数据流动拓扑图上的每一条边etg∈Etg,如果|τ(etg)|>1,其中|τ(etg)|代表集合τ(etg)中元素的个数,则利用单链路访问控制规则约减算法来对其进行约减,得到新的τ(etg);
步骤5:对于网络安全目标集合M中的每一条安全目标m,分别对其进行分析,首先建立包含该条安全目标m的源地址的端口集合SNm,先将端口集合SNm置为空;然后逐一分析所有的端口,如果某个端口n对应的源地址λtg(n)与安全目标m的源地址存在交集,则将该端口增加到集合SNm;最后,建立与安全目标m的目的地址存在交集的所有端口集合DNm
步骤6:根据端口集合SNm和DNm,逐一建立从源端口sn∈SNm到目的端口dn∈DNm的所有路径集合Psn_dn,对于集合Psn_dn中的每一个元素psn_dn∈Psn_dn,均是一条由端口组成的路径,例如:(sn,n1,n2,…,nt-1,dn),其中n1,n2,…,nt-1∈Ntg
步骤7:对于路径集合中的每一条路径,根据网络路径配置安全分析算法来判断其是否符合当前安全目标m,如果其不符合当前安全目标,则将二元组(m,p)加入警告集合A,否则接着判断下一条路径。
步骤8:所有流程结束后,输出警告集合A。
第二方面,本发明提供了面向分布式访问控制策略的配置弱点分析系统,包括:安全配置管理模块、网络数据流动拓扑管理模块、安全策略集中分析模块和网络基础信息数据库;
所述安全配置管理模块,用于从底层的网络安全设备上获得网络设备的安全配置;
所述网络数据流动拓扑管理模块,用于对用于网络端口连接、路由信息、交换信息等影响数据流动方式的信息进行综合管理,构建表示网络数据可能流动的网络数据流动拓扑图;
所述安全策略集中分析模块用于对网络安全语义信息进行解析,得到网络数据流动关系和网络访问控制策略信息;基于获得的网络数据流动关系和网络访问控制策略信息对网络进行语义形式化定义,其中语义形式化定义包括对IP地址、IP地址区间、端口号、端口号区间、协议以及选项的形式化定义、对区间的运算定义、访问控制规则的形式化定义、网络安全目标形式化定义以及网络拓扑形式化定义;调用所述网络数据流动拓扑管理模块基于语义形式化定义构建目标网络的网络数据流动拓扑图;利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点;
所述网络基础信息数据库,用于存储从各类网络安全设备上提取的网络数据流动关系和网络访问控制策略信息。
进一步地,所述系统还包括报警生成管理模块,所述
报警生成管理模块用于根据安全策略分析模块得到的可能的配置弱点进行报警。
本发明所取得的有益技术效果:
本发明提出了一种面向分布式访问控制策略的配置弱点分析方法和系统,该系统能够在对分布在交换机、路由器、防火墙、负载均衡等不同设备上的访问控制策略进行集中收集的基础上,通过语义形式化的方式,对其进行统一的建模和分析,准确发现访问控制策略实现与网络安全目标之间的差距,从而达到发现网络安全配置弱点,提升网络安全防护能力的目标。
网络安全策略的执行一般是依靠各类网络设备和网络安全防护设备所完成的,分布在不同安全设备上的访问控制策略,是否能够协同完成网络整体安全目标,是网络安全管理所关心的核心问题。传统的安全访问控制策略的冲突发现和冗余发现,一般针对部署在同一台设备上的多条访问控制规则进行,缺乏对分布在网络上的多个设备上的异构访问控制策略的集中管控和统一分析,难以满足对网络安全策略集中分析管理的需求。
相较于传统的网络安全策略集中管理系统,本发明提出的面向分布式访问控制策略的配置弱点分析方法和系统,能够对分布在网络上不同设备上的异构安全策略进行统一管理和分析,通过对异构安全策略进行形式化的描述和推理,发现实际网络安全配置与网络安全目标之间的差别,从而实现对网络安全配置弱点的准确发现,为准确评估网络安全风险打下奠定基础。
附图说明
图1为本发明具体实施例提供的面向分布式访问控制策略的配置弱点分析方法的流程示意图;
图2为本发明具体实施例中定义的协议树型结构示意图;
图3为本发明具体实施例中定义的选项树型结构示意图;
图4为本发明具体实施例提供的面向分布式访问控制策略的配置弱点分析系统的整体架构示意图。
具体实施方式
以下结合说明书附图和具体实施例对本发明做进一步说明。
实施例一、面向分布式访问控制策略的配置弱点分析方法,包括以下步骤:从底层的网络安全设备上获得网络设备的配置信息;
对获得的配置信息进行解析,得到相应的网络地址服务信息、数据流动策略和访问控制策略信息;
基于获得的网络地址服务信息、数据流动策略和访问控制策略信息对网络进行语义形式化定义,其中语义形式化定义包括对IP地址、IP地址区间、端口号、端口号区间、协议以及选项的形式化定义、对区间的运算定义、访问控制规则的形式化定义、网络安全目标形式化定义;基于语义形式化定义构建目标网络的网络数据流动拓扑图;
利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点。
本实施例中语义形式化定义具体包括:主要包括规则语义抽取、规则形式化定义、形式化验证等步骤。
(1)基础信息形式化定义
在形式化定义访问控制规则之前,需要对使用到的符号进行形式化定义,主要包括IP地址、IP地址区间、端口号、端口号区间、协议、选项等。
IP地址的集合被定义为IPADDR,代表所有合法的IP地址的集合;在IP地址集合IPADDR上定义五个二元关系“>”、“=”、“<”、“≥”和“≤”,分别表示两个IP地址的大小关系,如果一个以点分十进制表示的IP地址i1,在去掉“.”后形成的数字大于另一个以点分十进制表示的IP地址i2在去掉“.”后形成的数字,则有i1>i2,如果两个数字相等,则认为i1=i2,如果前者小于后者,则有i1<i2。例如地址“1.1.1.1”小于地址“2.1.1.1”。IP地址区间被定义为二元组<ip1,ip2>,其中ip1,ip2∈IPADDR且ip1≤ip2。所有可能的IP地址区间的集合表示为IPINTERVAL。
类似地,可以定义端口号和端口号区间。端口号的集合被定义为PORT,包含从1到65535的所有整数,代表所有合法的端口号的集合;在端口号集合PORT上,同样定义五个二元关系“>”、“=”、“<”、“≥”和“≤”,分别表示两个端口号对应整数的大小关系。端口号区间被定义为二元组(p1,p2),其中p1,p2∈PORT且p1≤p2。所有可能的端口号区间的集合表示为PORTINTERVAL。
所有协议的集合被表示为PROTOCOL,它表示一棵协议树上所有节点的集合,在不同的应用案例下,协议树可以根据访问控制粒度进行扩展,本实施例中的协议树如图2所示。
在协议树的构造过程中,需要注意两点:一是每一个协议只能够有一个父节点,当某个应用层协议同时使用了两个父协议时(如DNS协议在不同的时刻,可能分别使用TCP协议和UDP协议),可以将其分解成为两个协议(如DNS_TCP和DNS_UDP),然后分别进行描述;二是在这个过程中,要注意分类的完整性,对于每一个分类,均考虑未知协议的存在,如在IP协议的分类中,加入IP_OTHER的分类。
在构造了协议树后,即可得到相应的协议集合,例如根据图2所示的协议树,可以得到对应的协议集合为:
PROTOCOL={Any,IP,TCP,UDP,ICMP,ARP,IP_OTHER,TELNET,HTTP,FTP,DNS_TCP,TCP_OTHER,DNS_UDP,OSPF,TFTP,UDP_OTHER,…}
类似地,所有选项的集合被表示为OPTION,它表示一棵选项树上所有节点的集合,一个常用的选项树内主要包括URL以及各种TCP标志位等,如图3所示。
在构造了选项树后,即可得到相应的选项集合,例如根据图2所示的选项树,可以得到对应的选项集合为:
OPTION={Any,URL_ALL,"www.baidu.com","www.google.com","www.sina.com",URL_OTHER,SYN,FIN,PSH,URG,ACK,RST,OPTION_OTHER,…}
(2)区间的运算定义
针对区间,可以被定义为“并(∪)”、“交(∩)”和“差(-)”等三个二元运算,它们的输入是两个IP地址区间或端口号区间,输出为一个IP地址区间或端口号区间的集合。
对于两个区间I1:(i11,i12)和I2:(i21,i22),它们的并操作I1∪I2被定义为属于区间I1或区间I2的所有元素所组成的区间集合,如果所有元素能够合并为一个区间(即两个区间存在交叉),则返回一个完整的区间,否则则返回一个包含2个区间的集合;
对于两个区间I1:(i11,i12)和I2:(i21,i22),它们的交操作I1∩I2被定义为同时属于区间I1或区间I2的元素所组成的区间集合,如果两个区间存在交叉,则返回一个区间,否则一个空区间;
对于两个区间I1:(i11,i12)和I2:(i21,i22),它们的差操作I1-I2被定义属于区间I1却不属于区间I2的元素所组成的区间集合,如果两个区间存在交叉,则返回的是区间I1的一个子区间,否则返回区间I1
(3)访问控制规则的形式化定义
访问控制规则集合可以被定义为R,对于任意r∈R,均可以被形式化定义为:r=(action,sourAddr,destAddr,sourPort,destPort,protocol,option),r表示对特定数据报文进行处理。
在这个过程中,action的取值为“permit”或“deny”,表示本规则是允许特定的数据报文通过还是拒绝特定的数据报文通过;sourAddr表示该规则处理的数据报文的源地址区间,有destAddr表示该规则处理的数据报文的目的地址区间,同样有/>sourPort表示该规则处理的数据报文的源端口区间,有destPort表示该规则处理的数据报文的目的端口区间,有protocol表示该规则处理的数据报文的协议,有/>option表示该规则处理的数据报文的特殊标记,它是所有可能标记中的一个子集,即有
(4)网络安全目标形式化定义
网络安全目标集合可以被定义为M,对于任意m∈M,可以被形式化定义为:m=(sip,dip,sport,dport,protocol,option),代表被禁止访问的数据流,其中,sip表示该规则处理的数据报文的源地址区间,有dip表示该规则处理的数据报文的目的地址区间,同样有/>sport表示该规则处理的数据报文的源端口区间,有dport表示该规则处理的数据报文的目的端口区间,有protocol表示该规则处理的数据报文的协议,有/>option表示该规则处理的数据报文的特殊标记,它是所有可能标记中的一个子集,即有
(5)网络数据流动拓扑形式化定义
根据网络端口之间的物理连接或逻辑连接关系,建立相应的形式化的网络拓扑。网络数据流动拓扑被形式化为一个有向图TG=(N,E,S,R,IV,λ,δ,τ),其中N是网络上所有可能的端口集合,包括网络设备和终端设备的所有端口;E是边的集合,所有的边为有向图,对于边e=(n1,n2),代表网络数据流可能从端口n1流向端口n2;S为网络服务的集合,表示网络上所有的服务,对于任意s∈S,有s=(ip,port,protocol),其中ip∈IP,port∈PORT,protocol∈PROTOCOL;R为网络上所有访问控制策略的集合,对于任意r∈A,均是一条访问控制规则;IV为网络上端口各个直连网络的地址范围的集合,对于任意iv∈IV,均有iv∈IPINTERVAL;λ:N→2IV代表一个从节点到地址范围的映射,代表这个节点上所直连的所有子网的地址范围;δ:N→S代表一个从节点到服务的映射,代表某个节点上部署的服务;τ:E→2(D×R)代表一个从边到有序访问控制规则集合的映射,代表在这条边上部署的访问控制规则,其中D为自然数的集合,D×RD×A代表自然数集合和安全策略集合的笛卡儿积,代表集合D×RD×A的幂集,即集合D×RD×A所有子集所构成的集合。
本实施例中分布式访问控制策略弱点分析算法流程图如图1所示。在进行了基础信息建模后,可以对分布式访问控制策略的配置弱点进行集中分析,其主要步骤为:
1.根据网络安全文档,建立相应的网络安全目标集合M;根据从各个网络设备和网络安全设备中得到的网络基础信息,建立目标网络的网络数据流动拓扑图tg=(Ntg,Etg,Stg,Rtg,IVtgtgtgtg);建立警告集合A,并将其置空,在所有算法的最后,将A做为算法最后的输出;
2.根据细粒度属性构建算法,建立细粒度属性,主要包括:源地址细粒度IP地址区间集合S_S_IP,目标地址细粒度IP地址区间集合S_D_IP,源端口细粒度端口区间集合S_S_PT,目标端口细粒度端口区间集合S_D_PT,协议细粒度集合S_PL,选项细粒度集合S_OP。
3.如果|M|>1,其中|M|代表集合M中元素的个数,则利用网络安全目标约减算法来对网络安全目标进行约减,约减后的网络安全目标重新构建为集合M;
4.针对网络数据流动拓扑图上的每一条边etg∈Etg,如果|τ(etg)|>1,其中|τ(etg)|代表集合τ(etg)中元素的个数,则利用单链路访问控制规则约减算法来对其进行约减,得到新的τ(etg);
5.对于网络安全目标集合M中的每一条安全目标m,分别对其进行分析。首先建立包含该条安全目标m的源地址的端口集合SNm,先将端口集合SNm置为空;然后逐一分析所有的端口,如果某个端口n对应的源地址λtg(n)与安全目标m的源地址存在交集,则将该端口增加到集合SNm;最后,建立与安全目标m的目的地址存在交集的所有端口集合DNm
6.根据端口集合SNm和DNm,逐一建立从源端口sn∈SNm到目的端口dn∈DNm的所有路径集合Psn_dn,对于集合Psn_dn中的每一个元素psn_dn∈Psn_dn,均是一条由端口组成的路径,例如:(sn,n1,n2,…,nt-1,dn),其中n1,n2,…,nt-1∈Ntg
7.对于路径集合中的每一条路径,根据网络路径配置安全分析算法来判断其是否符合当前安全目标m,如果其不符合当前安全目标,则将二元组(m,p)加入警告集合A,否则接着判断下一条路径。
8.所有流程结束后,输出警告集合A。
其中细粒度属性构建算法、网络安全目标约减算法、单链路访问控制规则约减算法以及网络路径配置安全分析算法分别阐述如下。
(1)细粒度属性构建算法主要根据网络基础信息,构建相应的细粒度属性,为访问控制策略联合建模和弱点分析提供支持。算法输入为当前分析的网络安全目标集合M,以及当前网络数据流动拓扑图tg=(Ntg,Etg,Stg,Rtg,IVtgtgtgtg),返回值为细粒度的属性信息,包括源地址细粒度IP地址区间集合S_S_IP,目标地址细粒度IP地址区间集合S_D_IP,源端口细粒度端口区间集合S_S_PT,目标端口细粒度端口区间集合S_D_PT,协议细粒度集合S_PL,选项细粒度集合S_OP。
1.初始化源地址细粒度IP地址区间集合目标地址细粒度IP地址区间集合/>源端口细粒度端口区间集合/>目标端口细粒度端口区间集合/>协议细粒度集合/>选项细粒度集合/>
2.建立源地址细粒度IP地址区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的源地址,并将其存储为t,即t=m.sip或t=r.sourAddr,然后如果/>则将t加入集合S_S_IP,否则逐一计算t和集合S_S_IP中的每一个元素s_s_ip的交集。如果t与所有元素的交集均为空,则将t加入集合S_S_IP,如果t与集合中某个元素s_s_ip的交集不为空,则将元素s_s_ip删除出集合S_S_IP,然后将元素t∩s_s_ip和s_s_ip-(t∩s_s_ip)分别加入集合S_S_IP。
3.建立目的地址细粒度IP地址区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的目的地址,并将其存储为t,即t=m.dip或t=r.destAddr,如果/>则将t加入集合S_D_IP,否则逐一计算t和集合S_D_IP中的每一个元素s_d_ip的交集。如果t与所有元素的交集均为空,则将t加入集合S_D_IP,如果t与集合中某个元素s_d_ip的交集不为空,则将元素s_d_ip删除出集合S_D_IP,然后将元素t∩s_d_ip和s_d_ip-(t∩s_d_ip)分别加入集合S_D_IP;
4.建立源端口细粒度端口区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的源端口,并将其存储为t,即t=m.sport或t=r.sourAddr,如果/>则将t加入集合S_S_PT,否则逐一计算t和集合S_S_PT中的每一个元素s_s_pt的交集。如果t与所有元素的交集均为空,则将t加入集合S_S_PT,如果t与集合中某个元素s_s_pt的交集不为空,则将元素s_s_pt删除出集合S_S_PT,然后将元素t∩s_s_pt和s_s_pt-(t∩s_s_pt)分别加入集合S_S_PT;
5.建立目标端口细粒度端口区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的目的端口,并将其存储为t,即t=m.dport或t=r.destAddr,如果/>则将t加入集合S_D_PT,否则逐一计算t和集合S_D_PT中的每一个元素s_d_pt的交集。如果t与所有元素的交集均为空,则将t加入集合S_D_PT,如果t与集合中某个元素s_d_pt的交集不为空,则将元素s_d_pt删除出集合S_D_PT,然后将元素t∩s_d_pt和s_d_pt-(t∩s_d_pt)分别加入集合S_D_PT;
6.建立协议细粒度集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的协议,并将其存储为t,即t=m.protocol或t=r.protocol,然后计算在协议树中t的子孙内的所有叶子节点,并将其加入集合S_PL。
7.建立选项细粒度集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的选项,并将其存储为t,即t=m.option或t=r.option,然后计算在协议树中t的子孙内的所有叶子节点,并将其加入集合S_OP。
(2)网络安全目标约减算法
网络安全目标约减算法的目标是将现有的安全目标在形式上进行统一,将其描述为一系列相互独立的规则,其输入为现有网络安全目标集合M,以及相应的源地址细粒度IP地址区间集合S_S_IP,目标地址细粒度IP地址区间集合S_D_IP,源端口细粒度端口区间集合S_S_PT,目标端口细粒度端口区间集合S_D_PT,协议细粒度集合S_PL,选项细粒度集合S_OP,输出为优化后的网络安全目标集合M,其主要流程为:
1.建立源地址区间集合目的地址区间集合/>源端口区间集合/>目的端口区间集合/>协议集合/>选项集合/>以及网络安全目标集合/>
2.针对每一个网络安全目标m∈M,得到其源地址区间m.sip,然后在S_IP_TEMP中进行查找所有与m.sip交集不为空的元素(根据源地址细粒度IP地址区间集合S_S_IP的构建方式可知,这些元素均是源地址区间m.sip的一个子区间),并将其加入集合S_IP_TEMP;
3.对于同一条网络安全目标m∈M,得到其目的地址区间m.dip,然后在D_IP_TEMP中进行查找所有与m.dip交集不为空的元素(根据目标地址细粒度IP地址区间集合D_IP_TEMP的构建方式可知,这些元素均是目的地址区间m.dip的一个子区间),并将其加入集合D_IP_TEMP;
4.对于同一条网络安全目标m∈M,得到其源端口区间m.sport,然后在S_S_PT中进行查找所有与m.sport交集不为空的元素(根据源端口细粒度端口区间集合S_S_PT的构建方式可知,这些元素均是源端口区间m.sport的一个子区间),并将其加入集合S_PORT_TEMP;
5.对于同一条网络安全目标m∈M,得到其目标区间m.dport,然后在S_D_PT中进行查找所有与m.dport交集不为空的元素(根据目标端口细粒度端口区间集合S_D_PT的构建方式可知,这些元素均是目的端口区间m.dport的一个子区间),并将其加入集合D_PORT_TEMP;
6.对于同一条网络安全目标m∈M,得到其所针对的协议m.protocol,然后在S_PL中进行查找m.protocol的所有子孙节点,并将其加入集合PL_TEMP;
7.对于同一条网络安全目标m∈M,得到其所针对的标记m.option,然后在S_OP中进行查找m.option的所有子孙节点,并将其加入集合OP_TEMP;
8.对于所有sip∈S_IP_TEMP,dip∈D_IP_TEMP,sport∈S_PORT_TEMP,dport∈D_PORT_TEMP,pl∈PL_TEMP和op∈OP_TEMP,建立安全目标(sip,dip,sport,dport,pl,op),并将其加入集合M';
9.重复2-8步,处理所有安全目标,然后执行M=M';
10.返回新的安全目标集合M。
(3)单链路访问控制规则约减算法
单链路访问控制规则约减算法的目标是对这条链路上所有的访问控制规则进行约减,得到一系列独立的访问控制规则,其输入为二元组集合代表前链路上访问控制规则及对应的序号,以及相应的源地址细粒度IP地址区间集合S_S_IP,目标地址细粒度IP地址区间集合S_D_IP,源端口细粒度端口区间集合S_S_PT,目标端口细粒度端口区间集合S_D_PT,协议细粒度集合S_PL,选项细粒度集合S_OP,输出为优化后的二元组集合
1.初始化二元组集合并建立源地址区间集合/>目的地址区间集合/>源端口区间集合/>目的端口区间集合/>协议集合/>选项集合/>当前规则编号nowNum=1;
2.选择二元组集合T中编号最小的二元组(d,r),得到其源地址区间r.sourAddr,然后在S_IP_TEMP中进行查找所有与r.sourAddr交集不为空的元素(根据源地址细粒度IP地址区间集合S_S_IP的构建方式可知,这些元素均是源地址区间r.sourAddr的一个子区间),并将其加入集合S_IP_TEMP;
3.对于同一个二元组(d,r)∈T,得到其目的地址区间r.destAddr,然后在D_IP_TEMP中进行查找所有与r.destAddr交集不为空的元素(根据目标地址细粒度IP地址区间集合D_IP_TEMP的构建方式可知,这些元素均是目的地址区间r.destAddr的一个子区间),并将其加入集合D_IP_TEMP;
4.对于同一个二元组(d,r)∈T,得到其源端口区间r.sourPort,然后在S_S_PT中进行查找所有与r.sourPort交集不为空的元素(根据源端口细粒度端口区间集合S_S_PT的构建方式可知,这些元素均是源端口区间r.sourPort的一个子区间),并将其加入集合S_PORT_TEMP;
5.对于同一个二元组(d,r)∈T,得到其源端口区间r.destPort,然后在S_D_PT中进行查找所有与r.destPort交集不为空的元素(根据目标端口细粒度端口区间集合S_D_PT的构建方式可知,这些元素均是目的端口区间r.destPort的一个子区间),并将其加入集合D_PORT_TEMP;
6.对于同一个二元组(d,r)∈T,得到其所针对的协议r.protocol,然后在S_PL中进行查找r.protocol的所有子孙节点,并将其加入集合PL_TEMP;
7.对于同一个二元组(d,r)∈T,得到其所针对的标记r.option,然后在S_OP中进行查找r.option的所有子孙节点,并将其加入集合OP_TEMP;
r=(action,sourAddr,destAddr,sourPort,destPort,protocol,option)
8.对于所有sourAddr∈S_IP_TEMP,destAddr∈D_IP_TEMP,sourPort∈S_PORT_TEMP,destPort∈D_PORT_TEMP,protocol∈PL_TEMP和option∈OP_TEMP,如果规则('permit',sourAddr,destAddr,sourPort,destPort,protocol,option)和规则('deny',sourAddr,destAddr,sourPort,destPort,protocol,option)均未在集合T'中任何元素所对应的规则中出现,则将二元组(nowNum,(r.action,sourAddr,destAddr,sourPort,destPort,protocol,option))加入集合T',之后将nowNum的值加1,并将规则(d,r)从集合T中删除,否则,直接将规则(d,r)从集合T中删除;
9.重复2-8步,处理所有二元组,然后执行T=T';
10.返回新的二元组集合T。
(4)网络路径配置安全分析算法
在针对网络安全目标和网络访问控制规则全部进行了统一描述后,即可对网络路径配置安全进行分析,其输入为当前分析的网络安全目标m=(sip,dip,sport,dport,protocol,option),当前网络数据流动拓扑图tg=(Ntg,Etg,Stg,Rtg,IVtgtgtgtg),以及待分析网络路径Psd={s,n1,n2,n3,…,nl-1,d},返回值为True(代表存在安全配置漏洞)或False(代表不存在安全配置漏洞),其主要过程如下:
1.根据网络路径Psd={s,n1,n2,n3,…,nl-1,d},顺序地提取网络路径Psd中的每一段链路(s,n1),(n1,n2),……,(nl-1,d);
2.对于任一段链路(nt-1,nt),计算其上面的访问控制策略集合τ(nt-1,nt);
3.对于任一r∈τ(nt-1,nt),如果m.sip=r.sourAddr且m.dip=r.destAddr且m.sport=r.sourPort且m.dport=r.destPort且m.protocol=r.protocol且m.option=r.option,则返回True,否则返回False。
实施例,本实施例提供面向分布式访问控制策略的配置弱点分析系统,包括:安全配置管理模块、网络数据流动拓扑管理模块、安全策略集中分析模块和网络基础信息数据库;
所述安全配置管理模块,用于从底层的网络安全设备上获得网络设备的安全配置;
所述网络数据流动拓扑管理模块,用于对用于网络端口连接、路由信息、交换信息等影响数据流动方式的信息进行综合管理,构建表示网络数据可能流动的网络数据流动拓扑图;
所述安全策略集中分析模块用于对网络安全语义信息进行解析,得到相应的网络数据流动关系和网络访问控制策略信息;基于获得的网络数据流动关系和网络访问控制策略信息对网络进行语义形式化定义,其中语义形式化定义包括对IP地址、IP地址区间、端口号、端口号区间、协议以及选项的形式化定义、对区间的运算定义、访问控制规则的形式化定义、网络安全目标形式化定义以及网络拓扑形式化定义;调用所述网络数据流动拓扑管理模块基于语义形式化定义构建目标网络的网络数据流动拓扑图;利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点;
所述网络基础信息数据库,用于存储从各类网络安全设备上提取的网络地址服务信息、数据流动策略和访问控制策略信息。
详细描述如下。
(1)安全策略集中分析模块
安全策略集中分析模块是整个系统的核心模块,主要通过调用其它子模块,从底层的网络安全设备上获得网络设备的配置,然后对其进行解析,得到网络地址服务信息、数据流动策略和访问控制策略信息,并调用相应的分布式访问控制策略弱点分析算法,得到可能的安全配置弱点,并进行报警。
(2)网络基础信息数据库
网络基础信息数据库主要负责存储从各类网络安全设备上提取的网络基础信息,主要包括网络地址服务信息、数据流动策略和访问控制策略信息。
网络地址服务信息主要包括网络上的包括设备、端口、服务、IP地址和IP子网等信息,其中设备表示网络设备,端口表示网络设备的物理端口或逻辑端口,服务表示网络服务,IP地址表示一个IP地址,IP子网表示一个IP子网。
数据流动策略信息主要表示控制数据在设备端口之间如何流动的策略信息,主要包括端口连接关系、路由策略和交换策略,用来表示哪些特定的数据流可以从一个端口流向另一个端口。
访问控制策略信息主要表示端口之间对数据流的阻止策略,即在数据流从一个端口向另一个端口流动时,会阻止哪些特定的数据流。
(3)网络数据流动拓扑生成模块
网络数据流动拓扑生成模块主要是生成网络数据流动拓扑,这个过程主要是对端口连接关系、路由策略和交换策略等影响数据流动方式的信息进行综合管理,从而得到一张完整表示网络数据可能流动的有向图,它在表示各个端口可能的IP地址和连接的IP子网的基础上,将有连接关系的端口通过有向边连接起来,形成一张可能的数据流动,从而形成一张数据流动层面的上的网络拓扑连接关系。
(4)安全配置管理模块
安全配置管理模块主要管理各个网络安全设备的安全配置,其主要是通过实时从管理的安全设备上采集安全配置,对其进行解析,得到可能的安全语义信息,可能的安全配置获取方式主要包含三类:一类是通过模拟Telnet、SSH等方式,通过用户名和密码,从设备上得到相应的配置;二是通过网络管理协议和配置管理协议,主要是SNMP、NETCONF等协议,直接或得到网络设备的相关配置信息;三是通过与第三方安全管理平台对接,直接得到相应的网络安全配置语义信息。
通过对安全配置的集中管理,可以对网络安全配置文件进行解析,得到对应的高级语义进行提取,提取相应的实体、实体关系和策略信息,存入基础数据信息数据库,然后得到相应的数据拓扑。
本发明中能够被管理的安全设备,主要包括交换机、路由器、防火墙、负载均衡设备等设备。
在以上实施例的基础上,进一步地所述系统还包括报警生成管理模块,
报警生成管理模块主要根据安全策略分析模块得到的可能的配置弱点,通过声光、短信、邮件等方式向管理员发出报警信息,该报警信息能够通过外部数据接口,融合到第三方安全管理平台之中。
需要说明是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,模块、装置或单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
网络安全策略的执行一般是依靠各类网络设备和网络安全防护设备所完成的,分布在不同安全设备上的访问控制策略,是否能够协同完成网络整体安全目标,是网络安全管理所关心的核心问题。传统的安全访问控制策略的冲突发现和冗余发现,一般针对部署在同一台设备上的多条访问控制规则进行,缺乏对分布在网络上的多个设备上的异构访问控制策略的集中管控和统一分析,难以满足对网络安全策略集中分析管理的需求。
本发明的目的是通过对分布在不同网络设备上的网络地址服务信息、数据流动策略和访问控制策略信息进行广泛收集的基础上,通过对网络安全目标、网络数据流动拓扑图和访问控制策略进行形式化定义,发现分布在不同设备上的访问控制策略中存在的配置弱点,从而达到发现网络配置中存在的安全问题的目的。相关的方法,能够直接应用到企业网络的安全策略管理上。相较于传统的安全策略集中管理方法,该方法不仅能够发现在同一设备上的策略冲突和策略冗余,而且能够发现网络整体安全策略设置与网络安全目标之间的差距,从而达到快速发现网络中可能的安全配置漏洞,提升网络安全防护水平的目的。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (8)

1.面向分布式访问控制策略的配置弱点分析方法,其特征在于,包括以下步骤:
从底层的网络设备上获得配置文件或配置信息;
对获得的网络设备的配置信息进行解析,得到网络地址服务信息、数据流动策略和访问控制策略信息;
基于获得的网络地址服务信息、数据流动策略和访问控制策略信息,对网络进行语义形式化定义,其中语义形式化定义包括对IP地址、IP地址区间、端口号、端口号区间、协议以及选项的形式化定义,对区间的运算定义,访问控制规则的形式化定义,网络安全目标形式化定义以及网络拓扑的形式化定义;
基于语义形式化定义构建目标网络的网络数据流动拓扑图;
利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点;
其中,网络拓扑形式化定义就是根据网络端口之间的可能的数据流动关系,建立相应的形式化的网络数据流动拓扑图,网络数据流动拓扑图被形式化为一个有向图TG=(N,E,S,R,IV,λ,δ,τ),其中N是网络上所有可能的端口集合,包括网络设备和终端设备的所有端口;E是有向边的集合,对于边e=(n1,n2),代表网络数据流可能从端口n1流向端口n2;S为网络服务的集合,表示网络上所有的服务,对于任意网络服务s∈S,有s=(ip,port,protocol),其中ip∈IPADDR,port∈PORT,protocol∈PROTOCOL;其中,IPADDR为所有合法的IP地址的集合,PORT集合包含从1到65535的所有整数,代表所有合法的端口号的集合,PROTOCOL为所有协议的集合,在不同的应用案例下,协议树可以根据访问控制粒度进行扩展;R为网络上所有访问控制策略的集合,对于任意r∈R,均是一条访问控制规则;IV为网络上端口各个直连网络的地址范围的集合,对于任意iv∈IV,均有iv∈IPINTERVAL;IPINTERVAL为所有可能的IP地址区间的集合,其中的每一个元素均表示为二元组;λ:N→2IV代表一个从节点到地址范围的映射,代表这个节点上所直连的所有子网的地址范围;δ:N→S代表一个从节点到服务的映射,代表某个节点上部署的服务;τ:E→2(D×R)代表一个从边到有序访问控制规则集合的映射,代表在这条边上部署的访问控制规则,其中D为自然数的集合,D×R代表自然数集合和安全策略集合的笛卡儿积,2D×R代表集合D×R的幂集,也就是集合D×R所有子集所构成的集合;
利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点的具体方法包括以下步骤:
步骤1:根据网络安全文档,建立相应的网络安全目标集合M;根据预先从各个网络设备和网络安全设备中得到的网络地址服务信息、数据流动策略和访问控制策略信息,建立目标网络的网络数据流动拓扑图tg=(Ntg,Etg,Stg,Rtg,IVtgtgtgtg);建立警告集合A,并将其置空,在所有算法的最后,将A做为算法最后的输出,其中Ntg是目标网络tg上所有可能的端口集合,包括网络设备和终端设备的所有端口;Etg是边的集合,所有的边为有向图,对于边e=(n1,n2),代表网络数据流可能从端口n1流向端口n2;Stg为目标网络tg服务的集合,表示网络上所有的服务,对于任意网络服务s∈Stg,有s=(ip,port,protocol),其中ip∈IPADDR,port∈PORT,protocol∈PROTOCOL;Rtg为网络上所有访问控制策略的集合,对于任意r∈Rtg,均是一条访问控制规则;IVtg为网络上端口各个直连网络的地址范围的集合,对于任意iv∈IVtg,均有iv∈IPINTERVAL;λtg代表一个从节点到地址范围的映射,代表这个节点上所直连的所有子网的地址范围;δtg:Ntg→Stg代表一个从节点到服务的映射,代表某个节点上部署的服务;τtg:/>代表一个从边到有序访问控制规则集合的映射,代表在这条边上部署的访问控制规则,其中Dtg为自然数的集合,Dtg×Rtg代表自然数集合和安全策略集合的笛卡儿积,/>代表集合Dtg×Rtg的幂集,也就是集合Dtg×Rtg所有子集所构成的集合;
步骤2:根据细粒度属性构建算法,建立细粒度属性,包括:源地址细粒度IP地址区间集合S_S_IP,目标地址细粒度IP地址区间集合S_D_IP,源端口细粒度端口区间集合S_S_PT,目标端口细粒度端口区间集合S_D_PT,协议细粒度集合S_PL,选项细粒度集合S_OP;
其中,所述细粒度属性构建算法包括:
1.初始化源地址细粒度IP地址区间集合目标地址细粒度IP地址区间集合源端口细粒度端口区间集合/>目标端口细粒度端口区间集合协议细粒度集合/>选项细粒度集合/>
2.建立源地址细粒度IP地址区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的源地址,并将其存储为t,即t=m.sip或t=r.sourAddr,然后如果/>则将t加入集合S_S_IP,否则逐一计算t和集合S_S_IP中的每一个元素s_s_ip的交集,如果t与所有元素的交集均为空,则将t加入集合S_S_IP,如果t与集合中某个元素s_s_ip的交集不为空,则将元素s_s_ip删除出集合S_S_IP,然后将元素t∩s_s_ip和s_s_ip-(t∩s_s_ip)分别加入集合S_S_IP;
3.建立目的地址细粒度IP地址区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的目的地址,并将其存储为t,即t=m.dip或t=r.destAddr,如果/>则将t加入集合S_D_IP,否则逐一计算t和集合S_D_IP中的每一个元素s_d_ip的交集,如果t与所有元素的交集均为空,则将t加入集合S_D_IP,如果t与集合中某个元素s_d_ip的交集不为空,则将元素s_d_ip删除出集合S_D_IP,然后将元素t∩s_d_ip和s_d_ip-(t∩s_d_ip)分别加入集合S_D_IP;
4.建立源端口细粒度端口区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的源端口,并将其存储为t,即t=m.sport或t=r.sourAddr,如果/>则将t加入集合S_S_PT,否则逐一计算t和集合S_S_PT中的每一个元素s_s_pt的交集,如果t与所有元素的交集均为空,则将t加入集合S_S_PT,如果t与集合中某个元素s_s_pt的交集不为空,则将元素s_s_pt删除出集合S_S_PT,然后将元素t∩s_s_pt和s_s_pt-(t∩s_s_pt)分别加入集合S_S_PT;
5.建立目标端口细粒度端口区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的目的端口,并将其存储为t,即t=m.dport或t=r.destAddr,如果/>则将t加入集合S_D_PT,否则逐一计算t和集合S_D_PT中的每一个元素s_d_pt的交集,如果t与所有元素的交集均为空,则将t加入集合S_D_PT,如果t与集合中某个元素s_d_pt的交集不为空,则将元素s_d_pt删除出集合S_D_PT,然后将元素t∩s_d_pt和s_d_pt-(t∩s_d_pt)分别加入集合S_D_PT;
6.建立协议细粒度集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的协议,并将其存储为t,即t=m.protocol或t=r.protocol,然后计算在协议树中t的子孙内的所有叶子节点,并将其加入集合S_PL;
7.建立选项细粒度集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的选项,并将其存储为t,即t=m.option或t=r.option,然后计算在协议树中t的子孙内的所有叶子节点,并将其加入集合S_OP;
步骤3:如果|M|>1,其中|M|代表集合M中元素的个数,则利用网络安全目标约减算法来对网络安全目标进行约减,约减后的网络安全目标重新构建为集合M;
其中,所述网络安全目标约减算法包括:
1.建立源地址区间集合目的地址区间集合/>源端口区间集合/>目的端口区间集合/>协议集合/>选项集合/>以及网络安全目标集合/>
2.针对每一个网络安全目标m∈M,得到其源地址区间m.sip,然后在S_IP_TEMP中进行查找所有与m.sip交集不为空的元素,并将其加入集合S_IP_TEMP;
3.对于同一条网络安全目标m∈M,得到其目的地址区间m.dip,然后在D_IP_TEMP中进行查找所有与m.dip交集不为空的元素,并将其加入集合D_IP_TEMP;
4.对于同一条网络安全目标m∈M,得到其源端口区间m.sport,然后在S_S_PT中进行查找所有与m.sport交集不为空的元素,并将其加入集合S_PORT_TEMP;
5.对于同一条网络安全目标m∈M,得到其目标区间m.dport,然后在S_D_PT中进行查找所有与m.dport交集不为空的元素,并将其加入集合D_PORT_TEMP;
6.对于同一条网络安全目标m∈M,得到其所针对的协议m.protocol,然后在S_PL中进行查找m.protocol的所有子孙节点,并将其加入集合PL_TEMP;
7.对于同一条网络安全目标m∈M,得到其所针对的标记m.option,然后在S_OP中进行查找m.option的所有子孙节点,并将其加入集合OP_TEMP;
8.对于所有sip∈S_IP_TEMP,dip∈D_IP_TEMP,sport∈S_PORT_TEMP,dport∈D_PORT_TEMP,pl∈PL_TEMP和op∈OP_TEMP,建立安全目标(sip,dip,sport,dport,pl,op),并将其加入集合M';
9.重复2-8步,处理所有安全目标,然后执行M=M';
步骤4:针对网络数据流动拓扑图上的每一条边etg∈Etg,如果|τ(etg)|>1,其中|τ(etg)|代表集合τ(etg)中元素的个数,则利用单链路访问控制规则约减算法来对其进行约减,得到新的τ(etg);
其中,单链路访问控制规则约减算法包括:
1.初始化二元组集合并建立源地址区间集合/>目的地址区间集合/>源端口区间集合/>目的端口区间集合/>协议集合/>选项集合/>当前规则编号nowNum=1;
2.选择二元组集合T中编号最小的二元组(d,r),得到其源地址区间r.sourAddr,然后在S_IP_TEMP中进行查找所有与r.sourAddr交集不为空的元素,并将其加入集合S_IP_TEMP;
3.对于同一个二元组(d,r)∈T,得到其目的地址区间r.destAddr,然后在D_IP_TEMP中进行查找所有与r.destAddr交集不为空的元素,并将其加入集合D_IP_TEMP;
4.对于同一个二元组(d,r)∈T,得到其源端口区间r.sourPort,然后在S_S_PT中进行查找所有与r.sourPort交集不为空的元素,并将其加入集合S_PORT_TEMP;
5.对于同一个二元组(d,r)∈T,得到其源端口区间r.destPort,然后在S_D_PT中进行查找所有与r.destPort交集不为空的元素,并将其加入集合D_PORT_TEMP;
6.对于同一个二元组(d,r)∈T,得到其所针对的协议r.protocol,然后在S_PL中进行查找r.protocol的所有子孙节点,并将其加入集合PL_TEMP;
7.对于同一个二元组(d,r)∈T,得到其所针对的标记r.option,然后在S_OP中进行查找r.option的所有子孙节点,并将其加入集合OP_TEMP;r=(action,sourAddr,destAddr,sourPort,destPort,protocol,option);
8.对于所有sourAddr∈S_IP_TEMP,destAddr∈D_IP_TEMP,sourPort∈S_PORT_TEMP,destPort∈D_PORT_TEMP,protocol∈PL_TEMP和option∈OP_TEMP,如果规则('permit',sourAddr,destAddr,sourPort,destPort,protocol,option)和规则('deny',sourAddr,destAddr,sourPort,destPort,protocol,option)均未在集合T'中任何元素所对应的规则中出现,则将二元组(nowNum,(r.action,sourAddr,destAddr,sourPort,destPort,protocol,option))加入集合T',之后将nowNum的值加1,并将规则(d,r)从集合T中删除,否则,直接将规则(d,r)从集合T中删除;
9.重复2-8步,处理所有二元组,然后执行T=T';
10.返回新的二元组集合T;
步骤5:对于网络安全目标集合M中的每一条安全目标m,分别对其进行分析,首先建立包含该条安全目标m的源地址的端口集合SNm,先将端口集合SNm置为空;然后逐一分析所有的端口,如果某个端口n对应的源地址λtg(n)与安全目标m的源地址存在交集,则将该端口增加到集合SNm;最后,建立与安全目标m的目的地址存在交集的所有端口集合DNm
步骤6:根据端口集合SNm和DNm,逐一建立从源端口sn∈SNm到目的端口dn∈DNm的所有路径集合Psn_dn,对于集合Psn_dn中的每一个元素psn_dn∈Psn_dn,均是一条由端口组成的路径,包括:(sn,n1,n2,…,nt-1,dn),其中n1,n2,…,nt-1∈Ntg
步骤7:对于路径集合中的每一条路径,根据网络路径配置安全分析算法来判断其是否符合当前安全目标m,如果其不符合当前安全目标,则将二元组(m,p)加入警告集合A,否则接着判断下一条路径;
其中,网络路径配置安全分析算法包括:
1.根据网络路径Psd={s,n1,n2,n3,…,nl-1,d},顺序地提取网络路径Psd中的每一段链路(s,n1),(n1,n2),……,(nl-1,d);
2.对于任一段链路(nt-1,nt),计算其上面的访问控制策略集合τ(nt-1,nt);
3.对于任一r∈τ(nt-1,nt),如果m.sip=r.sourAddr且m.dip=r.destAddr且m.sport=r.sourPort且m.dport=r.destPort且m.protocol=r.protocol且m.option=r.option,则返回True,否则返回False;
步骤8:所有流程结束后,输出警告集合A。
2.根据权利要求1所述的面向分布式访问控制策略的配置弱点分析方法,其特征在于,IPADDR为IP地址的集合,定义五个二元关系“>”、“=”、“<”、“≥”和“≤”,来表示两个IP地址的大小关系,如果一个以点分十进制表示的IP地址ip1,在去掉“.”后形成的数字大于另一个以点分十进制表示的IP地址ip1在去掉“.”后形成的数字,则有ip1>ip2,如果两个数字相等,则认为,ip1=ip2,如果前者小于后者,则有ip1<ip2;所述IP地址区间被定义为二元组<ip1,ip2>,其中ip1,ip2∈IPADDR且ip1<ip2;PORT为端口号集合,IPADDR定义五个二元关系“>”、“=”、“<”、“≥”和“≤”,分别表示两个端口号对应整数的大小关系;端口号区间被定义为二元组(p1,p2),其中p1,p2∈PORT且p1≤p2
3.根据权利要求1所述的面向分布式访问控制策略的配置弱点分析方法,其特征在于,协议的形式化定义包括定义所有协议的集合,协议的集合被表示为PROTOCOL,它表示预先构造完成的协议树上所有节点的集合;选项的形式化定义包括定义所有选项的集合,所有选项的定义被表示为OPTION,它表示预先构造完成的选项树上所有节点的集合。
4.根据权利要求1所述的面向分布式访问控制策略的配置弱点分析方法,其特征在于,区间的运算定义为两个区间的并、交或差,输入是两个IP地址区间或端口号区间,输出为一个IP地址区间或端口号区间的集合。
5.根据权利要求1所述的面向分布式访问控制策略的配置弱点分析方法,其特征在于,访问控制规则的形式化定义包括定义访问控制规则集合R,对于任意r∈R,被形式化定义为:r=(action,sourAddr,destAddr,sourPort,destPort,protocol,option),r表示对特定数据报文进行处理的方式,
其中action表示本规则是允许特定的数据报文通过还是拒绝特定的数据报文通过;sourAddr表示该规则处理的数据报文的源地址区间,有destAddr表示该规则处理的数据报文的目的地址区间,同样有/>sourPort表示该规则处理的数据报文的源端口区间,有/>destPort表示该规则处理的数据报文的目的端口区间,有/>protocol表示该规则处理的数据报文的协议,有/>option表示该规则处理的数据报文的特殊标记,它是所有可能标记中的一个子集,即有/>其中IPINTERVAL表示所有可能的IP地址区间的集合,PORTINTERVAL表示所有可能的端口号区间的集合,PROTOCOL表示所有协议的集合,OPTION表示所有选项的集合。
6.根据权利要求1所述的面向分布式访问控制策略的配置弱点分析方法,其特征在于,网络安全目标形式化定义就是定义网络安全目标集合M,对于任意网络安全目标m∈M,能够被形式化定义为:m=(sip,dip,sport,dport,protocol,option),其中sip表示该规则处理的数据报文的源地址区间,有dip表示该规则处理的数据报文的目的地址区间,同样有/>sport表示该规则处理的数据报文的源端口区间,有dport表示该规则处理的数据报文的目的端口区间,有/>protocol表示该规则处理的数据报文的协议,有/>option表示该规则处理的数据报文的特殊标记,它是所有可能标记中的一个子集,也就是有/>其中IPINTERVAL表示所有可能的IP地址区间的集合,PORTINTERVAL表示所有可能的端口号区间的集合,PROTOCOL表示所有协议的集合,OPTION表示所有选项的集合。
7.面向分布式访问控制策略的配置弱点分析系统,其特征在于,包括:安全配置管理模块、网络数据流动拓扑管理模块、安全策略集中分析模块和网络基础信息数据库;
所述安全配置管理模块,用于从底层的网络安全设备上获得网络设备的安全配置;
所述网络数据流动拓扑管理模块,用于对影响数据流动方式的网络数据流动关系信息进行综合管理,构建表示网络数据可流动的网络数据流动拓扑图,影响数据流动方式的网络数据流动关系信息包括网络端口连接、路由信息、交换信息;
所述安全策略集中分析模块用于对网络安全语义信息进行解析,获取安全规则信息;基于获得的网络数据流动关系信息和网络访问控制策略信息对网络数据流动进行语义形式化定义,其中语义形式化定义包括对IP地址、IP地址区间、端口号、端口号区间、协议以及选项的形式化定义,对区间的运算定义,访问控制规则的形式化定义,网络安全目标形式化定义以及网络拓扑形式化定义;调用所述网络数据流动拓扑管理模块基于语义形式化定义构建目标网络的网络数据流动拓扑图;利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点;
所述网络基础信息数据库,用于存储从各类网络安全设备上提取的网络地址服务信息、数据流动策略和访问控制策略信息;
其中,网络拓扑形式化定义就是根据网络端口之间的可能的数据流动关系,建立相应的形式化的网络数据流动拓扑图,网络数据流动拓扑图被形式化为一个有向图TG=(N,E,S,R,IV,λ,δ,τ),其中N是网络上所有可能的端口集合,包括网络设备和终端设备的所有端口;E是有向边的集合,对于边e=(n1,n2),代表网络数据流可能从端口n1流向端口n2;S为网络服务的集合,表示网络上所有的服务,对于任意网络服务s∈S,有s=(ip,port,protocol),其中ip∈IPADDR,port∈PORT,protocol∈PROTOCOL;其中,IPADDR为所有合法的IP地址的集合,PORT集合包含从1到65535的所有整数,代表所有合法的端口号的集合,PROTOCOL为所有协议的集合,在不同的应用案例下,协议树可以根据访问控制粒度进行扩展;R为网络上所有访问控制策略的集合,对于任意r∈R,均是一条访问控制规则;IV为网络上端口各个直连网络的地址范围的集合,对于任意iv∈IV,均有iv∈IPINTERVAL;IPINTERVAL为所有可能的IP地址区间的集合,其中的每一个元素均表示为二元组;λ:N→2IV代表一个从节点到地址范围的映射,代表这个节点上所直连的所有子网的地址范围;δ:N→S代表一个从节点到服务的映射,代表某个节点上部署的服务;τ:E→2(D×R)代表一个从边到有序访问控制规则集合的映射,代表在这条边上部署的访问控制规则,其中D为自然数的集合,D×R代表自然数集合和安全策略集合的笛卡儿积,2D×R代表集合D×R的幂集,也就是集合D×R所有子集所构成的集合;
利用分布式访问控制策略弱点分析算法,得到可能的安全配置弱点的具体方法包括以下步骤:
步骤1:根据网络安全文档,建立相应的网络安全目标集合M;根据预先从各个网络设备和网络安全设备中得到的网络地址服务信息、数据流动策略和访问控制策略信息,建立目标网络的网络数据流动拓扑图tg=(Ntg,Etg,Stg,Rtg,IVtgtgtgtg);建立警告集合A,并将其置空,在所有算法的最后,将A做为算法最后的输出,其中Ntg是目标网络tg上所有可能的端口集合,包括网络设备和终端设备的所有端口;Etg是边的集合,所有的边为有向图,对于边e=(n1,n2),代表网络数据流可能从端口n1流向端口n2;Stg为目标网络tg服务的集合,表示网络上所有的服务,对于任意网络服务s∈Stg,有s=(ip,port,protocol),其中ip∈IPADDR,port∈PORT,protocol∈PROTOCOL;Rtg为网络上所有访问控制策略的集合,对于任意r∈Rtg,均是一条访问控制规则;IVtg为网络上端口各个直连网络的地址范围的集合,对于任意iv∈IVtg,均有iv∈IPINTERVAL;λtg代表一个从节点到地址范围的映射,代表这个节点上所直连的所有子网的地址范围;δtg:Ntg→Stg代表一个从节点到服务的映射,代表某个节点上部署的服务;τtg:/>代表一个从边到有序访问控制规则集合的映射,代表在这条边上部署的访问控制规则,其中Dtg为自然数的集合,Dtg×Rtg代表自然数集合和安全策略集合的笛卡儿积,/>代表集合Dtg×Rtg的幂集,也就是集合Dtg×Rtg所有子集所构成的集合;
步骤2:根据细粒度属性构建算法,建立细粒度属性,包括:源地址细粒度IP地址区间集合S_S_IP,目标地址细粒度IP地址区间集合S_D_IP,源端口细粒度端口区间集合S_S_PT,目标端口细粒度端口区间集合S_D_PT,协议细粒度集合S_PL,选项细粒度集合S_OP;
其中,所述细粒度属性构建算法包括:
1.初始化源地址细粒度IP地址区间集合目标地址细粒度IP地址区间集合源端口细粒度端口区间集合/>目标端口细粒度端口区间集合协议细粒度集合/>选项细粒度集合/>
2.建立源地址细粒度IP地址区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的源地址,并将其存储为t,即t=m.sip或t=r.sourAddr,然后如果/>则将t加入集合S_S_IP,否则逐一计算t和集合S_S_IP中的每一个元素s_s_ip的交集,如果t与所有元素的交集均为空,则将t加入集合S_S_IP,如果t与集合中某个元素s_s_ip的交集不为空,则将元素s_s_ip删除出集合S_S_IP,然后将元素t∩s_s_ip和s_s_ip-(t∩s_s_ip)分别加入集合S_S_IP;
3.建立目的地址细粒度IP地址区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的目的地址,并将其存储为t,即t=m.dip或t=r.destAddr,如果/>则将t加入集合S_D_IP,否则逐一计算t和集合S_D_IP中的每一个元素s_d_ip的交集,如果t与所有元素的交集均为空,则将t加入集合S_D_IP,如果t与集合中某个元素s_d_ip的交集不为空,则将元素s_d_ip删除出集合S_D_IP,然后将元素t∩s_d_ip和s_d_ip-(t∩s_d_ip)分别加入集合S_D_IP;
4.建立源端口细粒度端口区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的源端口,并将其存储为t,即t=m.sport或t=r.sourAddr,如果/>则将t加入集合S_S_PT,否则逐一计算t和集合S_S_PT中的每一个元素s_s_pt的交集,如果t与所有元素的交集均为空,则将t加入集合S_S_PT,如果t与集合中某个元素s_s_pt的交集不为空,则将元素s_s_pt删除出集合S_S_PT,然后将元素t∩s_s_pt和s_s_pt-(t∩s_s_pt)分别加入集合S_S_PT;
5.建立目标端口细粒度端口区间集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的目的端口,并将其存储为t,即t=m.dport或t=r.destAddr,如果/>则将t加入集合S_D_PT,否则逐一计算t和集合S_D_PT中的每一个元素s_d_pt的交集,如果t与所有元素的交集均为空,则将t加入集合S_D_PT,如果t与集合中某个元素s_d_pt的交集不为空,则将元素s_d_pt删除出集合S_D_PT,然后将元素t∩s_d_pt和s_d_pt-(t∩s_d_pt)分别加入集合S_D_PT;
6.建立协议细粒度集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的协议,并将其存储为t,即t=m.protocol或t=r.protocol,然后计算在协议树中t的子孙内的所有叶子节点,并将其加入集合S_PL;
7.建立选项细粒度集合,即对于每一个网络安全目标m∈M或每一个可能的安全策略分别作以下计算:首先,计算该安全目标或安全策略的选项,并将其存储为t,即t=m.option或t=r.option,然后计算在协议树中t的子孙内的所有叶子节点,并将其加入集合S_OP;
步骤3:如果|M|>1,其中|M|代表集合M中元素的个数,则利用网络安全目标约减算法来对网络安全目标进行约减,约减后的网络安全目标重新构建为集合M;
其中,所述网络安全目标约减算法包括:
1.建立源地址区间集合目的地址区间集合/>源端口区间集合/>目的端口区间集合/>协议集合/>选项集合/>以及网络安全目标集合/>
2.针对每一个网络安全目标m∈M,得到其源地址区间m.sip,然后在S_IP_TEMP中进行查找所有与m.sip交集不为空的元素,并将其加入集合S_IP_TEMP;
3.对于同一条网络安全目标m∈M,得到其目的地址区间m.dip,然后在D_IP_TEMP中进行查找所有与m.dip交集不为空的元素,并将其加入集合D_IP_TEMP;
4.对于同一条网络安全目标m∈M,得到其源端口区间m.sport,然后在S_S_PT中进行查找所有与m.sport交集不为空的元素,并将其加入集合S_PORT_TEMP;
5.对于同一条网络安全目标m∈M,得到其目标区间m.dport,然后在S_D_PT中进行查找所有与m.dport交集不为空的元素,并将其加入集合D_PORT_TEMP;
6.对于同一条网络安全目标m∈M,得到其所针对的协议m.protocol,然后在S_PL中进行查找m.protocol的所有子孙节点,并将其加入集合PL_TEMP;
7.对于同一条网络安全目标m∈M,得到其所针对的标记m.option,然后在S_OP中进行查找m.option的所有子孙节点,并将其加入集合OP_TEMP;
8.对于所有sip∈S_IP_TEMP,dip∈D_IP_TEMP,sport∈S_PORT_TEMP,dport∈D_PORT_TEMP,pl∈PL_TEMP和op∈OP_TEMP,建立安全目标(sip,dip,sport,dport,pl,op),并将其加入集合M';
9.重复2-8步,处理所有安全目标,然后执行M=M';
步骤4:针对网络数据流动拓扑图上的每一条边etg∈Etg,如果|τ(etg)|>1,其中|τ(etg)|代表集合τ(etg)中元素的个数,则利用单链路访问控制规则约减算法来对其进行约减,得到新的τ(etg);
其中,单链路访问控制规则约减算法包括:
1.初始化二元组集合并建立源地址区间集合/>目的地址区间集合/>源端口区间集合/>目的端口区间集合/>协议集合/>选项集合/>当前规则编号nowNum=1;
2.选择二元组集合T中编号最小的二元组(d,r),得到其源地址区间r.sourAddr,然后在S_IP_TEMP中进行查找所有与r.sourAddr交集不为空的元素,并将其加入集合S_IP_TEMP;
3.对于同一个二元组(d,r)∈T,得到其目的地址区间r.destAddr,然后在D_IP_TEMP中进行查找所有与r.destAddr交集不为空的元素,并将其加入集合D_IP_TEMP;
4.对于同一个二元组(d,r)∈T,得到其源端口区间r.sourPort,然后在S_S_PT中进行查找所有与r.sourPort交集不为空的元素,并将其加入集合S_PORT_TEMP;
5.对于同一个二元组(d,r)∈T,得到其源端口区间r.destPort,然后在S_D_PT中进行查找所有与r.destPort交集不为空的元素,并将其加入集合D_PORT_TEMP;
6.对于同一个二元组(d,r)∈T,得到其所针对的协议r.protocol,然后在S_PL中进行查找r.protocol的所有子孙节点,并将其加入集合PL_TEMP;
7.对于同一个二元组(d,r)∈T,得到其所针对的标记r.option,然后在S_OP中进行查找r.option的所有子孙节点,并将其加入集合OP_TEMP;r=(action,sourAddr,destAddr,sourPort,destPort,protocol,option);
8.对于所有sourAddr∈S_IP_TEMP,destAddr∈D_IP_TEMP,sourPort∈S_PORT_TEMP,destPort∈D_PORT_TEMP,protocol∈PL_TEMP和option∈OP_TEMP,如果规则('permit',sourAddr,destAddr,sourPort,destPort,protocol,option)和规则('deny',sourAddr,destAddr,sourPort,destPort,protocol,option)均未在集合T'中任何元素所对应的规则中出现,则将二元组(nowNum,(r.action,sourAddr,destAddr,sourPort,destPort,protocol,option))加入集合T',之后将nowNum的值加1,并将规则(d,r)从集合T中删除,否则,直接将规则(d,r)从集合T中删除;
9.重复2-8步,处理所有二元组,然后执行T=T';
10.返回新的二元组集合T;
步骤5:对于网络安全目标集合M中的每一条安全目标m,分别对其进行分析,首先建立包含该条安全目标m的源地址的端口集合SNm,先将端口集合SNm置为空;然后逐一分析所有的端口,如果某个端口n对应的源地址λtg(n)与安全目标m的源地址存在交集,则将该端口增加到集合SNm;最后,建立与安全目标m的目的地址存在交集的所有端口集合DNm
步骤6:根据端口集合SNm和DNm,逐一建立从源端口sn∈SNm到目的端口dn∈DNm的所有路径集合Psn_dn,对于集合Psn_dn中的每一个元素psn_dn∈Psn_dn,均是一条由端口组成的路径,包括:(sn,n1,n2,…,nt-1,dn),其中n1,n2,…,nt-1∈Ntg
步骤7:对于路径集合中的每一条路径,根据网络路径配置安全分析算法来判断其是否符合当前安全目标m,如果其不符合当前安全目标,则将二元组(m,p)加入警告集合A,否则接着判断下一条路径;
其中,网络路径配置安全分析算法包括:
1.根据网络路径Psd={s,n1,n2,n3,…,nl-1,d},顺序地提取网络路径Psd中的每一段链路(s,n1),(n1,n2),……,(nl-1,d);
2.对于任一段链路(nt-1,nt),计算其上面的访问控制策略集合τ(nt-1,nt);
3.对于任一r∈τ(nt-1,nt),如果m.sip=r.sourAddr且m.dip=r.destAddr且m.sport=r.sourPort且m.dport=r.destPort且m.protocol=r.protocol且m.option=r.option,则返回True,否则返回False;
步骤8:所有流程结束后,输出警告集合A。
8.根据权利要求7所述的面向分布式访问控制策略的配置弱点分析系统,其特征在于,所述系统还包括报警生成管理模块,所述报警生成管理模块用于根据安全策略集中分析模块得到的可能的配置弱点进行报警。
CN202011338233.4A 2020-11-25 2020-11-25 面向分布式访问控制策略的配置弱点分析方法和系统 Active CN112448954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011338233.4A CN112448954B (zh) 2020-11-25 2020-11-25 面向分布式访问控制策略的配置弱点分析方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011338233.4A CN112448954B (zh) 2020-11-25 2020-11-25 面向分布式访问控制策略的配置弱点分析方法和系统

Publications (2)

Publication Number Publication Date
CN112448954A CN112448954A (zh) 2021-03-05
CN112448954B true CN112448954B (zh) 2023-09-08

Family

ID=74737623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011338233.4A Active CN112448954B (zh) 2020-11-25 2020-11-25 面向分布式访问控制策略的配置弱点分析方法和系统

Country Status (1)

Country Link
CN (1) CN112448954B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127904B (zh) * 2021-04-26 2021-12-28 北京中启赛博科技有限公司 一种访问控制策略智能优化系统及方法
CN114679290B (zh) * 2021-05-20 2023-03-24 腾讯云计算(北京)有限责任公司 一种网络安全管理方法及电子设备
CN113596033B (zh) * 2021-07-30 2023-03-24 深信服科技股份有限公司 访问控制方法及装置、设备、存储介质
CN115514586B (zh) * 2022-11-24 2023-03-21 河北纬坤电子科技有限公司 访问控制策略配置方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849497B1 (en) * 2006-12-14 2010-12-07 Athena Security, Inc. Method and system for analyzing the security of a network
CN107516040A (zh) * 2017-07-25 2017-12-26 中国人民解放军63928部队 一种基于数据控制流图的脆弱性特征分析和获取方法
CN109302310A (zh) * 2018-08-29 2019-02-01 中国人民解放军陆军工程大学 一种网络运维脆弱性分析方法
CN110838945A (zh) * 2019-11-15 2020-02-25 中国人民解放军陆军工程大学 基于权限依赖图的网络运维脆弱性分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849497B1 (en) * 2006-12-14 2010-12-07 Athena Security, Inc. Method and system for analyzing the security of a network
CN107516040A (zh) * 2017-07-25 2017-12-26 中国人民解放军63928部队 一种基于数据控制流图的脆弱性特征分析和获取方法
CN109302310A (zh) * 2018-08-29 2019-02-01 中国人民解放军陆军工程大学 一种网络运维脆弱性分析方法
CN110838945A (zh) * 2019-11-15 2020-02-25 中国人民解放军陆军工程大学 基于权限依赖图的网络运维脆弱性分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wei Bai et al..MDC-Checker: A novel network risk assessment framework for multiple domain configurations.《Computers & Security》.2019,390-395. *

Also Published As

Publication number Publication date
CN112448954A (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
CN112448954B (zh) 面向分布式访问控制策略的配置弱点分析方法和系统
Siddiqui et al. Analysis of KDD CUP 99 dataset using clustering based data mining
US20090097418A1 (en) System and method for network service path analysis
Antikainen et al. Denial-of-service attacks in bloom-filter-based forwarding
Albanese et al. Manipulating the attacker's view of a system's attack surface
JP5204581B2 (ja) 電子デバイスにおけるセキュリティルールの衝突を管理する方法、コンピュータプログラム、及びセキュリティルールの衝突を管理することが可能な電子デバイス
Sathya et al. Efficient anomaly detection and mitigation in software defined networking environment
Passito et al. AgNOS: A framework for autonomous control of software-defined networks
Pisharody et al. Security policy checking in distributed SDN based clouds
US20240089294A1 (en) Method and system for determining design and segmentation for robust network access security
Chen et al. Online hybrid traffic classifier for Peer-to-Peer systems based on network processors
Tan et al. How to protect key drones in unmanned aerial vehicle networks? An SDN-based topology deception scheme
Sharma et al. Self-healing topology for DDoS attack identification & discovery protocol in software-defined networks
US10389757B2 (en) Rule placement in network devices
Shao et al. Verifying policy-based routing at internet scale
Al-Musawi et al. Identifying OSPF LSA falsification attacks through non-linear analysis
CN117201365A (zh) 流量确定方法、装置、电子设备及存储介质
CN111698110B (zh) 一种网络设备性能分析方法、系统、设备及计算机介质
US20160226711A1 (en) Inference-based network route control
EP4231589A1 (en) Method and system for network topology obfuscation
Dzeparoska et al. SDX-based security collaboration: Extending the security reach beyond network domains
Zhao et al. K-core-based attack to the internet: Is it more malicious than degree-based attack?
Zhou et al. [Retracted] An Adaptive Authenticated Model for Big Data Stream SAVI in SDN‐Based Data Center Networks
Baltra et al. Ingress point spreading: A new primitive for adaptive active network mapping
Anbarsu et al. Software-Defined Networking for the Internet of Things: Securing home networks using SDN

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant