相比传统的电信网,NGN面临着众多的安全威胁,NGN的业务安全也面临着巨大的挑战。业务的开发和部署需要考虑到更多的安全特性和安全功能。利用UML安全扩展UMLsec对NGN中的业务安全需求进行分析建模,提出了一种细粒度的安全需求分析方法,通过抽象出安全功能抽象类说明NGN业务的安全特性需求。并通过用例讨论了基于安全应用接口的安全需求实现,使得各种安全特性能够更方便、更灵活地集成到业务中。
下一代网络(NGN)是基于分组网络的、多业务融合并开放网络能力的电信网络。其基于分组交换的核心网络为业务融合提供了传输基础设施;其网络能力的开放提高了业务的扩展性,为第三方业务提供者进入电信业务市场提供了良好的契机。但NGN中相对于传统电信网而言松耦合的、开放的业务结构特性和丰富的业务功能恰好与NGN基于通用计算平台和IP传输网络的基础设施在安全架构上形成了矛盾。采用基于IP的分组网络作为业务的承载网络使得许多针对IP网络的攻击行为在电信网络中成为可能,采用通用计算设备作为网络中的控制实体将计算机的安全问题引入到网络中的各个节点[1]。网络能力和业务能力的开放也带来了一系列业务层特有的安全问题。
目前,已经有众多的安全机制用于保证网络和计算设备的安全,但这些安全机制都是针对某一个或某几个特定安全问题和特定的环境设计的,如密钥分配、实体认证、机密性保护、完整性保护等,NGN业务针对不同的业务特征和业务执行环境有着不同的、综合的安全需求。如何理清业务的安全需求,并尽量通过已有的网络安全能力是业务开发者面临的一个问题。
鉴于业务开发过程面临的复杂的安全需求,本文提出使用形式化建模语言UMLsec[3,4]对业务安全需求进行分析,利用建模语言将业务所需的安全特性抽象成安全感知的类,通过这些类表达细粒度的安全功能,通过这些类的组合表达业务的安全需求。这些类的功能通过安全应用接口实现,如GSS-API[5]、NGSS-API[6],从而将安全特征集成到业务中。以便业务开发者在业务开发过程中摆脱安全机制实现细节的困扰,并且使得开发出来的业务安全特征具备可移植性。
一、NGN业务安全需求分析
1.UMLsec扩展
UMLsec是基于UML标准扩展机制的一个UMLprofile,通过在UML元模型中增加安全相关的约束、标签、定型等建模元素,使用UML图来表达安全相关的语义和系统需求与约束。但目前的UMLsec是基于计算机网络的环境定义的,将其用于NGN业务安全分析中来还需要进行相应的扩展。主要的扩展在于在UMLsec的元素中增加具备与NGN环境相关的定义,使其能够更明确、更有针对性地表达NGN业务的特点与需求。本文中将业务的承载、执行节点定义为NGN中业务的基础架构,并在UML元模型中对这些元素进行定义,如图1所示。
图1 NGN基础架构模型扩展
该扩展针对Link和Node和两个元类增加了NGN中关于承载和节点的定型。可以根据需要对该模型作进一步扩展,如可以增加关于接入网承载的定型等。
2.基于UMLsec的威胁分析
针对图1中定义的定型以及对网络安全构成威胁的攻击者的类型,可以定义出威胁函数TheatA(s)。其中A表示攻击者类型,这里假定攻击者为具备一般能力的外部攻击者,即其可以窃听到广播信道上的数据流量,并可以插入或删除数据流量,能够利用系统漏洞入侵系统;表示为模型中定义的定型威胁函数的值域为{delete,read,insert,access}。根据NGN中承载网络和计算节点的特性,我们可以得出如下威胁函数,如表1所示。
表1 NGN基础架构的威胁函数
攻击者对于IP承载的数据能够执行读写和删除操作,故其能够针对IP承载的业务进行攻击。如攻击者可以修改正常的SIP消息以改变呼叫的路由,发出BYE等SIP消息拆除正常的SIP会话,通过截获RTP承载的语音包并解码以实现窃听,可以在IP网络中插入大量数据降低VoIP的QoS实现DoS攻击,等等。
软设备通常基于通用的操作系统、数据库等软件。这些通用软件以及协议栈的实现都可能具备能被攻击者利用的漏洞。通过这些安全漏洞,攻击者可以对这些设备发起拒绝服务攻击(DoS)或获得设备的访问权。
由于NGN的基础设施针对一般攻击者的攻击函数值通常都不为空,因此需要在业务开发和部署时利用安全机制来保证业务的安全。