收藏 分销(赏)

如何设计安全的无服务器架构.pdf

上传人:Stan****Shan 文档编号:1300894 上传时间:2024-04-22 格式:PDF 页数:75 大小:1.96MB
下载 相关 举报
如何设计安全的无服务器架构.pdf_第1页
第1页 / 共75页
如何设计安全的无服务器架构.pdf_第2页
第2页 / 共75页
如何设计安全的无服务器架构.pdf_第3页
第3页 / 共75页
如何设计安全的无服务器架构.pdf_第4页
第4页 / 共75页
如何设计安全的无服务器架构.pdf_第5页
第5页 / 共75页
点击查看更多>>
资源描述

1、2022 云安全联盟大中华区-版权所有1如何设计安全的无服务器架构2022 云安全联盟大中华区-版权所有4序序 言言在当今快节奏的商业环境下,开发人员被要求更迅速地构建和部署应用程序以跟上业务发展需求,同时云原生理念也被普遍接受,基于云原生的无服务器架构因此日渐受到业界青睐。但是像其它云计算解决方案一样,无服务器架构也带来了各种各样的安全风险。本文全面概括了无服务器平台的各种威胁,重点关注无服务器平台应用程序所有者面临的风险,聚焦于最佳实践,并提供了适当的安全控制建议。文中提出的基于无服务器的安全计算执行模型,对指导应用程序所有者如何采用无服务器架构具有极好的参考价值。李雨航 Yale LiC

2、SA 大中华区主席兼研究院院长2022 云安全联盟大中华区-版权所有5目目录录致谢.3执行摘要.61.介绍.61.1 目的和范围.61.2 受众.72.什么是无服务器.83.为什么选择无服务器.123.1 无服务器架构的优势和收益.133.2 无服务器的共享责任模型.143.3 什么时候适合无服务器.144.使用用例和举例.155.无服务器安全威胁模型.185.1 无服务器 一场全新的安全博弈?.185.2 无服务器威胁形势.195.3 威胁模型25 项无服务器应用程序所有者面临的威胁.225.4 无服务器威胁的独特性.276.安全设计、控制以及最佳实践.346.1 无服务器设计注意事项.36

3、6.2 针对 FaaS 的控制.426.3 CI-CD 流水线、函数代码、代码扫描以及函数和容器的策略实施.436.4 基于容器镜像的无服务器增量/附加控制.476.5 合规和治理.637.无服务器架构安全的未来愿景.667.1 无服务器架构的未来之路.677.2 无服务器架构安全.697.3 无服务器在数据隐私方面的进展.718.总结.729.参考文献.73附录 1:首字母缩略词.75附录 2:术语表.772022 云安全联盟大中华区-版权所有6执执行行摘摘要要无服务器平台使开发人员能够更快地开发和部署应用,用一种简单的方式将应用迁移到云原生服务上,而无需再管理容器集群或虚拟机等基础设施。随

4、着企业努力更快地将技术价值推向市场,无服务器平台正逐渐获得开发人员的青睐。像任何解决方案一样,无服务器带来了各种各样的网络风险。本文探讨了无服务器应用的安全性,聚焦于最佳实践和建议。本文全面概括了不同威胁,重点关注无服务器平台面临的应用程序所有者风险,并提供了适当的安全控制建议。从部署的角度来看,采用无服务器架构的组织可以专注于产品核心功能,而不必考虑负载平衡、监控、可用性、冗余和安全方面的工作来管理和控制平台或计算资源。无服务器方案本质上是可扩展的,并为“即用即付”范式提供了大量的最优计算资源。此外,从软件开发的角度来看,采用无服务器架构的组织可以获得一种全新的部署模型,在该模型下,组织不再

5、需要管理和控制底层操作系统、应用服务器或软件运行时环境。因此,这样的组织可以在更短的时间内部署服务并交付给市场,并降低总体运营成本。本文的建议和最佳实践是通过在信息安全、云运营、应用程序容器和微服务方面具有广泛知识和实践经验的多元化团队间相互协作制定的。这些信息适用于在无服务器环境中可能负有一定责任的受众。1.介介绍绍1.1 目目的的和和范范围围本文的目的是提供实现安全无服务器方案的最佳实践和建议。无服务器服务涉及两种角色:服务/平台提供者无服务器平台的提供者,可在此基础上构建无服务器应用;应用程序所有者无服务器方案的用户,他们的应用运行在无服务器平台上。2022 云安全联盟大中华区-版权所有

6、7基于无服务器方案,服务提供者提供弹性自动分配的计算资源,以满足不同可执行体的需求,不需要用户控制每个可执行体所需的资源。本文的范围限于一个部门基于其他部门作为平台提供者提供的无服务器解决方案来运行他们的工作负载。无服务器的实现既包括基于容器镜像的无服务器(也称为容器即服务 Container-as-service),也包括基于函数的无服务器(也称为函数即服务 FaaS)。在本文中,我们将更多地关注应用程序所有者,并考虑在使用无服务器服务时对应用的威胁。然后,我们对安全最佳实践提出了具体的建议,并列出了应用程序所有者应采用的建议控制措施。由于其他材料中有很多关于保护不同云服务的细节,本文将只关

