基于信任域划分和Hypervisor硬件卸载的同驻攻击防御方法及系统

文档序号:37339220发布日期:2024-03-18 18:07阅读:13来源:国知局
基于信任域划分和Hypervisor硬件卸载的同驻攻击防御方法及系统

本发明涉及云安全,具体涉及一种基于信任域划分和hypervisor硬件卸载的同驻攻击防御方法及系统。


背景技术:

1、近年来,云计算以其高可靠性、强大的扩展性、按需服务和低成本等优势,迅速获得了学术界和工业界的广泛关注,并吸引了越来越多的企业和个人用户将其数据和服务迁移到云端。然而,随着云计算的快速发展,其所面临的安全和隐私问题也日益凸显。在nfv(network functionsvirtualization,即网络功能虚拟化)技术架构下,云环境中的底层硬件资源被抽象封装,由hypervisor提供接口供上层虚拟机或vnf(virtualizationnetworkfunctions,即虚拟网络功能)调用。为了提高资源利用率并降低成本,云服务商会将不同租户的虚拟机或容器部署到同一计算结点,由软件实现的hypervisor提供逻辑隔离。然而,逻辑隔离并不等同于真正的物理隔离,被分配到同一计算节点的虚拟机或容器,在底层cpu和内存等资源方面仍需要共享。相关研究表明,实现同驻后的攻击者可以通过构建侧信道和逃逸的方式突破hypervisor的隔离限制,不仅可以窃取租户隐私数据,甚至可以破解加密密钥。在这种弱隔离性和无法避免的资源共享的情况下,同驻攻击逐渐成为一种危害云环境的重要威胁。此外,云环境应用的特点加剧了同驻攻击的危害,这包括:

2、1)云服务提供商目前缺乏有效的技术手段来区分合法租户和恶意租户,同驻现象无法根除。恶意租户始终可以通过伪装成正常租户进入云环境,且由于云环境资源的有限性,只要恶意租户启动数量足够的虚拟机或容器,就可以实现与正常租户的同驻。

3、2)轻量化容器等技术减小了容器部署所需的资源,同一计算节点可以放置更多的容器,同驻的概率进一步增大。恶意租户具有非常便利高效的手段来检测同驻是否成功,因此一旦攻击者完成与目标的同驻,其就可以关闭其他多余的虚拟机从而降低攻击成本。

4、3)多租户云环境下的应用由多个微服务组成,微服务之间频繁的相互调用扩大了同驻攻击的威胁范围,利用微服务间的通信关系,同驻攻击可以在云环境中横向传播。

5、按照同驻攻击的攻击目标和攻击方式不同,可以将其分为三类:

6、1)恶意租户和其攻击目标的虚拟机或容器同驻,恶意租户对攻击目标直接发起同驻攻击。

7、2)恶意租户的虚拟机或容器被部署在hypervisor所在的计算节点上,恶意租户对hypervisor直接发起同驻攻击。

8、3)恶意租户的虚拟机或容器被部署在hypervisor所在的计算节点上,恶意租户通过渗透、利用以及控制hypervisor的手段,间接对部署在其他计算结点的租户的虚拟机或容器发起同驻攻击。

9、这三种类型的同驻攻击实现难度依次递增,但其攻击成功造成的危害也逐渐增大。其中第一类和第二类同驻攻击属于直接攻击,第三类同驻攻击属于间接攻击。

10、实现同驻攻击的必要条件是恶意用户与攻击目标同驻,而同驻现象存在的根本原因是因为hypervisor提供的逻辑隔离性能较差。因此,当前许多研究试图改善虚拟机和容器的隔离机制,提升其隔离性能。但是修改虚拟机和容器的隔离机制需要对当前已有的云基础设施、硬件、系统配置等做出重大修改,并且同驻攻击的种类仍在增加,这种对硬件和软件的大范围修改可能无法应对未来的新型攻击。所以当前主流的应对措施是采用安全的虚拟机放置策略,降低恶意用户和攻击目标的同驻概率,从根本上降低同驻攻击的概率。放置策略由云服务厂商进行管理,具有灵活动态的特点,实现时不需要大范围修改云环境软硬件,降低了应用成本。

