通过基于管理程序的虚拟机自检实现下一代云安全

本译文作者:R!ng0


# 摘要

云计算近年来变得越来越普遍,为组织提供了按需资源。虽然云基础设施已经随着安全增强而成熟,但攻击者对云网络发起攻击的策略也变得越来越复杂,对系统的机密性,完整性和可用性构成了风险。虚拟化是云计算的一个关键方面,它允许物理计算机共享它们的资源和计算能力。为了保护云基础设施,使用了多种防御措施,例如虚拟级别隔离,入侵检测防御系统(IDS/IPS),云访问和安全代理(CASB)以及端点检测和响应。这些安全措施通常在公共网络中共享的虚拟机上运行,使其容易受到欺骗性,内部威胁和网络级攻击。以前的研究主要依赖于传统的方法讨论,有限的遵守基于管理程序的内省。

在本文中,我们提出了一种新的基于管理程序的虚拟机内省(HVMI)工具来检测和执行云平台上的攻击的运行时取证分析。所提出的解决方案由在云提供商的主机上运行的客户端应用程序组成。如果发生任何安全漏洞,HVMI会通知云提供商并启动取证分析,以检测并最大限度地减少漏洞的影响。此外,HVMI使用结构化威胁信息表达(STIX)来生成易于理解并被网络专业人员广泛采用的标准威胁详细信息。STIX模式也可以公开提供,允许安全组织推断针对云中发生的某些类型的网络攻击的防御策略。

Virtual machine introspection ,主要的功能是从虚拟机外面 VMM层观察虚拟机,检查虚拟机的状态,用于安全检测较多,当然也有很多其他功能。 VMI工具可以分为两类,一类需要在虚拟机里安装 agent,收集信息,类似于客户端与服务端的模式。另一种是虚拟机里什么都不用安装,可以称作无代理模式。

# 1.引言

云计算已经成为现代计算系统的重要组成部分,为组织提供随需应变的资源和灵活的可扩展性。然而,随着云基础设施的使用不断增加,攻击者在这些网络上发动攻击所使用的策略和战术也在不断增加。这些攻击对云系统的机密性、完整性和可用性构成了重大风险,并可能对组织产生重大影响。

网络安全是云计算领域的一个关键问题,因为数据泄露可能对组织产生深远的影响。数据泄露可能导致敏感数据丢失、财务损失、组织声誉受损以及法律的后。为了防范这些风险,组织必须实施有效的网络安全措施来保护其云基础设施。

保护云基础设施的传统方法,如虚拟级隔离、入侵检测防御系统(IDS/IPS)、云访问和安全代理(CASB)以及端点检测和响应,通常不足以抵御攻击者用于对云网络发起攻击的日益复杂的策略和战术。这些安全措施通常在公共网络中共享的虚拟机上运行,使其容易受到欺骗性,内部威胁和网络级攻击。

如果发生安全漏洞,HVMI会通知云提供商并启动取证分析,以确定漏洞的原因和程度。HVMI工具的这种实时检测和分析功能可以显著增强云系统安全性,并防止数据泄露的后果。此外,在框架中引入Web服务使得HVMI跨平台兼容(独立于底层硬件和软件)。这项研究还将通过提供一种新的方法来真实的检测和分析云平台上的攻击,以最大限度地减少这些攻击对云系统的机密性,完整性和可用性的影响,从而帮助行业,安全专业人员和云公司。

# 研究贡献

  1. HVMI解决方案包括一个客户端应用程序,该应用程序在云提供商的主机上运行,旨在检测并最大限度地减少任何安全漏洞的影响,为组织提供了一个有价值的工具,以防止攻击的后果。
  2. HVMI使用结构化威胁信息表达(STIX)来生成标准威胁详细信息,安全组织可以使用这些详细信息来制定针对云中某些类型的网络攻击的防御策略,从而改善云系统的整体安全状况。

# 论文的结构

该论文的组织如下:第二节是文献综述;第三节详细介绍了所设计的框架;第四节提供了结果和攻击模拟的细节;第五节是结论与未来发展方向。

# 2.相关工作:文献综述

本节概述了所选领域的现有研究。它概述了关于这一主题的知识现状,并确定了现有研究中的差距。

