如何在运行时保护容器化工作负载

如何在运行时保护容器化工作负载

翻译自 How to Protect Containerized Workloads at Runtime

如果做得好,运行时安全性的整体方法可以增强整个环境和组织的安全态势。

图片来自 Unsplash 的 CHUTTERSNAP

安全性(终于)在企业中得到了应有的回报。见证诸如 DevSecOps“左移”方法等趋势 - 这意味着尽早将安全性转移到开发管道中。但这项工作永远不会完成。

左移和类似的策略通常是好事。他们开始解决一个早就应该解决的问题,即将安全性视为必须的检查项或部署前的最后一步。但在许多情况下,对于运行现代软件应用程序的现实来说仍然不够。例如,左移方法可能只涵盖生成和部署阶段,但不会将足够的安全重点应用于当今工作负载的另一个关键阶段:运行时。

运行时安全性“是关于在执行代码时保护应用程序运行的环境以及应用程序本身,”技术研究公司 Everest Group 的合伙人 Yugal Joshi 说。

安全平台公司 Tigera 的首席营销官 Utpal Bhatt 表示,新兴的安全工具和实践旨在解决容器化工作负载, Kubernetes 和高度自动化的 CI/CD 管道这三个时代的基本安全挑战。

首先,现代软件开发管道固有的速度和自动化为漏洞进入代码库创造了更多的威胁载体和机会。

其次,编排层本身,如 Kubernetes,也高度自动化了容器镜像的部署,并引入了新的风险。

第三,运行基于容器的工作负载的动态性质,尤其是当这些工作负载分解为数百或数千个可能相互通信的微服务时,会产生非常大且不断变化的攻击面

“威胁载体随着这些类型的应用程序而增加,” Bhatt 告诉 The New Stack 。“当只关注供应链的一部分时,几乎不可能消除这些威胁。

运行时安全性:预防优先

运行时安全性可能听起来像是一种超级特定的要求或方法,但 Bhatt 和其他专家指出,如果做得好,运行时安全的整体方法可以增强整个环境和组织的安全态势。

对强大的运行时安全性的总体需求是从防御性或以检测为中心的方法转变为以预防为中心的方法。

“鉴于容器化工作负载的攻击面很大,不可能扩展以检测为中心的安全方法,” Tigera 合作伙伴之一 Techseed 的首席执行官兼联合创始人 Mikheil Kardenakhishvili 说。“相反,专注于预防将有助于减少攻击,从而减轻安全团队的负担。

Bhatt 表示,最好的运行时安全工具和实践不是纯粹基于检测的方法,这种方法通常会使安全团队筋疲力尽,并使他们处于被其他业务部门视为瓶颈或阻碍者的位置,而是实施由传统检测响应支持的预防优先方法。

“正确的运行时安全性意味着您正在阻止已知的攻击,而不是等待它们发生,” Bhatt 说。

运行时安全性可以提供通用服务作为平台产品,任何应用程序都可以用于安全执行,Everest Group 分析师 Joshi 指出。

“因此,诸如身份,监视,日志记录,权限和控制之类的内容将属于此运行时安全职权范围,”他说。“一般来说,它还应该通过根据关键性和频率确定漏洞的优先级来提供事件响应机制。运行时安全性还应该理想地保护应用程序运行所需的环境、存储、网络和相关库。

运行时安全的 SaaS 解决方案

用更通俗的术语来说:运行时安全性意味着保护现代软件应用程序和环境中常见的所有东西。

预防优先的整体方法是 Calico 开源 DNA 的一部分,Calico 开源是一个开源网络和网络安全项目,用于容器,虚拟机和基于本机主机的工作负载,以及 Calico Cloud 和 Calico Enterprise ,后者是 Tigera 的商业平台,建立在它创建的开源项目之上。

Calico Cloud 是一种软件即服务 (SaaS) 解决方案,专注于在具有 Kubernetes 的容器中运行的云原生应用程序,提供安全态势管理、用于识别已知威胁的强大运行时安全性,以及用于发现零日攻击和其他以前未知威胁的威胁搜寻功能。

根据 Bhatt 的说法,Calico 的这四个组成部分 - 以 Kubernetes 为中心的方式保护您的态势,保护您的环境免受已知攻击者的侵害,检测零日攻击以及事件响应/风险缓解 - 也说明了任何高性能运行时安全程序的四个基本要素。

以下是保护运行时要遵循的四个原则。

正确执行运行时安全性的 4 个关键

1.保护您的应用程序免受已知威胁的侵害。 这是预防优先思维模式的核心,侧重于引入工具持续检查的可靠威胁源 - 不仅在构建和部署期间,而且在运行时也是如此。

流行的行业标准源的示例包括已知恶意服务器的网络地址、已知恶意软件的进程文件哈希和 OWASP Top 10 项目。

2.保护您的工作负载免受容器中漏洞的影响。 除了检查已知的主动攻击方法外,运行时安全性还可以主动防止容器本身以及容器运行所需的一切(包括环境)中的漏洞。

这不是一次性的"检查"类型的测试,而是一个良性的反馈循环,应该包括启用安全策略来保护工作负载免受任何漏洞的影响,包括在发现未知/不可信的服务之间的通信或流量时或者检测到风险时限制其通信或流量。

3.检测并防范容器和网络异常行为。 根据 Bhatt 的说法,这是运行时安全性的“迷人部分”,因为它使安全团队能够发现并缓解环境中的可疑行为,即使它与已知威胁无关,例如零日攻击。

运行时安全工具应该能够检测容器或网络活动中的异常行为,并提醒安全运营团队(通过与安全信息和事件管理或 SIEM 工具集成),以便根据需要进行调查和缓解。

4.假设发生了违规行为;做好事件响应和风险缓解的准备。 最后,即使在转向预防第一,检测第二的方法时, Bhatt 表示,正确完成运行时安全性需要一个基本的假设,即您的运行时已经受到损害(并且会再次发生)。这意味着您的组织已准备好在发生事件时迅速采取行动,并最大限度地减少流程中的潜在影响。

根据 Bhatt 的说法,零信任也被认为是运行时安全工具和策略的最佳策略。

底线:以边界为中心,检测和防御的心态已经不够了,即使它的一些做法仍然足够有效。正如 Bhatt 告诉 The New Stack 的那样:“容器和 Kubernetes 的世界需要一种不同的安全态势。

运行时安全工具和实践的存在是为了解决容器化环境创建的更大、更动态的威胁面。Bhatt 粗略地将今天的软件环境比作有很多门窗的大房子。传统的安全方法可能只关注前门和后门。运行时安全性试图保护整个房子。

Bhatt 完成了这个比喻:“你宁愿一扇门有 10 把锁,还是每扇门都有一把锁?”

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注