容器云的关键理论和方法研究
上QQ阅读APP看书,第一时间看更新

1.3 可信容器云

容器技术是云计算行业发展中具有划时代意义的一次变革。随着它被越来越多的企业和个人用户使用,容器逐渐进化到容器云,而容器云的进化更是将容器推到浪潮。据统计,与2016年的7.62亿美元相比,2020年容器市场的价值预计将达到27亿美元。

容器云之所以这么受欢迎,是因为在一些特定场合(如阿里巴巴、京东等企业的电子商务促销活动,以及春节火车票销售等)中,它展示出了一些虚拟机无法比拟的优点。当提供多访问服务的应用程序在容器云中运行时,服务提供商可以立即扩展服务单元的数量以消除资源抢占峰值,确保用户体验。

虽然云存储服务提供商提供的基础设施和管理功能比个人计算设备更为经济且安全,但云平台仍会面临各种来自内部和外部的安全威胁(如系统漏洞、硬件故障、管理失误、恶意软件和内部攻击等),致使人们无法完全信任云计算平台。因此,如何打造一个安全可信的云平台,推动云存储服务的普及,成为近年来的研究热点之一。

1.3.1 可信容器云的产生

近年来,容器云因其经济且灵活高效的特点受到各大企业与私人用户的广泛青睐,然而在容器云带来便利的同时,资源存储的集中化进一步增加了安全防范的难度,容器云的安全问题日益凸显。2007年,有报道称云服务提供商Saleforce因为在服务过程中受到安全攻击而造成大量的租户数据信息泄露或遗失;2010年,Google的2名员工由于入侵云平台租户的账户并获取隐私数据而被解雇。容器云平台受到的安全威胁严重影响了用户对云服务提供商的信任程度。容器云在推动IT行业发展的同时,也存在以下不可忽视的问题。

一是外包服务模式带来数据安全与服务信任问题。云计算外包的服务模式使用户的数据管理与计算过程等都在云上完成,用户主要关心应用的处理逻辑而无需关心底层细节。用户将对数据与处理的控制权交给云服务提供商,云上的数据及处理是否安全可控成为需要关心的问题。

二是资源的共享使用带来安全隔离问题。容器云在计算过程中使用共享资源池来提供用户所需的资源,采用虚拟化技术与物理资源相结合的方式分配资源,不同用户的资源在逻辑视图上相互独立,但其底层物理映射却有可能共享物理资源。恶意用户可能通过各种攻击手段获取其他用户的信息。

三是效用计算模式带来服务可信性度量与计费问题。容器云存储服务的“pay as you go”模式使得服务根据使用情况进行收费,不可避免地会出现某些服务商为了追求商业利益而对服务作假的情况。资源使用计量真实可信是保证按使用付费的准确性的前提。

2010年,富士通公司的调查表明,88%的潜在用户对容器云的可信性问题表示十分关注与担忧。RSA首席技术官Hartman也指出:企业在将当前应用向第三方云环境迁移的过程中,首先需要考虑的就是对容器云的信任问题。因此,容器云能否被顺利地推广和使用,在很大程度上取决于容器云的可信性能否达到用户满意的程度。

由于云服务的“外包”特性,用户对云服务提供商是否能够对其数据安全提供保障,以及对其应用程序是否按照约定的方式安全执行产生了怀疑,即容器云的可信性问题。容器云本身的可信问题不仅指服务计算环境因其开放、共享等特点而导致服务的客观安全性受到威胁,同时还指服务质量与服务结果可能因云服务提供商的主观意志等因素导致的不可信。为了规范云服务提供商的行为,帮助用户选择可信的云服务,目前,多个安全标准组织公布了云服务的安全标准。其中,规模最大的云安全标准组织——云安全联盟(Cloud Security Alliance,CSA)发布了《云控制矩阵(Cloud Control Matrix,CCM)》等多部安全标准,内容涉及十多个云基础设施领域,不仅涵盖云服务本身的安全问题,还包含了硬件架构等合规的解决措施,得到业界较广泛的认可。此外,美国国家标准与技术研究院、电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)以及欧洲网络与信息安全局(European Union Agency for Network and Information Security,ENISA)都颁布了自己的云安全标准,分别在公有云计算安全、云用户隐私以及云提供商之间的互操作性等方面为用户提供指南。尽管目前很多业内的云服务提供商还未采用统一的标准,而是各自采纳了自己认可的准则,但随着云产业的不断演变与架构调整,最终会形成云服务提供商公认的安全标准。云用户可以通过这类标准对云服务提供商进行安全评估。

