CDCAS: A Novel Cloud Data Center Security Auditing System

 

摘要:随着企业和行业对云数据中心和虚拟化技术的日益接受,安全问题成为云计算开发和部署的关键障碍。安全审计是处理云数据中心面临的威胁的一种好方法。但是传统的审计不再适用与云环境。在这篇文章中,我们设计、实现、和评估了CDCAS, 一种新型的云数据中心审计系统,这与云数据中心的可扩展性和效率要求相匹配。在该系统中,我们设计了一个分布式、自治的代理模型,该模型可以由一组动态生成的规则来控制,以适应其使用场景。然后建立日志分析模型,利用基于签名的方法和相关的分析算法从收集到的日志中提取具有一致误报的安全事件。我们在真实世界和仿真中对系统进行了评估,验证了系统的有效性。我们的系统也被一家知名金融机构的云数据中心部署,运行良好。

 

  1. 介绍

云计算被认为是下一代信息计算结构,因为它的巨大优势:随需应变的自助服务,无所不在的网络接入,位置独立的资源池,快速的资源弹性,基于使用的定价和风险转移。随着企业和行业对云数据中心和虚拟化技术的日益接受,安全问题成为云计算开发和部署的关键障碍。

云数据中心比传统的数据中心运行有更多的困难,面临更多的挑战。因为云计算本身的特点,一个云数据中心面临着更多的安全威胁相比与原来。其中最明显的威胁来自与多租户和资源共享功能,应为数据来源不是物理隔离的在云数据中心,特别是我们最初瞄准的金融机构的云数据中心,我们遇到了别的挑战。例如,不仅信息应该24小时不间断地更新,并且这些数据需要保证安全和可用性对于所有想得到数据的客户。内部人员的非法操作和内部安全事件也要及时发现,特别是数十亿的金额。为了解决这些威胁,一个安全审计系统被提出。

然而,虽然它与确切的云安全审计有着相似的目标和关注点,但是传统的安全审计很难直接在云基础设施上实现。为了解决云特点的安全问题,应该考虑透明度、加密、托管、规模、范围和复杂性等因素,这在传统的审计并不重要。【3】。在这些因素中,与传统审计相比,审计人员需要处理的规模、范围和复杂性问题较少。在云环境中将会有许多的虚拟机在一个物理机上运行,

显著的增加了审计的数量。并且,与传统的审计不同,虚拟机在云中经常变化。像VM迁移这样的事件将立即更改审计拓扑。并且此外,像hypervisor这样的新技术类型需要不同的审计,而不是传统的审计。我们应该应对云基础设施面临的这些新的安全挑战。

       云数据中心部署安全审计系统的挑战不仅来自云基础设施本身,还来自云数据中心的业务需求,尤其是我们所针对的金融机构在这样的环境下,agent的资源成本和使用场景将带来新的挑战,也应该引起关注。

       为了解决这些问题,一个有效率的安全审计系统,满足云数据中心的需求将是必要的。本文设计、实现和评价了云数据中心审计系统cdca,它满足了云数据中心的可扩展性和效率要求。在此系统中我们设计了分布式的和自主代理模型,它可以由一组动态生成的规则来控制,以适应其使用场景。我们然后建立了一个日志分析模型,它使用了基于签名的方法,和相关分析算法从收集到的日志中提取安全事件,并带有符合要求的误报。

       我们的主要贡献如下:

  1. 我们提出了一种新型的云数据中心审计系统CDCAS,用于从云数据中心收集审计日志数据,并对其进行分析和评估,供云管理员和租户使用。
  2. 为了适应云数据中心的效率、规模、和安全性的需求我们建立了一个分布式的和自动代理模型和动态规则配置模型。
  3. 介绍了基于签名的日志分析方法和相关分析算法,通过监测数据提取违法行为。
  4. 最后,对系统进行了仿真和仿真,验证了系统的有效性。我们的系统已经部署在一家知名金融机构的云数据中心,运行良好。

第二节介绍与云安全审计相关的工作。第三节,我们展示了云数据中心审计系统的结构。第四节,展示日志收集模型和规则配置模型。第五节,介绍了基于签名的分析模型。然后通过实际数据和仿真实验对系统进行了评价,并在第六部分对结果进行了讨论。最后第七部分对本文进行了总结,并提出了今后的工作方向。

 

