容器安全性需要在新的Devsecops模型中连续安全

当Jordan Liggitt在谷歌时 发布 2018年11月的严重Kubernetes漏洞的详细信息,这是一支唤醒安全团队的叫醒呼吁,忽略采用云本机基础设施的风险,而不会在整个努力的核心处于安全性。

集装箱安全连续安全

对于Kubernetes历史上的这种重要的里程碑,漏洞没有适合令人惊叹的名称,可与喜欢的幽灵,Heartble或Linux内核最近的麻袋恐慌相当;它只是Kubernetes Github Repo上的CVE帖子。但 CVE-2018-1002105 是一个特权升级漏洞,使普通用户能够从群集中的任何容器中窃取数据。它甚至使未经授权的用户能够在Kubernetes上创建未批准的服务,以默认配置运行该服务,并将恶意代码注入该服务。

第一种方法利用Pod exec /附加/ portworword权限来使用户成为群集管理员。第二种方法是可能的,因为糟糕的演员可以使用 Kubernetes. API服务器 - 基本上是Kubernetes的前端,所有其他组件都交互 - 要建立与后端服务器的连接并使用相同的连接。至关重要,这意味着攻击者可以使用连接的已建立的TLS凭据来创建自己的服务实例。

这是完美的特权升级,因为通过建立和可信的连接进行了任何请求,因此没有出现在Kubernetes API Server审核日志或服务器日志中。虽然它们在kubelet或聚合API服务器日志中理论上可见,但它们会’T出现在授权请求中的任何不同,与常量请求流无缝混合。

当然,Kubernetes的开源版本很快修补,因为这个漏洞和云服务提供商跳到采取行动以修补他们的托管服务,但这是Kubernetes第一次遇到了关键漏洞。也是,正如当时他的CVE帖子中的Jordan Liggett在他的CVE帖子中陈述,因为没有办法检测谁以及漏洞已经使用的频率。

不幸的是,这一CVE还突出了许多传统企业IT组织的毫无准备状态,当它到容器中的应用程序时。修复需要立即更新Kubernetes集群,但Kubernetes并不与每个先前的版本向后兼容。这意味着一些组织面临两个问题:他们不仅必须提供新的Kubernetes集群,但他们也发现他们的应用程序不再工作了。

应用程序的容器的兴起,他们巧妙地使用名称空间和CGroups,分别限制了您可以看到和使用的系统资源,迎来了企业超级规模和灵活的时代。

据Sumo Logic的连续情报报告称,该报告来自2000家公司,生产在生产中的Docker容器的使用从2016年的18%增加到2019年的近30%。 Docker对Kubernetes造成了大部分成功。从谷歌博格项目建造的平台和开放的所有用于所有用途的平台已经策划了处理数千个容器的大部分管理复杂性。但是,它创造了安全挑战。

由于这种高调的漏洞,发现了其他Kubernetes缺陷,每个泄漏都会在公司向基于容器的应用程序应用安全性的情况下暴露出未被发现的差距。有了 runc容器漏洞利用 2月份,它允许恶意容器覆盖Runc二进制文件并在容器主机上获得root。这是一个刺激性的–但受授权的限制–拒绝剥削补丁请求的服务(DOS)。

Stackrox未发现的最新漏洞是另一个命中Kubernetes API服务器的DOS攻击。这使得在解析YAML表现为Kube-Apiserver时利用漏洞利用。随着kube-apiserver在表单上没有执行输入验证或应用清单文件大小限制,它使服务器易于对不安的百亿笑声攻击。

容器安全性需要连续安全性

在Kubernetes中发现的越来越多的问题中汲取的经验教训是,将更多地存在,并且它们将在软件开发生命周期的不同阶段发现(SDLC.)。换句话说,Kubernetes就像在应用程序开发环境中引入的任何其他新的关键基础架构组件一样。

发现和解决这些新类漏洞需要在开发,测试和生产环境中连续监控。它还需要在先前默塞的团队之间进行协作和集成工作流程,从初始规划和编码一直到测试和生产。许多人使用术语DevSecops来描述Devops转换的这种演变,这些转换通常使用容器/管弦郎/等伴随现代应用程序开发。

为您的Devsecops项目选择常见的分析平台,可能会导致实质性的储蓄,同时还提供面料来处理独特的安全挑战 容器。例如,可以利用刀具链和技术堆栈中的集成洞察来查明受感染的节点,运行合规检查以拾取对API的匿名访问,并为容器应用运行时防御。在许多情况下,容器安全性将自动检测和停止正在被利用的异常二进制文件,例如,尝试从受损容器中的应用程序访问API。

在此构建,运行和保护容器化应用程序 devsecops模型 需要一种新的核心可见度,检测和调查工作流程的新方法。 DevSecops要求提供深入了解系统的工具,并可以识别,调查和优先考虑SDLC的安全性和合规性威胁。这种级别的可观测性来自集成的大规模实时分析,这些分析来自来自复杂SDLC工具链中的所有系统的结构化和非结构化数据。

虽然作为一个策略直接,但往往是通过跨碎片的分析工具横跨日志,指标,追踪,应用程序性能,代码分析,集成测试,运行时测试,CI / CD等的碎片分析工具的挫败。这通常让团队管理多个产品要在例如低级Kubernetes问题之间连接点之间的点,并且它们将在应用程序层中的安全性潜在影响。传统的分析工具通常缺乏集成数据的基本规模和摄取能力,但同样重要的是它们也缺乏对这些现代数据来源的原始理解,而不会过度编程或人为分析。

即使采用较小的应用开发和测试平台,需要规模和洞察力,DevSecops需要专为容器/编排问题空间而设计的功能。首先,从可发现性的角度来看,平台必须在数据上提供多个视图,以提供情境感知。例如,提供低级基础架构以及更高级别的服务视图的可视化表示有助于连接宏和微安全图片。此外,从可观察性的角度来看,系统必须与促进收集和检测的各个方面的各种工具(例如Prometheus,Fluentd和Falco)集成。

Kubernetes.中的元数据,以标签和注释形式,用于组织和解集中的方式,因此利用这一点以获得自动检测和标记的安全洞察,是一种重要的能力。最后,系统需要吸收各种离散集装箱安全系统的洞察力和数据,以提供全面的视图。

所有这些集成维度(数据,分析,工作流程)需求持续应用于SDLC的安全性智能。保护容器和编排,更广泛地,整个现代应用程序堆栈,不能遭受连通数十种分散的分析工具的规划和生产的延误。

在更高的级别,确保现代应用程序堆栈也不能依赖于整合数据,分析和结论在这些许多功能人员上集成的延迟 工具 (安全,IT操作,应用团队,Devops等)。来自集成分析平台的连续智能可以打破这些筒仓,并且可以是保护集装箱应用的关键因素 devsecops model.

分享这个