APP下载

基于拟态防御的多接入边缘计算服务器异构性量化方法

2023-07-07岳阳阳

计算机应用与软件 2023年6期
关键词:拟态复杂性异构

岳阳阳 付 雄 邓 松

(南京邮电大学计算机学院 江苏 南京 210023)

0 引 言

边缘计算(Edge Computing,EC)是指在网络边缘侧的分布式云计算平台,更加靠近用户终端,多接入边缘计算(Multi-access Edge Computing,MEC)[1]作为云计算和边缘计算的补充,扩展了边缘计算的定义和应用,使其在网络边缘节点提供各类信息技术业务,能够同时为移动用户和固定用户提供边缘计算服务,将计算任务和数据迁移至MEC节点进行处理,从而有效节约了传送至远程数据中心的带宽。现如今,MEC服务器在安全性性上存在三个特点:(1) 应用的软硬件种类繁多,大部分软硬件具有无法预知的安全漏洞;(2) 网络结构和端口主要采用静态配置,攻击者持续攻击使得系统的安全性随时间增长而下降;(3) 服务器采用的防御技术主要为被动防御,无法应对未知的漏洞威胁。因此,“动态防御”成为网络安全领域的主要研究问题[2]。

为了解决安全问题,相关领域的研究者提出了多种防御思想,其中包括传统的被动防御,比如早期的防火墙对一些特定的攻击行为具有一定的抵御性,但存在被绕过防御的可能性,防御力较低。入侵检测[3]系统是一种较为主流的防御系统,但其对攻击行为存在一定的误报性,且对攻击源存在滞后性,只能防御一些已知攻击,面对未知的新型攻击束手无策,这些防御系统均是被动的,无法主动对未知攻击做出反应。

基于此,主动防御技术[4]成为了研究焦点,拟态防御是国内研究者邬江兴院士提出的一种主动防御方法[5],借鉴结合了移动目标防御[6]和非相似度冗余构造的防御机理,利用动态异构冗余(Dynamic Heterogeneous Redundancy,DHR)特性,增强了系统的安全性[7]。拟态防御思想已被应用于多种网络设备及软件设计中,为系统提供内生的安全防护性能。文献[8]在软件多样化的基础上,与拟态防御相结合,提高了软件安全性。文献[9]研究了“数据多样性”机制,并定义了大量的SQL重写规则,将客户机发送的语句转换为另一个逻辑上等价的语句,提高了数据库的安全性。文献[10-11]利用基于DHR的拟态防御模型构建了拟态防御Web服务器,分析了该方案的可行性,并在测试中表明其有效提高了安全性。文献[12]研究了可靠性优化问题,提出了一种新的改进的多样性保存和约束处理方法,指出了冗余分配的重要性。文献[13]在DNS中引入了拟态防御技术,提出了一种有效的安全策略,具有重要的指导意义。文献[14]构建了路由器拟态防御原理验证系统,改变了漏洞所呈现性质,扰乱了攻击者对于漏洞的锁定和攻击链路的顺通,大幅增加了系统漏洞的可利用难度。拟态防御技术在工程实践上验证了其有效性,主要在于其执行体的异构冗余特性,但是其异构型难以量化评估,使其在能够带来多少安全增益等方面存在争议。

传统的度量算法大多是基于空间距离定义的,适用于低维度空间,在高维度空间没有意义[15]。基于拟态防御的MEC服务器属性特征维度较高,因此该方法不适用。文献[16]采用近似熵来量化系统的复杂性,但是不适用于一致性较低的情况。在机器学习和数据挖掘领域,常用的量化差异性或相似性方法为数据挖掘中的聚类算法。文献[17-18]运用交叉熵和余弦相似度等方法,计算聚类之间的相似性。文献[19]采用多种方法量化聚类的差异性,并通过实验分析了多种方法在不同的平均成员聚类准确度、不同的集体大小和不同的数据分布情况下与各种聚类集成算法性能之间的关系。量化聚类的算法只适用于数据规模较大的场景,而在MEC服务器场景下,执行体的数量较少,因此并不适用。

本文提出一种基于树层次模型的异构性量化算法,主要有两部分组成,第一部分是对功能相同的构件集的复杂性量化,通过生物上的多样性方法来计算复杂性指数计算;第二部分是对执行体集间差异性的量化,对执行体的特征元素进行分层次处理,不同的特征具有大小不同的比重,从而计算其差异性指数。最后得到执行体集的异构性指数。实验测试表明,该方法在准确度上优于传统的生物上的多样性量化方法,更合理并且适用于本文所提出的多接入边缘计算应用场景。

