从DevOps到DevSecOps是怎样之中转变?

news2024/11/15 8:37:35

DevSecOps是DevOps实践的自然演进,其重点是将安全集成到软件开发和部署流程中。在DevOps和DevSecOps发展之前,企业通常在在软件部署前进行集中的安全测试,导致安全介入严重滞后,漏洞分风险无法及时修复,影响上线交付。在进行安全检查时,其他阶段的大部分工作已经完成,产品也接近完成。因此,在较晚的阶段发现安全威胁后,程序员需要重写无数行代码,这是一项痛苦且耗时费力的任务。

Devops到Devsecops的转变

为了在开发过程中解决安全问题,DevSecOps在DevOps的基础上逐渐发展起来,将DevOps想象成超级英雄团队中充满活力的二人组,开发人员和运营人员可以联手迅速推出软件并保证更新迭代。随后,DevSecOps出现了,他们有了一个新伙伴:安全(Security),在兼顾开发效率的同时,保障软件的安全性。DevSecOps 一词代表了开发(Dev)、安全(Sec)和运营(Ops)实践的融合,强调了安全在整个软件开发生命周期中的重要性。

Devsecops的核心概念

DevSecOps的核心概念是将安全性视为软件开发和运营不可或缺的组成部分,而非传统的后期添加或检查。DevSecOps强调在整个软件开发生命周期中,从需求分析到设计、编码、测试、部署,直至运营,都要持续考虑和实施安全措施。这种方法打破了传统软件开发中安全与速度之间的权衡,让安全和敏捷开发并存。

DevSecOps的流程

设计阶段:在设计阶段就开始考虑安全风险,并编写安全代码,要求架构师和开发人员具备安全设计能力,并确保在设计时将安全性作为核心要素。

研发阶段:实施安全编码标准,并通过自动化测试确保代码质量。开发人员需遵守安全编码规范,利用自动化工具进行代码审查和测试,预防安全漏洞。

代码管理阶段:通过版本控制系统跟踪代码更改,并定期进行代码审计,有助于及时发现并修复潜在安全问题,确保代码的完整性和安全性。

构建与测试阶段:实施自动构建和自动化测试,以确保交付安全和高质量的软件。自动化测试能够检测代码中的安全漏洞,而构建过程的自动化则保证了代码的正确性。

部署阶段:配置自动化部署流程,以确保软件环境的稳定和安全,包括在部署前进行全面安全检查,以及确保部署过程中的配置变更得到严格控制。

DevSecOps中的关键指标和度量

指标和度量在评估安全实践的有效性方面起着至关重要的作用。

漏洞修复时间:修复漏洞的时间是衡量已识别漏洞是否能得到快速解决的指标,较短的修复时间表示DevSecOps过程更加高效和及时。

检测和响应事件的平均时间:该指标是指跟踪识别和响应安全事件所花费的平均时间。较低的平均时间表示更快的事件响应速度,减小了安全事件的潜在影响。

合规水平:该指标可以评估组织对安全标准和法规要求的遵守程度,主要衡量合规违规率、审计成功率和是否能及时解决合规问题等因素。

安全测试覆盖率:该指标是评估安全测试在整个开发生命周期中所占比例的指标,可以衡量测试的代码覆盖率中针对安全漏洞的测试百分比,以及所应用的安全测试技术的全面性。

跟踪安全事件的数量:可以提供有关安全控制和整体安全状况的见解。通过监控安全事件的趋势,组织可以识别改进的领域,并实施有针对性的安全措施。

DevSecOps的优势

DevSecOps的两个主要优势是速度和安全性,让开发团队更快地交付更安全的代码,成本也因此更低。

快速、低成本地交付软件:DevSecOps的快速安全交付可节省时间并减少成本,最大程度降低在事后重复执行流程以解决安全问题的可能。集成安全性消除了重复评审和不必要的重新构建,产生了更安全的代码,成本效益更高。

主动改进安全性:DevSecOps从开发周期开始就引入安全流程,在整个开发周期中,对代码进行评审、审计、扫描和测试,以发现安全问题。一旦发现问题,就会立即处理,有助于缩短修补漏洞的时间,并使安全团队能够专注于更高价值的工作。

