研究文章|开放存取
IaaS平台中VMs安全即服务研究的扩展
抽象
为了满足安全性的关注,包括基础设施作为服务(IaaS)安全框架,安全服务接入,网络异常检测,和虚拟机(VM)的监测,分层的安全框架内置其中物理层,虚拟化层,和一个的构成安全管理层。随后,两名保安服务访问方式实现了从安全工具是否产生通信流量的角度不同的安全工具。一个没有产生流量采用VM流量重定向技术和其他利用多任务进程访问的机制。此外,堆叠基于LSTM-网络异常检测无代理方法提出,其具有的精确度和召回更高比率的优点。最后,基于动态代码注入为VM基于管理程序的代理监视方法提出,其具有外部监视方法的高安全性和内部监测机制的良好上下文分析的好处。实验结果表明,所提出的保护框架的有效性和相应的安全机制,分别。
一。介绍
在IaaS环境下,为VMs提供部分保安需求,包括保安架构、保安服务接达、网络异常侦测及监察等[1,2]提出了多种设计方案。
首先,需要考虑为IaaS平台建立一个全面的安全框架。CSA提出了一个可信云计划参考体系结构[2,3],其中包含BOSS,ITOS,SRM和分层云服务。NIST提出了基于角色的云架构[4],它分别定义了云提供商、云用户、云审计员和云代理的功能和职责。ENISA为政府云发布了一个安全框架[五],其抽象的角色元素(包括云用户,云所有者和云服务供应商),并给出了基于PDCA循环(计划,执行,检查,行动)生命周期中的云安全架构。亚马逊(AWS)建立基于共同的安全责任是AWS花费的通用基础设施和基本服务的责任,以及用户对于自己的应用程序和内容承担责任云模型。阿里巴巴,腾讯,和H3C构建云防护系统在方式类似于AWS。OpenStack的和OpenNebula依靠用户认证和通信接入控制,以确保VM的安全性,缺乏灵活的机制来访问安全服务。Varadharajan和Tupakula [6]基于Eucalyptus IaaS平台,分析租户管理员、租户、云提供商管理员和Internet的不同威胁,通过在不同组件级别添加安全组件,构建安全服务模型。Lin等人。[7]指出,云安全需要依赖于受信任的根,信任的链接,安全管理和安全性评价要素。目前,许多研究成果集中在抽象的云安全架构,这是不利于快速实现云安全技术。
其次,由于虚拟通信通道是逻辑的,而且是传统安全产品不可见的,因此无法监视或阻止虚拟机流量。为了满足这些要求,VMware NSX[8]实施在物理计算系统核心防火墙植入紧密耦合的方式的软件。Sugon [9]提出了一个封装在虚拟机中的漏洞扫描工具。但是,随着虚拟机数量的增加,需要大量的存储空间,不能充分发挥漏洞扫描引擎多任务并行处理的特点。在Openstack中实现的安全组功能采用Netfilter/Iptables实现软件虚拟防火墙,由于实现的耦合性很强,不便于动态扩展。思科和惠普分别开发了VN-TAG和虚拟以太网端口聚合器(VEPA)的新协议,将虚拟机流量拉到物理访问层交换机,实现虚拟机通信控制[10,11个]。
第三,网络异常检测是网络安全防护的重要手段,可以对网络流量进行无代理分析。目前,网络异常检测方法可分为四类[德意志北方银行]. (1) 分类方法:该方法需要安全专家提供已知的攻击模式并设计详细的特征。滨本等人。[13个]提出了一种将遗传算法与模糊逻辑相结合的网络异常检测方法,利用遗传算法生成多个特征,并用模糊逻辑方法判断事件是否为异常。结果准确率为96.53%,假阳性率为0.56%。该分类方法能充分利用网络流量的详细特征,获得较高的分类精度。(2) 统计方法:该方法的基本思想是将事件与正常值的较大偏离视为异常,从而从理论上分析正常网络行为可以检测未知攻击。Fernandes等人。[14个]提出了两种基于统计方法PCA和蚁群优化,哪些配置正常的网络行为和通过的动态时间规整度识别异常事件的修改与真实网络流量比较异常检测机制。然而,统计方法不适合于一些因细节特征损失小规模的攻击。(3)信息理论:信息论的措施,例如熵可以用来创建的异常检测模式。CALLEGARI等。[15个]提出了一种通过研究网络流量熵的变化来进行异常检测的入侵检测方法。通过三维可逆草图对流量进行聚合,并利用多种熵定义计算不同流量描述符的熵。最后,根据熵的偏差来检测网络异常,信息论忽略了流量的细节信息,很难检测到小规模的攻击。(4) 聚类方法:该方法不需要标注数据,可以自动挖掘数据的模式。Flanagan等人提出了一种改进的微聚类异常点检测(MCOD)机器学习算法。[16个]. 将基于距离的离群点检测和聚类密度分析相结合,对不需要标注数据的时间序列进行异常检测。然而,距离度量很难设计。
最后,监控是安全保证机制的重要组成部分[1,2]. 目前,VM状态的监控技术可以分为两类。(1) 内部监视方法(软件代理在虚拟机内运行),它为虚拟机的状态提供了良好的上下文分析,但在虚拟机内运行的恶意代码可能会损坏监视系统。(2) 外部监控方法(或基于Hypervisor的监控方法)[17岁],这是通过使用虚拟机监控程序或虚拟机监视器(VMM)实现的。VM的状态可以通过一些特定的Hypervisor api来监控,而检索到的信息则严格限制在固有的api中,没有扩展或定制的机会,例如OpenStack Ceilometer和AWS CloudWatch的产品。为了弥补这一不足,提出了基于虚拟机内省(VMI)的方法[十八-20个]。这些方法总是靠设置特定的硬件俘获用于VM的内部资源(例如,CPU或存储器)首先。当VM访问特定的资源,操作将被由VMM立即抓获。然后,内省机制采用监视虚拟机的状态。与内部监控方法相比,基于管理程序的方法具有更高的安全性和可靠性,但它消耗更多的资源。为了解决这个问题,基于VMFUNC触发方法提出[21岁],它最大限度地减少了VM出口的开销,避免了VMI程序引起的系统暂停。
为了满足上述安全问题,在下面的章节中设计并实现了相应的解决方案和技术。分段2构建了P2DR安全模型的云安全框架,构建了IATF纵深防御思想和安全即服务思想。该框架采用了物理层、虚拟化层和安全管理层。节3.1款,为了满足安全服务访问的需求,从工具是否产生通信流量的角度出发,利用NV、NFV、SDN技术,实现了对各种安全工具的两种访问方法。一个不产生流量的应用采用了具有松散耦合的VM流量重定向技术,具有更好的灵活性。另一种利用多任务进程访问机制,充分利用部分安全引擎的多任务并行处理特性,有助于降低资源消耗。节3.2款为保证虚拟机的网络安全,提出了一种基于lstm的网络异常检测方法。根据网络流量的周期性,选取11个特征来描述一个时间窗口内的流量结构。然后将11个特征的多元时间序列输入到LSTM-NAD进行训练。最后,经过精细训练的LSTM-NAD模型预测出一个二进制值,表示当前时间窗是否异常。与纸张相比[1, LSTM-NAD方法具有AUC评分高、异常检测效果好等优点。节3.3款根据虚拟机内部监控方法和外部监控机制的特点,提出了一种基于虚拟机管理程序的基于动态代码注入机制的虚拟机无代理监控方法。该机制具有虚拟机内部运行的恶意代码无法破坏的外部监控方法的高安全性,并且具有对虚拟机状态进行良好的上下文分析、低资源开销和快速响应的优点。与完全依赖语义分析的虚拟层监控机制相比,该方法具有性能开销低、响应速度快的优点。分段4最后给出了实验活动,并讨论了该框架的有效性和性能成本以及各种支持证券。在以后的工作中,将讨论关于框架和具体技术(例如加密、VPN、VM转义检测、数据备份和软件更新)的更完整的技术讨论。
2. IaaS的保护框架
为满足IaaS环境物理和虚拟环境的网络访问控制、网络异常检测和VM监控等安全需求,构建了一个可扩展的IaaS平台安全保护框架,如图所示1。
该框架遵循P2DR(Policy,Protection,Detection,Response)的安全模型和IATF(information assurance technical framework)和security as service的纵深防御思想。总体而言,该框架由物理层、虚拟化层和安全管理层组成。物理层为IaaS平台提供物理CPU、内存、存储和网络资源。然后,在此基础上,虚拟化层使用Xen、KVM、Hyper-V、LVM、软件定义网络(SDN)、网络功能虚拟化(NFV)和网络虚拟化(NV)来虚拟化物理资源。而且,这两层都满足P2DR模型的约束。
对于物理层,IaaS环境中不同网络之间在水平方向上提供了高度的网络隔离。这些段网络由非军事区(DMZ)、管理域、虚拟机迁移域、存储域、租户业务域和支持域组成。其中,DMZ是外部网络域和IaaS环境内部之间的安全通信区域。管理域允许云提供商管理和监视IaaS环境中的资源。隔离云迁移和存储域的原因有两个方面:性能,因为两个流量都需要非常快的数据速率,安全性,完全隔离这个网络。租户业务域承载以虚拟机格式封装的虚拟资源。支持域由两个子域组成,一个子域用于物理层,另一个子域用于虚拟层。对于物理层,可以在适当的位置部署安全措施(如IPS、ID、传统物理防火墙和防病毒网关),以保护物理环境。
虚拟化层包含一个租户业务域和一个虚拟化环境的安全支持子域。(1)对于租户业务域,从外部到租户VM内部,组织一个三层隔离网络周界:(L1)租户域(TD)周界。(L2)租户子域周界。(L3) VM周长。(2)对于安全支撑子域,编制了一些措施来消除部分安全风险,包括资源访问控制、通信控制、网络异常检测、虚拟机监控等。对于L1和L2,可以提供管理租户VMs通信访问控制、网络异常检测和深度包检查的能力。对于L3,可以提供VM监控和VMs文件防病毒服务[1]。
用户身份管理,异常检测,漏洞检测,监测,数据备份,应急响应等基于上述讨论和结合机制,动态安全保护框架可以建立,如图2。
三。安全服务实现
3.1。保安服务访问
目前,从安全服务工具是否产生通信流量的角度来看,防火墙和漏洞扫描等安全工具大致可以分为两类:(1)类型1:工具不产生通信流量,只处理和转发接收到的通信流量(如:。,防火墙过滤通过的流量)。(2) 类型2:该工具生成一个通信流,并根据回复信息(例如,漏洞扫描和端口扫描工具)确定安全状态。要解决安全工具难以动态访问租户虚拟网络的问题,需要考虑以下问题:(1)安全服务工具的实现形式。(2) 将虚拟机通信量发送到安全工具的方式,或将通信流从安全服务工具传递到租户网络的方式。值得关注的是(1),NFV技术被用于实现安全设备(例如,选择轻量级VM作为网络异常检测服务的载体)。此外,通过在一个安全设备中集成多个安全服务工具,可以实现“将多个安全服务工具封装为一个”的安全服务属性。关注(2),(一)当需要将VM流量发送到安全设备(类型1中的定义)时,应该在租户子网中实例化安全设备,这样就可以在它们之间访问第2层的网络。之后,一个软件转换支持OpenFlow协议在VM部署网络接口,可以将数据包从一个特定的VM重定向到特定的安全设备通过修改本地目的MAC地址的数据包的MAC地址安全设备安全策略。然后,可以对特定的流量进行处理或过滤,如图所示3. 此外,与将安全设备直接实例化为租户业务域中的计算节点的方式相比,将其实例化为单独的支持域,对VMs的计算资源没有影响,更有利于提高安全服务能力。(二)当需要将来自安全设备的通信流(类型2中的定义)主动地交付给租户网络时,基于VM封装的现有部分方法无法充分利用安全引擎的多任务并行处理能力,从而导致过度的资源消耗。
为了解决这个问题,基于多任务处理和安全服务接入方法SDN提出,如图4. 通过提供一个独立的安全服务节点,利用SDN技术动态构建虚拟网络链路,一个安全设备可以同时为多个租户服务,实现“一个服务多个”的安全服务属性。
以安全设备为例,以漏洞扫描为例,说明了第二类安全服务访问方法的原理。(1)根据安全策略,漏洞扫描VM-A的操作启动。接收特定指令后,安全服务将为安全服务引擎和安全任务进程任务运行空间。(2)通信链路任务的运行空间,并通过创建虚拟端口和虚拟链接虚拟网络设备之间建立。此外,路由是根据将被扫描的VM的IP地址信息设定,并且通信隔离由租户域的租户层网络标签组合来实现。(一)虚拟端口和链路基于VETH设备上实现。虚拟连杆的一端被绑定到虚拟交换机,并且另一端被结合到通过任务接口任务运行空间。与此同时,运行空间的安全任务是可达由任务配置接口的IP地址的目标VM网络和路由信息。(B)不同的安全任务进程之间的通信隔离基于SDN技术来实现。任务进程的网络空间被连接到虚拟交换机,租户域的第2层网络标识符,诸如VLAN TAG,被组合来标记安全服务流量和递送到目标虚拟机网络。同时,它保证了不同的安全任务处理之间的二层网络隔离。(c)在一个虚拟的网络环境中,虚拟机在不同承租人域可以具有相同的IP地址来配置。为了确保不同的安全任务的流量可以被传递到正确的目标网络,虚拟IP地址为安全任务流程和目标VM集合。 The detailed process is illustrated as follows.
关键参数为VMA的真实MAC和IP信息为(vm。mac vm.ip),并且映射到任务运行空间的虚拟地址信息是(病毒mac, 虚拟ip). 虚拟对象建立在VETH设备上,并且到任务运行空间的边界被命名为VPORT,其地址信息是(vport.mac端口, vport.ip端口)。VMA所在的虚拟网络的网关MAC地址巨无霸。(1)安全任务流程发送数据包:S1:安全任务过程中根据本地虚拟网络接口配置的地址信息封装安全任务的交通VPORT以及目标虚拟机的虚拟地址信息。选择网络地址中的保留地址作为的虚拟地址资源池vport.ip和虚拟ip.此时,数据包的基本信息为(SRC = (vport.mac端口,vport.ip端口),夏令时 = (病毒mac,虚拟ip),标记 = 空)S2:数据包到达虚拟交换机后,根据VMA VLAN标记对安全任务进程数据包进行标记,并将目标地址修改回真实的目标虚拟机地址。此时,包的基本信息是(SRC = (vport.mac端口,vport.ip端口),夏令时 = (虚拟机mac,虚拟机ip),标签 = ID)S3:接收到目标地址为VMA、标记为VMA VLAN标记的安全服务流量后,VMA接入层虚拟交换机删除该标记并发送给VMA。此时,包的基本信息是(SRC = (vport.mac端口,vport.ip端口),夏令时 = (虚拟机mac,虚拟机ip),标记 = 空)(2)安全任务过程中接收的数据包:R1:VMA根据本地地址和保存的安全任务进程地址封装应答信息。由于任务进程和虚拟机位于不同的网络中,因此使用网关地址来回复数据包。应答包的基本信息是(SRC = (vm.mac,vm.ip),DST = (gw.mac,vport.ip),TAG = null)R2:数据包到达虚拟交换机后,标记目标IP地址与安全任务进程匹配的流量,修改目标MAC地址,重定向到安全任务进程接口港口。此时,数据包的基本信息为(SRC = (vm.mac vm.ip), DST = (vport.mac vport.ip),标签= ID)R3:分组到达该安全性任务进程连接虚拟交换机之后,修改源IP和源MAC的流量流动该目的地IP地址等于安全任务处理返回到的虚拟IP地址的地址和虚拟MAC地址。此时,数据包的基本信息为(SRC = (病毒mac,虚拟ip),夏令时 = (vport.mac端口,vport.ip端口),标记 = 空)
该方法充分发挥了部分安全引擎多任务并行处理的特点,有助于降低漏洞扫描引擎和插件所需要的存储资源消耗,而这些资源消耗并没有随着安全服务的增加而增加。
3.2条。网络异常检测
3.2.1条。网络流量特性
网络流量特征是网络异常检测机制的关键,它描述了正常和异常的网络流量模式。网络中虚拟机主机的正常网络活动会引起网络流量的周期性波动,静态网络特征很难刻画出网络环境中正常的网络行为。许多特征是时变的,具有很强的周期性,称为网络流量动态结构特征。
如表所示1,第1个圣到4第功能与纸张相同[1],用于描述特定窗口中的流量结构。另外,功能5第到11第提出来描述一个VM的动态网络流量模板。因此,与其使用时间窗口的组合特征,原有的特色,如获通过,这完全包含所有原始信息,并在回归神经网络的自动学习的先进特性有益。
|
|||||||||||||||||||||||||||||||||||||||||||||
云环境下虚拟机数量庞大,意味着网络流量巨大,要求我们设计的功能必须易于收集,计算量小,并且由于加密流量和用户隐私的限制,负载是不可见的。例如,在云数据中心中捕获web服务器的网络流量,并计算每次窗口(设置为1分钟)中的11个功能。上述11个特征在7天内(共10080个时间窗口)的统计结果如图所示五大部分的特征能显示出较强的周期性,如个基点和聚苯硫醚. 值得注意的是,有些特性没有显示同步,例如同步率和每个ip的字节数,这几乎是相反的趋势。此外,一些异常值是明显的,例如在syn_count。然而,由于经常性的神经网络强大的预测能力,不需要这些明显的异常值进行处理,并且将网络学习这些不正常的情况。
3.2.2条。LSTM-NAD:基于LSTM的网络异常检测
F定义为一组由11个特征组成的网络行为:
F = {access_port, ip_entro, bps, pps, packet_per_ip, ip_count, service_port_entro, syn_rate, syn_per_ip, bytes_per_ip, syn_count}.
给定一个 ,多元时间序列假设为 ,和是一个m维向量 ,每个点的位置表示的价值之间t窗户。
长短时记忆(LSTM)网络可以捕捉序列的时间结构,非常适合虚拟机的网络流量时间序列。LSTM是RNN的一种变体,具有学习长期依赖关系的能力,有效地解决了梯度消失问题,是应用最广泛的一种RNN。单个LSTM块的公式如下[22个]: 哪里是输入;是输入门,它定义了一个新计算的状态被允许穿过;是一个遗忘门,它定义了允许通过的先前状态;是一个单元状态,它结合了以前的内存以及新的投入 ; 表示输出门;是一种隐藏的状态;是一种按元素相乘;和是一个激活函数,它是乙状结肠或双曲正切函数通常。
因此,在网络流量检测系统中引入LSTM网络作为一个强分类器来判断当前时间窗是否异常。与传统的机器学习算法相比,LSTM不需要精心提取特征,实现了端到端的异常检测。
为了提高LSTM的能力,设计了一个层叠式LSTM网络框架“LSTM- nad”,该框架如图所示6。网络的输入形状是一个数组,其形状类似于<乙,Ť,F>,乙表示批大小,Ť表示时间步长,并且F表示要素大小。然后,在输入层应用两个堆叠的LSTM,并且通过循环连接将隐藏层中的LSTM单元完全连接起来。第一层有64个隐藏单元,输出每个时间步的结果;第二层有32个隐藏单元,只输出最后一个时间步的值。最后,两个完全连接层之后是LSTM层,第一层有64个单元,第二层有32个单元,网络中的最后一层是完全连接层,其中隐藏单元大小为1,激活函数为乙状结肠函数。
在多变量时间序列中,当前时间窗依赖于前一个时间窗,因此采用滑动窗口生成训练序列数据。为了提高训练效果,我们还对训练数据进行了洗牌。由于训练样本极不均衡,异常点的数目与正常样本数目相比非常小。采用数据增强和过采样的方法,使训练样本中的正负样本数大致相等。最后,为了避免过度拟合,在完全连接的层中添加了一些脱落层。
3.3条。虚拟机监视
提出了一种基于动态代码注入机制的虚拟机无代理监控方法,如图所示7。
以KVM作为VMM来说明。框架的构建基于以下原因:(1)KVM和VM之间存在语义上的差异。通过KVM注入VM的监控代码运行正常,必须满足以下要求:(a)获取VM的语义(内核符号表)并解析监控代码使用的内核符号。(b) 分配VM的一个内核内存块(名为mem-a)来存储监控代码。(c) 将监视代码加载到(b)中的内存中后,需要执行重新定位修复操作才能使监视代码正常运行。(2)必须为注入的监视代码构造一个执行机会(例如,通过透明地拦截VM的系统调用来创建一个执行机会,当VM中发生系统调用事件时,监视机制将被激活)。(3)还应该考虑对监控代码的保护机制。因为监视代码驻留在VM的内核空间中,所以VM的其他内核模块可能会绕过监视机制(例如,通过(a)钩子将保存系统调用入口地址的VM的SYSENTER_EIP_MSR (MSR)寄存器挂起)。(b)挂钩VM的系统调用表。
该框架包含(1)监控代码注入,部署在KVM中,当启动VM(名为VM- a)并透明地将监控系统调用条目修改为监控代码相应功能的地址时,对监控代码执行注入操作。然后监控VM-A的系统调用执行过程。(2)监控保护,部署在KVM中,实现对注入代码、MSR寄存器、系统调用入口函数、系统调用表的只读保护。在此之后,它们就不能被运行在VM-A内部的恶意代码所篡改。(3)一个共享内存(memm - s),在监控代码第一次运行时分配,它的基址和大小通过超级系统调用的VMCALL传递给KVM。因此,监视代码将通过mema与KVM交互以交换数据(包括交付策略和检索结果)。(4)监控策略,包括被监控的VM的id、要监控的系统调用号、系统调用响应动作(例如,记录或阻止在VM内文件中放置敏感信息的操作)。
3.3.1。监测代码注入
KVM喷射监测代码到动态VM-A通过以下步骤:步骤(1)当VM-A通电时,VM-A的内核符号表得到解决。步骤(2)的内核存储器区域VM-A的(称为MEM-A)被分配。步骤(3)根据VM-A的内核符号表和MEM-A的基地址,监测代码符号表得到解决,搬迁数据被修复。步骤(4)重构的监视代码被注入到MEM-A最后。
(1) VM内核符号解析. 以CentOS 7.2x86u64操作系统为例,说明了该机制。数字8显示了CentOS内核符号表的分布。
从图8,kallsyms_地址是一个数组,它存储符号名和相应的内核虚拟地址,内核虚拟地址驻留在只读数据段中,并按升序排列;kallsyms_num_syms存储内核符号的数目,等于kallsyms_地址第一个递减的值;kallsyms_names是一个数组,它存储经过ASCII编码后的所有内核符号字符串,其中包括kallsyms_num_syms共分录;kallsyms_markers是一个数组,它存储kallsyms_names分组(将相邻的256个核符号划分为一组);kallsyms_token_表是存储常用字符串的数组;kallsyms_token_index是一个数组,它存储kallsyms_names在kallsyms_token_表。
根据图形的分布规律8,在KVM中从低地址到高地址搜索VM-A代码段的内存,分析VM-A的关键符号和内核符号表(命名为VM_SYMS)的地址。
(2) VM内核内存分配. KVM需要调用module_allocVM-a的(内核内存分配函数)主动分配mem-a。基于内核符号解析方法,在KVM获取module_allocVM-A的,我们采用自下而上函数调用信道的方法,以从VM-A的核心存储器区域的高地址分配的MEM-A。具体步骤如下:步骤(1)保存VM-A的当前执行环境的信息(例如,指令寄存器中的值)时的事件发生与VM-A的出射。用于步骤(2)构建参数module_alloc通过指令寄存器。步骤(3)将指令寄存器的值修改为的地址module_alloc. 步骤(4)在执行module_alloc并还原步骤(1)中保存的信息。
(3)监控代码符号解析和重定位数据修复。监管码符号解析的原理是在算法显示1。在监测代码符号表中的每个条目将被遍历,如果地址符号[i]为NULL,通过查找VM-A的VM_SYMS来检索和重新分配地址。否则,将根据VM-A的内核内存基址及其相对偏移量进行修改。
|
在算法中1,symsec是指向监控代码的ELF格式文件中的符号表部分的指针;符号是ELF格式文件的符号表。表中的每个条目都包含索引的信息(st_name作为), 一种 (st_shndx),和地址(st_值)中每个内核符号名的STRTAB;STRTAB是指向字符串表的指针;SHN_UNDEF是未解析的符号;客人地址是VM的基址,KVM已经分配了一个内核内存;秘书是指向ELF格式文件的节头表的指针。表中的每个条目都存储了包括偏移量在内的信息(sh_offset)相对于秘书,截面尺寸(sh_size),以及代码段地址(sh_info);名称是存储内核符号的名称的临时变量;获取地址(名称)是根据名称变量从VM_SYMS检索地址的函数。
算法中给出了重定位数据修复的原理2,其中包含以下步骤:步骤(1)遍历重新定位表以检索要重新定位的条目的每个条目信息(包括当前条目的索引和要重新定位的条目的寻址类型(例如,R_X86_64_PC32))。步骤(2)根据重定位类型和解析符号表计算要重定位的条目在VM-A内存中的地址,然后将其写入重定位表。步骤(3)将重建的重定位表的地址加载到客人地址。
|
在算法中2,硬盘驱动器是加载到KVM临时存储器中的ELF格式文件中的监视代码的基址;rel是,一个临时变量,一个指针到重定位表部,并且在相对表中存储的相对偏移量中的每个条目(r U偏移)和偏移类型信息(资源信息)的入口(即须迁移的入口);雷尔塞克是中重新定位部分的索引秘书;目标秒是指向重新定位节的代码段的临时变量;LOC是指向相对[I]在KVM临时存储器中;fake_loc是指向相对[I]在VM-A的存储器;symindex表示ELF格式文件的节标头表中符号表节的索引;rel_type是存储重定位类型值的临时变量;VAL是一个临时变量,其存储的目标地址之后相对[I]被重新安置。
(4) 动态喷射监测代码. 通过将监控代码写入mem-A。然后,重定向相应的客户端系统调用执行路径,我们的监管码透明,使监督机制生效。的步骤如下:步骤(1)根据VM_SYMS,检索在VM-A的系统调用表被监视系统呼叫的地址。步骤(2)重新分配在步骤(1)的地址值对应的监控函数的值(函数名)在监控代码中。
3.3.2。监控功能保护功能
保护机制包括系统调用项的地址寄存器(MSR)的反保护功能和内核代码(包括系统调用项函数和注入的监控代码)和系统调用表的只读机制。(1)保护MSR:打开写操作通过设置KVM的MSR位图捕获VM-A的SYSENTER_EIP_MSR的。当VM-A试图修改SYSENTER_EIP_MSR的值,其将被KVM被捕获。因为KVM具有更高的特权,该KVM可以直接无效上述修改的操作。此外,当VM-A内核初始化,由此带来的VM-A的性能几乎没有影响只发生在写操作SYSENTER_EIP_MSR。(2)只读了内核代码和系统调用表的保护。(A)当VM-A访问数据时,OS的页表的管理机制转换虚拟地址到VM-A的物理地址。然后,CPU穿越EPT页表和转换VM-A与主机的物理地址的物理地址,并在内存中的数据都将最终检索。(B)VM-A的页表是由自身保持,并且VM-A内的恶意模块可以使用内核篡改。(C)的EPT页表是由KVM,这不能由VM-A的恶意代码被篡改维护。保护模块由内核代码和VM-A的系统调用表映射到在只读模式实现安全保护EPT。
3.3.3。监控策略定义
监控策略P正式定义为一个四元组: 。(1) 代表了要监视的VM, ,如果 ,然后 。(2) 表示要监视的系统调用号码集, ,如果 ,然后 。(3) 表示系统调用配置集(例如,监控进程的黑名单集), ,主题启动操作和对象被访问, ,如果 ,然后 。(4) 表示被监视系统调用的实时响应(例如,记录并阻止在虚拟机上的文件中放置敏感信息的操作),
4.实验活动
根据图1我们采用多种正常服务器,千兆以太网交换机和千兆网卡来构建的IaaS平台。关键参数是开栈基洛作为IaaS的管理工具包,KVM作为VMM和版本是2.3.0,OpenvSwitch作为虚拟SDN开关和柳作为SDN控制器,和CentOS 7.2 64发行版本作为主机操作系统和其内核版本是3.10.0和OpenVAS 7作为脆弱性扫描引擎。Ťhe key physical host parameters are the CPU model is Intel (R) Xeon (R) CPU E5-2630 v3 ∗ 2, 2.40 GHz, memory capacity is 128 GB. Other experimental parameters will be given in the corresponding section. The deployment architecture is as shown in Figure9。
租户域是通过使用NV、SDN和NFV技术构建的。(1) 采用VxLAN技术构建逻辑通信信道;(2)子网配置依赖于NFV技术实现的DHCP、路由器、交换机等虚拟设备;(3)租户域周界由一组部署在逻辑通信信道上的虚拟路由器和防火墙构成;(4) 利用在虚拟防火墙中配置的ACR的通信访问控制。采用不同的虚拟路由器配置不同的子网和防火墙,实现了不同租户域和子域之间的隔离和互连。防火墙可以加载iptables/ebtables规则或SDN转发规则来实现访问控制。此外,通过利用虚拟防火墙、网络异常检测、虚拟机监控和虚拟机防病毒来构建支持域[1]。
4.1。保安服务访问
对于类型1访问方法,首先将VM通信量重定向到安全设备,从而增加VM通信延迟。在IaaS环境中为同一子网中的两个vm配置重定向策略前后PING操作延迟测试的统计信息如图所示10. 结果表明,重定向后的通信延迟是重定向方式的两倍,达到了预期的效果。
对于类型2访问方法,与当前提供VM粒度安全扫描的方法相比,我们使用OpenVAS 7工具对扫描性能进行测试,并对多任务方法和多VMs方法在扫描不同数量的租户网络域时消耗的资源进行测试,如表所示2。
|
||||||||||||||||||||||||||||||||||||||||
结果表明,在VM粒度上为不同的租户提供漏洞检测服务会导致资源消耗的急剧增加。此外,由于本文提出的方法涉及到虚拟网络设备的创建、网络地址的转换等,与VM直接提供服务的方式相比,只增加了0.1 ms的延时。
4.2。网络异常检测
为了证明该方法的有效性,实验的目的是比较我们的算法和文献[的检测结果1]方法在真实的网络环境中,类似于纸张[1]. 捕获在VM中运行的web服务器的网络流量,对网络流量的11个特征进行为期一个月的监控,其中包含约37439个时间窗口,前21600个记录用于培训,其余记录用于测试。
网络流量数据集在训练数据集中包含约28亿个数据包,在测试数据集中包含约16亿个数据包。为了区分正常事件和异常事件,我们分析了关于服务器的网络流量和系统日志,并手动标记了异常和正常,其中包括SYN洪、URL探测、UDP洪、端口扫描和部分未知攻击。事件的详细信息如表所示3。
|
||||||||||||||||||||||||
经过多次实验,LSTM-NAD网络通常会收敛到50个阶段,因此将该阶段设置为50,并设置回调函数以保存最佳模型。由于网络异常检测是一个二元分类问题,因此将损失函数设置为二元交叉熵。最后,通过使用Keras和Tensorflow并在配置了NVIDIA Tesla P40图形卡的服务器上运行,实现了LSTM-NAD。
接收机工作特性(ROC)和曲线下面积(AUC)是评价分类性能的两个重要指标。ROC图描述了所有可能阈值上的假阳性率(FPR)与真阳性率(TPR)。如果ROC图中的观测曲线沿对角线下降x等于y对模型的性能进行了评估,结果表明该模型的性能不优于随机概率模型。完美曲线是在FPR = 0.0和TPR = 1.0处形成直角的曲线,它将指示所有分配给正类(此处为恶意活动)的概率都大于分配给负类(此处为良性活动)的概率。AUC是通过ROC曲线积分得到的值。AUC为1.0表示完全分类,AUC为0.5表示随机机会。
因此,这两个指标用于评估每种方法的异常检测性能,两种方法的ROC-AUC图如图所示11个。
如图所示11个,LSTM-NAD的AUC为0.94,与[1]和建议,我们LSTM-NAD方法对网络异常检测有效的绩效。在另一方面,LSTM-NAD的ROC几乎覆盖[1],这意味着LSTM-NAD具有较高的真阳性率和不管阈值的降低假阳性率。在实验中,[1]检测到一些未知异常,LSTM-NAD也检测到了这些异常,这表明LSTM-NAD能够检测到未知异常,这得益于对正常网络流量模式的记忆。
4.3条。虚拟机监视
(1) 功能有效性验证。在VM中,被监控的文件操作信息从日志中KVM的观察时开口或编辑所监视的文件,包括文件名,文件路径,操作过程中,用户ID(UID),和操作类型,如图德意志北方银行。此外,因为只存在于VM内核存储器监视代码,并且不依赖于OS驱动程序,并且处理相关的内核数据结构,有关监测系统中的任何信息无法通过使用检测工具例如可以检测“lsmod公司”或“ps在VM内”运行。
(2)监视功能的保护. 数字13个显示当虚拟机中的模块(名为M)试图修改受保护的代码和数据(例如,对系统调用表执行修改操作)时EPT违反可能被触发到KVM和事件将被保护模块被捕获。
(3)性能测试. 根据实际经验,操作系统内随机读写操作的比例通常为7 : 3。因此,使用菲奥虚拟机中的测试工具,用于执行以下操作以模拟正常的读写情况,测试虚拟机的参数为OS为CentOS 7.2 x86_64,配置2个VCPU,内存容量为4 GB。
“fio-IO引擎=同步废话=4K -direct=1 -thread -RW=randrw-rwmixread公司=70年造=9G-文件名=/home/ar/test-名称=“测试”-iodepth=32位运行时=180英寸
同时,下面的监控政策为VM设置,其中系统调用编号指示如下:0表示SYS_READ,1表示系统写入,2表示sys_open,3表示系统关闭。
“p”=(c9b6bea3-a2db-42f7-a625-1fbc8d601291,{0,1,2,3},(vim,/etc/hosts),记录)
在随机读写比为7 : 3的情况下,监控机制带来的IOPS开销统计数据如表所示4。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
结果表明,该监控系统具有对虚拟机IOPS的影响很小。
对于监控机制带来的CPU和内存开销,根据虚拟机中的存储IOPS测试用例,可以使用纳蒙”测试工具用于在主机上,以评估在主机系统上的监督机制对性能的影响。用例和测试数据示于表五和6。测试数据显示,监控机制带来的CPU和内存的性能消耗基本可以忽略不计。
|
||||||||||||||
|
||||||||||||||||||||||||
基于上述讨论,该方法(1)与内部监控模式相比,因为不需要在VM内部安装可见代理,且该方法具有更高的可靠性和安全性;(2)与基于VMI的无代理监控模式相比,透明注入的监控代码可以有效消除虚拟机与VMM之间的语义鸿沟。此外,该方法消耗的资源低于VMI方法。(3)与[1],语义分析操作在每次执行监视时执行,在代码注入阶段只需执行一次,大大减少了语义分析操作导致的上下文切换时间。
5个。结论和今后的工作
本文设计并实现了IaaS安全框架、安全服务访问、网络异常检测、虚拟机监控等相应的设计与技术。讨论了云安全框架、安全服务接入、网络异常检测、虚拟机监控等方面的研究现状,指出了各自的优缺点。很多公开的研究成果都集中在云安全框架的抽象上,不利于云安全技术的快速推广和实现。此外,还详细介绍了该框架的具体实现和实验活动,并讨论了该框架的有效性和性能成本以及各种支持证券。关于框架和具体技术(例如加密、VPN、VM转义检测、数据备份和软件更新)的更完整的技术讨论将在未来的工作中讨论,以及更全面的IaaS安全保护框架,如图所示14个,将进行研究。
数据可用性
用于支持本研究结果的数据包括在文章中。
利益冲突
作者声明他们没有利益冲突。
致谢
该研究部分由国家自然科学基金61802270、61802271资助,四川省重点研究开发项目。2018GZ0100,中央高校基础研究业务费基础研究项目2017 scu11065。
工具书类
- 殷晓云,陈世生,陈丽玲,邵国林,李宏华,陶世生,“虚拟机安全服务在IaaS平台上的研究”,IEEE接入,第6卷第1期。1、29158-29172页,2018。查看位置:发布者网站|谷歌学者
- G. Brunette和R. Mogull,安全指南的重点关键领域云计算V4.0云安全联盟,加拿大多伦多,2017年。
- CSA,可信云计划参考体系结构2.0版云安全联盟,加拿大多伦多,2013年。
- NIST的云计算安全组,“NIST云计算安全性的参考架构,” NIST特刊,盖瑟斯堡,MD,USA,2011。查看位置:谷歌学者
- ENISA,政府云安全框架,ENISA,希腊伊拉克利翁,2015年。
- 五、 Varadharajan和U.Tupakula,“云环境的安全即服务模型”关于网络和服务管理的IEEE事务卷。11,没有。1,第60-75,2014。查看位置:发布者网站|谷歌学者
- C、 “云计算安全:架构、机制与建模,”中国计算机杂志卷。36,没有。9,第1765至1784年,2013。查看位置:谷歌学者
- VMware公司,《VMware NSX网络虚拟化设计指南》,VMware,帕洛阿尔托,加利福尼亚州,美国,2013年。
- Sugon,“云网络环境下的安全漏洞扫描系统”,Sugon,北京,中国,2014,CN 103825891 A。查看位置:谷歌学者
- IEEE,IEEE 802.1BR-网桥端口扩展,美国新泽西州皮斯卡塔韦市IEEE LAN-MAN标准委员会,2012年。
- IEEE,IEEE802.1Qbg-边缘虚拟桥接,美国新泽西州皮斯卡塔韦市IEEE LAN-MAN标准委员会,2012年。
- M.艾哈迈德,A. N.马哈茂德,和J.胡“的网络异常检测技术的调查,”杂志的网络和计算机应用,第60卷,2016年第19-31页。查看位置:发布者网站|谷歌学者
- A. H.滨本,L. F.卡瓦略,L. D. H. Sampaio的,T.Abrão和M. L.普罗恩萨,“网络使用遗传算法和模糊逻辑异常检测系统,”与应用专家系统,第92卷,第390-402页,2018年。查看位置:发布者网站|谷歌学者
- G. Fernandes Jr., L. F. Carvalho, J. J. P. C. Rodrigues和M. L. Proenca,“基于IP流的网络异常检测与主成分分析和蚁群优化”,杂志的网络和计算机应用,第64卷,第1-11页,2016年。查看位置:发布者网站|谷歌学者
- C. CALLEGARI,S.奴,和M. Pagano的,“熵基于网络的异常检测,”在2017年计算、网络工作和通信国际会议记录(ICNC),第334-340,圣克拉拉,CA,USA,2017年1月。查看位置:发布者网站|谷歌学者
- K、 Flanagan,E.Fallon,P.Connolly和A.Awad,“使用基于距离的离群点检测和聚类密度分析的时间序列网络异常检测”,in2017年互联网技术与应用会议录(ITA)2017年9月,英国雷克瑟姆,116-121页。查看位置:发布者网站|谷歌学者
- R、 Chandramouli,“虚拟机监控程序部署的安全建议”,NIST特别出版物,马里兰州盖瑟斯堡,美国,2015年。查看位置:谷歌学者
- 十、 任志强,王俊杰,“Linux系统调用劫持检测方法”信息安全与技术,第11卷,第6期,第61-62页,2015年。查看位置:谷歌学者
- I.艾哈迈德A. Zoranic,S. Javaid和G. G.理查德,“ModChecker:内核在云环境模块完整性检查,”在IEEE国际并行处理研讨会论文集,第306-313页,匹兹堡,宾夕法尼亚州,美国,2012年9月。查看位置:发布者网站|谷歌学者
- J、 Hizver和T.C.Chiueh,“实时深入虚拟机反思及其应用”ACM Sigplan通知,第49卷,no。7, 2014年3-14页。查看位置:发布者网站|谷歌学者
- 刘,王,谭,赖,“一种基于VMFUNC的虚拟机内省触发机制”,计算机研究与发展杂志,第54卷,第10期,第2310-2320页,2017年。查看位置:谷歌学者
- P、 Malhotra,L.Vig,G.Shroff等人,《时间序列异常检测的长-短期记忆网络》,in欧洲人工神经网络、计算智能和机器学习研讨会论文集2015年4月,比利时布鲁日,89-94页。查看位置:谷歌学者
版权
版权所有©2020 Xueyuan Yin等人。这是一篇在知识共享署名许可,它允许在任何媒体中不受限制地使用、分发和复制,前提是正确引用了原始作品。