法律状态公告日
法律状态信息
法律状态
2020-07-24
授权
授权
2019-02-12
实质审查的生效 IPC(主分类):H04L29/06 申请日:20180724
实质审查的生效
2019-01-11
公开
公开
技术领域
本发明属于网络安全领域,具体是一种网间互联安全控制策略规则映射方法。
背景技术
现有天地一体化网络军民共用,但是网络安全域差异化大,导致网间互联安全控制难度大。通过网间互联安全控制策略达到细粒度安全保护和防御是一种有效的手段。而网间互联安全控制策略是基于人的认知、风险评估和脆弱性分析而设计的,并没有联系到具体的设备、设备形态、软件以及数据等能够操作的层面,为了落实网间互联安全控制策略具体到可以操作的规则,需要提出有效智能的、自动从网间互联安全控制策略到控制规则的映射方法。
各类网络服务与控制策略日益复杂化,与其相对应的策略与规则也层出不穷。如何完成策略与规则的映射及管理是网络安全业务的一个关键任务。规则引擎系统便是完成业务逻辑与规则快速变换的理想方案,它将业务逻辑的表达与执行相分离,业务逻辑以业务规则的形式表示,业务流程以业务规则的执行来完成,使业务逻辑的改变不会相应引起系统本身的修改,从而满足业务快速调整的实际需求。
业务规则是各种决策被有效执行的系统保障。但是目前对业务规则的管理还存在一些亟待改进和优化之处,如业务规则与系统功能硬绑定,业务规则多而杂,业务规则描述自由、不统一。这种管理方式会导致一系列的问题,如难配置、难维护、难扩展、难定制、难复用、难管控和难理解等。
发明内容
本发明针对网间互联的实际需求,并考虑上述难点和痛点,提出了一种网间互联安全控制策略规则映射方法;应用于天地一体化网络信息安全保障体系,能够支撑网间互联细粒度安全控制,具有实现从安全控制策略到安全规则的自动映射。
具体步骤如下:
步骤一、构建映射处理体系架构,从上到下依次分布表现层、映射匹配层和规则生成层;
表现层包括策略编辑模块和状态反馈两个模块。
策略编辑模块是指:首先,自定义一套符合巴科斯范式的安全控制策略语法,业务员编辑符合该语法的安全控制策略。
状态反馈对无法完成映射的安全控制策略进行错误提示。
映射匹配层对表现层的安全控制策略进行语义分析及映射,并将安全控制策略转化为XML形式的安全规则;具体包括:词法分析模块,语法分析模块,对象映射数据库,语义分析模块及安全规则范式匹配模块。
词法分析模块对安全控制策略以字符流的形式进行扫描,根据构词规则识别单词和符号,生成单词序列;
语法分析模块是指:首先,根据自定义的安全控制策略语法生成自定义的抽象语法树AST的结构;然后,语法分析模块识别由词法分析模块给出的单词符号序列是否符合自定义的安全控制策略语法,若是则将自定义的AST结构生成一个具体的AST,否则执行异常上报;
对象映射数据库中存储子网名称与子网网段的映射关系,完成子网名称向网段的映射后,进行语义分析。
语义分析模块是对结构正确的具体AST进行上下文有关性质与约束的审查,从而生成带有语义的AST。
安全规则范式匹配模块将带有语义的AST转化为XML形式的安全规则;
规则生成层包含一个安全规则生成器,将XML形式的安全规则转化为一条或多条可执行的规则代码或命令。
步骤二、在映射匹配层的对象映射数据库中完成子网名称到子网网段的映射;
步骤三、业务工作人员在表现层的策略编辑模块的界面进行策略编辑,编辑好后生成待部署的安全控制策略;
步骤四、词法分析模块以字符流的形式读取待部署的安全控制策略,将字符序列转换为单词序列,发送到语法分析模块;
步骤五、语法分析模块识别单词序列中的关键词,依据自定义的安全控制策略语法将符合该语法的关键词生成对应的短语;同时依据自定义的AST结构对短语执行读取操作,将读取到的内容填入自定义的AST结构中对应的节点,从而生成对应的具体AST;
步骤六、语义分析模块根据对象映射数据库中建立的映射将子网名称映射成网段值,替换具体AST中子网名称节点的内容,然后审查各节点内容是否符合规范性,如果是,则生成最终的带有语义的AST,执行步骤七,否则,向状态反馈模块发送异常信息,执行步骤八;
步骤七、安全规则范式匹配模块通过读取最终带有语义的AST节点的内容,将最终带有语义的AST转化为XML形式的安全规则,若匹配成功则执行步骤九,若失败则发送反馈消息给状态反馈模块,执行步骤八;
步骤八、状态反馈模块对收到的反馈消息进行处理,提示业务工作人员,返回步骤三对待部署的安全控制策略重新编辑;
步骤九、规则生成层的安全规则生成器根据具体应用场景需要提供的规则服务,将XML形式的安全规则转化为一条或多条可执行的规则代码或命令,若成功则完成待部署的安全控制策略到规则的映射,否则发送反馈消息给反馈模块,执行步骤八。
本发明的优点在于:
1)、一种网间互联安全控制策略规则映射方法,把网间互联安全控制策略具体落实到可以操作的规则,使业务工作人员只需在UI界面完成策略编辑而不需要考虑底层的策略执行过程,解决了业务工作人员对规则难配置、难维护、难管控和难理解等问题,实现了一种简单有效的管理方式。
2)、一种网间互联安全控制策略规则映射方法,采用分层次的体系架构,将业务逻辑和业务执行过程分离,业务规则多而杂但不会影响到业务执行过程,实现了对业务规则的扩展和复用。
附图说明
图1为本发明一种网间互联安全控制策略规则映射方法流程图;
图2为本发明安全控制策略规则映射结构;
图3为本发明映射匹配层结构图;
图4为本发明抽象语法树结构示意图;
图5为本发明实施用例对应的语法树的构建过程示意图;
图6为本发明实施用例对应生成的语法树示意图。
具体实施方式
下面将结合附图对本发明作进一步的详细说明。
本发明一种网间互联安全控制策略规则映射方法,所讨论的安全控制策略可看作一种应用于安全领域的业务规则,而安全规则是安全控制策略对应的目标规则。通过巴科斯范式对安全控制策略进行定义,词法分析、语法分析、语义分析及安全规则范式匹配完成安全控制策略向XML形式安全规则的转换,最后借助安全规则生成器生成与目标服务匹配的可执行安全规则的命令或代码。
本发明采用分层的体系架构设计,将映射处理过程分为三层:表现层、映射匹配层和规则生成层。表现层在最上面,规则生成层在最下面,三层组成一个整体,适用于网间互联安全控制;表现层采用巴科斯范式对安全控制策略进行描述,安全控制策略是种类语言,是格式化的,有一定语法;映射匹配层对表现层的安全控制策略进行词法、语法及语义分析,借助于对象映射关系数据库对单词序列进行映射,并执行与安全规则范式匹配,生成初级安全规则,初级安全规则是用XML描述的;规则生成层依据初级安全规则生成可执行的安全规则命令或代码;安全规则命令可以是安全网关中的五元组;安全规则命令的生存可以依据目标规则的形式而变化。
各层完成独立的任务,逐层转化,最后完成安全规则的映射生成工作。这种分层的方式在复用与扩展方面优势尤其突出。如对于安全控制策略不变而目标规则服务改变的情况,依据本发明所提方法构建的映射程序,其表现层与映射匹配层不需改动,只修改规则生成层即可。
如图1所示,具体步骤如下:
步骤一、构建映射处理体系架构,从上到下依次分布表现层、映射匹配层和规则生成层;
如图2所示,业务工作人员可能深刻了解安全控制策略的表示方式与含义,但可能并不知道如何将安全控制策略转化为形式化程度较高的安全规则。为此,本发明面向业务人员提供了友好的表现层模块,业务人员只需在表现层保证安全控制策略的正确书写,而复杂的安全控制策略向安全规则的映射转换工作交由映射匹配层和规则生成层完成,无需在表现层考虑。
表现层自定义实现UI操作界面和状态反馈机制,具体包括策略编辑模块和状态反馈两个模块。
策略编辑模块是指:首先,自定义一套符合巴科斯范式(BNF)的安全控制策略语法,业务人员使用满足安全控制策略语法的类自然语言完成安全控制策略编辑任务。
安全控制策略的巴科斯范式(BNF)描述如下所示。
<StrategyDef>::=<Condition><DoAction>
<Condition>::=[from{<Obj>}][to{<Obj>}][protocol<Num>]
<Obj>::=[SUBNETNAME][port<Num>|<[Num:Num]>]
<Num>::=<Digit>|<Num><Digit>
<Digit>::=0|1|2|3|4|5|6|7|8|9
<DoAction>::=<Type><Action>
<Type>::=one-way|two-way
<Action>::=accept|drop
StrategyDef表示定义一条安全控制策略,其由两部分结构组成:Condition和DoAction。Condition表示安全控制策略的条件部分,其由三部分组成:源头,目的地和协议号;此三部分均可缺省;其中,Obj表示的是一个带有端口约束条件的子网;DoAction表示安全控制策略的动作执行部分,由Type和Action两部分组成;Type表示Condition的方向,有one-way和two-way两个选项可选,one-way表示由源头向目的地单向执行Action,two-way表示两个子网双向均执行Action;Action为安全控制策略的动作,accept表示接受,即满足定义的条件时执行放行动作,drop表示丢弃,即满足定义条件时执行拒绝、丢弃动作。
状态反馈对无法完成映射的安全控制策略进行错误提示。
映射匹配层对表现层的安全控制策略进行语义分析及映射,并将安全控制策略转化为XML形式的安全规则;结构如图3所示,具体包括:词法分析模块,语法分析模块,对象映射数据库,语义分析模块及安全规则范式匹配模块。
词法分析模块基于LEX词法分析工具实现对安全控制策略以字符流的形式进行扫描,根据构词规则识别单词和符号,生成单词序列;
语法分析模块于BISON语法分析工具实现,首先,根据自定义的安全控制策略语法生成自定义的抽象语法树AST的结构;然后,语法分析模块识别由词法分析模块给出的单词符号序列是否符合自定义的安全控制策略语法,若是则将自定义的AST结构生成一个具体的AST,否则执行异常上报;
AST是语法结构的树状表现形式,它可以更有层次地表示安全控制策略语法结构。本实施例中所使用的抽象语法树结构如图4所示:
其中,树的根节点为strategy,表示这是一个安全控制策略的语法树。左支的condition节点表示安全控制策略的条件,其由三部分组成:源节点src,目的节点dst和协议号节点protocol,而src和dst又均由子网节点subnet和端口号节点port组成;右支的doAction节点表示安全控制策略的执行动作,其由两部分组成:类型节点type和动作节点action;type与action的含义和取值与表现层中的安全控制策略巴科斯范式描述保持一致。
对象映射数据库中存储子网名称与子网网段的映射关系,对象映射数据库映射便是借助于该数据库完成子网名称向网段的映射;完成子网名称向网段的映射后,进行语义分析。
语义分析模块是对结构正确的具体AST进行上下文有关性质与约束的审查,从而生成带有语义的AST。
安全规则范式匹配模块将带有语义的AST转化为XML形式的安全规则;
安全规则范式采用XML Schema进行定义,其伪代码表示如下:
其中,src,dst,subnet,port,protocol和action的定义与抽象语法树中对应节点的定义一致。Type元素在此处完成映射转化。对于src=A,dst=B,type=two-way的安全控制策略,匹配时将会转化为两条安全规则(src=A,dst=B和src=B,dst=A)。
规则生成层包含一个安全规则生成器,将XML形式的安全规则转化为一条或多条可执行的规则代码或命令。依据目标规则的形式要求,需对安全规则生成器进行自定义开发,从而使生成的规则在目标服务上可执行。
步骤二、在映射匹配层的对象映射数据库中完成子网名称到子网网段的映射;
步骤三、业务工作人员在表现层的策略编辑模块的界面进行策略编辑,编辑好后生成待部署的安全控制策略;
步骤四、词法分析模块以字符流的形式读取待部署的安全控制策略,将字符序列转换为单词序列,发送到语法分析模块;
步骤五、语法分析模块识别单词序列中的关键词,依据自定义的安全控制策略语法将符合该语法的关键词生成对应的短语;同时依据自定义的AST结构对短语执行读取操作,将读取到的内容填入自定义的AST结构中对应的节点,从而生成对应的具体AST;
步骤六、语义分析模块根据对象映射数据库中建立的映射将子网名称映射成网段值,替换具体AST中子网名称节点的内容,然后审查各节点内容是否符合规范性,如果是,则生成最终的带有语义的AST,执行步骤七,否则,向状态反馈模块发送异常信息,执行步骤八;
规范性是指IP地址格式为点分10进制,例202.101.105.66/24,协议号范围0-255,端口号范围0-65535。
步骤七、安全规则范式匹配模块通过读取最终带有语义的AST节点的内容,将最终带有语义的AST转化为XML形式的安全规则,若匹配成功则执行步骤九,若失败则发送反馈消息给状态反馈模块,执行步骤八;
步骤八、状态反馈模块对收到的反馈消息进行处理,提示业务工作人员,返回步骤三对待部署的安全控制策略重新编辑;
步骤九、规则生成层的安全规则生成器根据具体应用场景需要提供的规则服务,将XML形式的安全规则转化为一条或多条可执行的规则代码或命令,若成功则完成待部署的安全控制策略到规则的映射,否则发送反馈消息给反馈模块,执行步骤八。
规则服务是规则的具体应用场景需要的,比如规则可能是部署于iptables、firewall或ACL,对应生成的具体执行代码或指令会不同。
一种网间互联安全控制策略规则映射方法,可应用于天地一体化网络的“安全网关”,依据网络地址、主机地址、端口等属性细粒度控制网络分组。下面以安全网关控制分组为例,说明本发明。
(1)在映射匹配层的对象映射数据库中预置三条映射数据:
<net1,192.168.55.1/24>,<net2,192.168.56.1/24>,<net3,192.168.57.1/24>;
其中,net1、net2、net3为网络;192.168.55.1/24、192.168.56.1/24、192.168.57.1/24为三个包含C类IP地址的网络地址。
(2)在表现层的策略编辑界面插入一条安全控制策略:
from net1port[0:1024]to net2net3protocol 6one-way drop;
该安全控制策略表示为对来自网络net1、协议原始端口为0-1024到网络net2和net3、协议类型为6的单向分组流,采取丢弃操作。
(3)映射匹配层的词法分析模块以字符流的形式读入(2)中的安全控制策略,将字符序列转换为单词序列,即
{from,net1,port,[,0,:,1024,],to,net2,net3,protocol,6,one-way,drop};
(4)在词法分析生成的单词序列的基础上,语法分析模块进一步处理,识别出如下的关键词{from,[,],to,protocol,one-way,drop},并依据自定义的巴科斯范式描述的安全控制策略语法,生成如下的短语{from net1,port[0:1024],to net2net3,protocol 6,one-way,drop};之后依据映射匹配层定义的抽象语法树,执行自上而下,从左到右,递归回溯式的树结构构建。
生成语法树的过程如图5所示:首先会从strategy节点,经过condition,src,到达subnet节点;读入第一个短语{from net1},“from”为src下subnet节点的关键词,匹配成功,将net1作为subnet节点的值填入;之后回溯到src节点,并进入src下的port节点继续匹配,当前节点与{port[0:1024]}短语匹配成功,填入数值;再次回溯port->src->condition,并进入dst下的subnet节点,与{to net2net3}匹配成功,填入net2、net3;进入dst下的port,与{protocol 6}匹配失败,由于语法中定义dst下的port部分为可省略短语,因此可以越过当前节点,继续回溯匹配;port->dst->condition后,进入protocol节点,与{protocol 6}匹配成功,填入6;type与action节点的匹配映射与前面的过程类似,不再赘述。
(5)语义分析模块首先根据对象映射数据库将subnet节点的子网名称映射成网段值,然后审查各节点数值或范围是否符合规范,最终生成带有语义的抽象语法树:
如图6所示,上述语法树各节点名称与安全规则范式的元素一一对应,因此将节点值填入对应元素即可;生成的xml形式的安全规则如下所示:
如果使用的安全规则服务为iptables,即目标规则为iptables规则,那么依据iptables相关指令,在规则生成层自定义安全规则生成器,(3)所示的内容将被转化为如下所示的两条安全规则:
iptables-A FORWARD-s 192.169.55.1/24-d 192.169.56.1/24-p 6--sport 0:1024-j DROP
iptables-A FORWARD-s 192.169.55.1/24-d 192.169.57.1/24-p 6--sport 0:1024-j DROP。
机译: 确定用于将三维空间中的点映射到二维x射线图像中的点的映射规则集的方法,包括导出相应的映射规则并将x射线图像中的校准对象部分映射
机译: 用于X射线图像记录系统的图像平面上三维空间中点映射规则的获取方法,包括利用映射规则定义基本值集,并传递定位插值的规则
机译: 用于创建使用患者图像数据的扩展可能性的方法,包括确定用于从两个数据集之一到第三数据集的坐标转换的映射规则,并利用映射规则获得可视化