7、注由于迁移到无服务器服务而引发的变化,避免详细阐述通用的云安全。本文的主要目标是提出并推进基于无服务器的安全云计算执行模型。其目的还在于指导应用程序所有者如何采用无服务器架构。1.2 受受众众本文主要适用于应用开发人员、应用架构师、安全专业人员、首席信息安全官(CISO)、风险管理专业人员、系统与安全管理员、安全项目经理、信息系统安全官以及任何对无服务器计算安全感兴趣的人。本文假设读者有一定的编码实践、安全和网络专业知识,以及应用容器、微服务、函数和敏捷应用开发知识。由于无服务器领域技术在不断变化,鼓励读者利用其他资源(包括本文中列出的资源)获取最新和详细信息。鼓励读者遵循与安全软件设计、开发

8、和部署相关的行业标准实践2022 云安全联盟大中华区-版权所有82.什什么么是是无无服服务务器器1)无无服服务务器器定定义义无服务器计算是一种云计算运行模型,在该模型中,云提供者负责为应用程序所有者的工作负载分配所需的计算和基础设施资源。应用程序所有者在任何时间都不再需要确定和控制分配多少计算资源(以及体量)来服务于他们的工作负载。它可以凭借大量的计算资源为工作负载提供按需服务。无服务器计算基于“即用即付”范式提出,在这种范式下,支付通常和实际的物理资源(如 CPU)使用量有关。使用无服务器的应用程序所有者使用服务提供者提供的能执行(调用、触发)的“可调用单元”,以及一组可调用单元执行(调用、

9、触发)需要的“事件”。应用程序所有者还可以提供支持的代码在可调用单元运行。支持代码可以作为库提供,又称为“层”,可以在运行函数的上下文中运行(作为同一进程的一部分);也可以作为“扩展”或可以在同一环境中运行的支撑线程/进程(与可调用单元不同的进程)。“层”和“扩展”共享分配给函数的相同资源,并在同样的上下文中运行。注意,“无服务器”这个名称只适用于使用该服务的应用程序所有者所经历的行为。在底层,执行代码的 服务器仍然存在,但从应用程序所有者那里抽象出来。2)可可调调用用单单元元不同的无服务器解决方案为可调用单元提供了一系列选项。一个常见的服务选项是使应用程序所有者能够在服务提供者支持的运行态(

10、JavaScript、Python、Java 等)中提供函数代码。这种服务在业界被称为“函数即服务”或 FaaS。在 FaaS 下,应用程序所有者提供的函数代码通常嵌入到由服务提供者掌管的容器镜像中。FaaS 的扩展包括给服务提供者镜像安装额外的库,以及在镜像启动和函数执行前向容器注入数据。第二个常见选项是让应用程序所有者提供其控件的容器镜像作为可调用单元。FaaS的这种扩展与非无服务器服务有很大的区别,后者的应用程序所有者提供了容器镜像,并在托管或非托管容器服务上执行。下表强调了这一区别。在基于镜像的无服务器模式下,服务提供者负责实现正确数量的可调用单元实例,以响应任何给定时间的事件。202

11、2 云安全联盟大中华区-版权所有9无无服服务务器器微微服服务务(本文涉及)非无服务器(本文未涉及)名称基于函数的无服务器基于容器的无服务器托管容器服务Kubernetes 服务由应用程序所有者交付可调用单元函数是否存在依赖 容器镜像依赖特定编程语言因所有二进制文件和依赖项都已打包,可独立于代码语言运行应用。控制可执行体的可扩展性、负载均衡、冗余度和监控实例服务提供者应用程序所有者控制实例可用性和冗余度服务提供者控制实例的可用性和冗余度应用程序所有者底层服务器的生命周期和扩展性服务提供者控制实例的可用性和冗余度应用程序所有者执行时间通常很短(秒级或更短)。一般限制在几分钟。通常是长期和无限的。状

12、态无状态和瞬时的所有状态主要在可调用单元外维护通常情况下微服务是无状态的,但可以在挂载的卷中维护状态扩展计算服务提供者负责应用程序所有者负责支付模式即用即付为已分配资源付费运行时责任服务提供者应用程序所有者例子AWSLambda AzureFunctionGoogleCloud FunctionsIBM CloudFunctionsAWS FargateGoogle Cloud RunIBM Code EngineAWS ECSRed HatOpenshift(基于AWS/Azure/.)AWS EKSGoogle GKE Azure AKS IBMIKS在基于函数的无服务器(也称为无服务器函

13、数)下,镜像由服务提供者拥有和控制,这将保证镜像安全的责任留给了服务提供者。因此,服务提供者必须适当控制,以减轻镜像给应用程序所有者工作负载造成的任何风险(请参见本文 5.3 中的服务提供者控制的安全风险)。2022 云安全联盟大中华区-版权所有10在基于容器镜像的无服务器(也称为无服务器容器)下,镜像由应用程序所有者拥有和控制,这将保证镜像安全的责任留给了应用程序所有者。因此,应用程序所有者需要适当控制,以减轻从镜像到其工作负载的风险(请参见本文 5.3 中的应用程序所有者设置阶段威胁)。3)事事件件事件是在无服务器环境中可能导致特定函数被触发的条件它可能包括新的附加数据、接收到的新数据包,

