易受攻击的组件即使在容器中运行,仍然存在漏洞

F5生态系统 | 2017年9月15日

有人说过(而且不只是我这么说),加密的恶意代码仍然是恶意代码。加密并不会改变这一点,只是可能会使安全和应用基础设施无法察觉其通过网络传输的过程。

对于在容器中运行的应用和平台,道理也是一样。如果应用存在漏洞,那么无论它运行在操作系统上、虚拟机中,还是如今的容器中,漏洞依然存在。如果应用在数据中心存在漏洞,那么在云中也同样存在,反之亦然。

容器并非旨在神奇地保护应用。它们可在网络层提供一些基本安全防护,但网络并不等同于应用。应用有自己的攻击面,包括代码和接口(API),以及应用所需的协议(HTTP、TCP)和应用堆栈。无论是在IP表中添加条目,还是将入站请求限制为仅允许来自容器化环境入口的请求,都不会改变这些攻击面。

之所以提到这一点,是因为Sonatype 的《2017 年 DevSecOps 调查》。该调查显示,在 2,200 多名受访者中,88% 认同容器安全很重要,但只有 53% 使用安全产品来识别容器中存在漏洞的应用、操作系统或配置。

容器安全 Sonatype 2017

这项统计数据中的前两项,即应用和操作系统,引起了我的注意,因为它们是完整应用堆栈中的两个组成部分,通常不会因部署位置或运行模式(云、容器、虚拟化等)而改变。存在SQLi或XSS漏洞的应用或API不会因为在不同模式之间迁移就自动获得保护。该漏洞存在于代码中。平台也是如此。平台无疑是应用安全堆栈的一部分。如果在Linux上运行的Apache处理HTTP标头时存在漏洞,那么即使将该应用从基于传统操作系统的模式迁移到容器化模式,该漏洞仍然存在。

我们必须持续识别完整应用堆栈中的漏洞,无论应用部署在何处或采用何种形式。

迁移到容器时,继续沿用传统应用已有的应用保护措施同样重要。Web应用防火墙对于部署在容器中的应用,与部署在云端或传统环境中的应用同样有益。

调查还发现,受访者也在使用其他安全工具,例如静态和实时扫描解决方案(SAST、DAST、IAST和RASP)。虽然Web应用防火墙(WAF)的使用率高于其他工具,但SAST和SCA(源代码分析)也很常见。SCA是一种在交付前排查问题的静态方法。说到这里可能会暴露我的资历,像lint这样的工具就属于SCA工具。虽然这些工具无法实时发现代码之间以及代码与用户交互所产生的漏洞,但可以找出开发人员较常犯的一些错误,这些错误可能导致内存泄漏、崩溃或臭名昭著的缓冲区溢出。

成熟的DevOps使用WAF

我知道你在想什么。你一定在想:“Lori,我刚刚读了Stack Overflow 2017 年开发者调查结果,JavaScript显然是开发者最青睐的语言。而且JavaScript是解释型语言,所以缓冲区溢出和内存泄漏这些问题,不过是你以前用C/C++编程时留下的不愉快回忆。”

但问题在于,JavaScript以及其他现代解释型语言最终都是使用更接近底层硬件的语言(如C/C++)实现的。正如过去的事实所证明的那样,只要手段足够高明,就可以利用这一点构造针对系统的漏洞利用程序。

即使这不是需要担心的问题,任何代码也可能因所使用的库存在问题或系统调用使用不当而出现许多其他漏洞,进而危及服务器端安全。目前的调查显示,80%的应用由开源组件构成。Sonatype的调查还指出,从2014年到2017年,与开源组件相关的已确认或疑似安全事件增加了50%。其中许多组件使用的编程语言更容易引发严重错误,原因既包括这些语言的约束较少,也包括精通这些语言的开发人员越来越少。

关键在于,任何代码都可能存在漏洞。代码是应用的构建基础,而应用如今是企业面向外界的窗口,因此,无论应用部署在何处、采用何种方式部署,都必须对其进行扫描和保护。

无论部署在容器还是云端,采用传统环境还是虚拟环境,所有应用都应接受漏洞扫描,并防范针对平台和协议的漏洞利用。无一例外。

应用应在开发期间接受全面扫描和测试,并在生产环境中再次测试。这两个环节都不可或缺,因为分解谬误表明,引入新组件会改变基线。新的交互可能会暴露此前未发现的漏洞。

为保护应用,请考虑以下事项:

  • 在开发过程中使用代码和应用分析工具。如有可能,将这些工具集成到CI/CD流水线中。
  • 在生产环境中再次测试,以防与其他组件或应用的交互暴露出问题。
  • 持续关注协议和平台漏洞,以及所用第三方库中发现的漏洞
  • 将Web应用防火墙集成到您的架构中。即使不以阻断模式运行,当发现协议或平台零日漏洞或库漏洞时,它也能发挥重要作用。

确保安全!

分享
标签: 2017

关于作者

Lori Mac Vittie
Lori Mac Vittie杰出工程师兼首席技术布道师 | F5

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。

Lori Mac Vittie 的更多博客文章

相关博客文章

F5纪念2021年世界艾滋病日
F5生态系统 | 2021/12/01

F5纪念2021年世界艾滋病日

值此世界艾滋病日,F5郑重承诺,将与员工、客户、社区和合作伙伴共同努力,消除社会对HIV感染者仍然存在的污名与偏见。

Thingbot正转变为攻击平台
F5生态系统 | 2018/11/29

Thingbot正转变为攻击平台

Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。

借助F5全新Quick Start,在AWS上快速开展业务
F5生态系统 | 2018/11/20

借助F5全新Quick Start,在AWS上快速开展业务

在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。

为什么声明式模型对NetOps自动化至关重要?
F5生态系统 | 2018/04/30

为什么声明式模型对NetOps自动化至关重要?

为什么声明式模型对NetOps自动化至关重要?阅读F5博客,了解基础设施即代码如何简化网络扩展。

开源聚焦:F5基础设施即代码与多云可管理性
F5生态系统 | 2017/11/16

开源聚焦:F5基础设施即代码与多云可管理性

开源聚焦:基础设施即代码与多云。阅读博客,了解模板和Terraform如何简化F5应用服务的部署。

破解IT“无解困局”的答案:私有云
F5生态系统 | 2016/09/12

破解IT“无解困局”的答案:私有云

破解IT“无解困局”的答案:私有云。阅读F5博客,了解本地部署的敏捷性如何化解安全与速度难以兼顾的问题。