在学术界,针对基于信任的容器云的研究已经渗透到任务调度、资源分配以及信息存储等方面,不断有学者针对处于IT浪潮的容器云展开创新研究。从2009年开始,在操作系统设计和实现(Operating Systems Design and Implementation,OSDI)、操作系统原理组织者座谈会(Symposium on Operating Systems Principles Organizers,SOSP)、安全与隐私研讨会(Symposium on Security and Privacy,S & P)、计算机和通信安全(Computer and Communications Security,CCS)大会、国际计算机通信大会(International Conference on Computer Communications,INFOCOM)等各大安全、系统以及网络方向的会议上,容器云安全以及服务可信技术都是持续热点,CCS专门设置了关于云计算安全的研讨会。著名的信息安全国际会议RSA大会也连续多年将云计算安全问题列为焦点议题。

1.3.2 可信容器云的基本概念

可信容器云与容器云扮演的角色相同,其在云计算行业发挥了至关重要的推动作用。而可信容器云被许多企业与个人用户逐渐偏向选择的重点体现在“可信”上。“信任”第一次被应用到计算机服务行业是由Marsh实现的。此后,国内外学者把自身研究过的信任机制运用到该领域的多个方面。这里提出的可信容器云就是基于信任模型进行资源调度与节点运作的。具体来说,可信容器云就是基于信任机制的具有云安全管理功能的容器云。

基于容器云环境中的安全考虑,可信容器云将分布式动态信任管理模型应用到容器云环境中,最终实现了容器云环境中的信任管理。基于信任机制的云调度模型如图1.4所示。

图1.4 基于信任机制的云调度模型

分布式信任模型是基于人类社会的信任关系建立的。网络节点独立维护自己信任的数据,不需要管理中心节点。将该模型应用于容器云环境中,以实现期望的管理目标,构建可信的容器云环境。

可信系统的概念首次由Anderson于20世纪70年代初提出,在之后的数十年中,计算系统的可信性问题一直被广泛关注,人们尝试从不同的角度对系统的可信性概念进行阐述。下面给出可信容器云的定义。

定义1.1 如果一个容器云提供的服务所给出的行为和结果总是与用户预期的行为和结果一致,那么就可以说这个容器云是可信的。这里主要依据容器云在云环境下对用户的数据以及自身执行作业的完整性来评价可信性。从上述定义可以看出,要讨论容器云的可信性,需要明确以下3个方面。

一是使用用户的区别。不同的用户对信息安全的敏感度不同,因此对云的安全性认定也不同。例如,热点人物的信息敏感度高,外包至云上存储容易遭到恶意攻击,如泄露隐私或破坏数据安全;而普通用户的信息敏感度较低,将其外包至云上存储则更多地突出了信息保存不易失等特点。

二是工作任务的规模。不同规模的任务量可能涉及的可信问题也不同。企业私有容器云是企业的核心基础设施,不仅承担着企业的核心信息业务,还要尽可能优化资源配置,降低运营成本,提升服务性能。然而,私有容器云的资源供应能力有限,在企业业务剧增时无法应对随之而来的资源需求剧增挑战。此时,用户需要根据自己的任务规模考虑相应的容器云。

三是信任预期的度量。针对不同类型的服务,用户的安全诉求也不同。对于用户来说,与自己信任预期相对应的服务就是可信的服务。在具体的使用过程中,用户可以首先衡量服务的可信度,然后选择能够满足自己信任需求的服务。

1.3.3 可信容器云的技术分类模型

在容器云的使用过程中,云服务通过广域网面向用户开放。这种服务模式使得云服务必须克服来自广域网的各式各样的安全问题,并且在云服务内部的各类新兴技术也将面临安全的考验。因此,针对容器云的可信性研究成为热点。下面将从用户信任预期、安全威胁来源以及安全目标3个维度对可信容器云进行分类。

