[发明专利]面向分布式访问控制策略的配置弱点分析方法和系统有效
申请号: | 202011338233.4 | 申请日: | 2020-11-25 |
公开(公告)号: | CN112448954B | 公开(公告)日: | 2023-09-08 |
发明(设计)人: | 白玮;陈哲;潘志松;张睿;王彩玲;张磊;蒋考林 | 申请(专利权)人: | 中国人民解放军陆军工程大学 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L41/0869;H04L41/12;H04L41/14 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 朱远枫 |
地址: | 210007 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 分布式 访问 控制 策略 配置 弱点 分析 方法 系统 | ||
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,IVtg,λtg,δtg,τtg);建立警告集合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。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军陆军工程大学,未经中国人民解放军陆军工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011338233.4/1.html,转载请声明来源钻瓜专利网。