14、或者只是不同周期阶段的过期终结。除了可调用单元之外,事件驱动型应用程序的所有者还可以向服务提供者者提供一组事件,从而定义何时需要执行可调用单元的实例来处理事件。服务提供者负责对事件排队,初始化充足的可调用单元的模型,并根据服务级别协议,在约定的时间内可调用单元处理完成每个事件。事件的实际处理时间被累计用于计费。事件因事件的来源和事件的类型而有所不同。如定时器事件、web 请求触发的事件、由存储器或数据库中的数据的变化触发的事件、由云帐户的服务之间或用户与云帐户的服务之间的交互触发的事件、来自事件服务的事件、云帐户中的监控服务或日志服务的事件等。4)无无服服务务器器安安全全概概述述无服务器安全带

15、来了一种新的安全范式:应用程序所有者除了保护数据之外,只负责应用的保护。所有管理服务器或其安全方面,包括启动、机器操作系统(OS)打补丁、更新和降级,都由无服务器平台提供者管理,从而使应用程序所有者能够专注于应用本身,而不用再费心于基础设施。但是,正如本文稍后在讨论应用程序所有者需要考虑的威胁时将详细介绍的那样,无服务器也引入了它自己的安全挑战。2022 云安全联盟大中华区-版权所有11为了更好地解释平台提供者和应用程序所有者之间对不同模型的共享责任,我们绘制了下面的图。比较分担责任模型无服务器责任模型详图:基于函数的无服务器(FaaS)共享责任模型应用程序所有者的安全团队程序代码库依赖关系云

16、服务依赖关系IAM 配置云服务配置服务提供者的安全团队事件系统容器镜像计算资源虚拟化容器化服务器数据中心集群管理网络镜像管理存储2022 云安全联盟大中华区-版权所有12基于镜像的无服务器共享责任模型由于基于函数的无服务器可以特定于操作/运行时环境,因此平台提供者承担了维护和更新不同版本和编程语言的责任。5)混混合合无无服服务务器器架架构构(私私有有和和公公有有)业界存在许多无服务器架构,以下常见的基础设施示例有(部分):亚马逊:Lambda,Fargate,AWS Batch谷歌:Cloud Functions,Knative,Cloud Run微软:Azure Functions,Azur

17、e Container InstancesNimbella:OpenWhiskIBM:Kortine(代码引擎)、OpenWhisk(Cloud Functions)红帽:Koitine(OpenShift 的一部分)3.为为什什么么选选择择无无服服务务器器与传统的基于云的或以服务器为中心的基础设施相比,无服务器计算有几个优势。在无服务器计算中,应用程序所有者通常不需要关心托管其应用的基础设施,包括应用运行的操作系统的维护和补丁或基础设施扩容。这能降低大量的运营成本。Manral,2021此外,应用代码是在动态平台上承载和运行的:特定代码可能运行在许多物理机器上,但应用程序所有者几乎无法得知代

18、码具体在哪个物理机上运行。应用程序所有者的安全团队应用代码库依赖关云服务依赖关系服务提供者的安全团队事件系统计算资源管理虚拟容器化服务数据中心集群管网络镜像管存储IAM 配置容器镜像云服务配置2022 云安全联盟大中华区-版权所有13无服务器平台通常具有动态缩放功能。3.1 无无服服务务器器架架构构的的优优势势和和收收益益下表介绍了无服务器架构的几大优势,以方便读者阅读。无无服服务务器器架架构构可可提提供供的的优优势势本本文文讨讨论论的的无无服服务务器器架架构构部署速度无服务器使应用程序所有者专注开发业务应用,而不用关心应用基础设施,使业务能够快速构建和部署应用。因此,它是一个很好的实验工具,

19、可为市场更快地带来新价值。成本基础设施成本:通常按每个事件计费,这意味着当不使用基础设施时,不需要付费非常划算的工作负载开销即便不需要服务器时也不必维护它们,可以提供非常细粒度的资源使用控制。运营成本:没有需要管理的基础设施可以减少运营成本和维护它所花费的时间。Manral,2021应用程序拥有者的体验容易部署:无服务器服务可以通过命令行工具,编程控制或简单的应用程序编程接口(API)以最少化的配置轻松部署。易于监控:大多数云提供商都提供与其无服务器产品捆绑在一起的开箱即用的日志记录和监控解决方案。该平台由API 驱动,这对应用程序拥有者的生产力至关重要。无服务器管理开销:无服务器服务抽象了所