管理程序(Hypervisor),也称为虚拟机管理器(VMM),是能够在物理主机上创建和管理虚拟机(VM)的软件程序。虚拟机管理程序在物理硬件和虚拟机之间提供了一个抽象层,允许多个虚拟机共享单个物理机的资源。它们通常用于云计算环境中,其中它们支持在单个物理主机上创建和管理多个VM,从而允许组织按需扩展其计算资源。有两种主要类型的虚拟机管理程序:

  1. 类型1(本机或裸机)(裸金属架构)虚拟机管理程序:这些管理程序直接在主机的硬件上运行,并在硬件和操作系统之间提供虚拟化层。类型1虚拟机管理程序的示例包括VMware ESXi和Microsoft Hyper-V。
  2. 类型2(托管的)(寄居架构)管理程序:这些虚拟机管理程序运行在主机操作系统之上,并为在操作系统上提供虚拟化。类型2管理程序的示例包括VMware和VirtualBox。

裸金属架构是什么

裸金属架构就是原生架构,它将Hypervisor直接安装在硬盘上,接管所有的硬件资源。Hypervisor层很小,不管理太复杂的事项,仅仅负责和上层的虚拟机操作系统沟通以及资源协调,因此,蓝屏几率很小,及时有一个虚拟操作系统蓝屏,也不会影响客户端。性能与物理主机相当。

寄居架构是什么

寄居架构中的Hypervisor可以看出一个软件,必须要在安装好的操作系统上才能正常运行,寄居架构的好处是硬件的兼容性,只要宿主操作系统能使用到的硬件,虚拟机的操作系统都能使用。对物理硬件要求也比较低。

使用基于虚拟机管理程序的自检技术来检测和分析云平台上的攻击的兴趣越来越大。Ajay Kumara等人建议使用内存取证分析(MFA),通过利用客户机内部的访问代理来收集有关在虚拟机(VM)上运行的进程的详细信息。米什拉等人提出了一个安全框架,包括基于网络的入侵检测系统(NIDS)和基于虚拟机自检的入侵检测系统(VMI IDS)。虽然NIDS在进入虚拟化层之前充当第一层防御,但VMI IDS在管理程序级别运行以检测VM内的入侵。

Michael等人提出了一种基于异常的检测系统,专门设计用于在管理程序级别检测恶意软件。然而,这种方法的范围是有限的,并且可能无法有效地对抗更复杂和更复杂的攻击。Marnerides等还提出了使用基于管理程序的内省来使用从客户机和网络级设备收集的信息检测恶意软件。虽然这种方法的检测准确率在最佳情况下约为90%,但在面对更复杂的攻击时表现不佳。

怀哲等提出了一种基于硬件的监控系统,称为HyperMon,用于检测和监控云平台上的攻击。HyperMon在Xen hypervisor上实现,并使用机器学习方法在虚拟机管理器(VMM)层分析低级硬件信息,以构建程序的统计模型。Huseyn等提出了一种虚拟机内省(VMI)方法,通过跟踪诸如内存读写、中断和网络日志等事件来进行基于异常的键盘记录程序检测。然后使用基于人工免疫系统(AIS)的入侵检测系统(IDS)进行异常检测分析收集的数据。然而,这种方法仅限于基于Linux的系统和虚拟机。

Bhavesh等人提出了一个基于VMI的云安全框架,该框架使用系统调用跟踪来监控VM上运行的活动进程。这种方法使用Nitro,一种基于硬件的工具,捕获系统调用并跟踪,然后发送到中央分析器,中央分析器使用分类模型将进程分类为恶意或良性。如果进程被归类为恶意进程,则会生成警报。塞巴斯蒂安等人提出了一种使用VMI的恶意软件分析技术,认为安全和监控应该在hypervisor级别实现。然而,他的研究主要集中在恶意软件分析、虚拟化技术和某些著名的恶意软件家族上。

在文献综述中讨论的用于检测和分析云平台上的攻击的所提出的解决方案在防御新兴网络攻击的能力方面是有限的。这些解决方案可以有效地检测某些类型的攻击,如rootkit,键盘记录程序或恶意软件,但它们不够全面,无法涵盖可能涉及复杂战术,技术和程序(TTP)的新兴网络安全攻击。此外,这些解决方案中的许多不是专门为云环境设计的,并且具有有限的范围,这限制了它们在防御云上的攻击方面的有效性。用于分析VM存储器和执行取证分析的传统技术正变得越来越复杂,并且可能过于资源密集化而不能用作日常驱动程序。当前需要一种自动化解决方案,该解决方案可以同时处理数千个VM,防御各种新兴网络威胁,并可扩展以满足大型云环境的需求。

# 3.框架的提出:框架设计与架构

