企业安全—DevSecOps概述详情
0x00 前言
SDL存在的问题在于体量过于庞大,不利于快速进行适配和进行,所以就有了DevSecOps,实际上是因为敏捷开发也就是DevOps的推进,并且坐上了云服务模式的火车,所以这一系列的东西都开始普及。DevSecOps作为DevOps补充的一环,处于一个重要的内嵌位置,彻底的落实安全的融合,以及自动化完整的特性。基本上只要涉及到频繁上线,多次编排的模式都可以采用DevSecOps融合的方式来维护更高的安全性。
因为本文是基于目前我自身的认知所成,如有描述不妥,或者描述不完整的地方,还请指出斧正。
0x01 概述
下图是DevSecOps的流程嵌入图

整个体系内容包括如下:
- 计划
- 创建
- 验证
- 预发布
- 检测
- 响应
- 预测
- 适应
0x02 计划
- 安全建模
- 培训
- 确定流程
这一个阶段其实可以看做是SDL的培训和要求,设计融合产物
0x03 创建
这里的创建实际上就是运行时的环境检查,包括开发软件环境,实施检测,开源第三方引用也可以放在这个阶段来进行。
0x04 验证
验证就是需要在流水线上进行自动化的验证,通过集成多种检测工具,比如SonarQube,Depend-track,IAST,DAST动态检测,当然fortify和codeQl都可以放在这一层进行检测。
0x05 预发布
- 混沌测试,完整内容的整体测试,通过工具以及人工测试
- Fuzzing 测试
- 集成测试
0x06 持续检测
持续监控就是在快速构建完整,并且运行起来之后进行的持续检测内容,主要采用的是
- RASP
- 网络监控
通常都是利用随时检测技术来进行事实的监控。
0x07 响应
这里的响应和SDL实际上是非常相似的过程,不过基于云的特性,不再有补丁流程,而是直接走构建,测试,然后直接合并运行的特点,少了补丁维护的问题,但是需要更强大的漏洞管理流程
其次就是增加,威胁情报系统,安全自动化工具,还有底层的防护工具。
0x08 预测
这里的预测的范围非常广包括,漏洞情报,威胁情报,提前预测管理等内容
0x09 适应
根据环境的变化修改应急方案,修复方案,以及防护的方案。
0x10 总结
具体的实施还是需求根据环境的变化来进行变化,从而进行调整达到和企业的适配程度,从基层开始提高安全程度。
补充知识
SDL介绍
SDL是Simple DirectMedia Layer(简单直接媒体层)的缩写,是一个跨平台的多媒体库,它提供了一个简单的API,允许开发者轻松地使用音频、视频、输入设备和图形硬件等多媒体资源。SDL最初是为游戏开发而设计的,但它的高效性和跨平台特性使其也被广泛应用于其它领域,如图像处理、模拟器等。SDL支持的平台包括Windows、Linux、Mac OS X、iOS、Android等。SDL是Simple DirectMedia Layer(简单直接媒体层)的缩写,是一个跨平台的多媒体库,它提供了一个简单的API,允许开发者轻松地使用音频、视频、输入设备和图形硬件等多媒体资源。SDL最初是为游戏开发而设计的,但它的高效性和跨平台特性使其也被广泛应用于其它领域,如图像处理、模拟器等。SDL支持的平台包括Windows、Linux、Mac OS X、iOS、Android等。
DevSecOps介绍
DevSecOps是一种软件开发流程的方法论,将安全性集成到DevOps流程中,以确保在代码编写、构建、部署和维护过程中的安全性。它强调了团队成员的跨职能性和协作,旨在创建安全的软件系统。DevSecOps的目标是使安全性成为软件开发和交付过程的一部分,而不是在系统部署后才考虑安全性,以减少安全漏洞和风险,保护客户和企业数据。DevSecOps是一种软件开发流程的方法论,将安全性集成到DevOps流程中,以确保在代码编写、构建、部署和维护过程中的安全性。它强调了团队成员的跨职能性和协作,旨在创建安全的软件系统。DevSecOps的目标是使安全性成为软件开发和交付过程的一部分,而不是在系统部署后才考虑安全性,以减少安全漏洞和风险,保护客户和企业数据。
SDL和DevSecOps的比较
SDL(Security Development Lifecycle)和DevSecOps都是与软件开发和安全有关的方法论,但它们有不同的重点和目标。
SDL是一种按照安全最佳实践整合到软件开发生命周期中的流程。它着重于在软件开发的早期阶段就识别和处理潜在的安全问题,以降低在后期开发和维护中出现安全漏洞的风险。SDL包括多个阶段,包括需求分析、设计、实现、测试和部署等,每个阶段都有特定的活动和文档来确保软件的安全性。
DevSecOps则是一种将安全性嵌入到整个软件开发流程中的方法。它强调通过自动化和协作来促进快速、持续和安全的软件发布。DevSecOps的目标是打破安全和开发之间的壁垒,使安全团队可以快速响应开发团队的需求,并将安全性纳入到自动化的构建、测试和部署流程中。
总的来说,SDL注重整个软件开发生命周期中的安全性,而DevSecOps则更加注重集成安全性到整个软件开发流程中。两种方法都是很有用的,具体的应用需要根据具体项目的需求和情况来决定。SDL(Security Development Lifecycle)和DevSecOps都是与软件开发和安全有关的方法论,但它们有不同的重点和目标。
SDL是一种按照安全最佳实践整合到软件开发生命周期中的流程。它着重于在软件开发的早期阶段就识别和处理潜在的安全问题,以降低在后期开发和维护中出现安全漏洞的风险。SDL包括多个阶段,包括需求分析、设计、实现、测试和部署等,每个阶段都有特定的活动和文档来确保软件的安全性。
DevSecOps则是一种将安全性嵌入到整个软件开发流程中的方法。它强调通过自动化和协作来促进快速、持续和安全的软件发布。DevSecOps的目标是打破安全和开发之间的壁垒,使安全团队可以快速响应开发团队的需求,并将安全性纳入到自动化的构建、测试和部署流程中。
总的来说,SDL注重整个软件开发生命周期中的安全性,而DevSecOps则更加注重集成安全性到整个软件开发流程中。两种方法都是很有用的,具体的应用需要根据具体项目的需求和情况来决定。
相关文章:
企业安全—DevSecOps概述详情
0x00 前言 SDL存在的问题在于体量过于庞大,不利于快速进行适配和进行,所以就有了DevSecOps,实际上是因为敏捷开发也就是DevOps的推进,并且坐上了云服务模式的火车,所以这一系列的东西都开始普及。DevSecOps作为DevOps…...
数据结构与算法(十):动态规划与贪心算法
参考引用 Hello 算法 Github:hello-algo 1. 动态规划算法 动态规划将一个问题分解为一系列更小的子问题,并通过存储子问题的解来避免重复计算,从而大幅提升时间效率 问题:给定一个共有 n 阶的楼梯,你每步可以上 1 阶或…...
【C++代码】安排行程,N皇后,解数独--代码随想录
题目:重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必…...
SpringCloud Alibaba【二】nacos
nacos配置与使用 nacos初步使用nacos安装与配置创建命名空间 nacos使用与配置创建新项目作为父项目 创建nacos服务端项目pom.xmlapplication.yml启动类 创建nacos客户端项目pom.xml application.yml启动类 启动测试 nacos配置负载均衡改造生产者nacos-provider-projectcontroll…...
C++中的fsanitize指令
一个集成在 gcc、clang 编译器中的编译指令,可以有效测试程序中的一些诸如数组越界、未定义行为等情况。 举个例子: #include <bits/stdc.h> using namespace std;const int maxn2e55,mxr1e5,maxm1e75; int head[maxn],nxt[maxn],to[maxn],f[max…...
【AI视野·今日Robot 机器人论文速览 第五十八期】Thu, 19 Oct 2023
AI视野今日CS.Robotics 机器人学论文速览 Thu, 19 Oct 2023 Totally 25 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers InViG: Benchmarking Interactive Visual Grounding with 500K Human-Robot Interactions Authors Hanbo Zhang, Jie Xu, Yuch…...
Java截取(提取)子字符串(substring()),Java分割字符串(split())
在 String 中提供了两个截取字符串的方法,一个是从指定位置截取到字符串结尾,另一个是截取指定范围的内容。下面对这两种方法分别进行介绍。 1. substring(int beginIndex) 形式 此方式用于提取从索引位置开始至结尾处的字符串部分。调用时,…...
从厨房间到股市:家庭主妇的华美转身
我一直是一个安于现状的家庭主妇。生活中,我热爱烹饪、园艺和照顾家人,但我也渴望能有更多的自我实现和价值感。在机缘巧合下,我接触到了卓扬网,一个专业的股票投资平台。从那刻起,我的人生发生了翻天覆地的变化。 初…...
Oracle 数据库的锁排查方法
关键字 oracle lock 问题描述 Oracle 数据库上锁问题如何排查 解决问题思路 准备数据 create table lock_test(name varchar(10),age varchar(10));insert into lock_test values(ff,10); insert into lock_test values(yy,20); insert into lock_test values(ll,30);Orac…...
混合精度训练原理之float16和float32数据之间的互相转换
混合精度训练原理之float16和float32数据之间的互相转换 本篇文章参考:全网最全-混合精度训练原理 上述文章已经讲解的比较详细,本文只是从数值角度分析: 1. float32转入float16的精度误差 2. 在深度学习的混精度训练当中,当参数…...
网络协议--ICMP:Internet控制报文协议
6.1 引言 ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 ICMP报文是在IP数据报内部被传输的,如图6-1所示。 ICMP…...
《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网
目录 一. 在 Windows 操作系统中探测 HTTP/HTTPS 出网 1. Bitsadmin 命令 2.Certuil 命令 2.Linux系统探测HTTP/HTTPS出网 1.Curl命令 2.Wget命令 对目标服务器探测 HTTP/HTTPS 是否出网时,要根据目标系统类型执行命令,不同类型的操作系统使用的探…...
【Win11】系统重装教程(最新最详细)
目录 一.简介 二.用U盘制作PE系统 三、安装系统 软件:Windows 11版本:21H2语言:简体中文大小:5.14G安装环境:PE系统,至少7代处理器硬件要求:CPU2.0GHz 内存4G(或更高)下载通道①丨…...
如何构建一个外卖微信小程序
随着外卖行业的不断发展,越来越多的商家开始关注外卖微信小程序的开发。微信小程序具有使用方便、快速上线、用户覆盖广等优势,成为了商家们的首选。 那么,如何快速开发一个外卖微信小程序呢?下面就让我们来看看吧! 首…...
小知识(5) el-table行样式失效问题
一、实现效果 子级呈现不同颜色去区分 二、最初代码 tips: 我这里使用的vue3 elementplus <el-table :row-class-name"tableRowClassName" >... </el-table>function tableRowClassName({ row, rowIndex }) {if (row.children.length 0) {return …...
【Docker】Docker数据的存储
默认情况下,在运行中的容器里创建的文件,被保存在一个可写的容器层里,如果容器被删除了,则对应的数据也随之删除了。 这个可写的容器层是和特定的容器绑定的,也就是这些数据无法方便的和其它容器共享。 Docker主要提…...
hive字段关键字问题处理
最近在xxl_job部署shell调度任务时,发现在编写Hql时,对一些使用关键字命名的字段无法解析,按开发规范,字段命名不应该有关键字,但是数据来源是第三方,无法修改,需要通过flume对从kafka的数据到hdfs上,数据是json格式,所以需要对关…...
指定顺序输出
系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…...
(Java)中的数据类型和变量
文章目录 一、字面常量二、数据类型三、变量1.变量的概念2.语法的格式3.整型变量4.长整型变量5.短整型变量6.字节型变量 四、浮点型变量1.双精度浮点数2.单精度浮点数 五、字符型常量六、布尔型变量七、类型转换1.自动类型转换(隐式)2.强制类型转换(显式…...
SHELL脚本编程基础,bilibili王晓春老师课程个人笔记(写比较简单,仅供参考)
文章目录 一、第一天(Shell脚本编程基础)作者视频ppt部分作者视频操作编写一个hello.sh可执行文件使hello.sh可以到处运行没有执行权限的执行方式下载httpd(web服务器)curl字符界面浏览器 命令列表凌乱笔记 作业重点: …...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