(一)按照用户信任预期分类

针对可信容器云的研究,可以根据用户对云服务的信任预期的不同分为3个类别。

一是完全信任(Trust Everything)。用户完全信任容器云服务提供商会负责保护用户的利益。此种假设下,云服务是否可信主要取决于云服务方是否具有足够的能力来保障系统的安全性、维护用户利益不被侵犯。例如,针对虚拟计算环境的安全隔离、完整性检验等方面的研究多基于这一类假设。

二是条件信任(Trust Something)。用户对容器云服务提供商有所怀疑,但是信任经过某种方式验证的云服务,例如通过具有资质的第三方检验的服务等。

三是最低信任(Trust Nothing)。用户怀疑容器云服务提供商的动机与能力,因此对容器云的信任为最低水平,仅信任服务的可用性、性能、容错等最低保障,其余安全问题靠用户自己解决。当前针对数据存储以及计算验证等方面的问题多属于这一类研究。

从上述分类中可以看出,在条件信任与最低信任中,用户对云服务方都是持怀疑态度的。“honest but curious”是当前对容器云服务的一种主流假设,认为服务方基本会提供诚实的服务,但仍需采取谨慎态度。随着云计算技术的发展,对容器云的能力进行监管将成为提高对云服务的可信评价的重要手段,一般情况下,由具有可信资质的第三方来完成。能否通过第三方的检验认证将成为衡量容器云是否可信的重要标准。为了使第三方完成监督检验,容器云服务需要在云端的服务处理机制中向第三方提供检查接口,由第三方来具体实施检验流程。然而,要实现第三方监管,除了技术上的支持,还需要相应的规范条文,以及对第三方的资质认证等一系列工作,这样才能形成统一的监控管理。在一定程度上,要实现这样的监管体系,还需要较长时间的努力。因此,在当前情况下,研究以用户为主导的服务检验手段具有很强的现实意义。

(二)按照安全威胁来源分类

根据云服务中存在的安全问题来源的不同,目前对可信云服务的研究主要针对以下3类安全问题。

一是一般安全问题。其指云系统中存在的软硬件漏洞、网络防护能力不足问题,以及在社会工程学等常规手段攻击下可能造成的安全风险。此种安全威胁并非仅存在于云服务中,而是在一般信息系统中早已存在的固有安全问题。但是,云计算平台的开放性使服务的安全边界难以界定,并且云服务的集中化处理也必将吸引更多的恶意攻击,因此,云服务系统必须具备很高的一般安全威胁防范能力。

二是特权安全问题。特权安全威胁是由云服务的外包特性产生的。由于云服务的数据存储以及处理等全都在云平台上完成,用户失去了对自己的数据以及计算的控制权。此时,如果云平台的管理员具有恶意,就可以利用自己的特权随意访问与修改用户的信息,或者为用户提供错误的计算结果。Gartner的云安全报告中指出,云平台最大的安全威胁来自平台提供商对租户隐私数据的非法访问。因此,在可信云服务的研究中,如何针对特权用户的安全攻击行为进行防范与补救也成为一个研究重点。

三是共享资源安全问题。云服务的另一个重要特点是资源的共享,通过虚拟化技术的支持,不同用户的应用可以在同一计算平台上运行,并共享物理设备。因此,云服务的恶意用户可能通过底层平台的漏洞对同一物理平台上的其他用户进行旁路(Side Channel)攻击。虚拟机的安全隔离功能必须能够抵御此类攻击,进而才能保证用户的信息安全。

简而言之,外部攻击者主要利用一般安全问题,通过常规攻击手段对容器云进行攻击;特权安全问题主要指容器云服务的内部工作人员,甚至是容器云服务提供商本身利用自身特权破坏用户的信息安全;而共享资源安全问题主要指容器云的用户利用底层的共享资源发起攻击。在云计算模式下新的安全问题中,外包服务模式带来的数据安全、服务验证以及可信计费等问题主要都是对服务方的服务行为是否规范的怀疑,因此属于特权安全问题;而计算资源的安全隔离等问题则主要关注在云计算环境中计算资源共享导致的问题,因此属于共享资源安全问题。在对可信容器云服务的研究中,不仅要应用已有的安全防护手段抵御一般安全问题,更重要的是针对容器云服务特有的安全问题形式进行研究,防止容器云服务提供商与共享资源用户之间的攻击行为。