第二节 相关的工作

       云安全审计作为云计算的核心问题,受到了业界和学术界的广泛关注。

       在【5】作者引入了一个第三方的审计在云存储系统。他们展示了公有审计云数据可以帮助数据拥有者可以保护他们的数据完整性,通过一种透明而经济的方式获得对云的信任。他们提出了云存储服务审计安全的需求和挑战。虽然他们的工作在云存储审计邻域有价值,我们的模型侧重于对云基础设施进行更广泛的审计。

       在目前云数据安全审计邻域,特别是在数据存储公共审计有很高的关注,Cong Wang等人【6】展示了一个安全的云存储系统,保护隐私的公共审计,以及多个用户的同时请求。他们的解决方案保护了用户在云数据隐私,基于第三方审计师(TPA)的外部审计员。他们也改进了共有审计系统的可扩展性和效率。

       Boyang Wang等人【7】展示了一个全新的共有审计在用户撤销期间有效保护共享数据完整性的机制。该方法使用代表组用户的代理来重新签名数据块。它们还提供了一个公共验证器,可以在不获取全部数据的情况下检查共享数据的完整性。通过这种方式,它们的机制可以大大提高用户撤销时的效率。

       Yang 等人【8】提出了一种基于随机oracle模型的云数据存储动态审计协议。该方法还支持多个云和多个所有者的批处理审计,从而提高了审计性能。

       Doelitzscher 等人【9】提出自治代理的云安全审计系统。他们的工作解决了虚拟基础设施变化的问题,例如新的虚拟机(VMs)/关和VMs迁移。通过使用自主代理,他们的系统可以自动检测虚拟基础设施的变化,并根据云计算的弹性特征重新评估云的安全状态。在我们的文章中,我们也使用了自动代理去实现系统的灵活性。此外,我们还在模型中使用了自适应规则,证明了该算法的有效性和较低的误报率,并提供了一种能够捕获典型攻击的实时监控解决方案。

       自治代理可以克服传统审计、IDSip技术的缺点,特别是在频繁变化的云环境中。而且它们在云基础设施中也具有相当大的可伸缩性。在[10][11][12]中经常提到和讨论分布式和自治代理的优点。

       Birnbaum等人【13】提出了一种基于行为建模的云安全审计方案,代替传统的基于签名的入侵检测技术,或系统调用级别异常分析ˈ分析审计数据云的租户。他们的分析算法已经验证了它的价值,特别是在攻击发生在同一物理机器上的客户端vm的场景中。虽然他们的工作在一些特定的场景中表现得很好,但是我们仍然使用基于签名的相关分析技术,因为它适用于我们更广泛的使用场景。

 

第三节 CSDCAS 结构

在这里,我们提出了CDCAS:一种新型的云数据中心审计系统,它从云数据中心收集审计日志数据,对管理员和租户进行安全审计分析和执行。

       Collector管理云数据中心,主要关注日志服务器、安全日志和事件、配置管理系统日志和事件、网络访问控制系统日志和事件、防火墙日志、主机服务器日志。并将监控数据写入日志数据库。

       Controller基于Collector模块监控云基础设施的状态,并设置安全策略选择来收集日志事件和收集频率,以适应不断变化的云环境。

       Analyzer根据Collector模块的结果,通过对操作日志的收集和分析,实现对非法行为的分析和警告。

       Dashboard向云用户提供日志和分析数据,并提供动态安全报告。

       这四个模型通过以下的方式相互影响:首先,收集器模块从分布在云数据中心关键点的分布式代理中获取监控数据。然后,分析模块使用基于签名的技术和从控制中心收到的审计数据进行分析。然后,仪表板模块评估分析器警报的安全事件,并向最终用户生成动态安全报告。另一方面,控制器模块在预定义规则模板的基础上创建安全策略,这些规则模板适合当前的云基础设施状态。的特定规则集为监控设备的使用场景指定收集器代理。

 

日志采集

       我们需要解决的问题是如何通过少量的花费并满足云数据中心的环境安全,实现审计模式。第一步是收集各种各样的来自云的系统日志。

  1. 日志收集子系统