与现代开发相适应的自动化:持续集成/持续交付管道交付软件,可将网络安全测试集成到运营团队的自动化测试套件中。自动化测试可确保整合的软件依赖关系处于适当的补丁级别,并确认软件通过安全单元测试。此外,在最终更新升级到生产环境之前,可以使用静态和动态分析来测试和保护代码。

DevSecOps的价值—助力企业实现安全左移

安全左移是DevSecOps中的一个重要理念,强调在软件开发过程中尽早考虑和实施安全措施。

在设计阶段引入安全性考虑:从项目开始阶段就融入安全性设计,确保软件架构和代码实现都符合安全标准。

使用自动化工具进行安全检查:在开发过程中,利用自动化工具进行持续安全检查,及时发现并修复安全漏洞。

跨部门协同工作:打破部门壁垒,实现开发、安全和运维团队三者之间的紧密协作,共同确保软件安全性。

持续的安全培训和教育:通过定期的安全培训和教育活动,提高整个团队的安全意识和技能水平。

DevSecOps通过整合安全性到软件开发的每一个环节,实现了安全左移。近年开源网安也适时打造了DevSecOps解决方案,帮助企业构建新一代安全、高效、合规的全生命周期应用安全运营体系,可查看往期内容《干货分享 | DevSecOps解决方案—助力企业提升安全开发效能》进行深入了解。DevSecOps不仅是一种技术革新,更是一种思维方式的转变,它将安全融入软件开发的每一个环节,确保了软件在快速迭代的同时,也能保持高水平的安全性。随着数字化进程加速,DevSecOps将在未来软件开发领域发挥越来越重要的作用,引领软件开发安全的发展。

推荐阅读

DevSecOps示范 | 世界500强企业如何建设软件开发安全体系

DevSecOps实践:如何在研发过程中做好供应链安全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MGTR-250M 以电折水设备-助力取水计量监测体系建设

一体式以电折水智能终端通过高度集成化设计,巧妙融合了空气开关、开关电源、隔离变压器、接触器、智能电表、RTU、4G通信模块、定位模块等八大核心功能,不仅展现了经济高效和智能运维的双重优势,更以其超强的安全防护能力确保了使用的高度安全…

CV相关知识

在计算机科学和人工智能领域,"CV" 通常指的是 "Computer Vision"(计算机视觉)。计算机视觉是研究如何使计算机能够从图像或视频中获取、处理和理解视觉信息的科学和技术。计算机视觉的目标是使计算机能够自动执行人类视觉…

干净清爽的网页给用户浏览体验的重要性!此刻便展现了出来

干净清爽的网页给用户浏览体验的重要性 艾斯视觉作为ui设计和前端开发从业者,其观点始终认为:网页已成为信息传播和交流的重要平台。一个干净清爽的网页设计不仅能够吸引用户的眼球,更能提升用户的浏览体验,从而在激烈的网络竞争…

完整模型训练套路 试写 以CIFAR10分类数据集为例

思路步骤: 第一步准备数据集:(训练集,测试集) import torchvisionTrain_dataset torchvision.datasets.CIFAR10("./data",True,transformtorchvision.transforms.ToTensor()) Test_Dataset torchvision…

小程序记账系统2024

小程序记账系统2024,编号weixin002 下载在最后 技术栈: 前台:js 后台:java 展示: 下载地址: CSDN现在上传有问题,有兴趣的朋友先收藏.正常了贴上下载地址 备注:

十二星座男、被戴绿帽后有啥反应 。

白羊座——火爆型 金牛座——沉默型 双子座——智慧型 巨蟹座——自毁型 狮子座——暴力型 处女座——喊包型 天秤座——潇洒型 天蝎座——有仇必报型 射手座——气过就算型 摩羯座——冷傲型 双鱼座——大方伟大型 水瓶座——飘忽型

Shell脚本的进程管理

进程管理是系统管理的重要方面,通过对进程的监控、启动、停止和重启,可以保证系统的稳定运行。Shell脚本是一种强大的工具,可以对进程进行自动化管理,提高效率和准确性。 参考:shell脚本进程管理 - CSDN文库 shell脚本…