20、有服务器管理任务,例如补丁、服务开通、容量管理、操作系统维护。规模按性质可扩展:无服务器根据使用情况在细粒度上自动扩展,只需配置基础设施而无需设置基础设施无需配置扩展或缩减工作负载的策略。在本地工作时,伸缩仅限在于可用的基础设施上。2022 云安全联盟大中华区-版权所有143.2 无无服服务务器器的的共共享享责责任任模模型型在共享责任模型中,开发人员负责保护他们的代码和用于向云交付应用程序的工具。在这个共享的责任模型中,每一方都完全控制他们所拥有的那些资产、过程和功能。服服务务应应用用程程序序拥拥有有者者无无服服务务器器平平台台提提供供商商平台补丁基于镜像和功能的无服务器。平台配置与应用程序相

21、关的应用程序和平台配置。向应用程序拥有者开放最小配置。镜像补丁基于镜像的无服务器容器。基于函数的无服务器安全编码实践基于镜像和函数的无服务器。供应链安全基于应用和组件的供应链。平台供应链.网络安全监控基于镜像和函数的无服务器。应用程序安全监视 基于镜像和函数的无服务器CI/CD流水线配置基于镜像和函数的无服务器3.3 什什么么时时候候适适合合无无服服务务器器当存在相对较大的应用程序或应用程序集以及成熟的软件开发和运营(DevOps)团队、流程和产品来支持它们时,无服务器模型最合适。在这种情况下,应用程序可以分解为称为微服务的较小组件(请参阅 Best Practices inImplement

22、ing a Secure Microservices Architecture)。每个都支持一个或多个团队,并在无服务器环境中运行。这允许通过专注于特定功能来更有效地使用开发资源。与单体应用2022 云安全联盟大中华区-版权所有15程序相比,该模型还允许对每个微服务进行更敏捷的开发,因为应用程序的每个部分的功能都可以转移到生产中,而无需过多关注与其他应用程序功能的完全集成和回归测试。对于相对较小的应用程序或团队,无服务器模型有时比拥有支持应用程序的传统基础架构(例如 IaaS 基础架构即服务或 PaaS 平台即服务)的成本效益要低。较小的应用程序通常具有较低的复杂性,并且失去了将应用程序分解为

23、微服务的好处。在这种情况下,微服务可以与其他服务紧密耦合,可能失去了微服务的一些长处,例如可复用性。支持微服务的资源不足可能会导致团队需要停止一个微服务以支持另一个微服务。同样重要并需要注意的是,几乎在所有情况下,无服务器架构可简化部署过程。部署包括简单地上传一个容器镜像或一组代码,而不像传统的应用程序部署那样关注资源供应和网络架构。所以企业在决定组织在决定使用无服务器体系结构时,需要执行业务影响分析和成本/效益分析,以选择技术效率最高、成本效益最高、适合其业务需求的解决方案。4.使使用用用用例例和和举举例例无服务器计算的关键作用是为云程序员提供必要的工具,这些工具可以通过消除对基础架构的考虑

24、并支持直接使用编程语言来降低云计算架构的复杂性。然而,许多问题需要提前解决,包括负载平衡、请求路由以有效利用资源、系统升级(例如安全补丁)、迁移到新的可用实例以及冗余副本的地理分布以便在发生灾难时保护服务。无服务器架构的一个使用用例是,在没有操作和扩展基础设施方面广泛技术专业知识的情况下,拥有超大弹性扩容的基础设施。无需维护硬件、操作系统或支持软件,即可构建、部署、管理和扩展无服务器应用程序。这使应用程序拥有者能够专注于业务逻辑,而不是非核心的能力。应用程序拥有者的成本是高度精细的,费用随着使用而线性增长,从而产生一致的经济可行性。总成本取决于运营规模。客户/用户必须根据其需求决定平台规模。无

25、服务器架构还有一些业务使用用例是:(注意:这并不是一个全面的使用用例的存储库,而只是提供一些示例来,为安全专业人员提供一些参考)。2022 云安全联盟大中华区-版权所有16Web应用程序:用户需要访问现有的服务并查看或进行较小更新的地方。在该活动完成之后,该功能可能会被删除基本上是传统的请求和响应工作负载。可以使用无服务器功能,但仍然需要解决错误的身份验证和不可抵赖性等安全威胁。数据处理活动是事件驱动的,在数据处理请求完成后,服务可能会被删除。例如,启动触发器以通过经纪账户拉取一天内为客户购买的所有账户借方或股票的报告。除了身份验证和授权之外,数据完整性、机密性和安全性问题也是无服务器功能需要

