NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

如何解决云原生架构中的安全问题?

  • 2021-08-19
  • 本文字数:3085 字

    阅读完需:约 10 分钟

如何解决云原生架构中的安全问题?

DevOps 原则和云原生应用程序开发流程的采用正在推动文化和技术变革,帮助企业变得更加灵活,加快市场开发速度。除了更快的开发,这些技术还提供了更好的用户体验、更灵活的管理、更高的可靠性和更低的成本。与使用云的应用程序相比,云原生应用程序是在云中构建和部署的。它们使用容器和微服务架构来提供更快的应用程序开发和交付,以及更大的灵活性。

 

IDC 预测,到 2022 年,90%的新企业应用程序将使用云原生应用程序开发流程、敏捷方法论和 API 驱动架构。根据一份调查报告,全球有大约650万活跃的云原生开发者,约有400万开发者使用无服务器架构和云方法。现在92%的组织在生产环境中使用容器。

 

云原生架构引入新风险

虽然好处引人注目,但云原生架构也引入了各种新型安全风险和潜在的漏洞源。现有的应用程序安全性方法并不是针对新范式设计的。相反,DevOps 团队需要一种新的方法来帮助他们更好地识别潜在风险,并使它们能够将漏洞管理集成到开发和交付流程中。

 

早期,软件开发被认为是一个线性过程,但云原生架构的兴起导致了高度动态的应用程序环境。在这里,变化是唯一不变的。根据研究,61%的组织认为他们的环境每分钟或者更短时间就改变一次。云原生、基于容器的环境的动态特性,以及跟上敏捷开发速度的需要,使得检测漏洞和管理应用程序安全更加困难。

 

根据一份调查报告,在 2020 年上半年期间,每天有160起针对蜜罐的攻击其中95%的攻击旨在劫持资源,而 5%的攻击旨在发起网络拒绝服务攻击。这个研究还表明,微服务、容器和 Kubernetes 为 89%的 CISO 创建了应用程序安全盲点。

 

检测和管理漏洞的挑战

传统的安全实践根本不适合这种环境。事实上,云原生架构从根本上破坏了应用程序的安全性。传统的安全漏洞管理方法无法跟上这些动态环境,因为传统方法只能提供单一时刻的静态视图,这使得它们的效率越来越低,并且容易出现盲点。具体有如下几个原因。

 

1.增量开发

 

云原生应用程序是使用不断更新并部署到环境中的连续代码流开发的。快速的软件开发周期允许微服务应用的每个组件都进行每日更新。这种增量开发为已知和未知的漏洞创建了一个大型的攻击面。安全团队可能会发现,在不降低发布周期的情况下保护这些部署是一项挑战。

 

2.位置的无常性

 

传统应用程序总是有一个连接的服务器或虚拟机(VM),这使得应用程序始终保持相同的 IP 地址和位置。但是,云原生应用程序既没有如此持久的位置,也没有任何清晰的边界。

 

在传统应用程序中,多个软件功能或进程会运行在一台虚拟机上。而现在,每个进程或功能都被打包为一个单独的容器,从而使每个实体暴露在泄露的漏洞中。它需要在整个开发生命周期中得到保护。

 

3.从持续运行到按需运行的转变

 

微服务的兴起见证了从持续运行应用程序到按需运行的快速转变。在这些环境中,根据使用情况,基础设施会开启和关闭来支持数字服务。

 

这些基础设施还允许每个组件独立地自动地调整。这虽然提高了应用程序的操作效率,但也使得用传统或手动方法来保护它们和管理漏洞变得几乎不可能。

 

4.缺乏优先次序

 

保护应用程序安全的传统方法主要侧重于在代码漏洞被利用之前识别和缓解代码漏洞。例如,在将应用程序放到生产环境之前,安全策略可能需要修复所有关键漏洞,只有这样,你才能进行下一步。

 

但是,基于涉及的相对风险和数千个漏洞的严重性来评估云原生应用程序既耗时又困难。此外,在处理云原生供应链和基础设施中的漏洞激增时缺乏优先级,会减慢开发速度,也不会让 DevOps 团队降低整体风险。

 

