CN109889546B - 一种快速细粒度多域网络互联安全控制方法 - Google Patents
一种快速细粒度多域网络互联安全控制方法 Download PDFInfo
- Publication number
- CN109889546B CN109889546B CN201910244826.5A CN201910244826A CN109889546B CN 109889546 B CN109889546 B CN 109889546B CN 201910244826 A CN201910244826 A CN 201910244826A CN 109889546 B CN109889546 B CN 109889546B
- Authority
- CN
- China
- Prior art keywords
- rule
- tree
- list
- security
- script
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种快速细粒度多域网络互联安全控制方法,属于网络空间安全领域。首先建立安全策略语言语法规范,将每个安全策略分别转换成范式脚本,并实现相应的语法解析器,将没有错误的脚本进行存储;然后对其中域以及业务的语义在网络中存在的脚本,将白名单中每条策略分别设计成一棵树,对树进行合并;将黑名单中每条策略分别设计成一棵树,并将其合并白名单中;将范围默认动作内每条策略分别设计成一棵树,将其与黑白名单合并树进行合并,得到安全策略树。最后把描述域间业务通信的该脚本转换为描述细粒度的七元组安全规则,并高速分发/传输到安全互联网关,依据安全规则更新执行单元的安全控制信息。本发明具有简便性和灵活性,效率更高。
Description
技术领域
本发明属于网络空间安全领域,涉及天地一体化网络信息安全保障体系,具体是一种快速细粒度多域网络互联安全控制方法。
背景技术
天地一体化网络是为多域网络用户提供的一套共享互通的基础设施网络。但是,多域承载业务安全的需求存在差异,从应用业务角度分析,域间有互相通信的需求,这就形成了时空多变的特性,在网络之上,业务类型/特征/安全等级随多域多用户的时空特性而变化,无法适应天地一体化网络中各类用户的动态需求。
天地一体化网络由于用户类型、业务类型以及安全级别等不同,可以形成物理或虚拟的网络域(简称域)。为了对跨域通信进行安全控制,需要在域之间设置安全互联网关。安全互联网关是一种能够依据安全策略互联多域网络的设备,被设置在隔离的物理网络域或虚拟网络域互联处。
为了便于管理和应用,设计了一种安全策略语言,即多域互联控制安全策略表达,该语言贴合用户的使用习惯。但是,这种安全策略语言性能低、逻辑复杂,不能直接应用到高吞吐量的安全互联网关上,由此,提出安全规则映射及高速传输方法,该映射方法把安全策略解释成安全规则。
安全规则是一种安全互联网关能够理解的语言,具有大容量和执行高效性的特点,以满足天地一体化网络多域互联细粒度安全控制的需求,达到深度防护目的。
发明内容
本发明针对安全策略语言不能直接应用到高吞吐量的安全互联网关的问题,提出一种快速细粒度多域网络互联安全控制方法;该方法在天地一体化网络中依据用户类型、业务类型、安全域、安全级别、地基网络特征在域间通信中进行差异化安全控制;能够支撑基于域、业务、特征等多域网络互联安全控制,实现安全策略到安全规则的自动映射以及安全规则的部署和执行。
具体步骤为:
步骤一、建立安全策略的语言语法规范,将用户要求的每个安全策略分别转换成范式脚本,并实现相应的语法解析器,检查脚本的语法错误,将没有错误的脚本进行存储;
安全策略的语言语法规范如下:
策略集::=[“defaultaction”“:”action](策略组合)*
策略组合::=白名单|黑名单|范围动作默认设定
白名单::=“whitelist”“:”“{”名单体“}”
黑名单::=“blacklist”“:”“{”名单体“}”
范围动作默认设定::=“scop_drop”“:”“{”名单体“}”
名单体::=策略名单体
|空集
策略::=Id“-”Id“,”应用
应用::=Id|“[”应用列表“]”|“*”
应用列表::=“,”Id应用列表|Id
范式脚本包括四部分:全局默认动作,白名单,黑名单和范围默认动作;
全局默认动作包括accept和drop;
白名单,黑名单和范围默认动作均有若干策略构成,每条策略包括:域间互联、业务互联以及基于特征的互联。
步骤二、判断某脚本中域以及业务的语义是否在网络中存在,如果是,进入步骤三,否则,语义错误返回步骤一重新编写范式脚本。
步骤三、针对该脚本,将白名单中每条策略分别设计成一棵树,对树进行合并。
针对当前脚本中的白名单,首先,将前两个相邻的树进行合并,过程如下:从根节点开始向下查找,当根节点A相同时,保留一个根节点A,并将所有子节点以及连接的子树都合并在该根节点下;同理,遇到相同的子节点B合并保留一个,并将相同子节点B下不同的子树都合并到子节点B下;遇到不同的子节点B和C全部合并到该根节点A下,同时,将子节点B和C下的所有子树全部各自保留。依次类推,直至将这两个树的所有子节点合并完毕。然后,将第三棵树重复上述过程进行合并,直至将白名单内所有树遍历完毕;白名单中每条策略的动作为accept。
步骤四、将该脚本的黑名单中每条策略分别设计成一棵树,并将其合并白名单中,每次合并前都做冲突检查。
冲突检测的过程如下:当黑名单内的根节点以及连接的各子节点中,存在某条路径与合并后的白名单中的路径相同时,黑名单白名单冲突,去掉黑名单中冲突的策略,按照白名单树的合并方法将黑名单树中其余子节点合并到白名单树中。否则,黑白名单不存在冲突,则按照白名单树的合并方法将黑名单树合并到白名单树中;黑名单中每条策略的动作为drop。
步骤五、将该脚本的范围默认动作内每条策略分别设计成一棵树,将其与黑白名单合并树进行合并,得到该脚本对应的安全策略树。
针对当前脚本,范围默认动作的根节点下的子节点以及子节点连接的子树与合并后黑白名单进行合并时,按照白名单树的合并方法将范围默认动作的子节点合并到黑白名单树中,形成安全策略树;并根据当前脚本的全局默认动作进行冲突检测:
如果当前脚本的全局默认动作是accept,则产生冲突时,针对合并后保留的同一个子节点,以白名单中该子节点的动作accept为准。
如果当前脚本的全局默认动作是drop,则产生冲突时,针对合并后保留的同一个子节点,以黑名单中该子节点的动作drop为准。
步骤六、建立安全规则的语言语法规范,结合该脚本中域和业务的语义,把描述域间业务通信的该脚本转换为描述细粒度的七元组安全规则。
安全规则的语言语法规范如下:
规则集::=[“defaultaction”“:”action](规则集)*
规则::=五元组IP“,”五元组IP[“:”action]“,”源端口号规则
源端口号规则::=数字范围划分“,”目的端口号规则
|“{”源端口划分列表“}”
目的端口号规则::=数字范围划分“,”协议端口规则
|“{”目的端口划分列表“}”
协议端口号规则::=数字范围划分“,”时间属性规则
|“{”时间属性划分列表“}”
时间属性规则::=数字范围划分“,”特征规则
|“{”特征划分列表“}”
特征规则::=正则范围划分“:”动作响应“;”
|“{”特征划分列表“}”
源端口划分列表::=数字范围划分“,”目的端口号规则源端口划分列表|空集
目的端口划分列表::=数字范围划分“,”协议端口号规则目的端口划分列表|空集
时间属性划分列表::=数字范围划分“,”特征规则时间属性划分列表|空集
特征划分列表::=正则范围划分“:”动作响应“;”特征划分列表|空集
动作相应::=“accept”|“drop”
数字范围划分::=数字集合|数字段
正则范围划分::=正则表达式
五元组IP::=IP集合|IP段
IP段::=IP数“.”IP数“.”IP数“.”IP数‘-’IP数“.”IP数“.”IP数“.”IP数
|IP数“.”IP数“.”IP数“.”IP数
|IP数“.”IP数“.”IP数“.”‘*’
|IP数“.”IP数“.”‘*’
|IP数“.”‘*’
|‘_’
IP集合::=“[”IP段IP段列表“]”|空集
数字段::=数字“-”数字|数字“-”“max”|Id|“_”
数字集合::=“[”数字段数字段列表“]”|空集
七元组安全规则包括:源IP区间、目的IP区间、协议类型区间、源端口区间、目的端口区间、时间区间和URL特征。
具体步骤如下:
首先、针对每个安全策略脚本,通过查询每个域的名称,找到各域的用户IP地址,进一步得到成对域在安全规则中的源IP区间和目的IP区间;
然后,通过查询业务名称、结合多域网络关系,把业务元素翻译成安全规则中的协议类型区间、源端口区间、目的端口区间、时间区间和URL特征。
最后,在七元组安全规则的最后加上对应的动作:accept和drop;
步骤七、将翻译得到的七元组安全规则通过网间互联安全控制协议高速分发/传输到安全互联网关。
步骤八、安全互联网关接收到安全规则后,依据安全规则更新执行单元的安全控制信息。
具体步骤如下:
首先,检查安全规则的语法规范;
然后,建立8层过滤匹配树;第一层是根节点,第二层是源IP区间构成的节点,第三层是以源IP区间节点为父节点的目的IP区间节点,以此类推,第四层为协议类型区间、第五层为源端口区间、第六层为目的端口区间、第七层为时间区间、第八层为URL特征。
最后,当获取到新的数据包结构体后,依次判断数据包的源IP、目的IP、协议类型、源端口、目的端口和数据;并依次与8层过滤匹配树对应层的子节点进行比较:当数据包的七元组在过滤匹配树中找不到完全对应的子节点时,该数据包按照全局默认动作处理;当数据包的七元组在过滤匹配树能完全匹配到对应的子节点时,按照过滤匹配树最后的叶子节点的动作accept和drop进行处理。
本发明的优点在于:
1)、一种快速细粒度多域网络互联安全控制方法,目前大多数相关的网络安全产品都只是针对现有的地面网络基础设施提供互联安全控制功能,没有结合天地一体化网络多域通信的需求去设计和实现相应的网络安全产品,该方法结合多域网络语义可以灵活地自定义多域网络通信逻辑,为天地一体化网络多域通信提供安全互联保障。
2)、一种快速细粒度多域网络互联安全控制方法,考虑工程人员的配置习惯,设计了多域互联控制安全策略表达,简化了传统的网关配置流程,将复杂的网络配置细节隐含在安全策略中,配置脚本简明易懂,不易出错。
3)、一种快速细粒度多域网络互联安全控制方法,为安全策略脚本的检查提供了检错纠错机制,当多域通信配置逻辑出现冲突时,能够在安全规则映射及高速传输部分及时发现,提示工程原因并改正错误,避免配置环节出现安全漏洞。
4)、一种快速细粒度多域网络互联安全控制方法,提供细粒度的互联安全控制维度,在传统的五元组包过滤基础上,扩展了时间和特征两个维度;能够为攻击检测提供更丰富的数据信息用于分析、发现攻击者的攻击行为,也为攻击阻断提供了更多决策依据。
5)、一种快速细粒度多域网络互联安全控制方法,通过设计安全规则语言规范,可以把合法的安全规则脚本构建成高效的数据包过滤匹配树,保证数据包过滤高效执行。
6)、一种快速细粒度多域网络互联安全控制方法,使多域互联安全控制管理可视化,所有的过程都在可视化监管下操作执行,方便工程人员部署和管理,提高了整个系统的管理效率和运作效率。
附图说明
图1是本发明一种快速细粒度多域网络互联安全控制方法的原理图;
图2是本发明一种快速细粒度多域网络互联安全控制方法的流程图;
图3为本发明多域网络互联安全控制管理模块中添加策略界面;
图4为本发明多域网络互联安全控制管理模块中安全规则分发界面;
图5为本发明多域网络互联安全控制管理模块中安全规则执行界面;
图6是本发明白名单的合并过程示意图;
图7是本发明黑白名单合并树的示意图;
图8是本发明将范围默认动作与黑白名单合并树的示意图;
图9是本发明app1、app2、app3的规则子树翻译示意图。
具体实施方式
为了使本发明能够更加清楚地理解其技术原理,下面结合附图具体、详细地阐述本发明实施例。
本发明一种快速细粒度多域网络互联安全控制方法,为天地一化多域网络提供细粒度的互联安全控制,实现网络的安全通信。如图1所示,包括多域互联控制安全策略表达、安全规则映射及高速传输、多类联合防护安全规则构建和多域互联安全控制管理四部分。多域互联安全控制管理分别对多域互联控制安全策略表达、安全规则映射及高速传输、多类联合防护安全规则构建三部分进行管理,多类联合防护安全规则构建是基础,用于支撑安全规则映射及高速传输,安全规则映射及高速传输用于支撑多域互联控制安全策略表达。同时,多域互联控制安全策略表达应用于安全规则映射及高速传输,安全规则映射及高速传输应用于多类联合防护安全规则构建。
多域互联控制安全策略表达,负责配置、解析、存储多域互联控制安全策略脚本;把用户要求的安全策略转换成一种范式表达(如安全策略脚本),结合天地一体化多域网络业务安全需求,实现域间互联安全控制的灵活配置和形式化表达。
安全规则映射及高速传输,负责将安全策略脚本,结合天地一体化多域网络语义翻译为安全规则脚本,做语法和语义上的安全检查,并高速传输部署到安全互联网关;通过范式编译把安全策略形式化表达转换成安全互联网关能够理解的规则集(如安全规则集),形成对安全互联网关的一次安全控制预备,完成了安全规则的产生,使安全规则进入分发态;采用分发机制高速传输安全规则到安全互联网关。
多类联合防护安全规则构建,将安全规则脚本解析,并构建包过滤匹配树,实现数据包的过滤转发,在安全互联网关构建元组、细粒度、特征三表(安全规则表),使安全规则集和安全规则表形成匹配,依据安全规则表控制网间通信,达到互联安全控制的目的,使得安全规则进入执行态。
多域互联安全控制管理,如图3,图4和图5所示,用于管理安全规则的生成、分发和执行,将各个部分的操作以可视化的方式进行交互式管理,最终实现安全规则状态转换的统一管理。
各个组成部分紧密地联系在一起,每一个组成部分和其他部分既存在联系,又保持了一定的独立性,通过规范化的接口设计,能够在不影响其他组成部分的情形下,结合新的实际需求进行功能扩展。安全策略和安全规则的规范设计保证了组成部分之间良好的独立性;安全策略映射把用户的使用习惯和安全互联网关的高效执行联系起来;整个系统在多域互联安全控制管理部分的监管下安全有序运行。
如图2所示,具体步骤为:
步骤一、建立安全策略的语言语法规范,将用户要求的每个安全策略分别转换成范式脚本。并实现相应的语法解析器,检查脚本的语法错误,将没有错误的脚本进行存储;
多域互联控制安全策略的语言语法规范如下:
为了标准化、规范化,该方法对策略和规则的语法进行了形式化定义。下面用BNF(Backus-Naur Form,巴科斯范式)描述策略的形式化定义,域间互联安全控制策略形式化定义为:
策略集::=[“defaultaction”“:”action](策略组合)*
策略组合::=白名单|黑名单|范围动作默认设定
白名单::=“whitelist”“:”“{”名单体“}”
黑名单::=“blacklist”“:”“{”名单体“}”
范围动作默认设定::=“scop_drop”“:”“{”名单体“}”
名单体::=策略名单体
|空集
策略::=Id“-”Id“,”应用
应用::=Id|“[”应用列表“]”|“*”
应用列表::=“,”Id应用列表|Id
编写的范式脚本包括四部分:全局默认动作,白名单,黑名单和范围默认动作;
全局默认动作包括accept和drop;
白名单,黑名单和范围默认动作均有若干策略构成,安全策略语言在设计中,每条策略包括三类安全控制策略:元组互联、业务互联和特征互联;三类策略经过控制可以实现安全策略组合。
例如配置脚本如下:
defaultaction:accept//全局默认动作:accept
whitelist:{A-B,app1A-C,[app1,app2]A-B,app2}//白名单动作是accept
blacklist:{A-B,app1A-B,app3}//黑名单动作是drop
scopelist:{A-B,app1,app2,app3}//范围默认动作
最后,将脚本提交给多域互联安全控制管理模块,并通过后台程序将脚本信息存储到相应的关系数据库表当中。
步骤二、判断某脚本中域以及业务的语义是否在网络中存在,如果是,进入步骤三,否则,语义错误返回步骤一重新编写范式脚本。
将安全策略脚本翻译为安全规则之前,会结合多域网络语义检查安全策略到安全规则的语义是否安全。常见问题有:存在引用的域名称,多域网络中不存在;对域A和域B的业务通信描述之间存在冲突等。上述脚本中所有出现的域构成的集合={A,B,C},所有出现的业务构成的集合={app1,app2,app3}。
检查安全策略脚本域和业务方面的语义,通过查询多域网络语义数据库,确保所有出现过的域和业务在网络中存在,否则,多域互联安全控制管理部分提示安全策略脚本语义错误。
多域网络语义数据库存储网络系统的相关信息,在开始前已建好,与步骤一中的数据库表不同。
步骤三、针对该脚本,将白名单中每条策略分别设计成一棵树,对树进行合并。
针对当前脚本中的白名单,首先,将前两个相邻的树进行合并,过程如下:从根节点开始向下查找,当根节点A相同时,保留一个根节点A,并将所有子节点以及连接的子树都合并在该根节点下;同理,遇到相同的子节点B合并保留一个,并将相同子节点B下不同的子树都合并到子节点B下;遇到不同的子节点B和C全部合并到该根节点A下,同时,将子节点B和C下的所有子树全部各自保留。依次类推,直至将这两个树的所有子节点合并完毕。然后,将第三棵树重复上述过程进行合并,直至将白名单内所有树遍历完毕;白名单中每条策略的动作为accept。
实例:针对步骤一配置的脚本中白名单设计的树结构,为如图6所示,左侧为白名单合并前的树结构示意图。右侧为白名单合并后的树结构示意图。
合并过程为:首先对第一、二颗树进行合并,根节点相同均为A则合并,第二层B、C不同,两个节点都保留,将C的所有子树挂到它下面。然后将最后一棵树合并进去,根节点均为A则合并,第二层有相同的节点B则合并,最后一棵树的B的子节点为app2,而第一、二颗树的合并结果中B的子节点为app1,不存在相同节点,则将最后一棵树的app2合并到B下面,最终合并结果如图6所示。
步骤四、将该脚本的黑名单中每条策略分别设计成一棵树,并将其合并白名单中,每次合并前都做冲突检查。
冲突检测的过程如下:当黑名单内的根节点以及连接的各子节点中,存在某条路径与合并后的白名单中的路径相同时,则多域互联安全控制管理模块提示黑名单白名单冲突,去掉黑名单中冲突的策略,按照白名单树的合并方法将黑名单树中其余子节点合并到白名单树中。否则,黑白名单不存在冲突,则按照白名单树的合并方法将黑名单树合并到白名单树中;黑名单中每条策略的动作为drop。
实例:针对步骤一配置的脚本中黑名单设计的树结构,白名单说明A-B,app1的数据包要accept,而黑名单说明A-B,app1的数据包要drop,即黑白名单存在冲突,如图7所示,去掉黑名单中冲突的策略,黑白名单能够合并,合并方法与白名单的合并方法相同,得到黑白名单合并图,图中白色字体代表动作是accept,黑色代表drop。
步骤五、将该脚本的范围默认动作内每条策略分别设计成一棵树,将其与黑白名单合并树进行合并,得到该脚本对应的安全策略树。
针对当前脚本,范围默认动作的根节点下的子节点以及子节点连接的子树与合并后黑白名单进行合并时,按照白名单树的合并方法将范围默认动作的子节点合并到黑白名单树中,形成安全策略树;并根据当前脚本的全局默认动作进行冲突检测:
范围默认动作策略是对非全局默认动作策略的补充,允许和全局默认动作对应的名单冲突,如果当前脚本的全局默认动作是accept,范围默认动作可以和白名单冲突,则产生冲突时,针对合并后保留的同一个子节点,以白名单中该子节点的动作accept为准。
如果当前脚本的全局默认动作是drop,则产生冲突时,针对合并后保留的同一个子节点,以黑名单中该子节点的动作drop为准。
如图8所示,针对步骤一的脚本,全局默认动作是accept,那么范围默认动作可以和白名单冲突。白名单说明A-B,app1、app2的数据包为accept,范围默认动作说明A-B,app1、app2、app3的数据包都drop(由黑色字体表示),那么对于A-B,app1、app2数据包的处理,范围默认动作和白名单存在冲突,此时以白名单为准,即A-B,app1、app2的数据包accept。而对于A-B,app3数据包的处理不存在冲突,根据范围默认动作,其动作为drop。
步骤六、建立安全规则的语言语法规范,结合该脚本中域和业务的语义,把描述域间业务通信的该脚本转换为描述细粒度的七元组安全规则。
多类联合防护安全规则的语言语法规范如下:
为了标准化、规范化,该方法对策略和规则的语法进行了形式化定义。规则集是安全互联网关可以装载执行的脚本,是部署到网关,可以被安全网关防火墙装载过滤数据包的配置信息。它在天地一体化安全互联网关中通过策略生成。规则集由一条条规则构成,规则主要是对数据包源IP段、目的IP段、协议类型段、源端口段、目的端口段、时间段、特征七个维度进行过滤匹配。其中五元组(数据包源IP段、目的IP段、协议类型段、源端口段、目的端口段)是一张表,后续链接时间段表,时间段表再链接特征表。在语法上体现为“源端口号规则”对“目的端口号规则”的包含,以此类推,层层包含构成一个基于数据段的匹配语法树。在规则的最后是响应动作的说明,响应动作包括“accept”、“drop”两个动作。
规则集同样采用了BNF,具体规范表述如下:
规则集::=[“defaultaction”“:”action](规则集)*
规则::=五元组IP“,”五元组IP[“:”action]“,”源端口号规则
源端口号规则::=数字范围划分“,”目的端口号规则
|“{”源端口划分列表“}”
目的端口号规则::=数字范围划分“,”协议端口规则
|“{”目的端口划分列表“}”
协议端口号规则::=数字范围划分“,”时间属性规则
|“{”时间属性划分列表“}”
时间属性规则::=数字范围划分“,”特征规则
|“{”特征划分列表“}”
特征规则::=正则范围划分“:”动作响应“;”
|“{”特征划分列表“}”
源端口划分列表::=数字范围划分“,”目的端口号规则源端口划分列表|空集
目的端口划分列表::=数字范围划分“,”协议端口号规则目的端口划分列表|空集
时间属性划分列表::=数字范围划分“,”特征规则时间属性划分列表|空集
特征划分列表::=正则范围划分“:”动作响应“;”特征划分列表|空集
动作相应::=“accept”|“drop”
数字范围划分::=数字集合|数字段
正则范围划分::=正则表达式
五元组IP::=IP集合|IP段
IP段::=IP数“.”IP数“.”IP数“.”IP数‘-’IP数“.”IP数“.”IP数“.”IP数
|IP数“.”IP数“.”IP数“.”IP数
|IP数“.”IP数“.”IP数“.”‘*’
|IP数“.”IP数“.”‘*’
|IP数“.”‘*’
|‘_’
IP集合::=“[”IP段IP段列表“]”|空集
数字段::=数字“-”数字|数字“-”“max”|Id|“_”
数字集合::=“[”数字段数字段列表“]”|空集
注:正则表达式的规范参考正则引擎的具体实现标准。最基本的符号定义包括Id、数字、IP数、空集,其中Id符合ASCII-C的命名规则,首字符为下划线或字母,后续字符可以是数字;数字是0-9至少一位的任意组合;IP数表示为0-255的数字;空集表示没有字符匹配。其他关键字以及控制符,直观易懂,不做具体说明。
具体步骤如下:
首先、针对每个安全策略脚本,通过查询多域网络语义数据库中每个域的名称,找到各域的用户IP地址,进一步得到成对域在安全规则中的源IP区间和目的IP区间;
安全策略脚本中所有出现的域构成的集合={A,B,C},所有出现的业务构成的集合={app1,app2,app3}。通过查询域名称,可以找到该域下的用户IP地址,例如域A对应的IP区间为[10.0.0.1-10.0.0.3,10.0.0.5,10.0.0.7,10.0.0.10],为了表述简单,把前面的相同部分去掉,简写为[1-3,5,7,10],同理域B的IP区间可简写为[6,8-9]。对于安全策略脚本的语言元素A-B,可以翻译成安全规则脚本的语言元素源IP区间,目的IP区间:
[1-3,5,7,10],[6,8-9]
同样的,A-C翻译成:
[1-3,5,7,10],[10,12]
然后,通过查询多域网络语义数据库中业务名称、结合多域网络关系,把业务元素翻译成安全规则中的协议类型区间、源端口区间、目的端口区间、时间区间和URL特征。
查询业务名称,可以从多域网络关系中得到该业务的安全规则子树,例如app1用到了tcp,udp,icmp三种协议,其中tcp使用了80端口作为目的端口,udp使用了90端口作为目的端口,app1的使用时间限制在了每天5:00:00-11:00:00,数据包的内容特征不做限制,根据上述信息可以得到app1的安全规则子树如图9所示。
安全规则子树可翻译为如下安全策略语言:
app1翻译为:{6-6,0-65535,80-80,266043600-266065200,_
17-17,0-65535,90-90,266043600-266065200,_
1-1,0-65535,0-65535,266043600-266065200,_
}
app2翻译为:{7-7,0-65535,81-81,266043600-266065200,_}
app3翻译为:{8-8,0-65535,82-82,266043600-266065200,_}
结合安全策略树,最终把安全策略语言翻译成安全策略脚本。该过程把合并后的子树进行对接,并结合安全策略树的黑白名单要求,在规则部分的最后加上对应的动作。翻译后的安全策略脚本如下:
步骤七、将翻译得到的七元组安全规则通过网间互联安全控制协议高速分发/传输到安全互联网关。
步骤八、安全互联网关接收到安全规则后,依据安全规则更新执行单元的安全控制信息。
需要把传输过来的安全规则构建成安全互联网关对数据包的过滤程序;
首先,检查安全规则的语法规范,确保安全规则脚本完整、有效。
然后,扫描脚本的过程中依次建立过滤匹配树,把字符串类型的脚本Token(如IP地址区间)转换成对应类型的变量、结构体,初始化过滤匹配树。
当获取到新的数据包结构体后,依次判断数据包的源IP、目的IP、协议类型、源端口、目的端口和数据;并把数据包的各部分数据依次与8层过滤匹配树对应层的子节点进行比较:当数据包的七元组在过滤匹配树中找不到完全对应的子节点时,该数据包按照全局默认动作处理;当数据包的七元组在过滤匹配树能完全匹配到对应的子节点时,按照过滤匹配树最后的叶子节点的动作accept和drop进行处理。
实施例:
首先,配置安全策略,在域A和域B之间定义一条限制业务app1通信的策略脚本,把策略脚本编辑好以后以脚本形式提交到多域互联安全控制管理可视化系统上。脚本信息编辑如下:
blacklist:{A-B,app1}
在这个过程中,编写添加安全策略。其中包括策略类型、策略XML文档内容、策略名称、策略功能描述共五个部分。
然后,对安全策略进行语法检查,确保语法是规范的。结合多域网络语义将安全策略翻译为安全规则。查询域A、域B是否在数据库中有定义,查询域中对应的用户IP并转换为安全规则中对应的源IP区间和目的IP区间,查询app1对应的协议类型区间、源端口区间、目的端口区间、时间区间和特征,并以安全规则的语法规范转换输出。输出结果如下:
10.*-10.*,20.*-20.*,6-6,0-65535,8000-8000,266043600-266065200,_:drop;
该条规则的含义为:从10网段发送到20网段,采用tcp协议,目的端口是8000,在时间段早上5:00:00到11:00:00之间进行通信的任何数据包,安全互联网关都要丢弃。
将安全策略转换成安全规则之后,通过多域互联安全控制管理系统把该安全规则高效传输到对应的安全网关上,对安全互联网关进行一键部署。点击确认,策略语言自动映射成的规则将会通过安全的网络分发到网关。
最后是多类联合防护安全规则构建,网关接收到规则后,会自动完成配置,按照最新的规则重新部署网关,高效执行规则过滤数据包。安全互联网关成功部署上述安全规则脚本后,从域A到域B的app1通信将被中断,从而达到天地一化多域网络互联安全控制的功能。
本发明一种快速细粒度多域网络互联安全控制方法的主要特点有:
1、多域安全策略是一种规范设计,描述范围为多域网间互联安全控制;安全策略依据规则可实现语法检查和语义冲突检测。
2、安全策略可转换到安全规则,转换适用于多域网络互联安全控制、能够覆盖多域网间互联安全控制的逻辑。
3、所形成安全规则一共有三类,包括元组、业务、流量特征三类规则,对控制分组、业务和流量特征进行描述,对分组、业务和流量的访问控制进行了描述。
4、安全规则的执行单元执行安全规则,被设置于安全网关,执行元组安全规则控制分组,执行业务安全规则可控制业务,执行流量特征安全规则可控制流量;可同时执行三类安全规则,也可以单独执行其中的一类规则,也可选择性执行其中的规则。
5、执行单元中安全规则是信息,可以被删除、添加和更新,但不影响执行单元的逻辑。
本发明在多域互联安全控制管理可视化系统的监督下,实现多域安全策略脚本的灵活配置、将安全策略结合多域网络语义转换成多类联合防护安全规则并高效传输到安全互联网关、网关根据安全规则进行多域网络互联安全控制。
Claims (5)
1.一种快速细粒度多域网络互联安全控制方法,其特征在于,具体步骤为:
步骤一、建立安全策略的语言语法规范,将用户要求的每个安全策略分别转换成范式脚本,并实现相应的语法解析器,检查脚本的语法错误,将没有错误的脚本进行存储;
范式脚本包括四部分:全局默认动作,白名单,黑名单和范围默认动作;
全局默认动作包括accept和drop;
白名单,黑名单和范围默认动作均有若干策略构成,每条策略包括:域间互联、业务互联以及基于特征的互联;
步骤二、判断某脚本中域以及业务的语义是否在网络中存在,如果是,进入步骤三,否则,语义错误返回步骤一重新编写范式脚本;
步骤三、针对该脚本,将白名单中每条策略分别设计成一棵树,对树进行合并;
针对当前脚本中的白名单,首先,将前两个相邻的树进行合并;过程如下:从根节点开始向下查找,当根节点A相同时,保留一个根节点A,并将所有子节点以及连接的子树都合并在该根节点下;同理,遇到相同的子节点B合并保留一个,并将相同子节点B下不同的子树都合并到子节点B下;遇到不同的子节点B和C全部合并到该根节点A下,同时,将子节点B和C下的所有子树全部各自保留;依次类推,直至将这两个树的所有子节点合并完毕;然后,将第三棵树重复上述过程进行合并,直至将白名单内所有树遍历完毕;白名单中每条策略的动作为accept;
步骤四、将该脚本的黑名单中每条策略分别设计成一棵树,并将其合并白名单中,每次合并前都做冲突检查;
步骤五、将该脚本的范围默认动作内每条策略分别设计成一棵树,将其与黑白名单合并树进行合并,得到该脚本对应的安全策略树;
步骤六、建立安全规则的语言语法规范,结合该脚本中域和业务的语义,把描述域间业务通信的该脚本转换为描述细粒度的七元组安全规则;
七元组安全规则包括:源IP区间、目的IP区间、协议类型区间、源端口区间、目的端口区间、时间区间和URL特征;
具体实施方式如下:
首先,针对每个安全策略脚本,通过查询每个域的名称,找到各域的用户IP地址,进一步得到成对域在安全规则中的源IP区间和目的IP区间;
然后,通过查询业务名称、结合多域网络关系,把业务元素翻译成安全规则中的协议类型区间、源端口区间、目的端口区间、时间区间和URL特征;
最后,在七元组安全规则的最后加上对应的动作:accept和drop;
步骤七、将翻译得到的七元组安全规则通过网间互联安全控制协议高速分发/传输到安全互联网关;
步骤八、安全互联网关接收到安全规则后,依据安全规则更新执行单元的安全控制信息;
具体步骤如下:
首先,检查安全规则的语法规范;
然后,建立8层过滤匹配树;第一层是根节点,第二层是源IP区间构成的节点,第三层是以源IP区间节点为父节点的目的IP区间节点,以此类推,第四层为协议类型区间、第五层为源端口区间、第六层为目的端口区间、第七层为时间区间、第八层为URL特征;
最后,当获取到新的数据包结构体后,依次判断数据包的源IP、目的IP、协议类型、源端口、目的端口和数据;并依次与8层过滤匹配树对应层的子节点进行比较:当数据包的七元组在过滤匹配树中找不到完全对应的子节点时,该数据包按照全局默认动作处理;当数据包的七元组在过滤匹配树能完全匹配到对应的子节点时,按照过滤匹配树最后的叶子节点的动作accept和drop进行处理。
2.如权利要求1所述的一种快速细粒度多域网络互联安全控制方法,其特征在于,步骤一中安全策略的语言语法规范如下:
策略集::=[“defaultaction”“:”action](策略组合)*
策略组合::=白名单|黑名单|范围动作默认设定
白名单::=“whitelist”“:”“{”名单体“}”
黑名单::=“blacklist”“:”“{”名单体“}”
范围动作默认设定::=“scop_drop”“:”“{”名单体“}”
名单体::=策略名单体
|空集
策略::=Id“-”Id“,”应用
应用::=Id|“[”应用列表“]”|“*”
应用列表::=“,”Id应用列表|Id。
3.如权利要求1所述的一种快速细粒度多域网络互联安全控制方法,其特征在于,步骤四中所述的冲突检查的过程如下:当黑名单内的根节点以及连接的各子节点中,存在某条路径与合并后的白名单中的路径相同时,黑名单白名单冲突,去掉黑名单中冲突的策略,按照白名单树的合并方法将黑名单树中其余子节点合并到白名单树中;否则,黑白名单不存在冲突,则按照白名单树的合并方法将黑名单树合并到白名单树中;黑名单中每条策略的动作为drop。
4.如权利要求1所述的一种快速细粒度多域网络互联安全控制方法,其特征在于,所述的步骤五中针对当前脚本,范围默认动作的根节点下的子节点以及子节点连接的子树与合并后黑白名单进行合并时,按照白名单树的合并方法将范围默认动作的子节点合并到黑白名单树中,形成安全策略树;并根据当前脚本的全局默认动作进行冲突检测:
如果当前脚本的全局默认动作是accept,则产生冲突时,针对合并后保留的同一个子节点,以白名单中该子节点的动作accept为准;
如果当前脚本的全局默认动作是drop,则产生冲突时,针对合并后保留的同一个子节点,以黑名单中该子节点的动作drop为准。
5.如权利要求1所述的一种快速细粒度多域网络互联安全控制方法,其特征在于,所述的步骤六中安全规则的语言语法规范如下:
规则集::=[“defaultaction”“:”action](规则集)*
规则::=五元组IP“,”五元组IP[“:”action]“,”源端口号规则
源端口号规则::=数字范围划分“,”目的端口号规则
|“{”源端口划分列表“}”
目的端口号规则::=数字范围划分“,”协议端口规则
|“{”目的端口划分列表“}”
协议端口号规则::=数字范围划分“,”时间属性规则
|“{”时间属性划分列表“}”
时间属性规则::=数字范围划分“,”特征规则
|“{”特征划分列表“}”
特征规则::=正则范围划分“:”动作响应“;”
|“{”特征划分列表“}”
源端口划分列表::=数字范围划分“,”目的端口号规则源端口划分列表|空集
目的端口划分列表::=数字范围划分“,”协议端口号规则目的端口划分列表|空集
时间属性划分列表::=数字范围划分“,”特征规则时间属性划分列表|空集
特征划分列表::=正则范围划分“:”动作响应“;”特征划分列表|空集
动作相应::=“accept”|“drop”
数字范围划分::=数字集合|数字段
正则范围划分::=正则表达式
五元组IP::=IP集合|IP段
IP段::=IP数“.”IP数“.”IP数“.”IP数‘-’IP数“.”IP数“.”IP数“.”IP数
|IP数“.”IP数“.”IP数“.”IP数
|IP数“.”IP数“.”IP数“.”‘*’
|IP数“.”IP数“.”‘*’
|IP数“.”‘*’
|‘_’
IP集合::=“[”IP段IP段列表“]”|空集
数字段::=数字“-”数字|数字“-”“max”|Id|“_”数字集合::=“[”数字段数字段列表“]”|空集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910244826.5A CN109889546B (zh) | 2019-03-28 | 2019-03-28 | 一种快速细粒度多域网络互联安全控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910244826.5A CN109889546B (zh) | 2019-03-28 | 2019-03-28 | 一种快速细粒度多域网络互联安全控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109889546A CN109889546A (zh) | 2019-06-14 |
CN109889546B true CN109889546B (zh) | 2020-07-28 |
Family
ID=66934970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910244826.5A Active CN109889546B (zh) | 2019-03-28 | 2019-03-28 | 一种快速细粒度多域网络互联安全控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109889546B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948103B (zh) * | 2019-12-10 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 资源配置方法、装置、存储介质及电子设备 |
CN113128200B (zh) * | 2019-12-31 | 2023-07-21 | 北京百度网讯科技有限公司 | 用于处理信息的方法和装置 |
CN113965386B (zh) * | 2021-10-25 | 2023-11-03 | 绿盟科技集团股份有限公司 | 工控协议报文处理方法、装置、设备及存储介质 |
CN114884821B (zh) | 2022-06-17 | 2023-07-18 | 北京邮电大学 | 一种自智网络中的多策略冲突规避方法 |
CN116582362B (zh) * | 2023-07-11 | 2023-09-26 | 建信金融科技有限责任公司 | 网络访问的控制方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063756A (zh) * | 2014-05-23 | 2014-09-24 | 国网辽宁省电力有限公司本溪供电公司 | 远程用电信息控制系统 |
CN107466464A (zh) * | 2014-12-23 | 2017-12-12 | 迈克菲有限责任公司 | 输入验证 |
CN108256069A (zh) * | 2018-01-17 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 一种页面跨域访问的方法和装置 |
CN108702367A (zh) * | 2016-02-26 | 2018-10-23 | 甲骨文国际公司 | 用于发现和管理应用的安全性的技术 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635704A (zh) * | 2008-07-24 | 2010-01-27 | 北京盖特佳信息安全技术股份有限公司 | 一种基于可信技术的应用安全交换平台 |
CN103166794A (zh) * | 2013-02-22 | 2013-06-19 | 中国人民解放军91655部队 | 一种具有一体化安全管控功能的信息安全管理方法 |
CN103747090A (zh) * | 2014-01-16 | 2014-04-23 | 中国互联网新闻中心 | 一种面向大数据的计算公布透明与授权保证装置及方法 |
CN104050151A (zh) * | 2014-06-05 | 2014-09-17 | 北京江南天安科技有限公司 | 一种基于谓语推断的安全事件特征分析方法及系统 |
CN104243460B (zh) * | 2014-09-03 | 2018-04-27 | 飞天诚信科技股份有限公司 | 一种实现网络防钓鱼的方法 |
EP3268887A4 (en) * | 2015-03-08 | 2018-11-14 | Soreq Nuclear Research Center | Secure document transmission |
CN106790513A (zh) * | 2016-12-19 | 2017-05-31 | 杜伯仁 | 基于区块链实现网络共享服务的方法 |
-
2019
- 2019-03-28 CN CN201910244826.5A patent/CN109889546B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063756A (zh) * | 2014-05-23 | 2014-09-24 | 国网辽宁省电力有限公司本溪供电公司 | 远程用电信息控制系统 |
CN107466464A (zh) * | 2014-12-23 | 2017-12-12 | 迈克菲有限责任公司 | 输入验证 |
CN108702367A (zh) * | 2016-02-26 | 2018-10-23 | 甲骨文国际公司 | 用于发现和管理应用的安全性的技术 |
CN108256069A (zh) * | 2018-01-17 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 一种页面跨域访问的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109889546A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889546B (zh) | 一种快速细粒度多域网络互联安全控制方法 | |
Bjorklund | YANG-a data modeling language for the network configuration protocol (NETCONF) | |
Bjorklund | The YANG 1.1 data modeling language | |
US10050842B2 (en) | Network control and management using semantic reasoners in a network environment | |
Hinrichs et al. | Practical declarative network management | |
Cuppens et al. | A formal approach to specify and deploy a network security policy | |
McClurg et al. | Event-driven network programming | |
US7872993B2 (en) | Method and system for classifying data packets | |
US7721304B2 (en) | Method and apparatus providing programmable network intelligence | |
US7421485B2 (en) | Processing configuration group information to display or generate configuration information, such as hierarchical configuration information for use by a data forwarding device | |
US8694448B2 (en) | Method and apparatus for providing an adaptive parser | |
Youn et al. | Efficient spam email filtering using adaptive ontology | |
US7664728B2 (en) | Systems and methods for parallel evaluation of multiple queries | |
Zazo et al. | Automated synthesis of FPGA-based packet filters for 100 Gbps network monitoring applications | |
KR101796529B1 (ko) | 오토마타 기반 패킷 필터 시스템 및 그 방법 | |
Grandoni | On min-power Steiner tree | |
Montanari et al. | A network-conscious π-calculus and its coalgebraic semantics | |
Chen et al. | CompRess: Composing overlay service resources for end‐to‐end network slices using semantic user intents | |
McNamara et al. | A mechanism for intent driven adaptive policy decision making | |
JP2004520641A (ja) | イベントバスのアーキテクチャ | |
CN111711712A (zh) | Dns策略配置方法、系统及存储介质 | |
Hallé et al. | A formal validation model for the netconf protocol | |
Geng et al. | Usable firewall configuration | |
CN105721356B (zh) | 存储协议头的方法和网络设备 | |
Rothmaier et al. | Using Spin and Eclipse for optimized high-level modeling and analysis of computer network attack models |
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 |