我们提出的框架如图1所示,用于检测和分析云平台上的攻击,在主机和虚拟机(VM)层面上进行主动监测。部署取证应用程序以分析VM中有用的内存数据和镜像,并执行对VM的攻击的取证分析。在发生安全漏洞的情况下,将告警发送到计算机应急响应组(CIRT)端,在那里启动取证分析,以识别攻击中使用的战术、技术和程序。由此产生的攻击模式被转换为结构化威胁信息表达(STIX)格式,用于网络威胁情报分析,并且这些攻击模式一旦被检测和分析,就会立即进行报告。

CIRT还可以访问包含分析报告、进程、服务、安全日志和安装在被保护VM上应用程序的相关库,用来识别各种恶意活动。此外,取证应用程序向用户发送持续的SYN消息,以确认它正在运行并且VM处于活动状态,并且在活动日志中生成其他类型的警报进行发送告警。该框架旨在提供一种全面的方法来检测和分析云平台上的攻击,比如威胁共享、知识库丰富、告警生成以及跨平台兼容,这些都是在传统安全方案中所缺乏的。本文设计的框架的目标是最大限度地减少安全漏洞的影响,并制定有效的防御策略。 我们在网络世界中拥有的信息越多,我们就能更好和更有效地保护系统。我们必须了解攻击的真实性质以及如何进行攻击,以便根据信息收集做出有效决策,以保护系统和IT基础设施。认识到这一点,该框架中必须有一个标准的语言来交换威胁指标,以便在网络安全社区之间灵活有效地共享信息。这种数据共享涵盖指标、事件、网络攻击活动、网络威胁行为者、行动过程、网络可观察性、对手的TTP和被攻击的目标。该框架还集成了NIST 80053指南中安全控制系列要求,更具体地说,NIST 80053中的3.3章节中的审计和问责制、3.4章节中评估、授权和监控、3.16章节中的 RA-5漏洞监控和扫描、3.16 章节中的RA 6技术监视对策调查、3.8章节中的事件响应和3.8 章节中的IR-4事件处理,包括检测,分析,遏制和根除,这些都是该解决方案的核心组件。


图1 本文提出的框架整体架构图

图1提供了所提出的框架的设计图。该图在“云环境”左侧设计了主机上运行的虚拟机的组合以及攻击者模拟攻击的概述。在右侧设计了安全解决方案和STIX格式的安全数据传输和分析过程,目的是为了检测到其可视化攻击,执行取证分析,并公开攻击模式以防御未来的威胁。

# A. 部署和模拟

本文所提出的用于检测和分析云平台上的攻击的框架可以部署在各种云环境中。取证应用程序可以安装在主机和VM上,授权用户可以远程访问CIRT入口端。为了测试所提出的框架的有效性,可以使用各种类型的攻击和安全场景进行模拟。这些模拟的结果可以用于评估所提出的框架的性能,并确定任何潜在的改进或增强。

例如,取证应用可以被配置为模拟不同类型的攻击,诸如恶意软件、rootkit或键盘记录器。CIRT可以分析所得数据,以确定所提出的框架在检测和分析这些攻击方面的有效性。模拟实验的结果不仅可以用于优化取证应用程序和CIRT端的配置,也可以识别潜在的漏洞或弱点。通过使用模拟实验,可以改进所提出的框架,并提高其在检测和分析云平台上的攻击方面的整体有效性。为了便于理解,在图2中可视化了模拟实验的工作流。


图2 用于检测攻击的示例工作流的图示

模式实验设置由具有不同蜜罐的不同VM组成的云系统为引诱攻击者发起攻击的诱饵。当蜜罐被触发时,它们会向CIRT端上的计算机事件响应团队生成一个告警信号。以这种方式,该框架将能够以攻击者将不知道攻击被检测、监视和分析的情况的方式执行攻击的取证。本文图1框架的子组件、关键特征和功能域的具体说明如下。

  1. 取证应用程序:取证应用程序负责执行虚拟机自检(VMI)并将数据传输到Web服务。它在主机和虚拟机(VM)上运行,对于增强云基础设施的安全性抵御网络攻击至关重要。
  2. CFT Web服务端:CFT Web服务端充当取证应用程序和数据库之间的接口,其中所有数据都被存储并通过云取证工具(CFT)提供。它负责在接收到数据后立即将数据从取证应用程序传递到数据库。
  3. 云取证工具(CFT):CFT是一个门户端,允许云服务提供商(CSP)注册其主机和VM,并在发生安全漏洞时接收警报。正是通过CFT执行VMI,并且在攻击被遏制之后以结构化威胁信息表达(STIX)的形式上传攻击模式。图3提供了仪表板图形化界面显示的快照,显示了相关数据的图形化表达和联系。