1 MEC系统架构

1.1 系统架构与工作流程

本文采用拟态防御作为基础,设计了基于拟态防御的MEC服务器架构,系统架构主要基于拟态防御中的DHR理念,DHR作为拟态防御的核心理念,主要是为安全防御目标系统引入多个功能等价的异构执行体,并使用动态的调度策略,在系统中加入冗余,使静态系统在功能上和执行模式等方面转变为动态的、难以识别的,从而扰乱攻击者。DHR可以为系统带来内生的安全防护,并且可以和静态防御措施协同防御,从而大幅提高系统的安全性。

MEC系统架构如图1所示,待处理的数据源由数据采集器收集,然后交由转发代理设备进行数据的分割、校验和转发处理,数据经过处理后,交由MEC服务器执行体集进行数据的处理,当数据处理完后交由接受代理进行表决校验分析,然后将正确结果返回给数据接收方,对于产生错误信息的服务器,动态选择算法会根据表决校验机制的反馈将其进行替换,然后对其进行重置、清洗等手段进行恢复并加入到MEC异构池中,等待下一次被调用。

图1 MEC架构

基于拟态防御的MEC架构的基础是异构性,执行体之间差异越大,具有相同漏洞的概率越低。异构层面越多,则系统的异构性越强,相同漏洞越少,抵御攻击的能力越强。执行体集的多样性可以增加系统的异构性,比如服务器软件的多样性、数据库的多样性等都可以增加系统的异构性。

1.2 系统安全性分析

基于拟态防御的MEC架构中,对于输入操作,通过异构执行体集处理后再经由表决校验机制进行输出。基于DHR理念,系统不仅可以抵御已知的攻击,还可以抵御未知的攻击,使系统具有较强的容侵能力,由于异构特性,攻击只能在部分执行体上成功,而对于其他的执行体则失效,通过表决校验机制,识别各执行体所产生的相异结果,输出相对正确的结果。而提高结果正确性的根本就在于提高系统的异构性,异构程度越高,则被入侵的执行体越少,产生错误输出的执行体数量也就越少,表决校验输出正确结果的概率也就越高。本文重点不在于表决校验机制,因此提到的表决检验机制采用多数一致算法。

异构性的实现本质在于系统软硬件的多样性,软硬件差距越大,相似性越低。两个系统的软件差异越大,存在共生漏洞的可能性就越低,相同攻击所造成的影响也就越低[20]。

(1) 面对同构系统,即执行体集中所有的执行体完全相同,所有执行体具有相同的漏洞,若针对该漏洞进行攻击,则对所有执行体攻击成功,表决校验机制失效,出现共模逃逸,输出为错误结果。

(2) 面对理想的基于拟态防御的系统,各执行体之间具有不同的漏洞,针对某一漏洞攻击,只能影响一个执行体,表决校验机制能够检测识别错误的执行体输出结果,表决检验机制可以产生正确结果。

(3) 面对真实的基于拟态防御的系统,执行体之间存在相同漏洞,但又不是每个执行体都存在同一漏洞,面对针对某一漏洞或多个漏洞的攻击,会导致部分执行体产生错误输出,但漏洞的触发机制会受执行体的软硬件因素影响,未必会产生一致的错误输出,表决检验机制同样检测识别不一致输出。但当系统的差异性过小,存在相同漏洞的执行体过多时,会出现共模逃逸,表决校验机制也会失效。

综上所述,相较于同构系统,基于拟态防御的系统的异构冗余架构虽然无法完全避免共模逃逸,但大幅提高了产生错误输出的可能。面对真实的基于拟态防御的系统,虽然无法做到完全异构,但可以尽可能地提高其异构性,从而提高系统的安全性。因此,量化基于拟态防御的系统的异构性就变成了衡量系统安全性的重要指标,而基于拟态防御的系统的异构性主要在于执行体集的异构性,因此本文将对执行体集的异构性进行量化评估。

2 异构性量化

2.1 异构性定义

