主动网络AN是一种新兴的可编程数据的交换网络,它具有许多优良的特性。但是,主动网络截至目前还没有得到广泛的实施和应用,其主要原因是本身的安全性还没有得到较好的解决。主动网络由于允许用户对网络的中间节点编程,到达主动节点(Active Network Node,ANN)的主动代码(Active Code,AC),在执行的过程中需要请求相关的服务,访问所需要的节点资源,因此其安全性面临更大的威胁。如果安全性得不到更好的解决,该网络就不存在真正的实用价值。
IETF(互联网工程任务组)的主动网络安全工作组已经提出了一个主动网络的安全规范,但该规范只提出了一个安全框架,许多细节和实现在该规范中并没有得到具体的体现。国外主动网络系统中考虑了一些安全方面的问题,方法大致有以下几种:
(1)使用强类型语言限制资源访问:如BBN公司的SmartPacket系统采用了Sprocket语言,宾夕法尼亚大学的Switchware系统采用了PLAN语言。这种方法虽然能够保证一定的安全,但与他们所采用的语言有着密切的关系,不具有通用性。
(2)直接限定最大值:直接在主动信包(Capsule)中限定AC的最大跳数,从而避免耗费过多的资源。由于不同AC所访问的资源量不同以及节点环境的动态性,所以在实现过程中该最大值最终难以确定。
(3)使用硬件:如Switchware在安全方面做的研究工作并取得了一定的研究成果,通过在底层使用硬件AEGIS来安全地引导主动节点操作系统。但是这种基于硬件的安全策略使其通用性方面受到了影响。
(4)使用认证和授权:如SmartPacket采用了认证技术对信包的创建者进行身份认证,采用访问控制列表(Access Control List,ACL)来仲裁主动信包的访问权限和可访问的资源,但该方法需要修改主动网络封装协议(Active Network Encapsulation Protocol,ANEP)。
由此可见,国外研究的一些主动网络系统因其侧重点不同而对安全性考虑得很少。即使有所考虑,但采用了特殊技术使得其安全机制不具有通用性。这在”主动网络必须与传统的IP网络相兼容“的情况下不能作为构建安全主动网络体系结构的构件,从而限制了主动网络的发展与应用。基于此,我们遵循主动网络安全工作组的安全规范,提出了具有通用特性的安全机制。
主动网络安全体系模型
主动网络中包含许多由各种可能的网络技术连接起来的网络节点,这些网络节点并不一定都是主动节点。体系结构从宏观上分为三层,由节点操作系统(NodeOS)执行环境(Execution Environment EE)和主动应用(Active Applications AA)主要构件组成,如图1 所示。
NodeOS的功能是主动节点中的通信带宽处理机能力,以及存储空间等本地资源向其上层的EE提供可供调用的接口,包括输入输出信道软状态存储、安全策略数据库以及安全强制引擎Security Enforcement Engine,SEE EE利用NodeOS向其提供节点资源的调用接口,再向AA提供相对独立的执行环境的编程接口,一个NodeOS中可以有多个EE类似于Java的接口。
语言的虚拟机这些EE相对隔离构成一个个相对安全的执行环境,这样既可以限制每个EE对节点资源的使用,从而保证多个节点资源可以公平地使用节点资源又能隔离每个EE 的处理防范。由于某个主动分组无意或恶意地过多使用网络节点资源而妨碍主动节点的正常运行,例如在动网原型系统ANTS中采用Java语言虚拟机JVM通过提供封装包Capsute类、Node类、Protocol类等扩充了JVM的功能,构成了主动应用AA的执行环境AA与用户的特定应用。
相关用户应用可以是一个AA也可以是多个AA的组合,从而实现特定协议的处理过程。
ANSA 安全体系
ANSA是IETF安全工作小组(AN Security Working Group)建议的主动网络安全体系结构。在ANSA体系结构中定义了一个基本的安全角色-主体。它泛指任何网络操作行为的发起者,如:某个人某个团体或团体中的某个成员等等。ANSA将主动网络中的安全问题分为两类:端到端(End-to-End)安全和逐跳(Hop-by-Hop)安全,ANSA建议所有的逐跳安全和绝大部分端到端安全在节点操作系统层实现。其优点是所有的EE操作都经过统一的安全检查;其缺点是在目前基于类UNIX通用操作系统的主动网实验平台上加载安全机制,并需要修改操作系统内核,这显然大大增加了主动网安全机制开发的难度。
ABone 安全体系
ABone是由DARPA资助的在Internet上供研究用的一个主动网实验平台。在功能上对等于IPv6网络的实验平台6Bone。有了ABone人们就可以在全球范围内借助Internet开展主动网的研究工作。ABone支持两种可执行环境EE:ANTS和ASP。
目前加入ABone的节点己遍布于世界各地,基于Abone的主动网安全性研究非常活跃。绝大多数Abone的节点操作系统都为类UNIX操作系统,例如:Linux,FreeBSD或Solaris。所有的EE以进程的方式运行在这些操作系统之上,并利用这些操作系统固有的安全机制保护EE的安全。Abone假定EE可信,而AA是不可信的,Abone将主动网中的安全问题主要划分为以下两类:
1. 非法的主动分组对主动节点上合法的AA带来的安全隐患。
2. 恶意的AA对主动节点上的EE和节点操作系统的危害。Abone建议逐跳安全可以在EE中实现也可以在网络守护进程(netiod)中实现,端到端安全则在EE中实现。其优点是实施安全机制不需修改操作系统内核;缺点是需要在每个EE中分别实现安全机制。
基于AN的网络故障管理
鉴于集中式网络故障管理的缺点,人们提出了基于AN的网络故障管理技术,AN具有如下优势:
(1)通过将主动网络管理站(ANMS)的部分工作交由主动节点(中间路由器和交换机)来完成,实现准确监测,快速故障发现和预测,不仅可节约网络带宽,还可避免网络管理任务的延迟,并能有效管理网络中出现阻塞和不可达的部分。
(2)主动节点一旦检查到问题会自动报ANMS而不必轮询,使对故障的反应更快、更准、更有效,将故障的影响降到最低。
(3)一些起“急救”作用的分组可携带用户定制的一段程序代码,当遇到问题节点时能自动执行、处理问题;而另一些起“巡逻”作用的分组则不断监视网络、跟踪问题。
(4)可实现网络监视和事件过滤的智能化。因ANMS可向被管节点发送程序,故它可根据需要从诸多网络事件中实时“裁剪”一些对特定用户发现网络问题无用的事件,使网络业务流量和故障处理时间都降低。
(5)可利用整个网络的计算能力,完成在规模较大网络的信息收集、处理、模拟及验证工作,使网络的故障和阻塞能被准确预测,优化了网络运行的整体性能。
(6)新业务可动态配置在被管节点中,当管理的需求发生变化时,其故障管理策略可方便地进行调整。
基于AN的网络故障管理的总体设计
基于AN的网络安全管理一般包括3个步骤:(1)故障监视和发现;(2)故障信息记录、分析和分离;(3)恢复故障。因此,ANMS故障管理主要由以下基本功能模块组成:用户交互界面、故障管理功能模块和系统信息库。用户交互界面用于管理员发布各种故障管理命令和显示各类故障信息;故障管理功能模块包括:故障发现、告警、记录和处理;系统信息库包括故障记录库和故障管理策略库。其功能结构模型见图2。
基于AN的故障管理功能的实现
我们采用在传统节点上安装节点操作系统和AN执行环境来模拟AN环境,主动节点的实现采用美国Utah大学开发的Janos作为主动节点操作系统,利用ANTS作为AN执行环境。ANTS是MIT开发的实现端系统间移动代码技术的AN工具,其设计目标是建立通用的网络模型并用于建立与动态配置网络协议,我们在其上采用Java语言进行网络故障管理应用的开发。
巡逻报文故障发现和告警的实现
(1)巡逻报文的设计
巡逻报文在子网或整个网络上巡视,它在经历的各节点上获取要监控的参数,这些参数可从MIB中获取,因此报文中封装了MIB变量的OID号,当巡逻报文到达被管节点后,根据OID号获取MIB变量值。由于有些表示故障的参数要通过与门限值比较才能判断出是否发生故障,故报文中携带有用户自定义的故障参数门限值,还增加有共同体名和端口两个字段,以方便利用SNMP API对MIB进行操作。如图3所示,APType字段表示主动报文的类型,AppType字段表示主动应用类型。
(2) 通告报文的设计
通告报文的核心工作是向ANMS告警,当巡逻和监控报文在被管节点发现故障时,无论软件是否恢复,都由被管节点向ANMS发送通告报文,管理员依据报文信息决定进一步工作。如图4所示,故障类型表示被管节点发生的故障种类;故障状态表示巡逻和监控报文对故障的恢复状况。
Ping程序故障发现的实现
(1) Ping主动报文的设计
Ping程序即数据包网际检测程序,可用于测试TCP/IP网络另一台主机是否启动、运行或连接在网络上。Ping实际是一种Internet控制消息协议“回送消息”,即发送者向另一计算机发送一个数据包,并期待接收方返回发送方之前所发送的数据作为应答,利用Ping可得到各节点的地址和数据往返传送的时间、发送数据包和丢失数据包的数量。如图5所示,数据域用于存放发送报文的时间,当报文返回时,可计算出报文到达目的节点的往返时间。
(2) PingCapsule类的设计
PingCapsule类用于实现Ping主动报文对故障的发现,是AppCapsule类的子类,PingCapsule类中重载的关键方法evluateQ的算法思想如下:1)Ping主动报文到达目的节点,向ANMS返回报文。2)Ping主动报文到达路径中间节点,向目的节点转发报文。3)Ping主动报文返回ANMS,将报文交由上层应用处理,
总之,主动网络与传统网络相比,具有无法比拟的灵活性和开放性,但这些优势也使得主动网络的安全问题变得更加棘手。本文在对主动网络定义阐述的基础上,提出了主动网络安全体系结构模型,并对模型的功能进行了描述,设计了系列基于AN的网络故障管理技术的基本实现方法。
(作者单位为河北工业大学计算机科学与软件学院计算机系)
来源:《中国教育网络》2009年3月刊
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。