26、关注的。批量处理使用用例,通过设置一系列触发器,并构建一个工作流来提取、操作和处理数据。例如,拉出一份未通过碳排放测试的汽车列表,并向车主发送一封电子邮件,其中包含州要求和标准以及满足这些要求的截止日期。安全问题主要是低权限访问、数据机密性和用户隐私。事件采集和集成:从分析应用程序中收集所有事件,并将它们提供给数据库,用于索引和归档事件,并使用特定触发器启动报告功能或发布到仪表板/浏览器界面。在这种情况下,必须从安全角度解决访问管理和不可否认性问题,并确保使用检测所需的元数据生成日志。无服务器已经在行业中用于安全检测和自动响应,主要用于警告错误配置和采取后续行动。无服务器可用于图片识别和处理。

27、例如谷歌Vision和亚马逊 Rekognition服务,然后根据标识对这些图片进行索引。或者,无服务器也用于构建应用,客户上传信用卡信息,然后提取属性来处理交易。对于这些使用用例,数据安全性、隐私、身份和访问管理问题都需要解决。在一些使用用例中,可以生成触发器,将事件流水线传递给SaaS提供者进行处理。CI-CD流水线需要快速迭代软件开发的能力。无服务器可以自动化许多这些过程。代码检查可以触发构建和自动重新部署,或者变更请求可以触发运行自动化测试,以确保在人工审查之前对代码进行了良好的测试。在任何需要自动化的地方,都有可能使用无服务器应用程序简化或加速自动化,并可以轻松地从工作流程中消除手动

28、任务。在物联网传感器输入消息的工业环境中,需要基于可设置的触发器处理这些消息,然后使用无服务器功能响应消息并进行扩展。在某些情况下,不安全功能的影响2022 云安全联盟大中华区-版权所有17可能非常严重。因此,除了故障之外,身份验证、数据保护和检测是这些场景中需要解决的重要控制。如果有一个应用程序需要基于业务逻辑执行特定的步骤:可以使用无服务器功能来实现执行一系列步骤的微服务工作负载的编排。从编排的角度来看,使用无服务器存在几个安全问题;从可审核性的角度来看,触发事件传递的数据/元数据、故障/可用性、以及身份验证和授权之外的不可否认性问题。假期期间的客户服务使用用例,响应客户的查询,即聊天机器

29、人,无服务器提供自动伸缩以满足高峰需求并在聊天结束后删除其功能。从安全角度来看,用户身份验证和数据保护/隐私仍然是需要解决的问题。行业中无服务器的其他流行使用用例是基础设施自动化任务,例如在定时备份等。从安全团队的角度来看,企业面临的一个重要的问题是,他们可能不知道在他们的平台中所有的无服务器功能都在哪里使用了考虑到其中一些功能可能是临时的,这就使它变得很困难。以下章节提供了构建控件的详细建议,这些控件将有助于企业中无服务器的可见性和资产跟踪。如上所述,安全团队可以使用无服务器函数来触发和使用其他无服务器函数以自动化安全任务。检测和响应的使用用例在业界已经很普遍,但安全团队还可以使用无服务器的

30、其他任务,比如CI-CD 流水线中自动扫描发现漏洞时强制中断构建。无服务器函数可以按需触发对基础架构的扫描,并报告结果或自动执行。无服务器函数也可用于加强其他安全控制。例如,每当用户上传数据元素时,函数都会检查数据是否已被标记或标签。如果没有,它会向用户生成警报或电子邮件,告知上传的文件没有被标记。然后将其进行隔离,直到标记,以确保适当的DLP或其他合规政策可以执行。无服务器函数也可用于安全策略的执行,例如在验证对服务的访问时,函数检查可以确保是否落实身份验证。或者还会需要升级身份验证,因此失败的身份验证保证级别有可能触发另一个功能请求升级身份验证。同理,可能还有其它函数用于执行安全政策。类似

31、地,无服务器在安全领域中的应用也在逐步被探索,并在使用无服务器功能去简化和自动化安全任务这一项上还具有无限潜力。同时,安全团队与开发人员也必须了解对无服务器技术至关重要的威胁概况和安全控制,这些将在后面章节中详细讨论。2022 云安全联盟大中华区-版权所有185.无无服服务务器器安安全全威威胁胁模模型型在使用无服务器技术时,应用程序的开发者需要关注多种威胁。本节将讨论无服务器服务的使用是如何以及为何改变了应用程序服务的威胁形势。详细介绍无服务器独特威胁模型及表现方式;以及针对无服务器的特殊安全注意事项及工具。无服务器缓解措施、设计架构及减少安全控制在第6章中介绍。5.1 无无服服务务器器 一一

32、场场全全新新的的安安全全博博弈弈?云服务提供者引入无服务器服务,给应用/服务开发商和拥有者带来了全新的安全挑战。无服务器作为事件驱动架构,将工作负载分解成多个无缝隔离的执行环境。每个执行环境都承载着一个特定任务并负责处理一个单独事件,在时间与空间中各自运行,具有自己的依赖项、代码、镜像、权限要求、配置和生命周期。和传统安全威胁模型以及非无服务器的微服务环境中的云威胁模型相比有显著变化。使用无服务器的应用程序拥有者需要重新评估不断进化的威胁形势,并重新考虑所需的恰当安全控制。无服务器也许包括一些跨越信任边界的流量,例如从公共位置获得数据,将数据输入客户经营场所,调用其它位置的函数等。现有的网络边

