策略求精算法在计算机网络防御策略中的应用
2018-07-26姚芳
姚 芳
(济源职业技术学院 459000)
据统计,2017年俄罗斯因网络攻击造成130亿人民币的损失,2017上半年全球因网络攻击造成了40亿美元的损失。同时全球企业正在遭受商业勒索软件、电邮诈骗、物联网攻击等方面的威胁,2017年4月的“WannaCrypt”及6月的“Petya”这两个勒索软件在很短的时间内就攻击了数千家公司和高校,给各大企业造成了非常大的经济损失和企业公信度。单纯依靠人工完成大规模的网络安全工作已经无法适应当今严峻的网络环境。文章通过研究策略求精算法在计算机网络防御策略中的应用,应对愈加严峻的网络攻击形势。
1策略求精算法模型
计算机网络策略求精算法(computer network defense policy refinement,CNDPR)是结合网络拓扑信息和求精规则,将高层防御策略转换为操作层防御策略的过程。具体的算法过程如下:高层防御策略是既定的网络管理者根据所管理的网络需求所设置的网络防御安全措施;操作层防御策略则是硬件设备执行的防御行为。网络策略求精算法将高层的逻辑概念映射到具体的底层硬件设备中,从而实现一个语义的转换过程;操作层的防御策略被生成后,就将具体的防御设备和节点信息转换为硬件设备上可执行的策略规则,这就是策略设备实现过程;最后设备节点根据策略规则在不同的设备层、IP、数据包等配置相关的参数,从而保障设备的安全。
网络策略求精防御模型共由3个部分组成:高层策略、操作层防御策略、高层和操作层策略之间的求精规则。该模型用数学形式表示为:
Net∷=(HGOAL,LGOAL,R)
(1)
其中,HGOAL表示高层策略,它主要包括高层的保护策略、检测策略、备份策略、响应策略;LGOAL表示操作层策略,包含的策略和高层是相映射的4个;R是两者之间的求精规则集,主要包括角色、用户、源点、目标、活动等,用户求精规则、源点求精规则、资源求精规则、目标节点求精规则、防御动作和防御实体求精规则等。
高层策略是由策略元素集H中的元素以及它们的关系构成;同理每个操作层策略也是由操作元素集 中的元素以及它们的关系构成:
G={Domain,Role,Target,Activity,Means,ContexType}
(2)
O={Nodc,Action,Defense,DefenseEntity,Context}
关系中的元素含义表示如下:
Domain(域):表示网络的范畴,可根据网络的具体环境划分网络域。
Role(角色):表示具有相同特征的用户集。
Target(目标):表示具有相同特征的资源集。
Activity(活动):表示具有相同特征的动作集。
Means(防御手段):表示网络防御活动的集合。
ContextType(上下文类型):具有相同特征的上下文类型集合。
Nodc(节点):表示网络中的实体,例如主机、IP地址等。
Action(动作):表示最小的状态,无法在进行二次分配。
Defense(防御动作):表示具有相同防御动作的集合。
DefenseEntity(防御实体):表示为防御动作的安全设备集合。
Context(上下文):表示具有相同特征的上下文集合。
计算机网络防御中的求精规则一般包括以下规则:
角色映射到用户的求精规则:Role→User;
原始的网络环境中用户映射到源节点的求精规则:{(u,sd)|u∈User,sd∈SDomain}→Node;
目标映射到资源的求精规则:T arg et→Re source;
漏洞类型映射到漏洞的求精规则:VulTypr→Vul;
事件类型映射到攻击事件的求精规则:EventType→AttackEvent;
目标域资源映射到目标节点的求精规则:{(r,td)|r∈Resource,td∈Domain}→TNode;
目标域中的漏洞到目标节点的求精规则:{(v,td)|v∈Vul,td∈Doamin}→TNode;
手段映射到防御实体和防御动作的求精规则:Means→{(de,da)|de∈DefenseEntity,da∈DefneseAction}。
以上求精规则是网络防御中可自动对网络攻击进行分析,并就分析结果来实施具体的网络防御。
2网络防御策略求精算法
文章提出了一种网络防御策略求精算法来实现上述模型。在网络防御策略求精算法中包含两个方面,即高层策略解析和操作层的策略生成算法,如图1所示。
图1 网络防御结构图
高层策略解析部分包含了词法分析、语法分析、语义识别;策略生成算法部分包含了高层映射的逻辑概念,选择防御实体,组合概念并决断出操作层策略。具体的算法描述如下:
(1)对文本进行高层CND策略的匹配,若是能够达到匹配要求则将其该策略存入到内存结构中。
(2)针对高层中的不同概念,启用相对应的策略求精规则,并将其映射为操作层元素。高层中的概念为角色,则根据策略求精算法模型中的策略规则获得该角色的用户;若为源域或目标域,则根据域、节点的求精规则获取到目标域中的节点集,访问控制、VPN等都有源域、目标域两种方式,但用户身份验证则只拥有源域,备份等就仅拥有目标域。
(3)若根据(2)求得用户集不为空,则根据用户和源域、源节点求精规则来计算出网络中的源节点。
若根据(2)计算得到的资源或漏洞集合不为空,则根据资源和目标域、目标节点求精规则,或是漏洞和目标域、目标节点求精规则计算出网络中的目标节点。
(4)组合防御实体、防御动作、目标节点等,并从中得出操作等策略。
(5)判断高层防御策略,若策略数目大于1,则转至(1),进行迭代;否则输出结果集。
3 策略求精算法验证
实验环境:Intel酷睿i5,CPU 3.5GHz,4G内存,Windows 7系统,网络仿真平台GTNctS,Ubuntu虚拟平台系统。
文章搭建了一个仿真平台来实现网络防御策略求精算法的验证。实验写了20个高层策略来自动生成操作层策略,并将其自动的生成设备的配置清单,最后将其搭建在仿真平台和虚拟系统中,以此来验证防御效果。
实验所用的网络拓扑图(如图2)分为两个区域:外网、中间网(net3)、内网(net1、net2)。外网和中间网通过一台路由器和防火墙相连,内网和中间网通过一台三层交换机和防火墙相连,且内网被划分为两个子网net1和net2。
图2 网络拓扑图
在该网络中文章设置的服务器、主机的IP地址、操作系统以及漏洞的详细信息如表1和表2所示,由此生成的求精规则如图3所示。
表1 服务器信息表
文章以访问控制为例进行具体的策略求精规则生成的说明。该实例中预想为在受保护的网络中,来自外网的不明用户想要通过主机host0进入访问目标网络,同时还想要在FTP服务器S2中安装木马。为了实现访问控制策略,首先需要对高层进行访问规则的规定,因此来防止未授权用户对FTP服务器的访问,如图4所示。
图4 访问控制策略
将访问控制策略求精规则输入高层后,会自动映射到操作层的规则,因此生成的求精规则如图5所示。
图5 生成的策略求精规则
通过对求精规则的分析后,将其部署在具体的设备节点中。文章是将未知的网络设备访问拒绝配置在防火墙中,为了明确对比策略求精规则的防御作用,文章进行了对比,在未部署防火墙的拒绝规则前,攻击者是能够访问FTP服务器的,
如图6所示。但部署了防火墙的拒绝规则后,攻击者就被拒绝访问FTP服务器,如图7、图8所示,从而保障了服务器的安全性。
图6 未知用户可访问FTP服务器
图7 防火墙拒绝访问规则
图8 未知用户被拒绝访问FTP服务器
4结论
文章研究的是策略求精算法在计算机网络防御中的应用,通过对高层的策略求精的撰写,可以实现更强的描述能力,也能支持更多的防御机制。