基于拟态防御的MEC服务器通过异构性保证了系统的安全性,大幅提高了抵御攻击的能力。然而对于系统的异构性缺乏一个统一的定义。首先,可以类比生物多样性的高低,异构系统也是如此,系统里的执行体集越复杂,越不容易受到相同攻击。其次,对于类型相似的执行体,还要考虑软件上的细微差异,两个执行体之间软件越不相同,存在相同漏洞的可能性就越低。

Twu等[21]将异构性定义为两个特征,复杂性和差异性,并解释了该定义的有效性和合理性,同时该定义适用于本文关于基于拟态防御的MEC服务器的异构型定义。如图2所示,集合a和b元素种类较为单一,只有圆形,没有复杂性,其中b具有一定的差异性;集合c和d既有圆形也有方形,具有较强的复杂性,d同时具有较强的差异性。定义本文构造的MEC服务器执行体集的异构性为H,复杂性为C,差异性为D,关系如下[22]:

图2 异构性描述

H=C×D

(1)

2.2 执行体集描述

定义1执行体集合:基于拟态防御的MEC服务器的执行体集和为S={s1,s2,…,sn}。

定义2系统构件集合:基于拟态防御的MEC服务器的所有执行体的一类功能等价的硬件或软件构件集合Mk={mk1,mk2,…,mkn},中任意两个元素功能是等价的。

定义3执行体的特征向量:基于拟态防御的MEC服务器的执行体的特征向量为CVk=(ci1,ci2,…,cin),cij为执行体的第j个特征值,n为执行体的特征数量。例如特征向量(X86,Ubuntu 18.04,Apache 2.4,Oracle 11g)可以表示为(1,2,1,2),X86属于处理器构件集,Ubuntu 18.04属于操作系统构件集,Apache 2.4属于Web服务器构件集,Oracle 11g属于数据库构件集。数字代表每种构件在其所属构件集的编号。

定义4执行体集的特征矩阵:基于拟态防御的MEC服务器的执行体集的特征矩阵为:

其中列向量表示一类功能等价的构件集,行向量表示某执行体的特征向量。使用“单位”样式。

2.3 复杂性量化

本文采用生物学上的物种多样性方法来量化复杂性,采用的是Shannon-Wiener指数,构件集的复杂性计算公式如下:

(2)

式中:a为构件集Mk所有构件的种类数,pi为第i种构件在构件集Mk所占的比例,其中ni为第i种构件的个体数,N为构件集Mk内的构件数。执行体集S的复杂性为所有构件集的复杂性之和,计算公式如下:

(3)

式中:m为构件集的数量。

2.4 差异性量化

对于执行体集的量化基于一种树层次模型来衡量,该模型如图3-图4所示。将执行体集的特征进行分层处理,处于最高层级的特征具有最大的权值,表示在最高层级的特征对差异性有最强的影响,从上到下权值依次减小,影响依次减弱。本文的特征影响从硬件层到软件层依次减小,计算机越靠近底层的层面差异越大,则两者之间所造成的差异会越大。在每一层级内,又会进行细分,按类目大到小分类,权值依次递减,可以自行调整分类层级,例如同为数据库软件,非关系型数据库和关系型数据库差异较大,可以列为分类1,关系型数据库MySQL和Oracle差异变小,可以列为分类2,MySQL5.6和MySQL5.7差异更小,可以列为分类3,权值可以按照其构件种类的丰富程度适当增加。

图3 树层次模型

图4 子节点层次模型

执行体之间的差异性计算公式如下:

(4)

fk(A,B)=v(l)l=mk(A,B)

(5)

式中:n为层级数;w是相应层级的权值,如w(A,k)为执行体A在第k层特征的权值,w(B,k)为执行体B在第k层的权值;m为两个执行体之间产生差异的层级编号,如m(A,B)表示执行体A和执行体B在层次特征中第一个差异的编号。fk为执行体A和执行体B在第k层内的差异,v是层级内各分类的影响值,如v(l)为第l层的影响值,本文默认v最大为1,最小为0.5。

最后,将每一个执行体与执行体集的其他执行体比较计算差异度,并将所得到的差异度指标求平均值作为该执行体与执行体集整体的差异度指标,然后对执行体集的所有执行体的该差异度指标进行求和,得到执行体集总的差异度如下:

(6)

式中:ns为执行体集中执行体的数量;nm为构件集的数量,即树模型的层级数。

2.5 异构性量化算法

算法基于树层次模型的异构性量化算法(Tree-Level algorithm)

输入:构件集M,执行体的特征矩阵CM。

