吴志军,周胜琰,雷缙
(中国民航大学电子信息与自动化学院,天津 300000)
为提高ATM(air traffic management)服务提供者之间的全球互操作性,增强各部门之间信息共享,打破异构服务之间信息交换的瓶颈,1997 年,欧洲航空安全组织首次向美国联邦航空局提出广域信息管理(SWIM,system wide information management)的概念。2005 年,国际民航组织(ICAO,International Civil Aviation Organization)将SWIM作为国际航空信息发布系统,美国和欧洲分别于2007 年部署“下一代航空运输系统”计划和“欧洲单一天空空中交通管理研究计划”,均将SWIM 作为信息沟通和数据共享的架构[1]。广域信息管理作为下一代空中交通管理的核心[2],连接了民航信息网络的各个组成部分,整合了民航各类业务资源(包括空域管理、流量管理、交通管理、监控管理、飞行器系统等),对通信数据、导航数据、监控数据、气象信息、全球地理信息和各类飞行对象加以管理,是民航网络信息交互和数据共享的关键组成部分。
随着越来越多的用户通过SWIM 获取民航服务数据,SWIM 服务的数据交互越发频繁,面临的安全威胁也越来越突出。SWIM 网络安全研究主要集中在SWIM 安全技术标准[3]、数据安全威胁分析[4]、数据实时交互保障[5]、数据传输加密认证[6]和数据安全与共享[7],虽然实现了数据安全和隐私保护,但是没有针对恶意攻击、系统故障、突发事件等一系列安全威胁做出应急响应。SWIM 作为一个大规模分布式网络,因其服务提供者的自身硬件性能和地理位置信息各不相同,面临的安全威胁也不尽相同,因此,有必要提出一种从SWIM 服务提供者角度出发的保护模型,能够结合自身性能特点准确判断安全态势,主动移交SWIM 服务权限,减少突发事件对SWIM 服务造成影响。
目前,服务移交机制的研究已经取得了不少成果,黄遵国等[8]在服务集群内采用多种随机竞争机制实施进程迁移,服务器漂移具有较高的随机性,但攻击者可能发起时间漏隙攻击,同时漂移机制缺乏可控性,容易造成网络振荡。洪小亮等[9]对文献[8]中服务漂移的触发机制和竞争机制进行了改进,可以有效抵抗时间漏隙攻击,但是单一的服务漂移模式降低了服务漂移的随机性。文献[10]提出了一种服务漂移模型,把服务模型抽象为一个部分可观测马尔可夫决策过程,可以计算出使客户获益最高的服务漂移策略,但是该模型触发机制设计不合理,容易造成时间冲突。文献[11]利用各种检测平台的告警信息,提出了一种基于网络可生存性态势感知的主动服务漂移模型,模型未对告警数据进行联合分析,容易发生虚警漂移,增加系统负担[11]。文献[12]提出了一种云计算环境下的最优Web 服务迁移架构,该架构以负载为移交服务触发衡量标准,触发条件单一,不能保证服务的安全性。由于SWIM 网络是面向服务的大规模信息网络,面临多种维度的安全威胁,仅从单一角度触发移交机制不适应SWIM 网络安全需要,本文提出了一种基于态势感知的服务移交触发机制,联合多维安全威胁信息判断安全态势。网络安全态势感知最早是Tim Bass 提出并广泛应用于航空等领域,是对安全态势数据的不断观测、提取、理解及预测[13]。安全态势评估是态势感知的一部分,安全态势评估算法有模糊综合评价法[14]、机器学习算法[15]、概率模型算法[16]等。本文依据SWIM 节点安全态势决策是否触发主动移交机制,将安全态势评估由数值型问题转变为分类问题,消除了人为设置安全阈值的主观因素干扰,能够通过真实数据学习训练,更符合真实环境下的安全需求。
在某航班飞行过程中,航空公司作为SWIM 服务消费者(SC,service consumer),通过SWIM 网络获取航空监视数据、机场地面信息和航空气象等信息;空管部门提供航空监视数据服务、航空气象服务;机场提供机场地面信息服务。如果该空管单位由于遭受恶意攻击或发生自然灾害导致服务延时增加或服务突然中断,对航班飞行造成安全威胁,那么,必须快速找到一个可靠的空管部门作为移交目标,由它继续提供服务,因此,保证SWIM服务的连续性和稳定性是关键。本文在原SWIM网络的基础上引入了一种SWIM 服务权限主动移交模型,如图1 所示,将SWIM 网络中服务主题相同的SWIM 服务提供者(SP,service provider)视为对等服务提供者,在突发事件发生时从对等服务提供者中选择节点继续提供SWIM 服务,保证了在单点或部分SP 失效情况下SWIM 服务的连续性。
1)SC 通过SWIM 网络获取对应服务,实际上是SC 通过查询具有全网一致性的服务信息注册列表[17],将对应服务主题的SWIM 服务数据发送给SC,具体由哪个SP 来提供SWIM 服务数据对SC来说是不可知的。SWIM 旨在融合多元服务数据来提升SC 联合决策能力,只有保证SP 的安全运行,才能确保SWIM 服务的可靠性。各SWIM 用户之间采用标准的协议交互,相互采用松耦合的方式连接[18],各SWIM 用户之间相对独立,因此,通过移交故障节点SP 的服务权限来保证SWIM 服务的连续性是可行的。
图1 SWIM 服务权限主动移交模型
2)如果SP 自身状态信息实时发送给SWIM 网络,将增加SWIM 网络工作负担,占用网络带宽,影响SWIM 服务质量。另外,SP 的安全态势大部分时间都处于正常状态,实时传输的自身状态信息中存在大量冗余信息,同时考虑到SP 之间硬件设施和地理环境的差异性,因此,将服务移交触发模块分布在SP 本地,只有突发事件发生才会向SWIM发送状态信息,减轻了SWIM 网络流量负担,保证了SWIM 网络带宽的高效利用。
3)SWIM 网络由多个分布式SWIM 域组成,SWIM 域间相互连接,可以快速获取全网SP 的安全状态信息,因此将服务权限移交模块部署在SWIM 核心服务中,依据迁移期望最大化原则选择移交目的SP,将SWIM 服务权限无缝地移交至该SP 上。
SWIM 服务权限主动移交机制如图2 所示。
图2 SWIM 服务权限主动移交机制
首先由某SP 向SWIM 用户提供服务,同时周期性地收集安全态势特征数据,并对系统当前所处的安全态势进行评判,依据评估结果触发服务移交机制,当未触发服务移交机制时,继续向SWIM 用户提供服务并周期收集自身安全态势特征数据,当触发服务移交机制时,从备选服务提供者中选择移交目的节点,由目的节点向该SWIM 用户继续提供服务。由此可知,实现SWIM 服务权限主动移交机制需要解决3 个问题:1)安全态势特征数据的选取和处理,2)SP 安全态势评估,3)选择移交对象。本文使用3 个模块解决上述3 个问题,具体如下。安全态势特征数据处理模块从多维度收集安全威胁信息并对其进行预处理;服务移交触发模块根据监测安全态势特征数据判断安全态势;服务权限移交模块根据预判结果触发SWIM 服务权限主动移交机制。
SWIM 服务提供者安全态势隐含在海量的监测告警数据中,为了能够在复杂多变的网络环境中准确感知自身安全态势,必须充分考虑影响SP 安全态势的各种因素,提取关键特征信息。依据SP 的监测信息判断安全态势,从而根据自身安全态势实施主动防御机制,提升SWIM 服务的可生存性,考虑到系统硬件性能、恶意攻击、自身漏洞和突发灾害等因素对系统安全态势的影响,本文主要通过负载威胁指数、攻击威胁指数、漏洞威胁指数、环境威胁指数、节点服务威胁指数5 个特征评估安全态势。
定义1负载威胁指数TLN。t时刻,SP 节点N的自身负载情况,反映了SP 处理服务的能力。影响负载变化的硬件参数有很多,本文主要考虑3 种参数即CPU 使用率(CPU%)、带宽使用率(Band%)和内存利用率(MEM%)[19]来衡量负载情况。根据SP提供服务属性不同,可以分为计算消耗型服务和通信消耗型服务。依据服务类型对硬件资源的消耗程度情况分配权值w,权值分配如表1 所示。
表1 权值分配
在SWIM 运行过程中不断优化这些参数,则SP 节点N在t时刻的负载威胁指数如式(1)所示。
其中,
定义2攻击威胁指数TAN。在[t-Δt,t]时间区间内,SP 节点N所受恶意攻击对SWIM 服务造成的威胁值。SWIM 服务节点部署了多种攻击检测传感器,统计告警信息中攻击i的攻击次数Ci和攻击强度Di,依据SNORT 用户手册将攻击强度分为低、中、高3 个等级,分别用1、2、3 表示,攻击i的攻击威胁值如式(3)所示。
在[t-Δt,t]时间区间内共有n种攻击发生,则可由式(4)计算节点攻击威胁指数。
定义3漏洞威胁指数TVN。t时刻,系统检测漏洞对SWIM 节点造成的安全威胁指数。将检测漏洞按照通用漏洞评分系统(CVSS,common vunerability scoring system)的度量标准计算漏洞威胁指数[20],漏洞威胁指数计算如式(5)所示。
其中,TMj是第j个漏洞对系统安全态势的影响值,分别从SP 的机密性Cj、完整性Ij和可用性Aj这3 个方面来考量。
TBj是第j个漏洞被攻击利用可能性的量化值,分别从攻击途径AVj、复杂度ACj和认证AUj这3 个指标来衡量。
m为系统在t时刻检测到漏洞的个数。f(TMj)是对m个漏洞对系统安全态势影响值的统计平均后的结果。
系统各漏洞安全态势影响考量要素度量值分配如表2 所示[20]。
表2 度量值
定义4环境威胁指数TEN。t时刻,SP 节点N由于自然灾害对SWIM 服务造成的安全威胁指数。依据相关部门的自然灾害预警信息和环境感知信息计算环境威胁指数TEN,如式(9)所示。
其中,若t时刻已经发生自然灾害,将TEN置1,否则将TEN置为Pt,Pt代表相关预警部门对该SP发生自然灾难的估计概率。
定义5节点服务威胁指数TSN。t时刻,SP节点N对外提供服务的可能性。若提供服务的下一时间节点为tservice,设置时间阈值tq,只有在[tservice-tq,tservice]时间区间内SP 发生故障才可能对服务造成影响,时刻t与tservice越接近,节点服务威胁指数越大,则节点服务威胁指数TSN为
其中,tq=30 s。
通过计算SP 各维特征威胁指数,仅从局部衡量了SP 节点某方面的安全威胁,未能从整体上科学地评估SP 节点安全态势。本文依据安全态势触发SWIM 服务权限主动移交机制,将SWIM 节点的安全态势分为安全和威胁2 种,对应继续监测和移交服务2 种响应策略,那么,SP 节点安全态势评估不再是一个数值型问题,而是转化为分类问题,将各维特征威胁指数生成特征向量并利用分类算法评判出节点所处态势。常见的分类算法有随森林算法、逻辑回归算法、KNN(k-nearest neighbor)算法、神经网络算法、贝叶斯分类器等。其中,随机森林算法是一种能够在提升精度的情况下保证运算量的机器学习分类算法,随机森林是在决策树的基础上演化而生的,在随机森林内部构建多个相对独立的决策树,在训练完成后,能够在新样本到来时,决策出样本的类别[21]。随森林算法步骤如下。
1)初始化原始训练数据集D,在随机森林内部构造K棵决策树,每棵决策树的训练样本个数均为N,按照Bootstrap 法从原始训练数据集D中有放回地随机抽取K个规模为N的训练数据子集,利用K个训练数据子集分别训练K棵决策树。
2)假设每个训练样本共有L个输入特征,从L个输入特征中随机选择l个(l<L)输入特征,利用这l个输入特征决定最优分裂点。
3)不对分类树作任何处理,使其自由生长。
4)最终生长出的K棵决策树组成随机森林,当有新的样本输入时,随机森林中每棵决策树分别对样本进行分类,最终分类结果由每棵决策树投票决定。
利用随机森林算法,以Δt为周期定期观测计算威胁指数,将SP 节点N安全威胁指数生成特征向量TN=(TLN,TAN,TVN,TEN,TSN),并将其作为随机森林算法的输入,对系统状态进行安全态势评估,依据节点安全态势触发SWIM 服务主动移交机制。
服务权限移交模块位于SWIM 核心服务中,用来管理本地SWIM 域下的SWIM 用户。服务权限移交模块的信息列表由五元组(mid,type,node,C,μ)组成,其中,mid 代表移交标识信息,取值为“0”或“1”,“0”表示该SP 正常提供服务,“1”表示该SP需要移交SWIM 服务权限;type 代表该SP 提供的服务主题;node 表示该SP 的节点信息;C是n个订阅该SP 服务的SC 节点信息的集合,C={Cj|i=1,2,…,n};μ表示该SP 的相对指数,根据SP 的各维威胁特征指数,利用模糊多属性决策算法[22],计算相同服务主题SP 之间的相对指数,安全性能越强μ则越大,当有待移交服务时,更新μ值。具体过程如下。
首先,在服务权限移交模块中构造移交目的节点评估矩阵T。
其中,Tij代表SP 节点i的第j维安全态势特征值。
为了消除物理单位对数据的干扰,将评估矩阵进行归一化得到T1。
其中,i=1,2,…,n,j=1,2,…,m。
依据归一化评估矩阵T1,分别构造最优特征向量g和最差特征向量b,如式(15)和式(16)所示。
分别计算备选节点特征向量与最优节点、最差节点特征向量之间的欧氏距离。
其中,β是节点各维安全威胁指数对待移交服务的影响程度。
根据各节点的dig、dib可求的节点i相对于其他备选节点的优差程度μi。
SWIM 服务提供者触发服务权限移交机制后,服务权限移交机制流程如图3 所示。
图3 服务权限移交流程
服务权限移交模块向SWIM 注册中心请求待移交服务的服务状态信息,SWIM 注册中心收到该请求后,删除待移交SP 注册发布的服务信息,该SP 的移交标识信息更新为1。待移交SP 可能提供多种服务,降级为多个基础服务,查询移交信息列表,更新相同服务主题SP 的μ值,依据μ值选择目的节点。
SWIM 服务权限移交过程包括以下步骤。
1)SWIM 网络根据SP 发送移交请求信息更新全网移交信息列表,移交信息列表依据时间戳依次完成服务移交。
2)移交信息列表中待迁移服务节点中每类待移交服务主题分别与移交信息列表匹配,将匹配到的节点组成备选移交目的节点并构建节点评估矩阵。
3)按照模糊多属性决策算法计算各备选移交目的节点的μ值,并将μ值更新到服务权限移交模块信息列表,从中选择最大μ值节点作为移交目的节点。
4)服务权限移交模块向移交目的SP 发送服务状态信息,并将SC 请求信息转发至目标SP,或由目标SP 向原服务的缓存空间传送服务数据。
为了验证SWIM 服务主动移交机制的有效性,本文在真实网络环境中根据SWIM 网络体系结构搭建了仿真平台,其网络拓扑结构如图4 所示。仿真平台由PC 机、服务器、路由器和交换机组成。其中,一台PC 机模拟SC 获取SWIM 服务;2 台PC 机作为SWIM 接入节点,提供SWIM 服务注册、查询与管理功能;5 台PC 机作为SP 提供SWIM 服务。
图4 测试平台网络拓扑
实验PC 机的硬件配置如表3 所示。
表3 实验PC 机的硬件配置
SP 使用Apache 作为服务器,Mysql 作为数据库存放SWIM 服务数据。以SWIM 航班信息交换模型(FIXM,flight information exchange model)[23]和SWIM 航空信息交换模型(AIXM,aeronautical information exchange model)[24]为标准,分别提供航班信息服务和航空信息服务。
首先,验证随机森林算法触发移交机制的可靠性。采用我国某空管分局提供的真实飞行情报服务物理节点安全态势观测数据用于算法训练。在物理节点在对外提供服务数据的情况下,利用多种监测手段定期统计物理节点上服务器的相关数据,包括CPU、内存和带宽。并从防火墙和入侵检测系统中获得相关攻击数据,利用漏洞扫描系统得到系统漏洞信息。然后,对获得的数据进行统计分析得到安全态势数据,依据服务反馈情况评价该SWIM 物理节点的安全态势,得到该节点安全态势统计数据,如表4 所示。
本文将安全态势统计数据进行威胁指数处理后作为训练数据集使用。在实验中,设Δt=60 s,采用1 600 组历史数据作为训练数据集,每组历史训练数据包括当前时刻t的安全威胁指数监测值TLN、TAN、TVN、TEN、TSN和对应的SWIM 节点安全态势;测试数据为500 组,从500 组测试数据中随机抽取10 个分类结果如表5 所示。
随机森林算法分类结果与真实态势统计类型如表6 所示。其中,TT 为分类结果为威胁的真实威胁的样本个数,FT 为分类结果为安全的真实威胁的样本个数,TF 为分类结果为威胁的真实安全的样本个数,FF 为分类结果为安全的真实安全的样本个数。
表4 节点安全态势统计数据
表5 随机森林算法分类结果
表6 分类结果与真实态势统计类型
具体性能指标计算式如式(21)~式(24)所示。
将500 组测试数据的结果进行统计,并与贝叶斯分类算法的分类结果进行比较分析,得到2种分类算法的性能对比结果,如表7 所示。实验结果表明在采用相同训练数据集和测试集的情况下,随机森林算法的准确率、漏警概率等指标均优于贝叶斯算法。
表7 分类算法性能对比
在SC 获取SWIM 服务的过程中,模拟突发故障和恶意攻击,通过与未部署SWIM 服务主动移交模型的SWIM 网络(Non-PMM)和传统服务漂移机制(TSMM,traditional service migration mechanism)对比,判断SWIM 主动移交模型能否满足SWIM 网络应急响应的需求。主要从吞吐量和服务平均时延两方面考察系统性能[25],其中服务器提供者与服务主题对应关系如表8 所示。
表8 服务提供者与服务主题对应关系
模拟10 个SC 用户通过SWIM 订阅SWIM 航班信息服务,最初由SP1 对该订阅用户SC1 和SC2 提供服务。当SP1 突发系统故障对SWIM 造成安全威胁时,SP1 感知自身安全态势并触发SWIM 服务权限移交机制,SWIM 收到移交请求后更新全网移交信息列表,全网移交信息列表中包含了SWIM 网络中所有待移交服务,依据时间戳顺序,依次将服务权限移交至其他节点,同时将服务权限移交模块信息列表中SP1 的移交标识信息更新为1,如图5 所示。
图5 SWIM 服务移交信息列表
根据图5 中全网移交信息列表中待移交服务主题,SWIM 服务权限主动移交模块依据目标节点选取策略,获取SP2、SP3、SP5 的多维安全特征值,并构造移交节点评估矩阵。
对矩阵T进行归一化处理,得到归一化矩阵T1。
节点各维度安全威胁指数对待移交服务的影响程度β=[0.2 0.3 0.3 0.1 0.1],分别计算备选节点特征向量与最优节点、最差节点特征向量之间的欧氏距离为
计算可得到节点间相对安全指数如式(29)所示。
SWIM 服务权限主动移交模块将相对安全指数更新到信息列表中,选取相对指数最大的SP 作为移交目的节点,将待移交服务订阅用户SC1 和SC2的订阅请求移交至SP2 上,移交后的服务移交信息列表如图6 所示。
5.2.1 SWIM 网络吞吐量
SWIM 网络吞吐量指的是单位时间内SWIM 成功对外传输数据的大小。为了验证本文方法的性能,考虑在发生突发事件情况下SWIM 网络吞吐量的变化,本文模拟1 500 个用户订阅SWIM 航班信息服务,并在SWIM 正常提供服务后,注入持续性突发故障,仿真结果如图7 所示。
其中,SC 通过SWIM 网络获取航班信息服务,在正常情况下,由于实验硬件设施相同,PMM、Non-PMM、TSMM 三者均能够保证较稳定的吞吐量,吞吐量均维持在450~550 bit/s,在50 min 时,向SC 提供服务的SP1 发生硬件故障,不能继续提供航班信息服务,50 min 后Non-PMM 的吞吐量急剧下降;而TSMM 仅是随机控制SP1、SP2、SP3 向SC 提供服务,未能感知其中SP1 硬件故障,当服务权限移交至SP1 时,网络吞吐量下降至0,由其他SP 提供服务时,吞吐量恢复正常;由于PMM 能够准确判断SP 安全态势及时移交SWIM 服务权限,维持SWIM 服务的正常运行,吞吐量依旧维持在450~550 bit/s,能够满足SWIM 服务安全连续的需要。
图7 3 种模型的吞吐量对比
5.2.2 SWIM 服务平均时延
服务时延指的是SWIM 发送服务数据至订阅用户的时间戳插值。为了验证本文方法的性能,模拟1 500 个用户订阅SWIM 航班信息服务,并在SWIM 正常提供服务后注入持续性突发故障,将订阅用户的服务时延求均值得到服务平均时延,SWIM 航班信息服务平均时延的仿真结果如图8 所示。
图8 3 种模型的平均时延对比
如图8 所示,在50 min 时,SWIM 网络中提供航班信息服务的SP1 受到恶意攻击,不能继续提供航班信息服务,Non-PMM 中由该SP 提供服务的SC 无法继续获取航班信息服务数据,并得到连接错误返回信息,所以,SWIM 服务平均时延将增大。由受损SP 对外提供服务时,TSMM的服务平均时延将增加,由正常节点对外提供服务时,服务平均时延降至正常值;由于PMM 能够及时移交SWIM 服务权限,SWIM 服务平均时延依然维持在较稳定的水平。其中,服务响应时间累积概率如图9 所示,本文提出的模型服务响应时间为0.14 s 时累积概率为0.95,即95%的服务响应时间低于 0.14 s,响应时间明显优于Non-PMM 和TSMM 模型。
图9 3 种模型的服务响应时间累计概率对比
通过以上的实验分析可知,SWIM 服务主动移交模型能够在SP 突发故障或受到恶意攻击时,利用服务移交机制将服务权限移交到相同服务主题的SP,提升了SWIM 网络的可生存性,增强了SWIM 网络应对突发事件的能力,降低了突发事件带来的影响。
SWIM 作为下一代空中交通管理的核心,保证SWIM 安全运行,实施有效的应急响应机制十分重要。本文提出了一种基于态势感知的SWIM服务主动移交模型,特点是利用多维威胁指数联合分析安全态势触发服务移交机制,能够最大程度降低突发事件对SWIM 用户造成的损失,保证了SWIM 业务的连续性和服务的可靠性,能够在SWIM 网络发生突发事件的情况下,执行有效的应急响应机制,本文暂未考虑SWIM 网络大面积受损和融合数据服务受损的情况,未来将在该方面做进一步研究。