图3 CFT Web端控制面板仪表盘屏幕的快照

CFT仪表板屏幕维护并展示重要信息,例如框架报告的网络安全事件、威胁警报、新CSP成员、主机的资源使用情况以及主机和托管VM的位置。CSP可以选择从主机、VM、日志和进程下载CSV文件或打印。CSP和管理员都可以向计算机事故响应团队(CIRT)发送警报以进行取证调查。从VM发送恒定的SYN消息以确认取证应用程序正在运行并且VM处于活动状态,沿着仪表板的活动日志中的其他类型的警报。

# 4.实验结果

我们提出的基于管理程序的虚拟机自检HVMI(hypervisor-based virtual machine introspection)方案的实验结果是可以有预警的检测和分析云平台上的攻击。我们进行了几次模拟实验,以测试HVMI在检测各种类型的攻击并分析其战术,技术和程序(TTP)方面的有效性。

在第一个模拟实验中,我们测试了HVMI检测虚拟机上简单暴力攻击的能力。结果显示,HVMI能够成功检测到攻击,并在几秒钟内通知云提供商攻击已被发起。HVMI工具还提供了对攻击中使用的TTP的详细分析,包括攻击类型、攻击源和目标系统。

在第二个模拟实验中,我们测试了HVMI在虚拟机上检测和分析更复杂和复杂的恶意软件攻击的能力。结果表明,HVMI能够有效地检测和分析攻击,提供有关所使用的TTP以及攻击对系统机密性、完整性和可用性的潜在影响的全面报告。为了模拟整个过程,添加了以下案例研究。

# A. 案例研究:反向TCP连接行为检测和分析

为了执行案例研究,我们首先将部署有Kali Linux的机器设置为攻击者。此计算机被配置为对云中的虚拟机(VM)发起反向TCP连接,用来模拟木马或者C2的反弹shell行为。 设置了msf的攻击参数后执行漏洞利用,这导致攻击者机器进入侦听模式,以侦听来自VM的传入反向TCP连接,这使我们能够完全访问受害机器的shell,从而允许我们执行各种恶意活动,包括权限提升和DLL注入。图4提供了在攻击模拟期间获得的反向shell的快照。


图4 攻击模拟期间访问的反向TCP shell的快照

在成功执行攻击后,我们安装了远程访问软件以确保持续性的shell连接,并清除了所有事件日志以掩盖我们的操作记录。但是,一旦发生此攻击,我们的取证应用程序立即向Web端发送警报,并开始取证分析过程。 图5详细显示了实时警报的格式和类型。


图5 CFT Web端上显示的实时警报提示的快照

该工具能够访问受攻击VM的分析报告,包括运行的进程、服务、安全日志和已安装的应用程序。CSP还能够远程访问进程和连接,以确定哪些进程负责连接。在这些报告中,有两个主要的报告选项,即取证报告和事件报告。

取证报告是介绍取证调查结果的文件,它包括有关收集的证据、用于收集和分析所执行攻击的方法以及得出的结论的详细信息。事件报告是描述已发生的网络攻击事件的所有内容的文档,它包括事件的详细信息,例如事件的时间、位置和描述,以及为响应事件而采取的所有行动。

图6提供了在CFT Web端生成的自动取证报告的快照。同样,图7提供了Web端上可用的完整网络事件报告的详细快照。


图6 CFT Web端上提供的取证报告的快照


图7 CFT Web端上提供的完整网络事件报告的快照

在阻止攻击并进行取证分析后,攻击模式和网络事件被报告并公开。虚拟机的实时日志也被发送到We端以识别所有恶意活动。图8可视化了在整个过程中生成的日志的细节。


图8 CFT Web端上生成的虚拟机日志的可视化

对于CSP来说,拥有网络威胁情报能力非常重要,此类情报可以与可信合作伙伴,同行和其他人进行共享更新来进一步应对复杂多变的威胁。网络威胁情报和数据共享可帮助组织优先考虑并理解他们面临的大量复杂网络安全数据。通过了解信息系统缺陷和漏洞以及网络攻击的策略、技术和程序(TTP)和攻击模式,CSP可以做出更好的决策,以保护其信息系统免受攻击。以STIX格式生成网络事件结果、情报数据和攻击模式。图9提供了理解STIX的可视化的示例代码。


图9 STIX代码模式和语法的示例