输出:异构性指数H。

1.fori=1 Tok

2.forj=1 ToMk.length

3.Ck+=pj*ln(pj)

4.C+=(-Ck)

5.fori=1 Tons

6.forj=1 Tons

7.fork=m(i,j) Tonm

8.diff(i,j)=w(i,k)*w(j,k)*fk(i,j)

9.diffi+=diff(i,j)

10.D+=1/ns*diffi

11.H=C*D

12.returnH

3 实验及结果分析

实验部分选取的执行体均包含四个特征,按照树层次模型从上到下分别是处理器架构、操作系统、服务器软件和数据库软件,树层次模型的权值从上到下默认依次为1、0.8、0.6、0.5。子节点层次模型的权值默认依次为1、0.8、0.6,可根据分类的多少进行适当调节。

3.1 执行体集的冗余度选择

对于执行体集中冗余度的选择,当构件种类数m小于等于执行体集中执行体数量N时,根据式(1)、式(3)、式(6)得执行体集中执行体数量和最大异构性指数的关系如图5所示。可以得出,当m≤N时,最大异构性指数并不会随着执行体集中执行体数量的增加而增加。理论上,执行体集中含有2个完全异构的执行体就能实现容错,当含有3个完全一样的执行体时可以实现入侵检测[23]。因此本文选取的每个执行体集含有3个执行体。

图5 最大异构性指数变化

3.2 异构性的最大变化

我们选取3组数据,每组均含有4个执行体集,每组执行体集复杂性相同。组1中,4个执行体集分别只在第一层、第二层、第三层和第四层产生差异,且均在层内的“分类1”层级产生差异;组2中,第一个执行体集在全部四层都产生差异,第二个执行体集在后三层都产生差异,第三个执行体集在后两层都产生差异,第四个执行体集只在第四层产生差异,四个执行体集均在层内的“分类1”层级产生差异;组3中,4个执行体集均在全部四层产生差异,且后三层均在“分类1”产生差异,第一个执行体集在第一层的“分类1”层级产生差异,第二个执行体集在第一层的“分类2”层级产生差异,第三个执行体集在第一层的“分类3”层级产生差异,第四个执行体集在第一层的“分类4”层级产生差异。

根据式(3)可得这3组数据中执行体集的复杂度相同,根据式(6)得差异性比较如图6所示。当执行体集的复杂性相同时,异构性的大小就由执行体集的差异性决定,差异性的大小由执行体间产生差异的层级数和层级内的分类等级决定,越在高层和层内的高分类层级产生差异,差异性就越大,异构性也就越大。

图6 差异性指数变化

3.3 异构性对比

我们选取8组不同的MEC异构服务器执行体集,CPU架构均采用X86,操作系统、服务器软件和数据库均采用不同的软件,如表1所示。根据式(1)、式(3)、式(6)计算,8组数据理论上异构性越来越低。我们和Margalef指数、Shannon-Wiener指数和Simpson指数对比,异构性量化结果如图7所示。

表1 执行体集

图7 异构性量化结果对比

可以看出本文提出的Tree-Level算法可以有效区分和量化执行体集的异构性,而其他三种算法对于异构性的度量效果类似,只能将8组数据分为3类,区分度不足,无法准确量化异构性大小。

4 结 语

本文针对拟态构造的MEC服务器中的异构性难以量化的问题,将执行体集的异构性分解两部分计算,即复杂性和差异性,引入Shannon-Wiener指数和树层次模型来量化执行体集的异构性,在此基础上,分析了影响异构性的因素。与其他量化异构性的方法相比,该方法更加适用于本文提出的架构模型,效果更好。

下一步将对本文提出的异构特征元素的权重进行进一步细化,从软件同源的角度完善异构性的量化。另一方面,反馈调节机制也是拟态防御系统架构的重点之一,在本文异构性量化的基础上,将对异构执行体的动态调度算法进行分析和改进。

猜你喜欢

拟态复杂性异构
试论同课异构之“同”与“异”
章鱼大师的拟态课堂
中韩拟声词拟态词形态上的特征
PFNA与DHS治疗股骨近端复杂性骨折的效果对比
简单性与复杂性的统一
模仿大师——拟态章鱼
关于拟声拟态词的考察
overlay SDN实现异构兼容的关键技术
应充分考虑医院管理的复杂性
LTE异构网技术与组网研究