33、界正在逐渐消散。这种碎片化也会导致需要大幅增加收集、处理和分析以检测攻击的安全原始数据量。无服务器是将工作负载深入云中的又一步骤,同时将更多过去由工作负载开发人员拥有和控制的功能转移到云服务提供者(CSP)手中。例如,在以前的传统代码中作为函数调用实现并可能成为微服务中的Rest API,现在转变成了由云服务提供者(CSP)来提交、排队、处理的事件。云服务提供者(CSP)会跟进直至实际数据被功能函数处理完成-一直到请求者要求处理这些数据之后的某个时候。应用程序拥有者将多项安全控制权放权给服务提供者-这个过程再次要求重构服务消费者的权限和义务,以此来保证基于无服务器的微服务/应用的安全性以及明确

34、由谁来做。我的服务功能 2功能 1传统服务2022 云安全联盟大中华区-版权所有19功能 2无服务器 一场全新的安全博弈5.2 无无服服务务器器威威胁胁形形势势5.2.1 主主要要威威胁胁领领域域使用无服务器时对应用程序拥有者工作负载的威胁可以分为以下几类:1.应用程序拥有者设置阶段威胁2.应用程序拥有者部署阶段威胁3.服务提供者的行为威胁Kubernetes/容器管理服务Rest API微服务 6微服务 7微服务无服务器功能 2功能 1功能 12022 云安全联盟大中华区-版权所有20在下述图表中,我们总结了无服务器下应用程序拥有者的主要威胁领域。威胁形势5.2.2 应应用用程程序序拥拥有有

35、者者设设置置阶阶段段的的威威胁胁我们将与应用程序所有者准备工作负载资产相关的威胁包命名为部署威胁,包括所有必要的代码、镜像、CI/CD工作、云资源的供应和配置等,统称为应用程序拥有者设置阶段的威胁。其中包括了无服务器特有的一组威胁和一组存在于系统中(如微服务)的威胁,但随着时间推移,系统中运行或启动不同的重复代码的预期数量会随着无服务器的使用而增加。对于无服务器而言,应用程序拥有者设置阶段的威胁的独特性包括由访问权限或配置错误而导致的威胁:2022 云安全联盟大中华区-版权所有21广泛且通用的权限广泛且通用的事件访问在无服务器控制上拥有广泛的用户权限弱配置应用程序拥有者设置阶段的威胁随着向无服

36、务器的转变而加剧,其中包括:CI/CD流水线或依赖项中与交付流程相关的威胁:可利用的存储库和基本映像注册表针对/通过构建/部署工具的攻击易受攻击的依赖关系易受攻击的基本镜像错误配置导致的与服务设置相关的威胁:相关云服务的错误配置或漏洞5.2.3 应应用用程程序序所所有有者者部部署署阶阶段段威威胁胁本文命名与应用程序所有者部署工作负载资产相关的威胁包,包括所有无服务器关联的云和云外资产、应用程序所有者部署阶段威胁。本文再次区分了无服务器特有的威胁和因使用无服务器而加剧的威胁:无服务器特有的应用程序所有者部署阶段威胁包括:可调用单元的设计和实现造成的运行时相关威胁:数据注入全局环境泄漏错误和异常处

37、理不当认证中断或不安全与无服务器按量计费相关的威胁:财政和资源枯竭(如果已设定资源限制)资源丰富和意外开支。应用程序所有者部署阶段因使用无服务器而加剧的威胁包括:2022 云安全联盟大中华区-版权所有22密钥管理不安全不安全的日志记录/监控日志和元数据中的敏感数据记录/监测不足且不安全5.2.4 服服务务提提供供者者的的行行为为威威胁胁本文将与应用程序使用的服务提供者提供的服务相关的威胁集命名为服务提供者的行为威胁,包括服务提供者使用的整个堆栈,以及用于形成无服务器或相关服务的任何依赖项、个人和其他资产。这些威胁包括无服务器独有的,也包括与其他服务中相似的:易受攻击/恶意的服务基础镜像易受攻击

38、的运行服务可调用单元调用之间的漏洞不同可调用单元之间的漏洞无服务器服务正确性API/门户/控制台漏洞5.3 威威胁胁模模型型25项项无无服服务务器器应应用用程程序序所所有有者者面面临临的的威威胁胁下表列出了无服务器面临的各种威胁。序序号号威威胁胁类类别别威威胁胁描描述述缓缓解解措措施施(安安全全控控制制)应应用用程程序序所所有有者者设设置置阶阶段段的的威威胁胁(A)无无服服务务器器面面临临的的特特有有威威胁胁1泛泛化化和和通通用用权权限限未维持可调用单元的最小特权原则。应用程序所有者可以定义无服务器可调用单元在运行时可拥有的特权。过多权限可能被攻击者利用开展网络攻击。见章节6,6.3.5,6.

