张楠 赵国生 盛琳阳
摘 要:首先,提出一个具有多层感知功能的可生存系统认知模型;然后,在介绍了高阶多型π演算的语法和操作语义的基础上,对可生存系统认知模型进行形式化描述;最后,实现对可生存系统在不同攻击下的系统可用性试验,仿真结果验证了该形式化描述与分析方法的有效性和可行性。
关键字:可生存系统;认知模型;形式化描述;量化分析
中图分类号:TP302 文献标识号:A 文章编号:2095-2163(2014)06-
Abstract:Firstly, proposed a cognitive model for survivable system with a multilayer cognitive ability; then, based on the introduction of the syntax and operational semantics of high-order multi-type π calculus, took formal modeling of cognitive model for survivable system; finally, achieved the tests about system availability in different attacks of survivable system, simulation results proved that the formal description and analysis method was is feasible and effective.
Keywords:Survivable System; Cognitive Model; Formal Modeling; Quantitative Analysis
0 引 言
可生存性[1]致力于网络系统关键服务的保障研究,旨在系统遭受故障、攻击和意外事件的情况下,网络系统仍能完成语气任务。可生存性的核心思想在此课可表征为自适应的“容”,即使系统在非正常情况下仍能继续工作,为用户提供网络系统的关键任务功能,也就是当系统遭遇入侵,甚至其重要组件发生损毁时,系统只要仍然具备在结构上合理配置资源,在攻击下合理重组资源的能力,就能够及时修复已损的关键服务,并可保证各种关键服务的实时完成。同时,认知计算[2]是认知网络[3]中的一项计算技术,而该计算作为下一代网络的核心理念,自提出以来就吸引了研究各界的高度关注,其研究目标即是使网络系统能够具备推理、学习、交互和自感知能力。为此,本文通过将认知计算中的认知特性引入到可生存系统认知能力的研究中,并基于高生存、高性能的应用需求,重点对可生存系统认知模型开展了全面您的探索和论述。
1 可生存系统认知模型
现有网络系统存在诸多复杂性问题,如无法有效抵御非善意攻击,缺乏自适应能力,同时需要过多的人工干预,以及管制效力较弱等,系统的安全性、可靠性、集成性和适应性等方面的内在缺陷也陆续暴露,已经难于适应以无线、宽带、移动和IP化为其基本特征的新一代网络系统的发展需求,时下亟需开展有关新方法、新理论和新技术的探索性研究,以寻获如上问题的有效解决。基于此,本文即提出了一个具有多层认知功能的可生存系统认知模型。
认知单元是可生存系统实现其自主认知能力的前提条件,即为可生存系统自主认知过程提供基本元素和现实载体。认知单元具备完善的认知处理功能,可以指导被控元素实现自我感知、上下文感知、自我配置、自我优化、自我适应和自我保护等特性。可生存系统认知单元由自主认知策略库驱动,主要包括认知环MDE(Monitor-Decide-Execute)和相对应的调用行为接口,具体结构如图1所示。MDE包含监测(Monitor)、决策(Decide)和执行(Execute)等构件,经由系统感知器收集特定网络域内的元素信息,进行分析并推理,生成相应的操纵指令序列,再经过“自我管理”行为调用接口进一步指导网络实现自我容忍、自我恢复、自我配置、自我优化和自我适应等特征。
如图2所示,图2左侧的接入认知子层负责对各种不同类型传输信道的认知,可称之为在通信能力上的认知。此框架可支持接入多种传输信道,通过协议转换将众多通信资源进行抽象、统一,而且在此抽象统一的通信资源基础上经过通信能力的自主认知来实现高生存、高性能、高可信和高适应的通信。可生存系统除了具备传统网络所具有的通信能力等众多特点外,还能够感知网络系统当前的生存状态,并根据用户不同的应用需求为使用者做出当前状态下的有利判断或最优判断。此判断是多个目标决策的过程,即对于不同的应用需求,可以进行多网选择,也就是在现有连接基础上,对用户的需求进行分析,并决定是选用电话网、无线网络、专用网络或是其他的通信方式进行信息传输,同事尽可能地满足用户需求;即使在同一网络中,也会存在多目标决策的过程。这个决策条件是由使用者预设确定的,一旦决策条件设定完成后,用户在信息传输前依据本次的传输需要,选择一种或者多种目标属性,如,高生存、高性能或高集成,可生存系统就会自动地对路由、信道或服务等做出最优选择,不再需要人为干涉,由此而降低了用户的劳动量,信息选择和传输过程也得以简化,并且服务质量相应提高,从而使得用户能够快捷方便地选择自己所倾向或需要的传输方式。
位于接入认知子层和服务认知子层之间的即是服务代理认知子层,可以有效抵御恶意攻击,特别是分布式拒绝服务攻击;同时,也可以隐藏服务器的有关信息,例如服务群的位置、服务器的软件版本等,从而减少服务器面临安全威胁的可能;而且,对服务器的状态进行监控,对用户透明的服务漂移进行引导;另外,还可为服务器提供均衡服务等关键服务。服务代理认知子层主要有以下关键模块:
(1)服务引导。一般情况下,该模块担任类似服务注册中心的角色,引导用户达到需要服务并综合服务状态。依据应用性需求,该模块的扩展功能会对客户端执行验证的功能,验证通过的客户端则将会引导至可用服务。
(2)服务协同。代理认知子层的服务协同设计包括多个方面。重点即在代理节点间进行均衡负载协同,就是依据服务器状态来执行服务器的均衡负载调度;而且,还可依据代理节点的无效信息,安装预先定义的策略进行服务漂移,以保证服务不会间断。
(3)服务隐藏。服务代理节点对相关信息进行修改,隐藏服务器的对应生存性状况,例如服务群位置、服务器软件版本等,有效降低服务器面临安全威胁的可能性。
(4)拒绝服务攻击防御。拒绝服务攻击严重威胁开放型服务。服务代理认知子层可以规划并设计拒绝服务攻击防御模块,通过识别将大部分拒绝性服务攻击实现过滤;而且还可通过服务代理认知子层的服务协同,使得服务代理认知子层在大量分布拒绝服务攻击下能够保证较强健的生存能力。
(5)服务监控和响应。监控服务代理节点、服务节点的状态,发现并定位故障,依据预先定义的策略来执行安全响应。支持自适应的资源动态分配模型,正常状态下根据网络负载或者代理节点的计算调整资源分配状态,而在应急状态下则可以提高关键服务的资源数量以增强可生存性。
图2右侧的服务认知子层则多个服务节点构成。各个服务节点在互相协同下完成服务,自适应地执行负载均衡。同时服务节点能够执行置信机制、服务多样化、生存性评估等操作,确保服务不会间断。并且对资源分配可进行动态调整,以此确保关键服务最大限度的可持续性。服务认知子层主要有以下几个模块:
(1)服务漂移。包括在故障状态下进行的服务应急漂移和在健康状态下进行的服务主动漂移。其中,服务主动漂移下是根据预先定义的策略,随机或定期地在服务节点间执行漂移,以确保恶意攻击目标的机动性。而应急漂移则是当检测到有服务发生故障时,即依据生存性策略,将服务迁移到当前状态下可用并且在未来生存概率最高的节点之上。
(2)服务多样化。将服务进行多样化,以防攻击下产生的多米诺骨牌效用。对服务的多样化距离进行定量计算,再选得最优的迁移顺序和服务组合,如此即可完成多样化的服务部署。
(3)服务恢复。即是对发生故障的服务执行各种恢复动作。面对SOA风格的应用可以重构方式来执行恢复。
(4)置信机制。即是在节点间建立信任关系管理,力求将遭受入侵节点区分开来。
(5)生存性评估。将网络系统的生存状态进行量化评估,并将评估后的结果输入到安全管理中心,以此影响和制约生存性的策略制定及执行。
2 可生存系统认知模型形式化描述
π演算是20世纪90年代并行计算机理论研究领域中高端重要的一种并发计算模型,由Milner等人扩充CCS(calculus of communicating systems)而得到。高阶多型π演算[5]是由Sangiorgi等人在一阶π演算的基础上发展得来,主要可用于针对系统行为和系统结构都不间断变化的并发系统的有关描述。π演算主要有三个关键实体:名(name)、抽象(abstraction)和进程(process)。其中,进程作为并发运行实体的基本单位,可用名来定义通道(channel)及在通道中传送的各个对象(object);每一个进程均有若干个与其他的进程相互联系的通道,进程间的交互即是通过这些共享通道进行和完成的。一阶π演算和高阶多型π演算至为关键的不同之处则在于高阶多型π演算的对象名也可以是一个进程,这就使得在交互中互相通信的数据也可以是进程,即进程均可以获得传递。而抽象则是建立在进程基础上的,也就是带有参数的进程。将抽象的参数具体化,便得到一般进程。在高阶多型π演算中,通道中传送的对象和参数都是具有类型的,具体化抽象的参数时以及进程交互时要特别注意类型兼容性。
定义1 设N表示名(name)的集合,名由小写字母表示,,,P,Q表示高阶π演算进程,则高阶多型π演算进程可定义为:
。
鉴于可生存系统具有的结构复杂、服务多样以及规模可扩展等特性,若对其进行分析,即需首先抽象和简化可生存系统,并将有用信息由实际系统中抽取出来,从而建立形式化模型用以精确描述系统性质和行为。对已建立的可生存系统认知模型的形式化应做到能在抽象程度和描述能力间取得平衡,既有利于推理,又能准确直观地刻画并反映系统的属性,以此而实现对可生存系统认知模型的功能分析。为明确可生存系统认知模型同层中的行为变化和演化过程以及各层之间的交互行为,可运用高阶多型π演算,将认知元素和系统元素抽象成一系列的进程,并将元素间的各种关联关系抽象成为进程间的消息交互,再运用推理、演算规则模拟系统的认知过程与演化过程。引入层间映射模型,可以便于抽象且形式化地描述可生存系统的内部结构,如图3所示。此时,可生存系统认知模型可以做形式化地整体描述如下:
由图4中我们看出,当h减小时,图中的三条曲线均呈上升趋势,如此即说明系统抵抗攻击的能力越强,随之系统的可用性也就越高。其中,cocurrent attacks所对应曲线在最下方,而single point attacks所对应曲线在最上方,这就说明攻击的严重性直接影响系统的性能。三者中cocurrent attacks的攻击强度最大,系统可用性却最低;而single point attacks 的攻击强度最弱,系统可用性即最高;同时,sequential attacks 的攻击强度居中,其系统可用性也就位于三者之中。
通过以上试验可得到如下结论:本文所提出的可生存系统认知模型的形式化描述方法可以正确地反映出可生存系统的性能强度;系统性能不仅与其所受攻击的攻击强度、攻击严重性有关,还与系统对攻击的检测、抵抗以及恢复等指标密切相关,是一个整体性的综合评估值;该方法简单、并且实用。
4 结束语
高阶多型π演算为可生存系统认知模型的形式化描述和性能分析提供了一个强有力的形式化工具,从形式化描述到分析可生存系统性能参数,如此则有助于对系统的可生存能力进行准确的定性与定量分析,从而为后续的可生存系统评估提供合理的判断依据。未来的研究工作将通过深入理解可生存系统的各种特性,并以此为基础进一步完善提出的形式化模型。
参考文献:
[1] WANG T, DAI H, XIANG K, et al. Network system survivability survey: An evolution approach[C]//Future Computer and Communication (ICFCC), 2010 2nd International Conference on. IEEE, 2010, 1: V1-339-V1-342.
[2] MODHA D S, ANANTHANARAYANAN R, ESSER S K, et al. Cognitive computing[J]. Communications of the ACM, 2011, 54(8): 62-71.
[3] 王慧强,徐俊波,冯光升,等.认知网络体系结构研究新进展.计算机科学,2011,38(8):9-16.
[4] 陈海涛,卢宇彤,黄遵国.一种新型多层可生存信息服务架构[J].计算机工程与应用,2008,44(15): 15-17.
[5] 李长云,李赣生,何频捷.一种形式化的动态体系结构描述语言[J].软件学报,2006,17(6): 1349-1359.