基于主备监视的拟态云代理设计实现方法
2022-07-05郭乔羽陈福才程国振曾威肖玉强
郭乔羽,陈福才,程国振,曾威,肖玉强
基于主备监视的拟态云代理设计实现方法
郭乔羽*,陈福才,程国振,曾威,肖玉强
(国家数字交换系统工程技术研究中心,郑州 450002)(*通信作者电子邮箱guoqiaoyu0211@163.com)
针对拟态云系统中代理的安全威胁和单点故障问题,提出一种主备监视的高可用拟态云代理实现方法。首先,在云环境分布式代理基础之上,提出一种主备用监视机制来构建异构的主备代理,备用代理通过镜像流方式分析到达主用代理的流量,并对主用代理输出结果进行交叉验证;其次,基于数据平面开发套件(DPDK)平台设计备用代理的同步裁决机制和无缝的主备切换机制,实现云代理的安全加固与性能优化;最后,提出一种主备切换判决算法以避免主备频繁切换造成的资源浪费。实验结果分析表明,该拟态云代理相较于基于Nginx的云代理,在高并发下的流量处理时延损耗为毫秒级。可见该设计能够大幅提升云代理的安全性和稳定性,减少单点故障对代理稳定性造成的影响。
拟态防御;云代理;主备监视;交叉验证;拟态云系统
0 引言
随着云计算的高速发展,面向用户的个性化服务定制和分布式计算服务模式使得云服务具有极高的用户黏性[1],得到国内外学者的广泛关注。其中,云服务代理作为业务入口,接收用户的海量流量并按照流规则转发给服务节点,为云租户提供稳定可靠的服务,其性能和安全性是当前研究的热点问题。目前与云服务代理相关的研究主要针对如何提升处理转发性能来保证服务质量(Quality of Service, QoS),对云业务代理的安全性研究相对较少。事实上,云服务代理在云服务架构的位置和流量处理转发等特点,决定了云代理是攻击者实施攻击手段的极佳切入点[2],会面对多种安全威胁,如注入攻击[3]、病毒木马[4]、安全漏洞[5]、侧信道攻击、界面和接口攻击等,所以云服务代理的安全问题成为云计算不可不解决的现实问题。针对云服务代理的安全问题,通常采用升级防火墙、更新病毒库、进行入侵检测等传统的被动防御方法,难以防御未知的漏洞后门。
网络空间拟态防御(Cyberspace Mimic Defense,CMD)[6-8]是中国工程院邬江兴院士提出的一种主动防御技术,该技术不追求建立一种无漏洞、无后门、无缺陷的安全系统来抵御网络空间的安全威胁,而是通过如图1所示的架构,构建一种动态、异构、冗余性的防御机制来增加攻击者的攻击难度和代价。云计算采用共性平台、共性资源池提供云端服务,天然具备动态、异构、冗余的资源分配与使用机制,适于将拟态防御架构引入到云服务体系之中,以提高云应用的安全性。如图1所示架构,拟态云系统由异构化的云主机组成异构执行体集合,针对所承载的上层应用,由拟态代理调度多个异构执行体并发执行,并通过对响应结果同步裁决,输出正确结果。其中拟态代理作为与用户侧进行交互的输入/输出组件,可以像云服务代理一样在保证性能的同时,增强拟态云系统的安全性。
图1 网络空间拟态防御的基础架构
目前针对拟态防御的研究大多聚焦于拓展应用场景,根据目标场景的网络威胁、安全需求和自身系统架构中的设计缺陷来定制拟态系统,进行后端应用节点的安全防护,较少考虑拟态系统组件的安全性和稳定性。目前拟态防御系统中输入/输出代理通常只进行转发作业,不进行业务流量处理和数据检测,无法感知隐匿于流量的网络侦查和病毒蠕虫攻击,尤其是在云服务高密集型网络流量场景下,拟态系统组件的安全变得更加脆弱。即使可以采用极简化设计来减少拟态组件的网络攻击面[9],即当前多采用软硬件协同的方式实现拟态系统的开发设计,如将拟态功能组件集成到芯片、基于现场可编程门阵列(Filed Programmable Gate Array, FPGA)的拟态服务器设计[10]和拟态板卡等。这些设计固然减少了组件网络攻击面,但是服务场景固化、开发成本较高,而且组件单点故障问题不可避免,一旦关键组件(如表决器、拟态代理等)发生未知故障,将导致整个系统功能异常,甚至出现系统崩溃。
针对上述问题,本文设计了一种基于主备监视的高可用拟态云代理,并基于数据平面开发套件(Data Plane Development Kit, DPDK)设计了异构的主备用代理(拟态代理和表决器功能耦合组件),能够大幅度提高系统的安全性和转发性能。备用代理通过对主用代理的裁决结果进行实时交叉验证来监测系统健康状况,实现了快速的威胁感知和故障检测,并能够及时进行主备热切换,减少单点故障造成的影响。这种主备监视的拟态云代理在保持拟态系统安全防护功能的基础上,实现了对拟态代理组件的安全加固,保证服务质量的同时还解决了拟态代理的安全问题和单点故障问题。本文的主要工作如下:
1)针对拟态云代理面对的安全威胁,提出一种基于主备的拟态云代理安全架构。主用代理根据拟态表决机制实时检测业务流量的同时,备用代理通过镜像流量方式检测主用代理流量得到表决结果,并与主代理输出结果进行交叉验证,判断主用代理的异常,双重表决机制保证了拟态云代理的安全性。
2)基于不同的CPU处理架构设计了主备用代理,通过异构的主备代理进行切换,动态地改变网络攻击面,增加了云代理的鲁棒性。
3)在反馈控制器中设计了一种主备用代理切换判决算法来提高判决的准确性,避免主备反复切换造成多余的系统开销。
4)基于所提的拟态云代理架构,设计了一个拟态云服务场景并搭建实验环境,有效地验证了拟态云代理的安全性和稳定性。
1 相关工作
在拟态防御应用实现方面,文献[11]的研究将拟态应用到软件定义网络(Software Defined Network, SDN)中,提出了一种具有动态、异构和冗余的拟态网络操作系统架构(Mimic Network Operating System, MNOS)来保护SDN控制器免受劫持和数据修改等攻击。文献[12]中针对当前Web服务器安全防御方法的被动性,提出了一种多层次的拟态Web服务器,在不同的层次实现异构化动态化,保护Web服务器的安全。文献[13]中将传统蜜罐技术与拟态防御结合,构建了一种拟态式蜜罐系统模型,改善了传统蜜网系统的威胁感知能力和部署效率。文献[14-15]中针对当前分布式存储系统无法解决未知威胁等安全问题,提出了分布式存储系统拟态化架构,并通过实验测试了系统的可行性。文献[16]中提出了一种基于拟态防御的DNS架构,以保护DNS服务器免受DNS投毒攻击。文献[17]中针对以太网交换机无法防御未知安全威胁的弱点,设计了一种拟态交换机安全架构,并提出TAMA算法实现交换机的安全增强;实验测试结果表明该设计架构极大提升了拟态交换机防御未知威胁的能力。
当前云计算安全主要基于传统网络防御方法,如防火墙、升级病毒库、打补丁、入侵检测等,这些方法都存在一定的滞后性,且无法有效处理未知漏洞和后门等未知威胁。但是云服务场景有其固有的安全优势,例如云服务提供的虚拟化服务节点能够根据用户要求进行定制,虚拟化节点本身就具有异构和冗余特性,云管理平台能够动态调整服务节点使云平台具有动态性,所以云平台本身的架构和特性与拟态防御动态异构冗余的特性高度契合,因此结合拟态防御来提高云平台安全是可行和必要的。目前对于拟态云的研究也有一些研究成果:文献[18]中提出了一个-变体系统来保护提供动态内容的媒体Wikiphp应用程序免受云中的外部SQL持久存储的影响;文献[19]中提出了一种云环境下科学工作流执行系统框架,通过云计算平台的灵活资源管理,针对不同操作系统之间的共同漏洞进行异构性度量和执行体的动态调度,极大减少了云工作流中的安全风险;文献[20]中针对云服务节点安全性设计了一种拟态云服务架构,在云平台上将拟态系统集成到软件包部署到每个服务节点上,实验结果表明该拟态云服务架构提高了云平台服务的安全性和鲁棒性;文献[21]中提出了MimicCloudSim模拟云服务模拟系统,可以对评估拟态云DHR架构进行仿真和评估,并设计了拓展接口来实现动态调度策略和裁决策略,最后通过实验验证了该系统对拟态云评估的可拓展性。
尽管拟态防御系统能够增加云服务处理未知威胁的能力,但是拟态云系统中拟态代理作为直接与用户交互的组件,却较少考虑其安全性,一旦被攻击者攻击利用或篡改裁决结果,会导致整个拟态系统异常甚至崩溃。尽管有些研究通过对拟态代理组件进行极简化设计来减少网络攻击面,但仍存在被攻击的可能;且拟态系统中单点故障问题不可避免,系统安全性和稳定性无法得到保证。
2 基于主备监视的拟态云代理架构设计
2.1 拟态云代理组件设计架构
本文设计了一种基于主备监视模式的高可用拟态系统架构,图2描述了该拟态代理应用在公有云环境中的拟态云服务实例。
图2 拟态代理组件架构
该实例的设计分为两部分:前端采用基于主备模式并适用于云平台的四层加七层代理服务结构的拟态云组件;后端采用的是云计算技术,由云控制组件管理的云中执行体集合。拟态云代理组件的设计主要分为四个功能模块:I/O代理、主用代理、备用代理和反馈控制器。用户请求通过I/O代理传输到主用代理,主用代理将输入流量复制后分发至选择的执行体处理,执行体的响应流量在主用代理的裁决模块进行分析、裁决和输出,同时执行体的响应流量镜像转发至备用代理进行裁决,并对主用裁决结果进行对比监督。反馈控制主要负责系统中各组件的配置下发更新和反馈异常。系统运行,一方面需要备用代理能够及时发现主用代理的异常,进行主备切换维护系统功能正常;另一方面主备切换操作会造成服务中断,影响服务质量。为了设计该高可用拟态架构,面临以下挑战:
1)备用代理的安全问题。只有安全的备用代理进行切换,才能保证切换后系统业务代理组件功能正常,如果切换上线不安全的备用代理,反而会使系统暴露更多的攻击面。
2)拟态系统应用导致的性能问题。由于各执行体性能差异和裁决时延等原因会导致拟态系统的性能降低,特别是在云计算这种数据密集型场景下,这个问题尤为突出。
3)主备用代理轮换导致服务中断问题。当主用代理发生故障或者被攻击导致异常输出时,会进行主备用代理的切换,但切换期间会导致服务中断,降低服务质量。
针对第一个问题,本文设计了主备异构的主备用代理,并设计了多种策略来保证备用代理安全。备用代理通用DPDK捕获网卡流量,实现了同步裁决监督,实时进行故障和威胁感知,并及时进行主备切换。同时本文实现了DPDK在ARM架构的移植,使得异构的主备用代理都能适配DPDK。
针对第二个问题,本文在主备用代理嵌入了DPDK。DPDK能够通过UIO技术将报文拷贝到应用空间处理,规避不必要的内存拷贝和系统调用,大大提高了主备用代理处理性能和吞吐量,提高了数据分发和裁决的效率。
针对第三个问题,系统执行切换操作时,用户建立的长连接不可避免地会发生中断,本文设计了一种动态切换机制,通过牺牲部分用户的服务质量,短暂地降低可用性,实现对用户的透明切换,保证系统的安全性。同时设计了一种主备切换判决算法,考虑主用代理的历史异常信息进行切换判决,避免了报文丢失等异常情况导致主备用代理之间的频繁轮换,消耗系统资源。
2.2 拟态云代理关键组件设计
2.2.1 I/O代理
I/O代理作为四层代理组件为用户提供唯一的访问入口,通过建立和维护传输层连接处理用户的请求报文来完成与用户的交互,并将用户请求的处理和转发。I/O代理采用极简化设计来减少暴露的攻击面,提高组件安全,设计中使用了用户态的轻量级网络协议栈,同时还在协议栈中设计了流量过滤来防御网络中的扫描侦查和一些网络攻击,如基于ICMP的端口扫描攻击,ICMP回显攻击,以及Smurf、 Ping of Death、 Pingflood等分布式拒绝服务攻击(Distributed Denial of Service, DDoS)攻击。
2.2.2 主用代理
2.2.3 备用代理
备用业务代理能够实时对主用代理裁决结果进行监控,并采用数据面和控制面分离的方式,保证了备用代理的安全高效,组件结构图如图2所示。在数据层,备用代理没有与I/O代理建立连接,不存在上行数据处理逻辑,以这种网络隔离的方式提高安全性;下行链路上,备用代理通过与DPDK绑定的网卡捕获执行体响应的镜像流量,并对应用层会话数据进行报文重组、协议还原后,将处理后的报文发送到裁决模块进行裁决。在裁决监视模块将裁决结果与主用代理输出的三元组数据对比校验,如果主用代理出现故障或裁决结果被攻击者篡改造成裁决结果对比异常,会立即上报异常,并由反馈控制下发主备切换操作指令。备用业务代理组件管理层进行日志审计和配置更新,来维持备用代理的正常功能以及控制切换;在控制层接收交互报文,进行配置更新、主备切换和异常上报操作。
2.2.4 反馈控制器
反馈控制器负责联动拟态系统各组件,进行反馈调节作业,主要功能有以下三种:一是配置信息下发,每次下发给各组件的地址和端口都动态变化,提高了各组件的安全性,维护系统的正常服务;二是处理异常反馈信息,并将异常信息上报给执行体管理平台,进行异常执行体轮换操作,并在反馈控制器中开发了针对多个平台的API和响应平台匹配通信控制程序,实现了对多场景的高可用;三是控制主备用代理的切换,当收到备用代理上报的裁决不一致异常消息,会根据异常判断算法去决定是否进行主备切换。
2.3 业务流程设计
图3详细描述了该系统的业务流程,详细步骤如下:
步骤1 用户发起服务请求。
步骤2 I/O代理与用户建立连接,并将用户请求流量转发给主用代理模块。
步骤4 主用代理接收执行体应答消息,送往裁决模块。
步骤5 执行体应答消息进行流量镜像,输入到备用代理进行消息还原和裁决。
步骤6 主用代理裁决模块对响应消息进行一致性裁决,并将裁决结果转发给备用代理的裁决对比模块;
a)裁决结果一致,将裁决结果转返回给I/O代理;
b)裁决结果不一致,根据大数裁决将相对正确的结果返回给I/O代理,将异常执行体信息上报给反馈控制器。
步骤7 备用代理监测机制将其裁决结果与主用代理裁决结果进行交叉验证,出现裁决不一致则上报异常信息给反馈控制器,进行主备切换。
步骤8 由I/O代理将裁决返回的消息响应给用户。
图3 业务流程
3 高可用的拟态云代理技术设计与实现
3.1 基于实时流量监测的高性能备用代理设计
基于主备思想设计的拟态云系统架构中,备用代理接收异构执行体响应的镜像数据,对应用层会话数据进行单向重组、归一化和裁决,还要对主用代理裁决输出的结果进行同步对比监督,要求备用代理同样需要很高的性能,同时还要具有较高的安全性免受攻击者攻击。如果备用代理的设计不完善,不仅不能提高该系统的稳定性和安全性,反而会影响正常的系统服务,甚至暴露出更大的攻击面,使攻击者有机可乘。针对如第2章所介绍的前两个挑战,在该系统中,主要实现了以下四种机制来提高系统的安全性和鲁棒性。
3.1.1 主备异构
在拟态系统中执行体可能会被攻击者攻击,攻击者可以通过执行体向拟态系统内部进行探测扫描,一旦发现主用代理的漏洞和后门,可以通过病毒注入、篡改裁决结果、暴力破坏等方法对代理实施攻击,导致系统奔溃。基于移动目标防御(Moving Target Defense, MTD)技术动态改变系统组件暴露的攻击面的思想,本文提出拟态组件中主备用代理采用异构CPU处理架构(X86和ARM),且每次主备切换不仅底层架构发生变化,还会由反馈控制器为各组件随机分配和更新IP和端口,实现了内部组件的攻击面的动态改变,使攻击者收集的先验知识无效,无法根据先验知识发动攻击。同时主备用代理的服务进程实现了在两种架构下的适配,从而在应用层面也实现了异构化。异构主备模式不仅提高了拟态组件的安全性,还使系统更加容易感知攻击行为,并对异常执行体进行清洗轮换。
3.1.2 网络隔离
为了防止备用代理被攻击者探测发现,该系统设计了一种网络隔离机制来实现备用代理对攻击者透明以及攻击不可达。
1)通过交换机配置对执行体返回数据进行镜像,备用代理进程捕获镜像流量数据进行还原和裁决。这种基于流量镜像的业务处理方法保证了攻击不可达。
2)拟态组件之间的通信被设计在隔离网段,反馈控制器作为系统中唯一与备用代理通信的组件,采用网段隔离的方式实现安全性。此外,备用代理并不对外(用户侧)暴露接口,达到了攻击不可达的效果。实际场景中攻击者只有先成功攻击主用代理,再成功攻击反馈控制器,才有可能对备用代理服务器进行漏洞扫描和攻击,但是这种攻击收益极低,还增加了攻击被探测的风险。
3.1.3 同步裁决监视
为了提升备用代理的处理性能,备用代理在数据层采用DPDK捕获流量,避免了网卡收发性能限制带来的时延;同时嵌入轻量级协议栈支持各种应用层协议的还原,并设计了业务API接口用来读取协议还原的结果及其一些流量元数据,其工作原理如图4所示。
基于DPDK的I/O驱动将数据包合理地分布到多个独立的CPU物理核上,每个核只和一个线程绑定,实现多线程并行数据处理,能有效提高物理网卡和应用缓存队列之间的转发效率,使得DPDK绑定的网卡能够实现线速报文处理。主控线程lcore0负责DPDK中操作环境、网卡驱动、消息队列和缓存池等初始化,以及主备切换控制和业务的分发。副核(slave_lcore)只处理其绑定线程的数据传输,通过内核旁路、轮询、多线程和批处理等技术加速数据包I/O,并将网卡数据绕过内核直接传输到应用层处理。备用代理中实现了DPDK版本升级,与主用代理的DPDK版本统一,为主备代理进程之间的快速切换提供了底层支持。基于Redis高速缓存实现了同步裁决功能:首先将还原后的数据包输入裁决模块进行裁决,然后将裁决结果存入Redis高速缓存分区,同时Redis还接收、保存主用代理发送的裁决结果三元组消息,最后由裁决对比模块进行裁决结果对比校验,实现主备裁决监视功能,大大提升了云服务代理的安全性。基于Redis的裁决机制也可大大提高裁决性能,根据时延测试结果,备用代理的裁决处理时延与主用代理相差为毫秒级,几乎实现了同步裁决性能。同时还基于Kafka设计了日志收集系统,具有很高的实时处理能力,即使对TB级以上数据也能保证常数时间的访问性能,能够记录所有的业务处理信息和裁决结果,也方便代理的调试和维护。
图4 裁决监视原理
3.1.4 基于DPDK的动态切换机制
由于主备用代理切换,正在进行的服务连接不可避免地会发生中断,因此需要设计合适的切换策略,在用户可接受范围内牺牲一些服务质量来保证系统安全性,增加服务的可用性。该系统设计了一种基于DPDK的动态切换机制来实现主备用代理之间的无缝切换。该机制使用内核NIC接口允许应用层程序访问DPDK控制平面,可以通过标准Linux网络工具管理绑定端口信息,使用dpdk-devbind应用程序绑定网卡,流程如图5所示。DPDK初始化时,提前分配好主备用代理并绑定网卡收发队列和网卡驱动,应用层主备用代理进程同时运行,此时备用代理绑定的业务网卡处于未激活状态,实现了攻击隔离。收到切换消息时,会传输到内核协议栈解析,提取切换报文中的地址、端口、掩码等信息通过标准Linux网络工具更新网卡配置,执行DPDK应用程序激活网卡,以便切换为主用代理进程后能恢复正常业务工作,可与I/O代理和执行体建立连接,执行转发和裁决功能。实验结果表明,在切换过程中出现短暂的网络时延波动,在用户可接受的服务质量范围内实现了快速切换。
3.2 主备切换判决算法
反馈控制器是保证主备用代理工作正常运行的核心组件,在主备切换中有着最高级权限。反馈控制器主要起控制和反馈的作用,能够控制更新各组件的配置信息,将异常执行体异常信息反馈给执行体控制器;它同时还是主备切换的控制器,只有反馈控制器中触发了切换,才会下发切换指令,控制主备用代理进行并行切换。
图5 主备切换逻辑
为了保证反馈控制器的安全性,系统设计了自定义协议,反馈控制器与各组件之间通过自定义协议进行通信;并采用网络隔离方式,各模块间的交互设计在隔离网段,每次触发主备用代理切换会更新各组件的IP和端口信息,动态地改变系统的攻击面,保证了反馈控制的安全性以及各组件的通信透明。
本节定义主备切换操作记为MS_Switch。在该系统中,只有满足以下两种情况才能触发主备切换:1)反馈控制监听不到主备用代理进程的心跳;2)通过判决算法决定是否切换。备用代理发现主用代理裁决结果异常,会向反馈控制器发送异常消息;反馈控制收到异常上报消息,并不会立即触发切换机制,而是将异常信息存储起来,并输入到判决算法,根据当前异常信息和历史异常信息去判断是否进行切换,避免主备用代理的频繁切换。
当执行体数量较多、网络负载较大时,不可避免地会造成部分响应数据丢失,导致主备裁决不一致现象,在这种情况对正常的服务并没有影响,应该避免不必要的切换。当第一次接收异常消息时,默认不会触发切换机制;当收到多次异常信息时,会根据上报的异常信息进行裁决判断是否切换。两次故障间隔越短,发生异常的可能性越大,威胁因子的定义为:
算法1 切换判决算法
输出 主备切换判决结果。
4 实验及分析
4.1 实验环境搭建
为了评估该拟态系统架构在真实环境中的安全性和性能,使用1台测试主机安装Windows 7操作系统、5台海光x86服务器和1台鲲鹏ARM服务器安装centos7.6操作系统,2台交换机,基于Openstack开源软件云管理器实现了一种拟态云实验场景和一种基于Nginx代理的非拟态云场景。真实实验场景拓扑如图6所示。其中,主备用代理分别部署到一台鲲鹏服务器与一台海光服务器,通过服务器CPU处理架构的不同实现主备用代理的异构;还通过环境多样化的Web服务程序来构造简单的异构执行体(如在不同操作系统Centos 7.6、Redhat 7.6、Ubuntu 16.04.1上部署相同版本的Nginx提供Web服务),执行体之间功能等价且性能接近,以减小时延离散度。为了方便实验,本文选择执行体池冗余度为3,具体的执行体信息如表1所示。
图6 实验环境拓扑
表1 异构执行体信息表
实验采用对比实验方法,基于最小环境变量差异化原则,使用同一个I/O代理搭建了云环境下的非拟态测试场景和拟态测试场景,并分别对两种场景进行性能、安全性和稳定性测试和比较,能够更好地说明本文提出的优化拟态架构相对于非拟态的差异变化。
4.2 性能测试
基于该实验拓扑设计的非拟态系统采用传统云服务网络架构(四层代理+七层代理)模型,I/O代理(四层代理)作为云网关提供云服务接口VIP,Nginx(七层代理)作为最常用的反向代理Web服务器,将流量分发到集群服务节点,本实验中从执行体池中选择单一执行体作为服务节点。在拟态云异构执行体的Web服务程序中,部署了资源大小为2 KB、4 KB、8 KB、16 KB、 32 KB大小的网页;同样,在非拟态云环境中,Web服务器的部署与拟态云中执行体配置相同,本文通过访问不同大小的网页来测试系统的性能差异。在本文架构中,为了保证系统的裁决结果安全,选择3个执行体同时提供服务,裁决模块对响应结果进行大数裁决。
为了测试性能开销,本文针对两种场景下的用户平均访问时延以及备用代理裁决模块输出时延进行对比评估。实验中使用了Apache旗下的JMETER测试工具,设置线程数为100(一个线程相当于一个用户),总访问请求数1 000,针对不同大小的访问网页构造了HTTP请求报文进行测试,并记录了平均响应时延,其中备用代理裁决响应时延通过日志审计获得。结果如图7所示,整体上平均响应时延随着访问资源大小的增加而增加,且拟态云场景的响应时延大于非拟态。对于资源较小的页面,访问时延在两种场景下的差别并不明显,整体上处于同一水平,且备用代理的裁决响应时延与主用代理的响应时延相差仅为毫秒级,实现了同步裁决监视功能。当页面资源较大时,拟态云场景下的平均响应时延明显大于非拟态场景,但主备用代理之间的裁决延迟相差不大,说明对于不同大小的资源,主备裁决具有较好的同步性。
图7 平均响应时延与文件大小的关系
为了进一步测试该架构的性能,在JMETER工具中设置了不同测试并发数(即2 000、4 000、8 000、12 000、16 000、20 000、24 000、28 000、32 000),对64 B大小的资源页面进行5 min高并发压力测试,针对不同网络负载的平均响应时间进行测试统计,结果如图8所示。可以看出,随着网络负载增大,用户平均响应时延增长。请求并发数较低时,两种场景下的平均访问时延几乎相同;随着网络负载增加出现较大增长,且拟态云场景的平均响应时延明显高于非拟态场景,其平均响应时延较非拟态场景增长了两倍。备用代理裁决时延与主用代理的裁决响应时延在低并发环境下几乎实现了同步,当并发数大于16 000时,主备用代理之间的裁决时延出现明显差别。随着并发数的增加,高并发下的主备用代理之间的平均响应时延差也控制在25 ms以内,保证了系统交叉验证的敏感性,能够迅速对异常进行处理。
图8 不同并发请求下的平均响应时延
主备用代理的切换不可避免地会造成用户连接的中断,为了测试切换对服务质量的影响,使用请求响应时间作为指标来评估切换带来的性能损害。通过JMETER测试工具模拟了单个线程连续60 s循环高速发送请求消息,通过记录请求的响应时间来度量服务质量。测试期间通过手动触发主备用代理执行切换操作,并将测试结果绘制成图,如图9所示。图9中数据显示,若用户在正常访问时发生主备切换操作,会出现短暂的网络时延抖动,主备切换完成后迅速恢复至正常水平,这种短暂的网络波动不易被用户感知,因此该系统的主备切换操作在用户可接受的QoS下,实现了对用户无感的动态切换。
图9 响应时间测试
4.3 安全性评估
基于图6所示的拓扑,采用拟态白盒测试的方式对该架构的容侵能力进行测试,针对拟态界内脆弱点进行协同攻击,以评估拟态机制的安全特性。实验中创建并上线一个白盒执行体,并开放根权限给攻击者,攻击者可以通过触发预置在该白盒执行体的API来篡改响应结果,同时攻击者可通过侦查和渗透来攻击架构组件。在系统当前的主用代理上预置了CVE-2018-15919和CVE-2019-14287(Linux sudo)漏洞,使得攻击者通过有效攻击手段能够获得该主用代理服务器的根权限,并进行攻击。设计三种测试来验证该架构的安全性:1)篡改白盒执行体响应信息,测试系统的入侵容忍能力;2)通过触发预置的篡改结果API,篡改主用代理裁决结果;3)对主用代理制造单点故障(如暴力关闭程序、服务器重启等)来进行系统稳定性测试,并使用JMETER软件测试并记录响应时延和吞吐量变化。
结果如表2所示,当执行体或者系统代理组件被攻击时,该系统能够迅速检测到异常,并迅速执行响应异常处理操作来维护正常的服务水平。若检测到系统组件发生未知故障,反馈控制模块检测到服务心跳停止,并迅速执行切换操作替换异常组件来维持正常服务。测试数据表明,该系统对于未知威胁有较好的防御效果,且对系统组件的故障和攻击行为有较高的敏感性。
表2 安全性测试结果
4.4 稳定性评估
对系统的稳定性进行测试。首先,在每个执行体服务端添加了不同大小的文件(分别为32 MB、64 MB、128 MB、512 MB、1 024 MB),然后客户端通过访问该拟态云服务平台的服务接口去下载目标文件,记录并验证用户下载文件时的传输时间以及文件的完整性,并对比非拟态云服务传输文件的时间,结果如图10所示。
图10 传输时间与文件大小的关系
由图10可以看出,对于小文件传输,拟态云服务系统的文件传输时间与非拟态系统的文件传输时间相差不大;对于大文件传输,由于拟态云服务系统需要对传输报文进行裁决,且三个执行体的处理能力不同,导致其传输时间明显高于非拟态系统的文件传输时间。
为了测试系统主备用代理切换时的稳定性,将每秒下载速度作为稳定性指标,在该拟态云服务场景中模拟用户下载512 MB的文件,并在下载期间手动进行主备用代理切换,记录下载过程中的传输速度变化,结果如图11所示。
图11 文件下载稳定性测试
从图11中可以看出,在客户端下载过程发生主备切换,下载速度会瞬间减小至0,经过短暂的波动后迅速恢复至原有传输速度,最终完成文件的下载,且下载文件的完整性和源文件一致。经过抓包分析发现,用户在文件下载过程中系统触发主备切换,会立即中断用户连接并进行切换;待切换后会立即重新与用户建立连接,并进行文件重传操作。
5 结语
本文从提高拟态云系统中云代理的安全性和鲁棒性出发,结合邬江兴院士提出的网络空间拟态防御理论,设计实现了一套基于主备监视的高可用拟态云代理服务框架,并搭建了云服务场景进行分析和测试,结果表明,该设计在提高拟态系统安全性和性能的同时,还提升了拟态系统应对未知故障干扰的能力,降低了攻击成功的概率。当然,本文提出的拟态代理架构还存在很多可改进的地方,今后的工作将围绕将该拟态架构集成到云中服务包以便于用户部署,并设计优化一种执行体调度策略来减少异构执行体性能不同造成的额外开销,优化裁决算法减少系统裁决造成的时延损耗,来提高系统的性能。
[1] SINGH S, CHANA I, BUYYA R. STAR: SLA-aware autonomic management of cloud resources[J]. IEEE Transactions on Cloud Computing, 2020, 8(4): 1040-1053.
[2] 马海龙,伊鹏,江逸茗,等. 基于动态异构冗余机制的路由器拟态防御体系结构[J]. 信息安全学报, 2017, 2(1): 29-42.(MA H L, YI P, JIANG Y M, et al. Dynamic heterogeneous redundancy based router architecture with mimic defenses[J]. Journal of Cyber Security, 2017, 2(1): 29-42.)
[3] MA L M, ZHAO D M, GAO Y J, et al. Research on SQL injection attack and prevention technology based on web[C]// Proceedings of the 2019 International Conference on Computer Network, Electronic and Automation. Piscataway: IEEE, 2019: 176-179
[4] 魏为民,袁仲雄. 网络攻击与防御技术的研究与实践[J]. 信息网络安全, 2012(12):53-56.(WEI W M, YUAN Z X. Research and practice of network attacks and defense techniques[J]. Netinfo Security, 2012(12): 53-56.)
[5] KANNAN K, TELANG R. Market for software vulnerabilities? Think again[J]. Management Science, 2005, 51(5): 726-740.
[6] 邬江兴. 拟态防御技术构建国家信息网络空间内生安全[J]. 信息通信技术, 2019, 13(6):4-6.(WU J X. Mimicry defense technology to construct the endogenous security of national information network space[J]. Information and Communications Technologies, 2019, 13(6): 4-6.)
[7] 普黎明,刘树新,丁瑞浩,等. 面向拟态云服务的异构执行体调度算法[J]. 通信学报, 2020, 41(3):17-24.(PU L M, LIU S X, DING R H, et al. Heterogeneous executor scheduling algorithm for mimic cloud service[J]. Journal on Communications, 2020, 41(3): 17-24.)
[8] 张玉清,王晓菲,刘雪峰,等. 云计算环境安全综述[J]. 软件学报, 2016, 27(6): 1328-1348.(ZHANG Y Q, WANG X F, LIU X F, et al. Survey on cloud computing security[J]. Journal of Software, 2016, 27(6): 1328-1348.)
[9] 邬江兴. 网络空间拟态防御研究[J]. 信息安全学报, 2016, 1(4): 1-10.(WU J X. Research on cyber mimic defense[J]. Journal of Cyber Security, 2016, 1(4): 1-10.)
[10] 崔冰萌,倪明,凌幸华. 基于FPGA的拟态服务器设计[J]. 计算机系统应用, 2018, 27(4):219-225.(CUI B M, NI M, LING X H. Design of mimicry computing server with FPGA[J]. Computer Systems and Applications, 2018, 27(4): 219-225.)
[11] HU H C, WANG Z P, CHENG G Z, et al. MNOS: a mimic network operating system for software defined networks[J]. IET Information Security, 2017, 11(6):345-355.
[12] 仝青,张铮,张为华,等. 拟态防御Web服务器设计与实现[J]. 软件学报, 2017, 28(4):883-897.(TONG Q, ZHANG Z, ZHANG W H, et al. Design and implementation of mimic defense Web server[J]. Journal of Software, 2017, 28(4): 883-897.)
[13] 韩煦. 基于服务计算的拟态式蜜罐研究[D]. 青岛:中国石油大学(华东), 2014: 30-41.(HAN X. Research on mimicry honeypot based on service computing[D]. Qingdao: China University of Petroleum (East China), 2014: 30-41.)
[14] 郭威,谢光伟,张帆,等. 一种分布式存储系统拟态化架构设计与实现[J]. 计算机工程, 2020,4 6(6):12-19.(GUO W, XIE G W, ZHANG F, et al. Design and implementation of a mimic architecture for distributed storage system[J]. Computer Engineering, 2020, 46(6): 12-19.)
[15] 王梦童,邵培南. Ceph分布式存储系统拟态防御设计[J]. 信息技术, 2020, 44(2):43-48, 57.(WANG M T, SHAO P N. Design of Ceph distributed storage system based on mimic defense[J]. Information Technology, 2020, 44(2): 43-48, 57.)
[16] 王禛鹏,扈红超,程国振. 一种基于拟态安全防御的DNS框架设计[J]. 电子学报, 2017, 45(11):2705-2714.(WANG Z P, HU H C, CHENG G Z. A DNS architecture based on mimic security defense[J]. Acta Electronica Sinica, 2017, 45(11): 2705-2714.)
[17] 宋克,刘勤让,魏帅,等. 基于拟态防御的以太网交换机内生安全体系结构[J]. 通信学报, 2020, 41(5):18-26.(SONG K, LIU Q R, WEI S, et al. Endogenous security architecture of Ethernet switch based on mimicry defense[J]. Journal on Communications, 2020, 41(5): 18-26.)
[18] POLINSKY I, MARTIN K, ENCK W, et al.--Variant Systems: adversarial-resistant software rejuvenation for cloud-based web applications[C]// Proceedings of the 10th ACM Conference on Data and Application Security and Privacy. New York: ACM, 2020: 235-246.
[19] WANG Y W, WU J X, GUO Y F, et al. Scientific workflow execution system based on mimic defense in the cloud environment[J]. Frontiers of Information Technology and Electronic Engineering, 2018, 19(12): 1522-1536.
[20] 普黎明,卫红权,李星,等. 面向云应用的拟态云服务架构[J]. 网络与信息安全学报, 2021, 7(1):101-112.(PU L M, WEI H Q, LI X, et al. Mimicry cloud service architecture for cloud applications[J]. Chinese Journal of Network and Information Security, 2021, 7(1): 101-112.)
[21] PU L M, WU J X, MA H L, et al. MimicCloudSim: an environment for modeling and simulation of mimic cloud service[J]. China Communications, 2021, 18(1): 212-221.
Design and implementation method of mimic cloud agent based on active-standby monitoring
GUO Qiaoyu*, CHEN Fucai, CHENG Guozhen, ZENG Wei, XIAO Yuqiang
(,450002,)
Aiming at the security threats and single point of failure of the agent in mimic cloud systems, a high-available mimic cloud agent with active-standby monitoring was proposed. Firstly, an active-standby monitoring mechanism based on distributed agents in the cloud environment was proposed to construct heterogeneous active-standby agents. The traffic to the active agent was analyzed by the standby agent through mirroring the traffic, and the output results of the active agent were cross-validated by the standby agent. Secondly, based on the Data Plane Development Kit (DPDK) platform, a synchronous adjudication mechanism for standby agents and a seamless active-standby switching mechanism were designed to achieve security reinforcement and performance optimization of cloud agents. Finally, an active-standby switching decision algorithm was proposed to avoid the waste of resources caused by frequent active/standby switching. Experimental results showed that compared with the traffic processing delay of Nginx based cloud agents, the loss of this mimic cloud agent was milliseconds under high concurrency. It can be seen that the designed method can greatly improve the security and stability of the cloud proxy, and reduce the impact of the single point of failure on the stability of the proxy.
mimic defense; cloud agent; active-standby monitoring; cross validation; mimic cloud system
This work is partially supported by National Natural Science Foundation of China (62072467, 62002383).
GUO Qiaoyu, born in 1997, M. S. candidate. His research interests include network active defense.
CHEN Fucai, born in 1974, M. S., research fellow. His research interests include network communication, network active defense.
CHENG Guozhen, born in 1986, Ph. D., associate professor. His research interests include cyber security, cloud data security.
ZENG Wei, born in 1997, M. S. candidate. His research interests include network active defense.
XIAO Yuqiang, born in 1997, M. S. candidate. His research interests include software diversification, network active defense.
TP393
A
1001-9081(2022)06-1932-09
10.11772/j.issn.1001-9081.2021040595
2021⁃04⁃15;
2021⁃07⁃09;
2021⁃07⁃09。
国家自然科学基金资助项目(62072467, 62002383)。
郭乔羽(1997—),男,河南商丘人,硕士研究生,主要研究方向:网络主动防御;陈福才(1974—),男,江西高安人,研究员,硕士,主要研究方向:网络通信、网络主动防御;程国振(1986—),男,山东菏泽人,副教授,博士,主要研究方向:网络安全、云数据安全;曾威(1997—),男,河南信阳人,硕士研究生,主要研究方向:网络主动防御;肖玉强(1997—),男,吉林辽源人,硕士研究生,主要研究方向:软件多样化、网络主动防御。