为了满足云数据中心高效、安全的需求,我们设计并开发了一个分布式代理框架,将代理部署在云基础设施的关键点上,从云基础设施中收集日志数据。数据中心中的云元素变化很大;因此,分布式代理框架可以添加代理并重新配置或删除它们,而不会对运行中的数据中心的正常工作造成其他影响。并且,因为假定的云数据中心中的实例数量非常大,一个代理的框架可以将大的数据流分为更小的简单事件,这可以减小虚拟机运行的压力。并且为了减轻网络的负担,我们设计了一个基于分布式代理框架的多层次的设计子系统。

        日志采集子系统的体系结构分为代理层、转换层和服务器层三层。代理层是用来从云数据中心的各个关键节点收集日志,并且收集方法部分基于syslog-ng。逻辑上,代理层和转换层是分开的,但是物理上它们不是。分布式代理节点作为日志采集的主要底层,部署在云数据中心的虚拟机等虚拟设备上。通过收集方法,代理节点将日志数据通过控制器模块在web服务器上发布的规则进行收集,并将其发送到转换层的相关转换节点。

        转换节点部署在由物理机器组成的物理介质上,他们通过UDP协议收集来自代理亟待是数据,并将人们转换为缓存机制。实际上,一个转换节点的代理节点通常部署在部署转换节点的物理介质上的虚拟设备上。因此,转换节点不仅可以从代理节点收集数据,还可以对这些节点的状态进行监控。

        最后,日志数据通过UDP协议数据包从传输节点传输带服务节点,它不仅存储在数据库中,而且以文件的形式备份数据。此外,运行进程生成的所有相关日志数据都将被收集并传输到web服务器的仪表板模块中。图2显示了日志收集子系统的三层。

服务器层用于日志预处理和数据存储。其中描述了服务器层的主要代码算法m1,它显示日志数据是如何集成和存储的。首先,一个服务节点从控制收集配置数据,然后更新它的下一级节点列表。然后,服务器为这些节点创建监听端口,并以精确的方法将接收到的数据存储到数据库中。

此外,我们根据云数据中心的要求,对一些包含敏感信息的日志数据记录进行过滤。与此同时网络的失败会导致很多的问题,我们通过实时的监视网络的连接性,如果网络中出现失败,我们备份日志数据,并在网络问题修复后进行传输。并且我们将数据日志分为几个级别,警告和错误日志会首先传输到服务,当服务器接收到大量日志数据时,我们将通过邮件通知管理员已经发生的问题。

 

  1. 配置规则

因为云数据中心的复杂性,收集模型和代理节点被分为不同的设备,并且有不同的功能,除此之外,他们经常变动。收集器模块的设计和实现是为了使代理节点适应复杂基础设施的使用场景,从而提高收集器模块的效率。

  1. 使用场景和规则模板

规则配置有两个主要的使用场景,第一个是在前面介绍的代理节点上配置集合策略。在云数据中心,VM实例的数量大到足以对网络和存储设备造成压力。日志数据具有爆炸性的特点,可能会对监测到的云元素的工作性能造成不确定的影响。在这种情况下,过滤简单事件的规则可以消除无用或重复的信息,提高收集器模块的性能。在第二种情况下,应该对需要从监控数据中提取安全事件的analyzer模块应用安全策略。

对于集合规则,审计日志的监督配置模板实际上可以分为代理模板、转换模板和服务器层模板三种类型,他们只有一些微小的差别所以我们仅介绍他们其中一个。在代理节点模板中,作为表单1描述,可以分为三个类别,设备、级别、进度过滤器。设备过滤器是为不同功能的云元素上的代理节点设计的。等级过滤器被设计为云元素中安全不同的需求,过程被设计为手动操作。精确的规则集是由其规则模板生成的,其参数在上面三个类别中进行了调整,以适应不同的设备。本文手动预配置了准确的模板,它与转换节点的地址有关。

分析规则,基于签名的规则集部分预定义ˈ从现有的知识数据库相关分析也有助于生成分析规则,这些规则将在下一节介绍。

              B) 实施

但云元素被添加、重新配置、和删除、控制模块会通过轮询现有的云管理系统来检测云基础设施的的改变。然后更新设备状态列表中的精确类别,如网络监控或不同级别的系统日志,从而生成基于规则模板的规则。例如,在PM1上建立一个新的虚拟机VM1,我们可以在特定的一段时间从云管理系统检测它。然后我们检测设备列表并更新它,对于收集框架,VM1属于代理层,PM1是它的更高节点,于是在此情况下,我们更新PM1代理的规则,并加入VM1的地址,对于VM1,我们使用通用的代理节点规则模板并配置它的地址在更高的节点上,指的就是PM1的地址,精确的规则集被组织成配置文件的形式。然后,生成的配置文件将被发送到每个节点的监听端口,该端口已经自动部署到云元素上。这些节点将使用这些配置文件配置自己,并将结果返回给控制器以进行进一步操作。实际上,配置和后续的重启操作是由守护进程完成的。