11、spread算法和bin-pack算法是云环境下常用的两种算法。spread算法的主要思想是将待放置的虚拟机或容器尽可能分散在不同的计算节点,以实现负载均衡的目标。而bin-pack算法的主要思想是充分利用一个计算节点之后再考虑放置到其他节点,以减少计算节点的使用量。spread算法具有较优的负载均衡性能,而bin-pack具有较高的计算节点利用率。在实际云环境中,为了综合考虑负载均衡和计算节点使用率,也会使用random算法来随机地将虚拟机放置在计算节点中。

12、然而,上述三种算法在设计之初仅考虑了云环境的负载均衡和能源消耗等因素,并没有考虑对于同驻攻击的防御,因此,han等人提出了一种称为pssf(previouslyselected server first,即优选先前服务器)的虚拟机放置策略。该策略的研究重点在于如何选择物理机,以使得虚拟机放置到物理机时同驻风险最小化。该算法结合了lap(leastallocation policy,即最小分配策略)、map(mostallocation policy,即最大分配策略)和rap(randomallocation policy,即随机分配策略),优先考虑将租户虚拟机放置到已有该租户的计算节点上。但是,该算法过于注重降低同驻风险,在负载均衡和能源消耗方面却又性能不佳。

13、此外,上述几种常见的放置策略仍然存在以下问题:

14、1)虚拟机或容器放置策略仅降低了不同租户间虚拟机和容器同驻的概率,但由于云环境资源和计算节点的有限性,同驻现象不可避免,放置策略无法从根本上提高虚拟机或容器的隔离性。

15、2)当前大部分放置策略并未考虑软件层hypervisor的防护,仅将hypervisor当成一般的云应用进行计算结点的分配,但云环境中hypervisor具有重要地位,需要得到特殊的防护。

16、3)当前大部分放置策略仅考虑了针对租户的直接同驻攻击,并未考虑针对hypervisor或基于hypervisor发动的间接同驻攻击类型,hypervisor与恶意租户具有较大的接触面。

17、4)当前大部分放置策略并未利用卸载hypervisor的专用硬件所带来的算力提升,为虚拟机或容器分配计算节点、计算同驻攻击风险以及动态调整计算节点等计算量均由软件层hypervisor承担。

18、5)当前大部分放置策略并未区分云环境中具有不同安全等级要求的虚拟机,对云环境中的所有虚拟机采取同样的保护措施,然而实际云服务平台中,大部分虚拟机不需要较高的安全保护措施,而少部分重要的虚拟机需要更高安全等级的保护。

19、在hypervisor性能和安全研究方面,当前已有许多相对成熟的hypervisor硬件卸载方案,如intel vt-x/am-d、sr-iov、numa、kvm-qemu等。hypervisor硬件卸载是通过使用专用硬件承担hypervisor的功能,减小hypervisor的代码体量和攻击面的过程。通过硬件卸载,hypervisor被分为软件层代理和硬件层加速引擎。云环境中的应用只能通过调用代理中的api与硬件层hypervisor间接通信,从而降低了hypervisor被攻击的概率。各类hypervisor硬件卸载方案对于云环境的计算性能都有不同程度的提升,并提供了不同的安全防护功能。但是目前云服务提供商并没有将其应用于降低同驻攻击风险,hypervisor硬件卸载带来的算力提升也并没有得到充分利用。


技术实现思路

1、针对现有技术中目前的虚拟机或容器放置策略并未有效增强云环境计算节点的逻辑隔离,同时对于针对hypervisor的两类同驻攻击防御效果不佳,且不能满足不同安全等级保护的虚拟机需求的问题,本发明公开了一种基于信任域划分和hypervisor硬件卸载的同驻攻击防御方法和系统,使用专用硬件对hypervisor进行卸载。对于卸载后的云环境软件层采用信任域进行划分,在信任域内采用较优的放置策略组合降低同驻风险概率,在信任域间增加身份认证和加密机制减少同驻攻击横向传播风险。并且,将信任域管理、放置策略选择、租户的身份认证以及租户间通信的加密等计算量均交由硬件层专用硬件承担。

2、为达到上述目的,本发明的技术方案如下:

3、一种基于信任域划分和hypervisor硬件卸载的同驻攻击防御方法,包括以下步骤:

4、步骤s1:对hypervisor进行硬件卸载,软件层保留轻量级hypervisor代理;基于云环境业务类型将云中计算节点划分信任域,为hypervisor单独创建特殊信任域;hypervisor为每个信任域建立信任域结构体和信任域管理线程;

5、步骤s2:当租户发起虚拟机或容器创建请求时,hypervisor对其进行身份认证,并为租户的虚拟机或容器分配或创建信任域;