(三)按照安全目标分类

可信容器云服务技术分别针对容器云服务系统中不同的安全问题,围绕不同的安全目标进行研究,其中,核心的安全目标包括保密性(Confidentiality)、完整性(Integrity)、可用性(Usability)、可控性(Controlability)和不可抵赖性(Nonrepudiation)5种特性目标。

保密性:指只有被授权的主体才能获取相应信息。这里既包括数据信息的内容不被非授权主体获得,还包括对用户的行为等隐私的保密。

完整性:指信息不能被未经授权的主体篡改,使信息保持其真实性。这里既包括存储的数据不被恶意修改,也包括数据处理等服务结果不被恶意篡改。

可用性:指被授权的主体在需要使用服务时能及时访问服务的能力。可用性是网络化服务必须满足的一项基本的信息安全要求。

可控性:指对信息系统中的信息和系统行为实施安全管理与监控,防止对信息和系统的非法滥用。

不可抵赖性:原指信息交换过程中的行为不可抵赖,现在也可以扩充到信息系统中的行为人不能否认自己的处理行为。可审计性(Audiability)与可鉴别性(Authenticty)均与此类似,可审计性更侧重于对系统行为的记录,可鉴别性则侧重于行为主体的身份的真实性。

1.3.4 可信容器云的研究目标

利用云计算平台的支持,容器云服务主要以外包的形式为用户提供从底层计算环境到上层应用的多样性的服务。由于云服务的外包特性,服务的信息存储与处理都在云端完成,用户无法掌握服务的具体执行情况,此时,服务信息有没有被泄露、服务是否按照用户的意图来执行等问题都会造成用户的忧虑。因此,尽管容器云服务类型的差异导致各类容器云服务可信性需求的表现形式各有不同,但总体来讲,当前可信容器云的研究目标主要集中于容器云服务的保密性与完整性2个方面。

容器云服务的保密性主要指容器云服务涉及的信息只被具有相应权限的主体掌握。不同的服务要求的保密信息对象不同,但综合来说,主要可以分为数据保密性与行为保密性2个方面。对于数据的保密,主要通过密码学来保护,同时还要考虑能否对经过保护的数据进行安全便捷的访问。其中,基于属性的密码算法在加密数据的同时,还为后续对这些数据的访问控制提供支持;密文数据检索技术则对加密后的数据提供检索支持,方便用户对数据的查找与定位。当外包的数据还要在云端进行计算时,全同态加密技术针对一般计算问题,从理论上解决了密文数据参与计算后的计算结果还原问题;而对于具体的数学问题,则可以通过设计相应的数学变换方法保障输入数据以及结果的保密性。对于行为的保密性,主要是保护容器云服务的具体操作行为不被非授权主体获取与破坏。例如,在虚拟机外包服务中,虚拟机一旦被指定为某个用户提供服务,那么该用户在虚拟机中的行为就应该对管理员以及其他用户严格保密。目前主要采用Hypervisor监控技术等对虚拟机安全进行监控与保护。此外,基于旁路攻击的研究则针对虚拟机间的非系统逻辑漏洞的隔离与防护机制。

容器云服务的完整性主要指容器云服务是按照用户意图真实执行的,而不是提供一个虚假的服务结果来欺骗用户。针对不同的服务形式,完整性要求的侧重点各有不同:存储服务的完整性主要是指数据在云端不被篡改,目前的数据完整性保护机制主要有数据持有性与可恢复性验证等审计手段,通过少量的标志性数据的存储完整性来评估整体数据集的存储状态,并对文件内容进行恢复;而对于以计算为服务内容的外包计算云服务,服务得到的计算结果是否是按照用户要求真实计算完成的,成为完整性验证的目标。目前,交互式证明系统、概率可验证系统等可验证计算的理论研究都围绕外包计算云服务的新特性进行,形成了新一轮研究热点。而针对实际应用问题,以大规模线性计算、海量数据处理为代表的计算结果验证研究也进一步展开。在系统底层,虚拟机的执行验证成为研究重点,目前通过可信计算等技术对虚拟机的行为进行验证,并控制虚拟机按照用户的要求执行。

