如何保护云原生应用?云原生应用程序威胁的类型

云原生应用程序是专门为在云环境中部署和运行而构建的。它们由小型、独立的微服务组成,例如无服务器功能和容器,并利用云提供商和第三方合作伙伴通过 API 提供的服务,同时利用云实现自动化稳定性、扩展和恢复。构建云原生应用程序使开发团队能够专注于实施针对云扩展方式优化的架构。

如何保护云原生应用?云原生应用程序威胁的类型-南华中天

云原生应用结构

云原生应用程序具有全新的独特结构,它会影响攻击者处理这些应用程序的方式,从而改变威胁格局。随着攻击者改变他们的方法并转向 Gen VI 攻击,安全从业者和开发人员必须相应地调整他们保护云原生应用程序的方式。

他们需要为这些新威胁分配更多的时间和资源,以便最好地为他们的组织阻止它们。必须战略性地分配资源,但首先必须了解在这种新的威胁形势下最有可能面临哪些威胁。

云原生应用程序威胁的类型

云原生应用程序中的计算服务被设计为短暂的并且往往具有较短的生命周期。这是使云原生应用程序本质上更安全的众多属性之一。攻击者无法轻易地在您的系统中长期存在,因此必须改变策略。一种由此产生的策略是Groundhog Day Attack,其中攻击者设计了一个更短的攻击,例如窃取几个信用卡号码,然后重复。攻击者利用云原生应用程序的自动扩展来获得它的短暂性。

另一种方法是上游攻击或毒井,攻击者旨在在您的应用程序中获得更长期的持久性。云原生应用程序往往包含许多模块和库。一个无服务器函数可能包含来自各种来源的数万行代码,而不是您的开发人员的工作。攻击者致力于在常见项目中包含恶意代码。然后,在井中下毒后,您的云应用程序中的恶意代码可以打电话回家、获取指令并造成严重破坏。

如何保护云原生应用

幸运的是,云原生应用程序往往更难受到攻击。但作为一种新型架构,它们带来了新的安全挑战,开发人员必须采取行动降低风险。以下是保护云原生应用程序的一些最佳实践:

如何保护云原生应用?云原生应用程序威胁的类型-南华中天

在功能级别应用边界安全将您的应用程序碎片化为可调用的较小组件,再加上使用来自不同来源(例如存储、消息队列和数据库)的基于事件的触发器,这意味着攻击者有更多的目标和更多的攻击载体。

除了确保您的Web API 和应用程序保护 (WAAP)服务得到改进以满足下一代需求之外,另一个云原生安全最佳实践是在功能级别应用边界安全。特别注意由不同源类型触发的函数。

为每个功能设计合适的最小角色您必须为云原生资源之间的许多交互建立角色。为每个无服务器功能分配一组唯一权限的能力提供了进一步增强 AppSec 的绝佳机会。

当你在函数的粒度上做IAM时,IAM 就变成了一个 AppSec 工具。花时间为您的每个职能设计合适的、最小的角色。此外,请确保您的每个功能都以最小的可行权限集执行,这样任何漏掉的漏洞造成的损害就会降到最低。

安全的应用程序依赖性函数通常包括从 npm (Node.js)、PyPI (Python)、Maven (Java) 或其他相关存储库中提取的依赖性。保护应用程序依赖性需要访问良好的数据库和自动化工具,包括在开发过程中触发应用程序安全性的本地编排工具,-。持续运行这些工具可以防止使用新的易受攻击的软件包,并收到有关新披露问题的警报。

让安全成为每个人的问题。在开发人员、DevOps 和 AppSec 团队之间建立紧密的合作伙伴关系。在开发人员不拥有安全性但他们也不能免除责任的地方找到平衡——以安全编码为例。彭博社的一篇文章引用了OpenStack基金会首席运营官 Mark Collier 的话说:“从整体式/瀑布式到敏捷/DevOps 的转变更多地是关于流程和组织心理学,而不是关于采用哪些技术。

这已经讨论了好几年,而且不会很快消失。这是企业必须解决的一个大问题,并且需要数年时间才能实现,因为这是理念的代际转变。”对于团队来说,尽早弥合差距很重要,即使这感觉违背了公司 DNA 的正常行为,因为云原生需要组织如何管理安全和开发的不同方法。这为部门创造了一个真正的机会来促进这种变化并产生真正的影响。