6、步骤s3:在信任域内,信任域管理线程根据放置策略对虚拟机或容器进行放置或选择计算节点,信任域管理线程维护租户表信息,hypervisor维护信任域表信息;

7、步骤s4:在信任域间,不同租户的虚拟机或容器发起相互通信或向hypervisor申请资源时,由hypervisor进行身份认证并对其通信信道进行加解密防护。

8、进一步的,所述步骤s2包括以下子步骤:

9、根据租户提交申请的业务类型,hypervisor查询信任域表检查该业务类型是否存在,若存在,则将该租户申请创建的虚拟机或容器分配进入相应信任域;若不存在,则根据业务类型需求量选择是否创建新信任域,若创建新信任域,则hypervisor为新信任域分配适量计算节点,为信任域创建信任域结构体并将信任域加入信任域表;若不创建新信任域,则将该租户创建的虚拟机或容器放入默认信任域。

10、进一步的,所述s3包括以下子步骤:

11、当租户已存在租户表中时,检查信任域内剩余容量是否充足,若容量充足,则按放置策略pssf对虚拟机或容器进行放置;若容量不足,信任域管理线程向hypervisor发起扩容申请,扩容成功后按照pssf策略进行放置;

12、当租户不存在租户表中时,检查信任域内空闲计算节点数量是否充足,若计算节点数量充足,将该租户的虚拟机或容器分配到空闲计算节点中;若计算节点数量不足,则根据放置策略计算同驻威胁值threat,若同驻威胁值threat较大,向hypervisor申请增加计算节点。

13、进一步的,所述步骤s4中,hypervisor对租户进行身份认证的流程包括以下步骤:

14、(1):租户向hypervisor发起创建请求或申请资源请求,并将其令牌token放在请求头;

15、(2):hypervisor检查该租户令牌token是否过期;

16、(3):若租户令牌过期,则hypervisor退回申请并通知租户更新令牌token;新租户创建账号时或租户收到令牌更新通知时,租户发起令牌更新请求,hypervisor根据租户发起申请的时间以及租户的id和密码,使用动态令牌生成算法为租户生成唯一的动态令牌token,并重新计算该租户的哈希值;租户获得更新后的令牌token再重新发起申请;

17、(4):若租户令牌未过期,则hypervisor根据租户的id、密码和动态令牌token计算租户的哈希值,若租户身份验证通过,则根据租户的请求进行资源的分配;若租户身份验证失败,则返回租户的请求并记录租户的尝试次数。

18、进一步的,所述步骤s4中,不同租户的虚拟机或容器的通信认证过程包括以下步骤:

19、(1):租户a通过信任域管理线程向hypervisor发出通信请求,并将其令牌token和通信对象地址放在请求头;

20、(2):hypervisor向动态令牌服务器发起查询,检查该租户令牌token是否过期;

21、(3):动态令牌服务返回查询结果,若租户令牌过期则退回通信请求,若租户令牌未过期,则hypervisor对租户的id、密码和令牌token计算哈希值;计算完成后,hypervisor生成通信密钥并发送给租户a;

22、(4):验证通过后,hypervisor通过信任域管理线程通知租户b,租户b的虚拟机或容器将为此次通信分配相应内存以及cpu;若租户b仅接受数据则不进行身份认证,否则hypervisor对租户b认证通过后再发送通信密钥keyb;

23、(5):租户a和租户b的通信信道已建立成功,租户a和租户b分别使用其获得的密钥加解密数据。

24、进一步的,信任域内的放置策略通过以下步骤进行更新和分配:

25、(1):信任域管理线程对信任域内放置策略设置更新计时器,当更新计时器到期后,信任域向hypervisor发起放置策略更新请求;

26、(2):hypervisor对信任域管理线程认证通过后,启动放置策略调度程序;

27、(3):hypervisor启动放置策略选择算法,通过计算比较不同策略在信任域内的同驻攻击传播风险和负载均衡值,从放置策略池中选择若干个较优的放置策略作为放置策略组合;

28、(4):hypervisor将放置策略组合交付信任域管理线程,信任域执行放置策略组合,将所选若干策略以适当权重分别执行;

29、(5):信任域对虚拟机和容器执行相应放置策略。

