技术领域
本发明属于软件定义网络安全技术领域,尤其涉及一种网络安全策略冲突分解方法、系统、存储介质、设备。
背景技术
目前:软件定义网络(Software-Defined Network,SDN)通过打破控制和数据平面的垂直集成,提供了网络可编程的能力。意图驱动网络(Intent-Driven Networks,IDN)是在SDN基础上发展起来的一种新兴的网络范式。在IDN中,用户仅仅需要表达对网络服务的需求,而不需要关注具体网络技术实施的细节,便能使用户能够获得自动化和可靠的服务。换句话说,在IDN中,用户只需要关注“执行什么”,而不是“如何执行”。相比于SDN,IDN着眼于满足最终用户的业务诉求,能够自主实现从用户意图的收集、解析到自动下发的全过程,对网工依赖较少。同时其可闭环验证,实时动态更改的特性,相较SDN有更优的鲁棒性。IDN通过精细化的策略映射,改变了传统网络基于粗粒度KPI的网络配置,可提供细粒度的服务交付。意图是描述系统状态的一种声明性的方式,它是一组抽象的、声明性的和独立于供应商的规则。它从需求的角度抽象出网络的对象和功能。作为网络策略的最高级别的抽象,意图可以被转译为低级别的网络策略。网络策略是指导当前和未来目标、过程或行为的一组特定规则。网络中不同的策略有不同的抽象等级,策略抽象的等级与制定策略所需的技术知识层次有关。抽象级别从高到低的级别划分,网络策略可以分为以下五类:1)意图;2)服务等级协议(SLAs);3)事件-操作-条件(ECA)策略;4)低级别的配置策略;5)配置文件和手动或自动动作。策略的抽象等级不是一成不变的,在高级抽象策略的执行过程中,这些策略将被转译为一组系统可以执行的低级操作。访问控制策略是描述网络实体是否可以执行各种操作的规则,访问控制策略指定了哪些用户可以对哪些资源执行哪些操作。一条访问控制策略包括目标、条件和效果:目标描述策略指定的实体或资源;条件描述允许或不允许访问的条件;结果是特定的“拒绝”或“允许”操作。主要考虑用于网络安全防御的用户意图,通过转译用户意图来获得网络安全访问控制策略。虽然IDN的兴起迅速吸引了各界的眼光,但作为IDN的重要一环的意图验证技术,仍然没有一个完善的解决方案。现有的网络意图验证解决方案主要分为两种:冲突避免和运行时意图冲突的检测和解决。冲突避免主要解决用户通过基于意图的北向接口表达网络意图后,多个用户意图之间的冲突或用户意图与底层资源之间的冲突。运行时意图冲突的检测和解决是验证策略从南向接口下发到数据平面之后控制平面和数据平面的一致性。通过对数据包在数据平面转发时所经过的“实际路径”和控制面所制定的数据包应该经过的“正确路径”进行对比就是验证控制面和数据面的一致性的一种方法。
现有技术一基于Hicuts算法的安全策略冲突检测及消除方法。该发明包括:(1)使用Hicuts算法的分类方式,对安全策略进行分类,生成一颗关于规则的分类决策树;(2)对分类决策树的同一叶子节点的规则进行冲突检测,得到冲突检测结果。该方案的不足之处在于,虽然对于网络安全策略以五元组<源IP地址,目的IP地址,源端口,目的端口,协议>和对应动作(deny和allow)来表达,但在实际应用场景中,该网络安全策略表示方法丰富度不足,对网络安全策略冲突的考虑也不够全面。
现有技术二用于消解网络安全策略的方法、装置和系统。该发明实现冲突分解的具体流程为:(1)流规则控制装置接收到流规则策略时,对流规则进行基于别名的语义分析,从而形成流规则的别名的语义分析以形成流规则策略的别名规则集;(2)对流规则策略的别名规则集和当前规则的别名规则集进行对比,来判断是否存在冲突;该方案的不足之处在于,该方案主要利用别名规则集进行统一的策略冲突检测,来防止其他策略绕过安全规则,但对于发生策略冲突时的处理冲突处理方案不够完整,主要为丢弃策略操作。
通过上述分析,现有技术存在的问题及缺陷为:现有技术只是考虑简单场景或特定场景下的策略冲突分解,并未有针对意图驱动网络的意图冲突分解。正在发展中的意图驱动网络适用于多个场景,而意图的验证作为意图驱动网络中的关键一环,却并未有完善的解决方案,不利于意图驱动网络的发展。
解决以上问题及缺陷的难度为:
(1)实际网络场景是复杂多变的,而现有技术仿真场景则比较简单;
(2)使用意图驱动网络的人群水平参差不齐(如:初学小白、有一定技术知识人员、领域专家等),不同的用户由于认知不同,制定的网络策略质量亦不相同,增加了策略冲突分解的难度;
解决以上问题及缺陷的意义为:在意图驱动网络中,意图的收集、转译和验证、自动化实施、自发的优化补救及实时反馈构成闭环。意图的验证作为意图闭环中重要的一环,确保用户意图被网络准确执行,并给予用户执行结果的反馈。因此,针对真实、复杂网络场景的可用意图验证方案对于意图驱动网络的发展有着重要的意义。
发明内容
针对现有技术存在的问题,本发明提供了一种网络安全策略冲突分解方法、系统、存储介质、设备。
本发明是这样实现的,一种网络安全策略冲突分解方法,所述网络安全策略冲突分解方法包括:
采用语音、文本等多种输入的方式在应用层表达网络意图;
用户意图到网络策略四元组的转译、网络状态信息知识图谱化及基于策略四元组的冲突分解;
网络各种交换设备实现数据的转发;
定义控制器和网络设备之间的通信协议,意图使能层和数据转发层使用南向接口进行通信。
进一步,所述用户意图到网络策略四元组的转译、网络状态信息知识图谱化及基于策略四元组的冲突分解执行:
使用自然语言处理方法将用户的高级别策略抽象——意图,转译为低级别的抽象策略四元组,来供策略冲突消解模块进行策略冲突的消解;
将意图转译模块转译的到的策略四元组以元组的形式分别进行策略冲突的消解;
将一个网络的物理网络信息构造成一个基于图的知识网络。
进一步,所述策略四元组具体为:
进一步,所述组为:一个组代表一系列具有相同属性的网络节点,如处于同一区域的交换机或属于同一个部门的所有网络设备。
进一步,所述将意图转译模块转译的到的策略四元组以元组的形式分别进行策略冲突的消解,基于策略四元组进行单独的冲突分解包括:
步骤一:对策略冲突类型进行分类,有两个不同的网络策略P
步骤二:当用户表达了多个意图时,策略冲突分解模块将基于网络信息知识图谱将每个策略的源节点组和目的节点组划分为最小的节点组;最小的组在网络中也具有同样的属性,但是不能被继续细分,此时原始策略四元组被表示为新的四元组,新四元组策略的其他元组保留原始四元组策略的内容不变;
步骤三:通过将所有SrcGroup和DstGroup分解为最小的组,所有相交的
步骤四:将所有策略四元组转换为最小的不可再划分的组后,将遍历策略存储库中的四元组策略,如果任意两个策略具有相同的
四种策略冲突分别为:
SrcGroup相交:
DstGroup相交:
SrcGroup、DstGroup均相交:
SrcGroup、DstGroup均相离:
步骤一:确定两种合并算法:
允许优先算法permit-overrides;
拒绝优先算法deny-overrides;
步骤二:当发生冲突时,这两种算法的决策结果不同,一种优先取值为permit,另一种优先取值为deny,并且二者存在交集关系;
步骤三:当发生冗余时,这两种情况的决策结果相同,两种取值同为permit或同为deny,并且二者存在包含关系;
步骤四:在发生强冲突情况时,根据用户选择合并算法进行合并,若未指定使用哪种方法,则出于网络安全的考虑,默认使用拒绝优先算法;
步骤五:考虑到组合约束对策略约束具有最高级别,最后还需要将组合约束与Filter进行合并,组合约束中确定Deny的端口号不允许出现在Filter中;
步骤一:记录网络功能盒的数量及其各自的优先级及原服务链组合顺序;
步骤二:选定SrcGroup和DstGroup;
步骤三:从SrcGroup出发根据优先级顺序,选择途径的功能盒,功能盒优先级越高,越先通过;
步骤四:回到从SrcGroup出发根据优先级顺序,选择途径的功能盒,功能盒优先级越高,越先通过,再次迭代,直到获取所有可能的路径;
步骤五:若有多条路径,根据原服务链顺序匹配度高低选择合适的服务链;
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
采用语音、文本等多种输入方式在应用层表达网络意图;
用户意图到网络策略四元组的转译、网络状态信息知识图谱化及基于策略四元组的冲突分解;
网络各种交换设备实现数据的转发;
定义控制器和网络设备之间的通信协议,意图使能层和数据转发层使用南向接口进行通信。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
采用语音、文本等多种输入方式在应用层表达网络意图;
用户意图到网络策略四元组的转译、网络状态信息知识图谱化及基于策略四元组的冲突分解;
网络各种交换设备实现数据的转发;
定义控制器和网络设备之间的通信协议,意图使能层和数据转发层使用南向接口进行通信。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的网络安全策略冲突分解方法。
本发明的另一目的在于提供一种实施所述网络安全策略冲突分解方法的网络安全策略冲突分解系统,所述网络安全策略冲突分解系统包括:
应用层,用于为用户以多种形式表达网络意图;
意图使能层,用于实现用户意图到网络策略四元组的转译、网络状态信息知识图谱化及基于策略四元组的冲突分解功能;
数据转发层,由网络中各种交换设备组成,用于完成数据的转发功能;
意图北向接口,位于应用层和意图使能层之间,意图北向接口隐藏了网络对象和服务的底层细节,用于允许用户以声明性的方式而不是命令的方式表达他们的意图;
南向接口,用于定义控制器和网络设备之间的通信协议;意图使能层和数据转发层使用南向接口进行通信。
进一步,所述意图使能层包括:
意图转译模块,用于使用自然语言处理方法将用户的高级别策略抽象——意图,转译为低级别的抽象策略四元组,供策略冲突消解模块进行策略冲突的消解;
意图冲突消解模块,用于将意图转译模块转译的到的策略四元组以元组的形式分别进行策略冲突的消解;
基于知识图谱的网络状态信息存储模块,用于将一个网络的物理网络信息构造成一个基于图的知识网络。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明借助现有意图转译技术将用户意图转译为策略四元组,然后通过按照一定的顺序对四元组的每个元组进行冲突分解来达到整体冲突消解的目的。在我们的冲突消解方法中,通过使用结构化的策略四元组进行冲突消解,降低了多用户意图冲突消解的难度。此方法中,网络安全策略四元组为:
本发明一个网络安全策略四元组来提供网络策略的结构化表示,该四元组的形式为
本发明在基于策略四元组的意图驱动的网络安全策略冲突分解方法中,通过使用结构化的策略四元组解决意图冲突,降低了多用户意图冲突解决的难度。同时,使用知识图谱对物理网络信息进行表示,网络信息知识图谱作为策略冲突分解策略的输入而存在。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的网络安全策略冲突分解方法、系统、存储介质、设备;
图2是本发明实施例提供的网络安全策略冲突分解系统的结构示意图;
图中:1、应用层;2、意图使能层;3、数据转发层;4、意图北向接口;5、南向接口。
图3是本发明实施例提供的网络信息知识图谱示例图。
图4是本发明实施例提供的构造的校园应用场景示例图。
图5是本发明实施例提供的在校园应用场景下使用冲突解决方法对构造的冲突策略集进行冲突分解后的结果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种网络安全策略冲突分解方法、系统、存储介质、设备,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的网络安全策略冲突分解方法包括以下步骤:
S101:用户以多种形式表达网络意图;
S102:实现用户意图到网络策略四元组的转译、网络状态信息知识图谱化及基于策略四元组的冲突分解等功能;
S103:网络中各种交换设备完成数据的转发功能;
S104:意图北向接口隐藏了网络对象和服务的底层细节,允许用户以声明性的方式而不是命令的方式来表达他们的意图;
S105:定义控制器和网络设备之间的通信协议;意图使能层和数据转发层使用南向接口进行通信。
本发明提供的网络安全策略冲突分解方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的网络安全策略冲突分解方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的网络安全策略冲突分解系统包括:
应用层1,主要为用户以多种形式表达网络意图。
意图使能层2,主要实现用户意图到网络策略四元组的转译、网络状态信息知识图谱化及基于策略四元组的冲突分解等功能。
数据转发层3,由网络中各种交换设备组成,完成数据的转发功能。
意图北向接口4,位于应用层和意图使能层之间,意图北向接口隐藏了网络对象和服务的底层细节,允许用户以声明性的方式而不是命令的方式来表达他们的意图。
南向接口5,用于定义控制器和网络设备之间的通信协议。意图使能层和数据转发层使用南向接口进行通信。
意图使能层2主要包括:
意图转译模块,使用自然语言处理方法将用户的高级别策略抽象——意图,转译为低级别的抽象策略四元组,来供策略冲突消解模块进行策略冲突的消解。
意图冲突消解模块,将意图转译模块转译的到的策略四元组以元组的形式分别进行策略冲突的消解。
基于知识图谱的网络状态信息存储模块,将一个网络的物理网络信息构造成一个基于图的知识网络。为了维护作为一个组的策略(组代表一组具有相同属性的网络节点),网络中的组被视为一个实体,属性描述了组的特征。另一方面,关系侧重于网络组的组之间的从属关系(例如,一个组从属于一个更大的组)。网络信息知识图谱随着网络信息的变化而不断更新。本发明针对意图驱动网络中多用户意图之间可能存在冲突问题,提出了一种基于策略四元组的意图驱动网络的安全策略冲突分解方案。在具体实施时,其工作模式为:
用户在应用层表达网络意图,应用层和意图使能层通过意图北向接口进行通信。意图使能层的意图转译模块通过意图北向接口接收用户意图,并将用户意图转译成网络策略四元组。冲突分解模块对多个网络策略四元组执行一致性校验和冲突分解并输出一组无冲突的网络安全策略,最终,具有一致性的无冲突的网络安全策略集将通过南向接口(SBI)转发到数据转发层。
本发明冲突分解模块的具体实现步骤如下:
(1)基于策略库中的策略四元组,对每个元组进行单独的冲突分解。
将
对
对
对
(2)基于网络信息知识图谱将所有策略的将所有SrcGroup和DstGroup分解为最小的组,此时所有相交的
(3)遍历策略存中储库中的所有四元组策略,若有任意两个策略具有相同的
(4)
对于具有相同
(5)
确定两种合并算法:允许优先算法或拒绝优先算法。
若选择允许优先算法,则当发生冲突时,优先取值为permit,否则,优先取值为deny。
当发生冗余时,这两种情况的决策结果相同,两种取值同为permit或同为deny。
在发生强冲突情况时,根据用户选择合并算法进行合并,若未指定使用哪种方法,则出于网络安全的考虑,默认使用拒绝优先算法。
在组合约束合并完成后,还需要将组合约束与
对各种各样的网络功能盒的组合优先级进行预定义。
对需要组合的服务链中包含的网络功能盒根据定义的优先级进行拓扑排序,确定新服务链的网络功能盒的顺序。
若获得的新服务链不唯一,选择与原服务链匹配度最高的一条作为新的服务链。
下面结合附图对本发明的技术方案作进一步的描述。
如图3和图4所示。
本发明的意图使能层主要包括:
意图转译模块,使用自然语言处理方法将用户的高级别策略抽象——意图,转译为低级别的抽象策略四元组,来供策略冲突消解模块进行策略冲突的消解。
图冲突消解模块,将意图转译模块转译的到的策略四元组以元组的形式分别进行策略冲突的消解。
基于知识图谱的网络状态信息存储模块,将一个网络的物理网络信息构造成一个基于图的知识网络。为了维护作为一个组的策略(组代表一组具有相同属性的网络节点),网络中的组被视为一个实体,属性描述了组的特征。另一方面,关系侧重于网络组的组之间的从属关系(例如,一个组从属于一个更大的组)。网络信息知识图谱随着网络信息的变化而不断更新。
本发明的策略四元组具体为:
本发明的组的概念为:
一个组代表一系列具有相同属性的网络节点,如处于同一区域的交换机或属于同一个部门的所有网络设备。
本发明的基于知识图谱的网络状态信息存储模块具体为:
为解决组粒度下的策略冲突问题,系统需要为冲突消解模块提供物理网络真实状态的信息。例如,网络中节点属性的划分(即哪些网络节点属于同一个区域或具有相同的属性)。由于我们的策略冲突解决方案用于网络初始阶段的初始网络安全策略部署,因此这些先验信息是可以获得的。我们使用知识图谱来提供物理网络信息的结构化表示。使用知识图谱和图数据库,策略冲突消解模块可以快速查询网络信息。
本发明多意图冲突的一致性校验方法,冲突消解模块基于策略四元组进行单独的冲突消解,包括:
本发明冲突消解模块中的
步骤一:对策略冲突类型进行分类。假设有两个不同的网络策略P
步骤二:当用户表达了多个意图时,策略冲突分解模块将基于网络信息知识图谱将每个策略的源节点组和目的节点组划分为最小的节点组。最小的组在网络中也具有同样的属性,但是不能被继续细分,此时原始策略四元组被表示为新的四元组。新四元组策略的其他元组保留原始四元组策略的内容不变。
步骤三:通过将所有SrcGroup和DstGroup分解为最小的组,所有相交的
步骤四:将所有策略四元组转换为最小的不可再划分的组后,将遍历策略存储库中的四元组策略,如果任意两个策略具有相同的
本发明的四种策略冲突分别为:
SrcGroup相交:
DstGroup相交:
SrcGroup、DstGroup均相交:
SrcGroup、DstGroup均相离:
本发明的冲突消解模块中的
网络端口过滤器是允许网络数据包通过的端口号的集合,对于具有相同
冲突消解模块中的
对于具有相同
利用韦恩图法,根据集合之间的交并关系检测和消除组合约束的冗余与冲突。由于相离的两集合的数据(即不重叠的匹配空间)不会发生冲突或冗余,因此仅需针对相交的情形进行讨论。冲突或冗余存在两种形式:真包含和部分相交。
本发明的
步骤一:确定两种合并算法:
允许优先算法(permit-overrides);
拒绝优先算法(deny-overrides)。
步骤二:当发生冲突时,这两种算法的决策结果不同,一种优先取值为permit,另一种先取值为deny,并且二者存在交集关系;
步骤三:当发生冗余时,这两种情况的决策结果相同,两种取值同为permit或同为deny,并且二者存在包含关系。
步骤四:在发生强冲突情况时,根据用户选择合并算法进行合并,若未指定使用哪种方法,则出于网络安全的考虑,默认使用拒绝优先算法。
步骤五:考虑到组合约束对策略约束具有最高级别,最后还需要将组合约束与Filter进行合并,组合约束中确定Deny的端口号不允许出现在Filter中。
本发明的冲突消解模块中的
SFC由一个或多个服务功能盒组成,当两条策略进行合并时,需要考虑如何来安排新策略服务链的中间件的顺序来组合成新的服务链。通过对网络功能盒如:防火墙(FW)、入侵检测(ID)、负载均衡(LB)、字节计数(BC)、深度包检测(DPI)等的网络功能盒行为的解析,定义其组合优先级,来更好的组合统一的服务链。
对已定义优先级的网络功能盒使用启发式算法进行拓扑排序,最终的服务顺序是通过对依赖关系进行拓扑排序来确定的。根据定义的优先级进行拓扑排序,拓扑排序结果可能不是唯一的。所以当存在多个可能的顺序时,选择一个与原服务链顺序匹配度最高的服务链。
本发明的
步骤一:记录网络功能盒的数量及其各自的优先级及原服务链组合顺序;
步骤二:选定SrcGroup和DstGroup;
步骤三:从SrcGroup出发根据优先级顺序,选择途径的功能盒,功能盒优先级越高,越先通过;
步骤四:回到第3步,再次迭代,直到获取所有可能的路径;
步骤五:若有多条路径,根据原服务链顺序匹配度(即尽量不改变需要合并的服务链顺序)高低选择合适的服务链。
下面结合实验对本发明的技术效果作详细的描述。
现有一个校园场景,如图4所示。根据网络设备的功能,校园被划分为学院和服务两个组:学院包括学院A1,A2,B1,B2和D;服务包括Web,DB和DNS服务。根据网络设备组的地理位置,划分为Build1和Build2:ZoneA和ZoneB位于Build1中,ZoneC和ZoneD位于Build2中。同时,学院A1和A2位于ZoneA,学院B1和B2位于ZoneB,Web,DB和DNS位于ZoneC,学院D位于ZoneD。
现有以下存在冲突的五条网络策略:
使用Neo4j(图形数据库)存储物理网络信息,以供策略冲突解决模块查询网络信息。同时,使用Python实现了冲突解决算法,并在Python编译器上运行它。校园场景知识图谱如图3所示。在通过冲突解决模块分解了上述冲突策略集之后,图5所示的结果证明了冲突解决方案的有效性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
机译: 冲突管理程序,用于冲突管理程序存储的存储介质,冲突管理方法和用于终端设备的电子设备
机译: 冲突管理程序,用于冲突管理程序存储的存储介质,冲突管理方法和电子设备
机译: 能够防止集成在终端设备中的各种活动无线电调制解调器之间的通信冲突的终端设备;用于避免终端设备中集成的活动无线电调制解调器的多样性之间的通信冲突的方法;计算机程序产品,包括有用的计算机通信介质,该计算机通信介质具有并入该通信介质中的计算机可读程序代码,以避免集成在终端设备内的多个活动无线电调制解调器之间的通信冲突;用于防止终端设备中集成的各种活动无线电调制解调器之间的通信冲突的系统;芯片组,用于在终端设备的组件之间传输对时间敏感的信息;和方法,用于将延迟敏感信息与发送方设备上的原始创建时间相关联