DevSecOps 中的漏洞管理(上)

举报
禅道程序猿 发表于 2024/02/18 09:48:48 2024/02/18
【摘要】 DevSecOps意味着在DevOps交付管道把安全性包含进去。该模型尽可能早地将安全原则集成到软件开发生命周期的所有适用阶段中。

DevSecOps意味着在DevOps交付管道把安全性包含进去。该模型尽可能早地将安全原则集成到软件开发生命周期的所有适用阶段中。下图展示了安全方面在DevOps后期阶段的集成,但DevSecOps安全性集成到生命周期的所有阶段。

IT安全领导者应该在他们的组织中采用有效的漏洞管理实践来实施适当的DevSecOps。


一、漏洞管理

漏洞管理是一种帮助组织识别、评估、确定优先级并修复系统中漏洞的做法。最终,漏洞管理的目标是通过使用修补、加固和配置管理等技术来降低漏洞带来的风险。这有助于确保安全性,同时限制恶意用户可能利用的风险。IT安全的主要职责是防范漏洞。我们都知道,安全漏洞可能代价高昂。根据IBM Security于2023年7月24日发布的《2023年数据泄露报告》显示,2023年全球数据泄露的平均成本达到445万美元,创下历史新高。2023年全球数据泄露成本相较过去3年增长了15%,其中企业“检测漏洞”和“升级相关硬件”的成本跃升了42%,是数据泄露成本中最高的部分。


二、漏洞vs.利用vs.威胁

理解漏洞、威胁和利用之间的定义和关系非常重要。
漏洞(vulnerability)是代码或软件中的缺陷,为攻击者提供了未经授权访问系统的途径。在高层次上,漏洞可以分为两种类型:

  • 技术漏洞:与代码相关的bug或错误、配置不当的防火墙、未打补丁或过时的操作系统或基础设施等。
  • 人的漏洞:人们有意或无意地犯错误,并通过利用人类心理获得数据、系统或包的访问权限。

漏洞利用(exploit)是黑客利用漏洞的方法。利用漏洞攻击是指一些恶意代码,用来攻击系统的漏洞。它可能会窃取信息,减慢/阻止系统运行,或者成为服务器上的寄生虫,在未来制造问题。例如,Log4Shell漏洞是Log4j程序允许用户根据本应打印在日志中的值执行任意代码的一个弱点。随后实施了许多不同的漏洞利用,试图以不同的方式使用此漏洞——其中一些漏洞利用允许您插入自己的代码。相比之下,其他人暴露了软件的私有环境变量。

威胁(threat)是指一个或多个漏洞利用漏洞发起攻击的实际事件。


三、漏洞管理和DevSecOps组合

为了在DevSecOps项目中有一个良好的开端,在应用程序开发的早期——最好是在开始编写代码之前——就集成安全目标。安全可以集成,并且可以在项目的初始阶段开始有效的威胁建模。当开发人员在代码进入管道之前检查代码以识别任何问题时,静态分析筛选器和策略引擎可以随时运行。这有助于开发人员立即了解安全问题,使他们能够处理安全问题的所有权。一旦在静态应用程序中检查了代码,就可以使用SAST(static analysis security testing,静态分析安全测试)工具执行安全测试,以识别漏洞并执行软件组合分析。应该将SAST工具集成到提交后的过程中,以确保主动扫描引入的新代码以查找漏洞。因此,在软件开发生命周期的早期集成SAST工具可以降低应用程序漏洞风险。


在代码构建之后,就可以开始进行安全集成测试。在一个独立的容器沙盒中运行代码可以自动测试网络调用、输入验证和授权等内容。这些测试是DAST工具(dynamic application security testing,动态应用程序安全测试)的一部分。这些测试会生成即时反馈,从而能够快速迭代以测试问题。如果发生意外的网络调用或未经净化的输入等情况,测试将失败,管道将以通知相关团队的形式生成可操作的反馈。

访问管理是需要与DevSecOps集成的下一个重要原则。我们需要确保应用程序编写相关的安全性和性能指标。需要执行角色工程,定义与每个角色相关的角色和访问权限——需要定义标准的天生权利角色。

安全扫描和漏洞管理甚至在产品/项目投入生产后仍在继续。我们需要确保通过适当的配置管理将自动补丁应用到产品的最新版本。确保产品运行的是软件及其代码的最新稳定版本。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。