5.不全面的漏洞扫描

 

云原生应用程序中的漏洞扫描通常仅在预生产阶段进行。因此,错过生产阶段运行的内容会增加在云部署中运行有漏洞的库的风险。由于无法区分潜在漏洞和真实暴露,它们对每个可能的漏洞发出堆积如山的警报。由于假阳性的数量巨大,这增加了组织理解其暴露风险影响的难度。

 

6.漏洞的唯一性

 

云原生系统包含大量公有云和私有云、应用程序架构和云服务。每种架构模式都可能有其不同的漏洞和安全需求。安全团队需要了解这些复杂的攻击面,并找到保护每种不同架构的解决方案。

云原生安全的最佳实践

当涉及云原生应用程序时,安全性不能是事后诸葛亮。安全性必须集成到持续集成和持续开发流程中,而不是依赖于固定的解决方案和方法。采用基于风险的方法至关重要,但这并不是完整的解决方案。

 

一个完整的解决方案将这与各种其它安全层结合在一起,这些安全层超越了检测和评估,而转向了补救或缓解。这些措施包括调整安全性、在功能和容器级别应用外围安全性、保护应用程序依赖、强制执行最小角色和权限,以及利用共享的安全责任。

 

基于风险的方法

 

这种集成的实用安全性的首批实现之一可以是采用基于风险的方法进行云原生开发。这使得 DevOps 团队能够检测、评估和修复工件管道中的漏洞,作为开发过程中的一个集成组件。它还允许你对容器部署后的行为进行持续监控。

 

基于风险的方法允许你确定优先级。这个方法对漏洞进行打分,以评估每个漏洞的危险程度。全面的基于风险的方法必须确保在允许代码投入生产环境之前对风险进行分析和缓解。因此,安全控制必须转移到开发管道中,重点应该放在工件管道上。这种变化可以最小化组织的运行时攻击面。

 

边界安全

 

云原生应用程序的系统分为多个可调用组件,这些组件接受来自不同来源的事件驱动触发器。这为攻击者提供了更多的目标选择和许多恶意活动的载体。防范此类攻击的一个重要实践是使用为云原生环境构建的 API 和应用程序安全工具。除此之外的一般方法是在功能级别加强外围安全。识别由异常源触发的功能,并监控事件触发器中的异常。

 

在容器化环境中,必须确保多层次的安全。这可以包括编排器控制面板、物理主机、容器和运行单元。Kubernetes 等编排器的最佳安全实践包括隔离节点、对 API 服务器使用第三方身份验证以及限制和监控容器间的流量。

 

分配最低权限

 

由于云原生资源之间存在大量且频繁的交互,因此为每个容器分配唯一的权限组的能力为增强安全性提供了极好的机会。因此,如果云原生框架中的任何元素被破坏,它将造成最小的损害,并防止权限扩大到其它组件。

 

保护应用程序依赖项

 

云原生应用程序代码通常包含具有依赖关系的包。为了保护应用程序的依赖性,你需要特定的自动化工具,包括一个全面的开源组件及其漏洞数据库。

 

你还需要能够在开发过程中触发应用程序安全活动的云原生编排工具。通过连续运行上述工具,可以防止在生产环境中运行的函数或容器中包含有漏洞的包。

云原生应用将何去何从?

随着云环境变得越来越动态,组织必须确保应用程序的最大覆盖率,来帮助避免盲点,实时监测漏洞,并获取信息以评估风险。从长远来看,需要一种新的安全方法。Palo Alto Networks 产品副总裁 John Morello 认为,这些新方法包括:

 

  1. 保护应用程序编程接口(APIs)

  2. 探索新的云原生安全指标和文化

  3. 转向机器学习和开源软件

 

API 是连接微服务和容器的最常见的形式,而这正是黑客获取数据并将恶意软件引入系统的目标。不幸的是,API 本身是不安全的,并且会受到攻击,因为通过编程,它们很容易访问。因此,你需要一个好的安全模型和恰当的工具来保护这些微服务。

 