39、3.7.1,6.3.7.2等。2泛泛化化和和通通用用的的事事件件访访问问未维护触发可调用单位的事件的最小特权原则。应用程序所有者可定义有权限触发可调用单元事件的用户。泛化的访问控制极大的减化了攻击的执行难度,增加了事件驱动的无服务器架构中的攻击面。见章节6,6.3.5,6.3.7.1,6.3.7.2等。2022 云安全联盟大中华区-版权所有233无无服服务务器器访访问问控控制制的的泛泛化化用用户户特特限限未维护团队的最小特权原则。应用程序所有者可定义有权设置无服务器服务、镜像存储等的用户。更泛化的访问增加了潜在的攻击路径,增加了来自内部人员的风险。见章节6,6.3.5,6.3.7.1,6.3.

40、7.2等。4不不完完善善的的配配置置无服务器配置不完善和配置迁移可能会使平台和所承载应用程序易遭受攻击。许多用于托管无服务器应用程序的服务的配置不安全。特定的配置参数对应用程序的整体安全状况具有重要影响,应予以关注。例如,谁可以承担执行功能的角色,以及基于这个假定的角色,能实现什么?见章节6,6.3.7.2.6.3.26.3.36.3.4等。无无服服务务器器面面临临的的通通用用严严重重威威胁胁5相相关关云云服服务务的的错错误误配配置置或或漏漏洞洞其他云服务与无服务器服务协同构建的工作负载可能配置错误或易遭受攻击。通常,可调用单元的安全性取决于所使用的相关云服务的安全性。例如,可调用单元的安全性

41、可能依赖于密码服务或身份和访问控制管理系统等的安全功能。可调用单元也可能依赖于供应链中第三方提供的服务。因此,对其他服务的依赖和这些服务中的错误配置作为无服务器应用程序的一部分,会影响无服务器功能的完整性。见章节6,6.3.7.1,6.3.7.2,6.3.3等。6可可利利用用的的存存储储库库和和基基本本镜镜像像注注册册表表用于存储库依赖项和基础镜像的存储库和注册表中存在漏洞。攻击者可能会尝试通过识别共享(公共或私有)代码存储库和镜像注册表中的漏洞来组合应用恶意代码。由于独立可调用单元数量的潜在急剧增加,无服务架构面临的威胁也会增加。见章节6,6.3.3等。7攻攻击击对对抗抗/通通过过构构建建/

42、部部署署工工具具用于构建和部署可调用单元和事件的 CI/CD 自动化工具的漏洞和错误配置。作为 CI/CD 实践的一部分,自动化工具通常用于构建、部署可调用单元格(包括将触发它的事件)。这种自动化功能需要通过具有提升权限的工具来存储可调用单元和设置无服务器云服务。攻击者可能会使用提升后的权限将恶意代码合并到目标应用程序中,或者作为一种导致无服务器应用程序更新发生拒绝服务的方法。见章节6,6.3.7.1等。2022 云安全联盟大中华区-版权所有248脆脆弱弱性性依依赖赖(易受攻击的依赖项)任何第三方库中的漏洞或恶意代码都可能导致可调用单元发生供应链攻击。应用程序可调用单元通常使用多个第三方库依赖

43、。此类库可能包括现有或新发现的漏洞。此外,恶意攻击者可能会在此类库中嵌入恶意软件这适用于所有应用程序和服务,包括无服务器微服务。见章节 6,6.1,6.2,6.3.7.1,6.3.7.2等。9易易受受攻攻击击的的基基础础镜镜像像基于镜像的无服务器服务形成的基础镜像中的漏洞。应用程序所有者在基于镜像的无服务器下构建的基础镜像易遭受预安装依赖项中多种现有或新发现的漏洞的影响,并且还可能包括预安装的恶意软件。见章节6,6.3.3等。应应用用程程序序所所有有者者部部署署阶阶段段威威胁胁(B)1数数据据注注入入无服务器可调用单元在激活期间从各种事件接收输入-每个此类事件都代表数据注入相关的潜在威胁。当不

44、受信任的输入在经过适当审查和验证前直接传递给解释器执行,就会出现注入漏洞。此类漏洞通常被攻击利用。大多数无服务器架构提供了大量事件源,可作为数据注入攻击的潜在载体。数据注入事件还会破坏业务函数的执行排序并导致拒绝服务。见章节6,6.3.7.2等。2全全局局信信息息泄泄漏漏无服务器全局信息可能引发信息泄露,例如,在可调用单元的调用时会进行令牌维护(例如,无需每次调用都重新验证身份),全局信息可能会在请求时泄漏敏感数据。由于可调用单元的不同调用通常用于为其他工作负载的用户的数据使用提供服务,因此可调用单元与其他请求之间发生数据泄漏是一种威胁。敏感数据可能会留在容器中,并可能在函数的后续调用期间暴露

