从Kubernetes安全到云原生应用安全

2023-05-30 00:05李汇
计算机与网络 2023年3期
关键词:开发人员漏洞应用程序

李汇

由于许多组织最初关注的是扫描、分析应用程序代码和基础设施以获取安全洞察力的机制,这结果通常是一种反模式,其中复杂的重叠和松散集成的工具跨越开发和生产,实际上阻碍了团队解决开发过程中的安全问题。由于传统的安全工具是为静态环境构建的,考虑到云原生应用程序开发的动态和快速发展的性质,它们的效率通常不太高。

尽管云原生架构使组织能够构建和运行可扩展的动态应用程序,但它并非没有挑战。根据云安全联盟(CSA)的说法,70 %的安全专业人员和工程团队都在努力“左移”,其中许多人无法识别反模式的形成,也无法理解云原生的开发、成本、治理和文化理念等。

认识到范式转变

正如在CNCF年度报告中所讨论的,55 %的受访者每周或更频繁地发布代码,18 %每天多次发布代码。微服务的持续采用和实施越来越多地挑战组织(包括遗留应用程序安全工具)在整个开发过程中跟踪软件漏洞。实施DevSecOps的实践和自动化安全工具将更早地发现安全风险,帮助节省开发人员时间,加快发布周期,并交付更安全和合规的代码。

此外,安全事件(例如数据泄露、零日漏洞和隐私侵犯)对业务的影响只会继续增长,这使得组织有必要确保安全性,使之成为数字化转型和云原生应用程序开发的关键。无论是Solar Winds、Zoom还是受数据泄露影响的众多其他公司,风险都很高,后果从失去客户到破产不等。在美国,数据泄露平均给企业造成905万美元的损失,Log4j零日漏洞正在影响数亿个应用程序和设备,数据隐私法规导致罚款8.88亿美元,组织不能再忽视云原生开发引入的、不断发展的威胁动态。

使开发人员具有安全意识

开发人员知道如何构建应用程序,但需要正确的工具、洞察力、流程和文化来安全地构建它们。确保团队承担安全开发是实施DevSecOps最具挑战性和最关键的部分之一。根据SANS 2022 DevSecOps的调查:创建一种文化以显著改善组织的安全态势,管理层支持是促成DevSecOps安全计划成功的首要因素。组织需要一种结构化的方法,让领导者参与进来、动员安全拥护者,并确保安全成为“完成”不可或缺的一部分。

此外,通过确保工程、安全和运营之间的一致性,鼓励开发人员提高技能,并专注于学习和实施有助于提高Web应用程序安全性的技术。更重要的是,使团队能够更早地转移安全性进入设计和编码阶段。例如,OWASP云原生应用安全Top10提供有关云原生应用程序最突出的安全风险、所涉及的挑战以及如何克服这些风险的信息。OWASP Top10鼓励将安全性集成到CI/CD管道、参数化查询、验证所有输入、实施错误处理、改进日志记录策略、利用安全框架的优势、保护静态数据和加密、减少敏感数据暴露等准则,实施安全访问控制等。

全面、优先和可行的见解

由于许多原因(速度和灵活性),尤其是软件开发的发展已经远远超出单个开发人员从头开始编写代码的贡献。虽然从现有库中组装应用程序并使用自定義代码将它们连接在一起的做法很常见,但这并非完全没有风险,风险来自以下因素:

全球95 %以上的IT组织在任务关键型IT工作负载中使用开源软件(OSS);

2021年,软件供应链攻击增长了300 %以上;

每年在开源和第三方代码中发现超过20 000个常见漏洞和暴露(CVE)。

越来越多地使用开源软件,软件开发速度超过安全性的领域。出于这个原因,工程团队应该评估正在运行的应用程序工具,以便为开发人员提供相关的应用程序感知信息。这可能包括使用信息、堆栈跟踪以及涵盖应用程序代码、依赖项、容器镜像和Web界面的全面见解。跨应用程序组件的漏洞和不安全代码的识别和关联,可以帮助开发人员发现、确定优先级和补救最关键的安全风险。

自动化安全测试

当大多数工程团队考虑采用DevSecOps时,跨开发、运营无缝集成和自动化安全性的能力是必备功能。然而,许多传统的安全工具通过耗时的“门”或检查点提供反馈,给开发人员带来了额外开销和阻碍。摆脱这种模式代表了安全团队的重大转变。

然而,通过直接集成到现有CI/CD工作流和工具链中的技术,是在开发和测试期间“自动”观察正在运行的应用程序,以提供安全洞察力,而不需要工程团队浪费宝贵的资源和开发时间。

猜你喜欢
开发人员漏洞应用程序
漏洞
删除Win10中自带的应用程序
Semtech发布LoRa Basics 以加速物联网应用
谷歌禁止加密货币应用程序
三明:“两票制”堵住加价漏洞
漏洞在哪儿
高铁急救应补齐三漏洞
后悔了?教你隐藏开发人员选项
三星电子将开设应用程序下载商店
三星SMI扩展Java论坛 开发人员可用母语