控制器模块作为一个实际部署的系统,还为云管理员提供了配置监控规则的用户界面。用户输入的参数将被检查并组装成配置文件的形式,这些配置文件可以被精确的组件识别出来。操作和监控配置也会被写入到数据库伴随着其他重要信息,包括时间戳、生存周期等。因此审计会通过监控的类型、机器id和时间戳检测先前的监控配置历史。图3展示了控制模块的实现。

 

5 日志分析和安全审计

       本节介绍了分析模型和基于数字签名的分析方法【14】。为了从审计日志数据收集的收集模型中提取安全事件,我们在日志收集中使用了预先收集的事件规则去识别违法的事件,并使用了相关分析技术去帮助我们提取攻击、误用和错误。

     分析模型中基于签名的分析方法将审计日志数据与预先配置和预先确定的事件模式进行比较,虽然可以使用代码打包器等自动化工具来规避这些问题,但是我们的系统足以为云数据中心解决这些问题。基于规则的分析方法最大的问题是如何去定义规则集合。手工配置的规则数据库面临着增长呈指数增长且相对落后的问题。为了解决这些问题,通过相关分析生成安全规则,对规则数据库进行修改和充实。图4展示了分析的过程和与规则、事件、正确的分析之间的联系。我们使用云基础设施关键节点上集合子系统各agent生成的简单事件,两次应用数据挖掘,使用以下相关分析方法

       我们的相关分析方法是基于FP-Growth 算法的,并可以被分为两个阶段,建筑和挖掘。首先,为了构建频繁模式树,我们遍历事件数据库来计算每个项的支持,并按降序排序,称为L。并且,最小支持度是已经定义的,支持度实际上表示安全事件发生的频率,计算方法为support (R) = NR / N,其中N表示事件总数,NR表示事件发生次数。

       然后我们创建了为空的根节点,并再次遍历事件数据库以生成fp树。树节点包含了4个元素,包括名字,计算、指针和列表。每个事件的构造过程在Algorithm2中描述,通过L对事件项进行排序,生成事件项列表[p | p] p是第一项,p代表rest列表。事件项实际上是分析器模块按照时间、用户和其他信息分类的事件序列生成的安全事件。然后,算法递归地进行插入操作,而P不默认。

然后,我们使用FP-Growth算法的挖掘方法来寻找频繁模式,最后提取我们期望的安全规则。该挖掘方法可归结为将fp树递归化简为单路径树,该方法的思想是频繁模式集的子集是频繁模式集,非频繁模式集的超集必须是非频繁模式集。然后,对于任何最大频繁模式集X,我们可以得出它的支持率表示事件数据库D中包含模式X的事务的数量。通过前面介绍的FP-Tree的构造过程,我们得出结论:频繁模式X已经映射到生成的唯一路径FP-Tree因此,只有计算事件数据库DX的支持度,才能找到最大的频繁模式,然后将事件数据库DX的支持度转换为FPTree包含X模式的路径数。这样可以得到频繁的威胁模式,并将其添加到规则集中,实现安全规则的自学习,提高规则数据库的效率。

       识别安全事件的确切方法为:每个子在云事件中心上的操作系统、应用、和设备产生的日志会让我们知道发生了什么。我们取得这些日志在使用数据挖掘算法前先进行分块和编码。我们使用这些原始的日志文件去生成我们的FP-tree和频繁事件规则,之后我们扫面这些模型,并将他们添加到先前定义好的,经验签名集合。然后我们使用基于签名的分析方法和模式匹配的方法去从搜集的日志提取安全事件。对于更高的精确度,为了改进规则数据库我们从提取的安全事件进行了第二次数据挖掘。通过这种方式,分析人员收集、分析和关联这些日志,让我们知道是否发生了问题,并将他们根据不同的类型和级别进行分类如攻击、误用、错误等。在表2我们展示了,并且系统给出了立即和自动的回应当有确定的事件发生时。并且,分析模块监控着日志文件去保护日志的完整性。他们会通过某种方式改变系统是任何攻击的共同的。文件完整性检查的目标是检测这些更改,并在发生更改时通知管理员。

 