对于云原生架构的长期安全运行,Morello 强烈建议使用 DevOps 指标。因为从安全角度来看,最重要的指标不是环境中的漏洞数量,而是修补或修复这些漏洞所需要的时间。

 

检测和管理漏洞是一项复杂的劳动密集型任务。在一切都是代码的时代,安全自动化是一种强劲的趋势。它特别适用于检测错误配置和漏洞、升级组件、根据安全最佳实践自动进行代码评审,以及关闭受侵害的运行单元。

 

希望这些最佳实践能帮助你安全地过渡到云原生模型。


原文链接:

 

Detecting Vulnerabilities in Cloud-Native Architectures

2021-08-19 09:382424

评论

发布
暂无评论
发现更多内容

一篇文章了解做仿真软件的达索系统-达索代理商

思茂信息

cst abaqus软件 达索系统

制程架构并驾齐驱,软件硬件双核驱动 英特尔携手合作伙伴兑现AI PC承诺

E科讯

当创建pvc后,kubernetes组件如何协作

华为云开发者联盟

Kubernetes 开发 华为云 华为云开发者联盟

SVN管理工具Cornerstone for mac入门教程

Rose

SVN管理工具 cornerstone 4 破解版 Cornerstone入门教程

BACK Stack会成为平台工程的新趋势吗?

杨振涛

云原生 平台工程 内部开发者平台 平台工程社区 PECommunity

性能持续突破!火山引擎ByteHouse上线向量检索能力

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号 1 月 PK 榜

代码混淆:保护您的应用程序

雪奈椰子

实战营|阿里云 x StarRocks 邀你现场体验云上极速湖仓--深圳站

StarRocks

数据库 数据仓库 数据分析 StarRocks

一文了解:仿真技术的巨头——美国Altair公司

智造软件

CAE CAE软件 altair

Premiere新手入门教程:Premiere Pro (PR) mac版基础教程合集

Rose

Premiere Pro下载 Premiere教程 PR转场预设

数据资产入表:工业数字化新机遇

用友BIP

数据资产

户外交通LED显示屏必须具备的特点

Dylan

技术 网络 计算机 LED显示屏 led显示屏厂家

软件测试/测试开发/全日制/测试管理丨MongoDB NoSQL数据库

测试人

软件测试

将ChatGPT引入企业财务共享服务的探讨与思考

用友BIP

Office 2013-2021专业增强版激活许可证 Mac/win

Rose

office许可证 office下载

智能商品管理系统相比传统商品管理在自动化程度上有哪些优势?

第七在线

零代码集成自动化的实现逻辑是什么?

RestCloud

零代码 APPlink

第35期 | GPTSecurity周报

云起无垠

EVE-NG强大的网络模拟器和实验平台

小齐写代码

好玩有趣的桌面宠物Desktop Goose for mac

Rose

Desktop Goose mac破解版 mac桌面宠物

"5.25秒变0.023秒:小程序图片优化全攻略"

陇锦

小程序 微信小程序 前端 前端开发 js

康威定律:AI时代的IT组织变革

FN0

AI 软件开发 组织设计

软件测试/测试开发/全日制/测试管理丨Redis内存数据库

测试人

软件测试

【第七在线】如何让智能商品系统提供深入的供应链决策支持?

第七在线

Java AtomicReference

0x5d0de9

Java

如何使用代码混淆技术保护移动应用程序安全

centos7下docx转为pdf

麦兜

如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 2

SEAL安全

Kubernetes 运维 Helm Prometheus

2024律师课程推荐:iCourt律师执行实务集训营(赠《执行实务大礼包》)

科技汇

AI实践 | 一文简述语音克隆实践

云起无垠

Apache Doris 聚合函数源码阅读与解析|源码解读系列

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

如何解决云原生架构中的安全问题?_架构_KASHYAP VYAS_InfoQ精选文章