45、。恶意数据可能被故意留下来攻击函数的未来调用。见章节6,6.3.7.2等。3错错误误和和异异常常处处理理不不当当与标准应用程序的调试功能相比,基于无服务器应用程序的云初始调试选项有限(且更复杂)。错误处理不当会产生漏洞并允许恶意操作,例如缓冲区溢出攻击和拒绝服务攻击。详细的错误消息可能会导致信息意外泄露给攻击者-这适用于所有应用程序、无服务器、元数据和资源。见章节6,6.3.7.2等。2022 云安全联盟大中华区-版权所有254损损坏坏或或不不安安全全的的身身份份验验证证对事件源的身份和/或发起此类事件的用户/进程的身份验证不正确。通常,可调用单元需要确认所发送事件背后的实体的身份。攻击者将试

46、图利用所使用的身份验证机制中的任何漏洞。见章节6,6.3.7.2,6.3.5等。5财财务务及及资资源源枯枯竭竭攻击者利用无服务器机制恶意占用资源攻击者可能会利用无服务器的“即用即付”服务机制,通过创建许多调用应用程序可调用单元的虚假事件和/或通过启动导致告警的事件(例如,通过暴露代码或依赖项中的一些其他弱点)来迫使应用程序所有者长时间支付大量的计划外费用。见章节6,6.3.6等。6资资源源冗冗余余无服务器机制被攻击者利用作为无限计算资源池攻击者可能会利用无服务器可作为无限资源池的机制。并鉴于这些漏洞去利用可调用单元可用的大量计算资源并利用它谋取利益,例如,利用相关资源进行挖矿或对某些第三方发起

47、攻击。见章节6,6.3.7.1,6.3.7.2,6.3.3等。无无服服务务器器面面临临的的通通用用严严重重威威胁胁7不不充充分分且且不不安安全全的的审审计计/监监测测对安全事件的态势感知不足,无法监测安全漏洞。审计不足会妨碍组织对攻击/违规行为迅速做出响应的能力,并使取证分析变得困难或不可能。见章节6,6.3.7.1,6.3.7.2,6.3.3等。8密密钥钥的的不不安安全全管管理理可调用单元使用的密钥泄漏,可能导致对部分系统的恶意访问或权限提升。通常,可调用单元被触发的时候需要访问特定的云或外部资源。要做到这一点,可调用单位可能需要获取密钥。攻击者可以利用未安全存储的密钥或使用标准凭据集等情况

48、。像任何其他使用无服务器功能的应用程序一样,凭据和密钥的泄漏可能导致虚拟身份和数据泄漏。见章节6,6.3.7.1,6.3.7.2,等(见#3.过度的数据暴露)2022 云安全联盟大中华区-版权所有269不不安安全全的的日日志志记记录录/监监视视向攻击者公开日志数据或允许攻击者删除日志。不安全的日志记录可能使攻击者能够隐藏其攻击行为而难以追踪,或删除其行为的痕迹来阻止发现和取证。同时,功能所有者可能检测不到任何安全问题,也可能不能响应这些问题,从而影响无服务器应用程序的整体完整性。见章节6,6.3.7.1,6.3.7.2,6.3.3,等10敏敏感感日日志志记记录录/监监视视日志记录涉及安全和隐私

49、的敏感信息可调用单元和事件可能通过日志记录和监视系统暴露敏感数据,包括密钥、个人识别信息、用户数据等。见章节6,6.3.7.1,6.3.7.2,6.3.3,等服服务务提提供供者者行行为为的的威威胁胁(C)无无服服务务器器的的独独特特威威胁胁1有有漏漏洞洞的的/恶恶意意的的服服务务基基础础镜镜像像在基于功能的无服务器下,服务提供者选择的基础镜像可能包含漏洞/恶意软件。服务提供者使用的镜像包括多个第三方依赖项。此类镜像易受现有或新发现漏洞的影响,也可能包括预装的恶意软件。考虑到服务提供者管理平台的底层基础,这可能会影响无服务器应用程序的安全态势。见章节6,6.3.32有有漏漏洞洞的的服服务务运运行

50、行环环境境在基于功能的无服务器下,运行环境是由服务提供者的代码配置和扩充的,这可能会导致运行环境存在漏洞。在基于功能的无服务器下,基础镜像通常会增加额外的代码,以形成服务并监视服务提供者。部署时,运行容器的配置由服务提供者设置这可能会导致潜在的漏洞,如开放端口或集成到运行环境中的其他管理设施。因此,在完整上下文中评估无服务器应用程序的安全控制措施是恰当的。见章节6,6.3.6(Kubernetes的风险和控制:深入挖掘)6.3.7.1等3可可调调用用单单元元之之间间调调用用的的泄泄漏漏在当前无服务器服务合约之外,可调用单元之间隔离失效的,存在的无服务器服务脆弱性。由于可调用单元的不同调用通常服

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服