第六节 实验和评价

       之前也提到,我们把系统部署在真实的云环境下,因此我们评估系统是基于真实的金融机构的数据。在实验中,我们把系统建立在云数据中心基于openstack&xeni的云虚拟化平台,实际由120台左右需要监控的物理机器组成。物理机在云基础设施有Physical machines in the cloud infrastructure have a double-core Intel 3.10GHz CPU, 2GB memory, 100Mbps network bandwidth, and runs SuSE 32bit. 每个物理机运行5个虚拟机,和其他网络设备。收集代理实际上包括了所有的虚拟机超级监管程序,被部署在这些虚拟机媒体上,它们收集日志数据并把它们发送到转变节点,这些节点部署在120个PMs上。服务syslog被服务节点创建,每个模块都可以管理网络段的PMs。并且,还创建了一个web服务器和几个数据库服务器。收集和仪表盘模块部署在web 服务器上,它通过以图像的方式展示配置规则和从收集器和分析器中的数据。实验环境如图5所示。

       为了确认我们的日志收集模型能够从I/O密集型实例收集审计日志数据,我们分析了从原始环境中收集器收集的原始日志事件,如图6显示了两个小时以上的日志收集结果,y轴表示收集器模块每秒捕获的简单事件总数,x轴表示实例的工作过程。我们将日志数据分为三类,包括身份验证和优先级日志、系统消息日志和其他syslog数据,从图中可以看出,测井流呈爆炸状,对系统的荷载施加了很大的压力。系统消息曲线表现出较同步但更严重的沿系统日志曲线变化的行为,这在云数据中心环境中是合理的。图7分别给出了转换节点上的网络审计日志,x轴表示工作过程,单位为分钟。为了进一步观察,我们将网络审计数据的细节与该图进行了比较,发现所有网络数据包都在属于收集器模块网络通信的平滑周期曲线中这个平滑的图表明我们的收集子系统的网络性能是可以接受的。

       为了验证我们模型的有效性,我们选择观察数据库服务器的CPU实用程序。因为数据库服务器处于我们实验的顶层,收集器模块收集的整个日志将发送给它,因此,所有的网络负载压力都会汇聚到它的I/O设备上,由于这个原因,如果数据库服务器的CPU利用率是理想的,可以间接确定收集器模块的效率。在整个实验过程中,特别是日志数量的峰值,CPU利用率保持在30%以下,这对于云数据中心来说是可以接受的。采用这种间接的方法是因为直接观测本身会改变云基础设施的工作负载。

       在第二个实验下,通过系统的采集模块,对云数据中心中具有真实数据的分析模块的性能进行了评价。在实验期间,我们进行了Hadoop实验,对过程进行了监控,分析如下y轴表示每分钟从捕获的日志事件x轴表示系统工作过程。实际上,我们将数据显示大约一个小时。由于Hadoop实验的监控日志非常庞大,其他事件可以忽略不计,不会在评估中提及我们可以看到,随着时间的推移,图形趋向于形成一个稳定的函数正态分布,与输入的实验数据关系良好通过与提供的Hadoop实验过程进行对比分析,结果表明,我们的系统在从云数据中心提取安全事件方面基本可以接受,尽管它在某些方面表现不好。在图8显示了Hadoop实验中由于误操作而导致的错误,nagios也会通过邮件发出警告。此外,在审计数据的高峰期,在一分钟内产生了超过5000个事件,但是我们的服务器仍然以可接受的CPU使用率在30%以下,在分析器和收集器模块的压力下执行其他参数。为了进一步分析实验数据,我们将提取的安全事件划分为10个级别,如表2所示。分析结果如图9所示。在这个条形图中,安全事件的分布情况表明,错误事件类别的数量远远大于包括警告事件在内的其他事件,这也可以从前面的分析中得知。y轴表示实验中每一级事件的百分比,x轴表示上面描述的安全级别。这也与云数据中心的实验环境有关。

       本文对该系统进行了设计、实现和评价

CDCAS是一种新型的云数据中心审计系统,它符合云数据中心可扩展性和效率的要求。在该系统中,我们设计了分布式、自治的代理模型,该模型可以由一组动态生成的规则来控制,以适应其使用场景。然后建立日志分析模型,利用基于签名的方法从收集到的日志中提取安全事件,并给出相应的误报。我们在真实世界和仿真中对系统进行了评价,验证了系统的有效性;我们的系统也部署在一家知名金融机构的云数据中心,运行良好。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值