长亭百川云 - 文章详情

世界上只有两种程序员:1.懂DevSecOps的 2.其他程序员

CodeAnalyzer Ultra

51

2024-07-13

既然说到DevSecOps,就不得不提DevOps,二者从字面上的差距就是前者多了一个“Sec”,也就是安全的意思。显然,安全在软件开发流程中越来越重要。在讲DevSecOps之前,我们先来回顾一下DevOps

一、什么是DevOps

DevOps可拆分为两部分:DevlopmentOperations,也就是开发与运营的组合。该流程促进开发人员和运营人员协作,简化了软件开发流程,以确保更快、更高效地部署。

开发人员和运营人员共同参与到软件开发的生命周期中,共同管理维护这个流程,团队协作效率大大提升,避免了很多不必要的沟通壁垒,大大提高了软件的开发效率。

二、DevOps的工作原理

开发和运营是 DevOps 的核心。这两个团队之间有非常紧密的协作关系,开发流程中的其他模块都要围绕这两个部分设计。此外,高效的pipeline也是 DevOps 发挥作用的关键一环。以下DevOps流程图涵盖了从plan(计划)到release(发版)的所有环节,同时也包括软件交付流程

DevOps的核心是敏捷性,其将开发、测试、管理、运营等角色紧密地结合起来,将软件开发生产力推到的一个新的高度。

另外,自动化在 DevOps 中起着至关重要的作用,其可实现软件的快速一键部署JenkinsDockerKubernetes 等工具在开发流程中被广泛使用。

三、什么是DevSecOps

DevSecOps 是development, security, operations三个的单词的组合,也就是开发、安全和运营的组合,是在软件和应用程序开发生命周期中持续集成安全的实践,以确保最佳的安全和性能效率

DevSecOps的核心是将安全集成到了SDLC(软件开发生命周期)中的每个阶段。简单来说就是:

软件的安全指标会影响软件的开发、测试、发版、运营等各个阶段。举个例子:

在软件发布前会经过一系列的安全测试(包括SAST、IAST、DAST等),若发现了一些中高危的安全漏洞(不满足软件安全性标准),是不允许发布的,必须对漏洞进行修复。

软件达到安全标准才可以进行下一个阶段。

四、DevSecOps的理念

DevSecOps 强调开发、安全和运营团队之间的协作和集成。其强调安全性不应该是事后的想法,而应该从项目的最初阶段就考虑。这是一种责任共担的文化,所有团队共同努力,确保在软件开发生命周期的所有阶段都妥善解决安全性问题。DevSecOps 的核心是专注于自动化和持续集成,这将确保快速、一致地实施安全措施。

五、DevSecOps中的Sec怎么保证

软件开发流程的Security检测有很多方法,大家可以先看一下这张图:

各阶段的Securtity通常会涉及以下部分(包括但不限于):

1.Plan阶段

  • 威胁建模和风险评估:在设计阶段进行威胁建模,识别潜在风险点,并制定针对性的_安全策略_

  • 安全架构设计:最小权限原则、纵深防御、微服务安全边界设计等

  • 安全开发规范:编写和更新_安全编码指南_等

2.Code、Build、Test阶段

  • SAST  静态代码分析工具(白盒,分析对象为项目源代码

  • SCA 软件依赖项扫描(旨在发现软件使用的第三方组件中的安全漏洞,通常以分析二进制文件、容器为主,也可分析源码

3.Deploye阶段

  • 权限及配置管理

  • 角色权限管理

  • 安全配置管理

  • ...

4.Operate阶段

  • 日志监控及审计

  • IDS/IPS/WAF等安全软件

  • 漏洞管理与补丁更新

  • DAST  动态应用安全测试(黑盒,如:渗透测试)

  • IAST 交互式应用安全测试(灰盒,白盒与黑盒的结合,通常通过插桩方式实现)

  • RASP(Runtime Application Self-Protection):软件运行时的保护措施

5.Monitor阶段

  • 监控软件行为(日志分析等)

  • SIEM(安全信息和事件管理):SIEM还可以与其他安全工具集成,支持安全事件响应流程(SOAR)的自动化

  • 漏洞扫描:发现漏洞及时修复

  • 其他安全工具的监控(IDS/IPS等)

六、DevSecOps的优势

1.安全左移

将安全融入开发的早期阶段,而不是等到开发后期或者产品发布之后才进行安全审查。这意味着安全不再是开发流程的附加环节,而是与开发和运维紧密结合,大大减少了因安全问题引发的延迟和额外成本。

2.效率提升

通过自动化工具CI/CD流水线集成安全测试,比如_静态代码分析_、_动态应用安全测试_等,可以快速检测和修复安全漏洞,可以在确保软件安全性的前提下,显著提升软件的交付速度

3.成本降低

通过预防性的安全措施,减少了后期修复安全问题所需的时间和人力成本。同时,由于安全工作贯穿整个开发过程,可以有效避免因安全问题导致的_重构、停机_等操作。

4.更快的响应速度

DevSecOps团队在应对安全事件时拥有更快的响应速度,各团队之间紧密合作,安全贯穿始终,团队能够更快地发现、修复安全问题,对应急事件做出更快更有效的响应。

5.安全理念渗透

在安全团队与开发、运营团队协作的过程中,开发及运营人员的安全意识也会得到显著的提高,这对企业来说是一个隐性的潜在价值。安全意识的提升有助于应对突发的安全事件

推荐阅读

代码属性图CPG系列文章(白盒/静态代码分析方向):超万字的详细讲解,文章理论与实践相结合,示例代码可拿来即用通俗易懂,这样的文章你爱了吗! 

专栏持续更新中...

技术交流群

  • 社群大佬云集,可与各领域大咖面对面交流技术

  • 定期做做优质技术分享,提升自己的技术能力

  • 自我提升,不仅限于技术,还有圈子

  • 与笔者交个朋友

点击公众号底部菜单栏“点击进群”,扫码加笔者好友(备注"进群")

聊点两毛钱的

能够看到这篇文章,就是我们的缘分,坚持输出优质内容是笔者一直在做的事情。若文章对你有帮助,感谢点个免费的 点赞在看,大家的鼓励是我最大的动力

关注我,交个朋友~

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2