目前的容器云可信性研究主要集中在数据存储、大规模计算以及基础计算环境(即虚拟机)的外包服务中的安全可信问题方面。总之,对于处于浪潮的容器云,压力来自其需要成长为用户的首要选择。随着人们对服务质量以及用户数据的安全要求的提高,可信容器云成为云环境中不可或缺的一部分。

参考文献

[1]许向阳,张芳磊.云计算任务调度的粒子鸡群优化算法研究[J].通信技术,2018(7):160-164.

[2]何思玫.面向容器云平台的集群资源调度管理器的设计与实现[D].杭州:浙江大学,2017.

[3]谷连超,崔立真.一种可伸缩的多租户数据自适应存储方法[J].计算机研究与发展,2014,51(9):2058-2069.

[4]王宗江,郑秋生,曹健.混合云中的一个高效协调器[J].计算机科学,2015,42(1):92-95.

[5]何松林.基于Docker的资源预调度策略构建弹性集群的研究[D].杭州:浙江理工大学,2017.

[6]BERNSTEIN D.Containers and cloud:from LXC to Docker to Kubernetes[J].IEEE Cloud Computing,2015,1(3):81-84.

[7]FU S,LIU J,CHU X,et al.Toward a standard interface for cloud providers:the container as the narrow waist[J].IEEE Internet Computing,2016,20(2):66-71.

[8]汪恺,张功萱,周秀敏.基于容器虚拟化技术研究[J].计算机技术与发展,2015(8):138-141.

[9]徐江生.容器云平台的设计与实现[D].北京:北京邮电大学,2017.

[10]KOZHIRBAYEV Z,SINNOTT R O.A performance comparison of container-based technologies for the cloud[J].Future Generation Computer Systems,2017(68):175-182.

[11]袁忠良.容器云计算平台关键技术研究[D].南京:南京大学,2017.

[12]彭勇,谢剑,童遥,等.一种基于Docker的数据中心云平台实现方法及系统[J].中兴通讯技术,2017,23(2):60-62.

[13]XIAO Y,GAO P,QI Q,et al.A deep learning container cloud for GPU resources[J].Boletín Técnico,2017,55(12):233-241.

[14]QIU Y Q,LUNG C H,AJILA S,et al.Experimental evaluation of LXC container migration for cloudlets using multipath TCP[J].Computer Networks,2019,164:106900.

[15]汪恺,张功萱,周秀敏.基于容器虚拟化技术研究[J].计算机技术与发展,2015,25(8):138-141.

[16]BELLASI P,MASSARI G,FORNACIARI W.Effective runtime resource management using Linux Control Groups with the BarbequeRTRM framework[J].ACM Transactions on Embedded Computing Systems,2015,14(2):1-17.

[17]盖玲,郭凯,龚奕利.基于细粒度数据分离与融合的虚拟机多镜像设计与实现[J].计算机应用研究,2014,31(8):2383-2386.

[18]王亚玲,李春阳,崔蔚,等.基于Docker的PaaS平台建设[J].计算机系统应用,2016,25(3):72-77.

[19]LIU D,ZHAO L.The research and implementation of cloud computing platform based on Docker[C]//2014 11th International Computer Conference on Wavelet Active Media Technology and Information Processing.Piscataway:IEEE Press,2014:475-478.

[20]李灿彬,甘宏.基于Docker容器的云平台设计与实现[J].科技广场,2017(6):38-41.

[21]VARGHESE B,SUBBA L T,LONG T,et al.Container-based cloud virtual machine benchmarking[J].arXiv,2016:192-201.

[22]郭甲戌,胡晓勤.基于Docker的虚拟化技术研究[J].网络安全技术与应用,2017(10):28-29.

[23]何思玫.面向容器云平台的集群资源调度管理器的设计与实现[D].杭州:浙江大学,2017.

[24]RISTA C,GRIEBLER D,MARON C A F,et al.Improving the network performance of a container-based cloud environment for Hadoop systems[C]//The 2017 International Conference on High Performance Computing & Simulation.Piscataway:IEEE Press,2017.