孙莹莹
摘要:针对现有的计算机网络防御策略求精只支持访问控制策略求精的问题,提出了一种支持计算机网络防御中的保护、检测、响应和恢复策略的求精方法,构造了一种计算机网络防御策略求精模型,设计了策略求精算法,并开发了一个计算机网络防御策略求精系统,通过实验验证了文中提出方法的有效性和效率。
关键词:计算机网络防御;移动Ad Hoc网络;策略求精
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)03-0059-02
随着云计算和大数据等新技术的广泛应用,不断增大的网络规模,面对复杂、种类繁多、新型的网络攻击,如何在网络环境中高效快速无误的管理网络系统,抵御恶意攻击,保护网络资源是我们关注的热点。结合计算机网络防御的特点,基于策略的网络管理(Policy Based Network Management,PBNM) 体系结构,如图1所示。现有的计算机网络防御策略求精只支持访问控制策略,VPN策略,而没有站在计算机网络防御的角度,联合各种防御技术手段,构造面向保护、检测、响应、恢复的防御策略求精方法。本文提出了一种计算机网络防御策略求精方法(Computer Network Defense Policy Refinement,CNDPR),从计算机网络防御的角度来实施多方位全面的纵深保护。支持保护、检测、响应、恢复策略的求精,为网络安全管理的动态防御提供了实施机制。该过程是将高层的策略细化为低层防御设备的配置规则,通过规则控制防御行为选择,从而保护网络中的资源。
图1 基于策略的网络管理体系结构
1 计算机网络防御策略求精模型
结合网络拓扑信息与求精规则,CNDPR是将高层防御策略转换为操作层防御策略的过程。网络管理员制定高层防御策略,来保护防御目标的安全需求。操作层防御策略是安全设备执行的防御行为。CNDPR是一个语义变换过程,其作用是将高层的抽象概念,通过映射到低层生成操作层的防御策略,然后根据具体的防御设备和节点信息,将操作层防御策略参数化为设备上可执行的策略规则。CNDPR(计算机网络防御策略求精)方法的前提假设为:输入的高层策略是正确的,策略间无冲突,无语法和语义错误。在策略配置规则的部署中,拥有区域网络中所有机器的控制权。
定义1 计算机网络防御策略求精模型(Computer Network Defense Policy Refinement Model):计算机网络防御策略求精模型是由高层防御策略、操作层防御策略及其高层防御策略与操作层防御策略之间的求精规则组成。形式化的表达如下所示:
最后是组合防御实体、防御动作、源节点、目标节点、动作、上下文等操作层概念得到操作层策略。从中可以得出该操作层策略一般是由多条策略规则组成,因为防御实体、源节点或目标节点可能有多个。如果高层防御策略多于一个,则获取下一个高层防御策略,并重复以上的操作。直到所有高层策略处理完成。
策略求精的转换算法的伪代码如图3所示。该算法的时间复杂度是O(s·m),其中s表示高层策略数目,m表示高层策略包含的概念个数。
图3 策略求精的转换算法的伪代码
策略转换算法得到的防御实体实例是网络拓扑中该防御实体的所有实例,但并不需要在所有防御实体实例上部署策略规则。由于防火墙包含允许和拒绝规则,其实例选择较为复杂,因此本文以防火墙的实例选择为例,并给出分析过程,对于其他的防御实体实例的选择(例如 IDS、系统管理服务器等),将选择网络拓扑中需要保护的资源所在的域中的防御实体实例。 针对防火墙的许可策略,首先可以获得源节点到目标节点之间的所有简单路径,然后再选出所有路径中的防火墙,但求解无向图中两点之间的所有简单路径是NP难问题,不能在多项式时间内解决,因此本文提出直接获得所有简单路径上的节点算法,然后在这些节点中找出防火墙,从而简化了问题的复杂度。该算法使用一个无向图来表达网络拓扑中节点间的链接关系,采用邻接表存储无向图,n 为节点数目,则每个节点最多有(n-1)个邻节点,压入Node栈的节点数最多为n(n-1)个,判断Node栈中的栈顶节点是否属于NodeSet 需要m次,判断Node栈的栈顶节点是否为 Roue中的节点需要k次,循环次数为n* (n-1)*m*k,则该算法的时间复杂度为O(n4)。
3 结束语
本文通过构建防御策略求精模型,实现了一种计算机网络防御策略求精算法,该方法首先将高层的防御策略转换为低层的操作层策略,然后结合网络拓扑选择合适的防御实体,最后参数化为防御设备上的策略规则,并部署在仿真平台和OpenStack 搭建的虚拟网络平台中观察防御效果。通过策略求精实验,策略部署的仿真实验和基于OpenStack云平台下的实验验证了本文提出的计算机网络防御策略求精方法的有效性,通过策略求精算法的性能分析证明了该算法的效率。
参考文献:
[1] 安强强, 张蕾. 基于依存树的中文语义角色标注[J]. 计算机工程, 2010,36(4): 161-163.
[2] 郭江, 车万翔, 刘挺. 汉语语义依存分析[J]. 智能计算机与应用, 2011,1(2): 58-62.
[3] 袁里驰. 基于词聚类的依存句法分析[J]. 中南大学学报:自然科学版, 2011, 42(7): 2023-2027.
[4] 李正华, 车万翔, 刘挺. 基于柱搜索的高阶依存句法分析[J]. 中文信息学报, 2010, 24(1): 37-41.