结构化威胁信息表示,即STIX(Structured Threat Information Expression)是一种标准化语言,用于表达有关网络威胁的信息,包括威胁指标(IOC)。IOC是与网络攻击相关联的特定特征,诸如特定IP地址、域名、文件散列或可用于识别或跟踪攻击的其他信息片段。通过收集和分析IOC,组织可以识别攻击何时正在发生或已经发生,并采取适当的措施来减轻损害并防止未来的攻击。STIX帮助组织以一致和结构化的方式收集、组织和共享IOC,从而更容易分析和使用信息来改善其网络安全状况。图10提供了在攻击模拟期间所提取的IOC之间的关系演变图。

在云计算和云服务上,组织通常依赖于共享的基础设施和资源,这使得跟踪和检测网络攻击变得更加困难。STIX和IOC可以通过提供标准化的方式来收集和共享有关威胁和危害指标的信息,从而帮助组织更有效地识别和响应攻击。


图10 提供提取的IOC之间关系的可视化表示

例如,在其云安全策略中使用STIX和IOC的组织可以使用威胁情报源或其他信息源来识别潜在的危害指标,例如已知恶意活动相关的IP地址或域。然后,他们可以使用这些信息来配置其安全工具和策略,以阻止或生成有关这些指标的警报,从而帮助在攻击造成重大损害之前防止或检测攻击。

我们的模拟结果表明HVMI在检测和分析云平台上的攻击的有效性。HVMI工具为云提供商和安全专业人员提供了宝贵的资源,以抵御对云的攻击并最大限度地减少其影响。

# 5.结论和今后的工作

论文所提出的HVMI解决方案提供了一种有前景的方法来实时检测和分析云平台上的攻击,其目标是最大限度地减少这些攻击对云系统的机密性、完整性和可用性的影响。然而,有几个未来的研究领域可以进一步提高HVMI的有效性。

未来工作的一个潜在方向是优化HVMI的可扩展性,以确保其能够有效地保护大规模云系统,这可能涉及开发有效处理大量数据并在重负载下优化HVMI性能的技术。此外,未来的工作可以集中在开发用于检测和分析攻击的先进技术,例如基于机器学习的方法,这有助于提高HVMI在检测和应对日益复杂的威胁方面的有效性。

将HVMI与区块链和虚拟现实等新兴技术相结合,也可以为进一步的研究提供机会。例如,将区块链纳入HVMI可以提高HVMI取证分析的安全性和可追溯性,而集成虚拟现实可以实现身临其境和交互式的取证分析。最后,将HVMI与云编排工具集成可以通过自动化安全流程和实现安全措施的快速部署来改善云系统的整体安全状况。

资源有关源代码使用用法参考,请参阅GitHub存储库:GitHub - bitdefender/hvmi: Hypervisor Memory Introspection Core Library (opens new window)

# 6.论文精读思考


个人理解,整篇论文其实是围绕着这个图进行的,换句话说,这个项目已经有了github的项目落地,貌似还是XEN工程的一部分,所以这篇论文与其说介绍一种新的防御方法,不如说是围绕着这个落地项目进行叙述,介绍这个落地项目的部署架构和工作流程,但是这样的云安全框架和防御一体化的确是当前云环境下安全急需解决的问题,在这一点上,学术价值虽然较小但是实际运用价值很大。

通览整篇论文,围绕着这个图进行展开讲解,对于这张图可能有些人会看的迷糊,其实要把问题简单来看,完全可以当作云环境下的UTM,也就是统一威胁管理,这里面集成了在VM上的蜜罐和审计程序,在安全端攻击检测、取证和应急响应,以及在CFT端的可视化展示和在后台数据库的数据结构化存储和STIX格式的威胁情报共享,这分别对应了图上从“云环境”这个部分的左侧、右下和右上,整体的工作流程在论文中设计了模拟实验,通过模拟攻击者攻击云环境下的VM,然后蜜罐进行捕获并且发出告警给安全分析端和CFT Web端,Web发出指令是否对该告警进行攻击检测、应急处置和取证分析,当进行上述步骤后,在CTF Web端进行可视化展示并且对威胁数据进行格式化STIX处理,并把攻击模式和STIX的数据进行上传和共享给其他云服务组件厂商和组织等,最后存入数据库以便Web端调用,整体并不复杂,但是实现出来就是另一种样子了,可以很好的规范云环境下的安全处置流程和分析,尤其是对家族类别的APT组织可以进行很好的威胁刻画和监控,实验效果据本文所描述也很理想,可以自行下去部署尝试一下,在github开源,链接我已经放上去了。