JavaScript(四)——JavaScript 语法

目录 JavaScript 语法 JavaScript 字面量 JavaScript 变量 JavaScript 操作符 JavaScript 语句 JavaScript 关键字 JavaScript 注释 JavaScript 数据类型 JavaScript 函数 JavaScript 字母大小写 JavaScript 字符集 驼峰命名法 小驼峰命名法 大驼峰命名法&#xf…

DrissionPage,一个超实用的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个超实用的 Python 库 - DrissionPage。 Github地址:https://github.com/g1879/DrissionPage 在网页数据抓取和自动化测试中,Selenium 和 Requests 是…

LeetCode-35 - 在排序数组中查找元素的第一个和最后一个位置

力扣35题 题目描述:在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必…

N-way K-shot Few shot learning

首先需要明确的是少样本领域的数据划分和大规模监督学习方法的数据划分不一样。在大规模监督学习方法中,训练集和测试集是混合后按比例随机切分,训练集和测试集的数据分布一致。以分类问题为例,切分后训练集中的类别和测试集中的类别相同&…

二进制部署k8s单master集群

一、常见的K8S部署方式 1、Minikube Minikube是一个工具,可以在本地快速运行一个单节点微型K8S,仅用于学习、预览K8S的一些特性使用。 https://kubernetes.io/docs/setup/minikube 2、Kubeadmin Kubeadmin也是一个工具,提供kubeadm init…

大模型之技术概述

本文作为大模型综述第一篇,介绍大模型技术基本情况。 目录: 1.大模型技术的发展历程 2.大模型技术的生态发展 3.大模型技术的风险与挑战 1.大模型技术的发展历程 2006 年 Geoffrey Hinton 提出通过逐层无监督预训练的方式来缓解由于梯度消失而导致的…

HTML连接样式CSS和表格,表单

HTML连接样式CSS <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <-设置背景都是红色-> <body style"background-color:red;"> <-设置…

从赛场到云端:视频监控技术与赛事直播的技术融合与革新

在当今信息化高速发展的时代&#xff0c;视频监控技术和赛事直播作为两个重要的应用领域&#xff0c;正在以前所未有的速度融合&#xff0c;共同推动着传媒与安防领域的进步。本文将探讨视频监控技术在赛事直播中的应用及其带来的革新。 一、视频监控技术的演进 视频监控技术…

如何对CXL Port做Link Disable和Hot Reset

✨前言&#xff1a; 在CXL的验证测试中&#xff0c;对CXL Port做Link Disable和Hot Reset对比PCie的Port做相同的操作略有不同 ✨1.CXL Extensions DVSEC for Ports 协议里我们可以找到CXL协议里的第八张内容里的CXL Extensions DVSEC for Ports里的Port Control Extensions …

什么情况下你能接受 996

在当下的职场环境中&#xff0c;996 工作制一直是一个备受争议的话题。 “996”是一种工作制度的代称&#xff0c;指的是工作日早上 9 点上班&#xff0c;晚上 9 点下班&#xff0c;中午和傍晚休息 1 小时&#xff08;或不到&#xff09;&#xff0c;总计工作 10 小时以上&…

XSP04 PD诱骗芯片Type-C受电端用电5V9V10V11V12V15V20V,多协议PD+QC+AFC+FCP+SCP+VOOC使用体验

Type-C受电端控制芯片&#xff0c;顾名思义就是应用在用电端&#xff0c;例如3C数码产品、小家电、锂电池快充、小型发热产品等&#xff0c;一般产品使用Type-C接口&#xff0c;需要充电器的快充&#xff08;如9V以上&#xff09;供电&#xff0c;就可以使用XSP04 Type-C控制芯…

DevExpress WPF中文教程:如何将GridControl的更改发布到数据库?

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

【Linux】全志Tina使用swupdate命令进行ab区分区升级操作

一、代码 swupdate -v -i /ota.swu -e stable,now_A_next_B 二、介绍 首先需具备swupdate命令&#xff0c;没有此命令需使用make menuconfig开启。 其次需指定swu文件的路径&#xff0c;代码中的路径是“/ota.swu”。 之后需要知道当前是分区A还是分区B。 --从A升B&#x…