30、一种基于信任域划分和hypervisor硬件卸载的同驻攻击防御系统,用于实现上述基于信任域划分和hypervisor硬件卸载的同驻攻击防御方法,包括:控制器controller、调度器scheduler、加速器accelerator、策略选择器selector,控制器controller分别与调度器scheduler、加速器accelerator进行通信;每个调度器scheduler分别与若干主机节点通信,控制器controller与信任域中信任域管理线程control thread进行通信,并管理信任域间租户的身份认证;调度器scheduler负责为上层虚拟机分配相应的计算节点,并调度云环境中的其他资源供计算结点使用;加速器accelerator承载上层虚拟机的数据通信、软件层信任域的划分与管理、身份认证计算量;策略选择器selector定期对各信任域内的放置策略进行更新。

31、本发明还提供了一种基于hypervisor硬件卸载的hypervisor防护和管理方法,包括以下步骤:

32、步骤s1:对hypervisor进行硬件卸载,软件层保留轻量级hypervisor代理,将hypervisor主体功能交付由专用硬件进行承担,专用硬件对hypervisor进行硬件级隔离保护;

33、步骤s2:为hypervisor代理单独创建特殊信任域,并将此信任域设置为最高保护等级,禁止任何其他租户的虚拟机或容器被分配进入到hypervisor代理所在的信任域;

34、步骤s3:各租户的虚拟机和容器通过前端的hypervisor代理与hypervisor后端硬件引擎交互。

35、本发明还提供了一种基于hypervisor硬件卸载的信任域划分方法,包括以下步骤:

36、步骤s1:对hypervisor进行硬件卸载,软件层保留轻量级hypervisor代理,将hypervisor主体功能交付由专用硬件进行承担;

37、步骤s2:基于云环境业务类型将云中计算节点划分信任域;hypervisor为每个信任域建立信任域结构体和信任域管理线程;

38、步骤s3:当租户发起虚拟机或容器创建请求时,hypervisor对其进行身份认证,并为租户的虚拟机或容器分配或创建信任域;

39、步骤s4:信任域的计算节点数量和容量由hypervisor进行动态管理;当信任域容量不足发起请求扩容申请时,其信任域管理线程与hypervisor进行通信;hypervisor代理周期性遍历信任域表,并对其中使用率小于使用阈值的信任域进行计算节点回收。

40、本发明还提供了一种基于负载hypervisor的专用硬件的信任域管理和计算卸载方法,包括以下步骤:

41、步骤s1:在前端软件层留下信任域各主体功能的调用api,由hypervisor前端代理进行统一管理;在前端软件层,hypervisor代理能够设置各api权限,各信任域api被划入与hypervisor代理同一信任域保护,信任域api视为hypervisor代理的子功能;

42、步骤s2:在后端硬件层,各信任域功能模块由专用硬件统一调度,部分核心模块能够设置为hypervisor后端引擎单向访问,信任域各模块的数据流由前端hypervisor代理交付至各信任域管理线程。

43、与现有技术相比,本发明具有以下优点:

44、1)本发明公开了一种增加虚拟机或容器隔离性的信任域划分方法,基于逻辑区域信任域的划分,在不修改云环境软硬件的情况下,将业务相近的虚拟机或容器划分进入相同信任域,逻辑上增加了租户间的隔离性。

45、2)本发明在划分信任域时考虑了一些特殊的软件和应用的特点,对于普通虚拟机或容器应用划分为一般信任域进行隔离,对于hypervisor代理等重要的控制程序采用特殊信任域进行保护,降低了恶意租户和hypervisor同驻的概率,提高了云环境的安全性。

46、3)本发明对同驻攻击进行了分类,并加强了对第二和第三类同驻攻击的防御。hypervisor硬件卸载后,其攻击面已大大减小,在此基础上,我们增加了信任域间的身份认证机制和加密机制。hypervisor攻击面的减小降低了其被渗透和控制的概率,信任域间的认证和加密降低了同驻攻击的横向传播风险。

47、4)本发明充分利用了hypervisor硬件卸载所带来的算力提升,将信任域的管理、放置策略的选择以及计算节点的分配等计算量同样交付专用硬件处理,降低了软件层hypervisor代理的计算负载。

48、5)通过信任域划分的方式,将云环境中的不同类型的虚拟机划分进入不同的信任域,对于不同安全等级的虚拟机采用不同的安全保护措施,如对hypervisor所在的信任域,需要隔绝任何虚拟机分配进入该信任域,并设置其他访问控制措施。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1