企业 SDLC 安全生命周期管理

news2025/7/18 9:37:30

最近看了很多SDLC的东西,把其中比较重要关键的记录一下,用简洁的语言说清楚

0x01 SDL 介绍

SDL是微软提出的一种软件开发安全生命周期管理的一种最佳安全实践,全称为Security Development Lifecycle

0x02 为什么要SDL

目的是为了从安全漏洞产生的根源上解决应用安全问题,通过对软件开发流程的控制,保证产品的安全性。

SDL它主要侧重于软件开发的安全保证过程,所谓现在很多人说的安全左移

SDL主要是致力于在软件开发过程中,把安全的东西融入进去,尽量在之前就可以减少软件中漏洞的数量

核心问题

SDL的核心理念是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。

从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。

SDL基于三个核心概率:培训教育、持续过程改善和责任。

SDL的一个主要目标:安全和隐私

SDL在开发过程的所有阶段进行安全和隐私保护

SDL的核心理念是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度

0x03 主要流程把控

安全人员在工作中对于流程的把控是推动落实的关键

0 安全培训

产品、设计、研发、安全人员的安全意识培训。

SDL核心之一就是安全培训,要在所以立项之前就做一些准备

  • 安全编码
  • 安全意识
  • 安全知识库(解漏洞原理、修复方案)
  • 安全SDK(让架构将一些漏洞修复方式用SDK实现,开发只需要导入包即可,比如安全的http方法防SSRF,让开发无感的调用即可)

1 立项阶段(安全需求设计)

所有的项目立项都需要通过系统来进行立项,立项评审会议中阐述安全观念,对立项需求可能存在的安全问题提出指导意见,确定安全需求

制定开发规范(java、php等)

2 设计阶段 PM–PRD

开发设计评审会,根据产品设计讲解安全需求CHECKLIST,

设计安全规范,根据需求文档和项目经理确定安全需求,涉及框架设计、业务逻辑

3 开发阶段/实施

开发人员开发工作主要为IDEA等,可以结合FindBugs及安全插件FindSecBugs让开发人员自己进行代码安全审计。

我们可以根据SonarRQube进行代码审计,检测开发人员的代码是否符合JAVA开发规范和OWASP标准,通过会议方式和项目组开发人员沟通。

进行安全编码培训,提前把控漏洞风险点,为后续渗透测试节省工作量。

4 测试阶段

静态代码扫描 SAST

利用静态代码扫描工具对代码在编译之前进行扫描,并在静态代码层面上发现各种问题

这里主要利用就是SAST(自研、Fortify、CHeckmarx、Flawfinder)

静态代码扫描常见采用sonarQube集成,利用FindbugSecurity,精简规则,然后在持续构建过程中,进行静态代码bug,安全扫描。

DAST

简单理解就是黑盒扫描器

Web应用扫描:可以由测试人员扫描,安全人员分析报告,跟踪漏洞安全修复。

人工渗透测试:项目上线前除了自动化工具扫描外,需要人工测试,深挖漏洞;季度渗透测试,如果项目多的话,最起码半年一次全项目的渗透测试。

IAST

这个属于一黑白灰结合版本,原理就插桩,进行污点追踪。

有一张图特别好(https://www.aqniu.com/wp-content/uploads/2019/04/%E5%9B%BE-9.png)

img

漏洞修复培训:尽管前面做了大量的工作,安全漏洞出现不可避免,出现漏洞及时和开发人员沟通,面对面交流。

5 运维监控

syslog打到日志中心可视化,并定制对应的规则实现告警即可,我们所说的SIEM

推动系统漏洞修复和系统安全基线检查:系统在整个防护体系的内部,兴许推动起来不那么容易,有时候推动漏洞修复不在于数量而在于精,内网不能出现的系统漏洞一定要及时修复,逐步推动,推动需要和运维讨论。

  • 安全漏洞管理:护漏洞管理系统
  • Git监控:做好代码监控工作,避免出现代码泄露GitHub监控。
  • SRC的运营:如果资金不足可以借助安全平台的SRC,hackerone这种 。
  • 急响应工作,制定入侵检测CHECKLIST:一不小心就会出现入侵,制定入侵检测CHECKLIST
  • 搭建态势感知平台

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

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

相关文章

硕士论文阅读——基于机器视觉和深度学习的工人安全帽检测与身份识别方法

文章目录零、摘要一、绪论1、背景与研究意义2、国内外研究现状(1)安全帽佩戴检测研究现状与不足(2)身份识别研究现状与不足(3)基于深度学习的目标检测二、深度学习目标检测理论1、卷积神经网络(…

jQuery基础

目录 jQyery简介 获取jQuery jQuery基本语法 1.使用jQuery弹出提示框 2.$(document).ready()与window.onload的区别 jQuery选择器 jQuery层次选择器 jQyery简介 jQuery由美国人John Resig于2006年创建。jQuery是目前最流行的JavaScript程序,它是对JavaScript对…

Windows OpenGL 图像灰度图

目录 一.OpenGL 图像灰度图 1.原始图片2.效果演示 二.OpenGL 图像灰度图源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES …

27k入职阿里测试岗那天,我哭了,这5个月付出的一切总算没有白费~

先说一下自己的个人情况,计算机专业,16年普通二本学校毕业,经历过一些失败的工作经历后,经推荐就进入了华为的测试岗,进去才知道是接了个外包项目,不太稳定的样子,可是刚毕业谁知道什么外包不外…

Linux任务调度

基本原理: crontab [选项] -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前用户所有的crontab任务 快速入门 设置任务调度文件: /etc/crontab 设置个人任务调度。执行crontab -e命令。 接…

100道Spring面试题以及参考答案(2022年最新版)

77道Spring面试题以及参考答案(2022年最新版),分享给大家~ 一、Spring概述 1. 什么是spring? Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各…

netstat命令应用和ifconfig命令应用

记录: 318 场景: 在CentOS 7.9操作系统上,使用netstat命令监控和查看TCP/IP等网络信息;使用ifconfig命令查看IP地址等网络信息。 版本: 操作系统: CentOS 7.9 1.基础环境 在CentOS 7.9操作系统,使用netstat命令和ifconfig命令&#xff…

Linux之LNMP离线安装

一、需求说明 LNMP一键安装包对于小型系统部署来说真的是非常方便,日常工作中除了在线安装,也存在部分场景要求离线安装。比如内网专网、严格限制访问外网的网络等,有些院校的实验室就是这种情况,需要使用光盘来完成系统的部署安装…

2022年认证杯SPSSPRO杯数学建模C题(第二阶段)污水流行病学原理在新冠疫情防控方面的作用求解全过程文档及程序

2022年认证杯SPSSPRO杯数学建模 C题 污水流行病学原理在新冠疫情防控方面的作用 原题再现: 2019 年新型冠状病毒肺炎疫情暴发至今已过两年,新型冠状病毒历经多次变异,目前已有 11 种变异毒株,包括阿尔法、贝塔、德尔塔、奥密克戎…

Optional详解

一 有什么用 对象的NPE处理简化if else代码 二 怎么用 Optional 就好像是一个包装类,可以把具体的数据封装到 Optional 对象内部,然后我们去使用 Optional 中封装好的方法操作封装进去的数据就可以非常优雅的避免空指针异常 2.1 创建Optional对象 O…

CellMarker 2.0 | 细胞标志物数据库更新啦!~(附使用指南)

1写在前面 细胞标志物(Cellmarker)可以用来定义、区别不同细胞。随着单细胞测序(scRNA-seq)的普及(主要是便宜了📉),相关的研究也越来越多。🥳 在进行细胞注释的时候&…

【菜菜的sklearn课堂笔记】逻辑回归与评分卡-二元逻辑回归损失函数的数学解释,公式推导与解惑

视频作者:菜菜TsaiTsai 链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili 白板推导里有写过程,但是当时理解的不太好,ψ(xi,ω)\psi(x_{i},\omega)ψ(xi​,ω)的理解有点问题也就是下面的yθ(xi)y_…

Docker(二):Windows系统安装Docker

安装环境 在安装之前,Windows 版 Docker 的环境有以下要求: 1、Windows 10 Pro(专业版) / Enterprise(企业版) / Education(教育版)(1607 Anniversary Update、Build 14…

Vue3路由——基本使用、动态路由、路由正则、重复参数、嵌套路由、编程式导航、命名路由、重定向、别名、路由模式与导航守卫

文章目录P23 Vue3路由的基本使用P24 动态路由和404NotFound动态路由404NotFoundp25 路由正则与重复参数路由正则重复参数p26 嵌套路由p27 使用js跳转页面(编程式导航)p28 命名路由与重定向别名命名路由重定向别名p29 路由模式与导航守卫P23 Vue3路由的基本使用 npm init vite-…

[附源码]java毕业设计基于的花店后台管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

《Nature》STING 与 cGAMP 结合导致 TBK1 激酶募集和活化

来自细菌或病毒的核酸在受感染的细胞中会产生强效的免疫反应,而病原体衍生核酸的检测是宿主感知感染并启动保护性免疫反应的核心策略。cGAS (Cyclic GMP-AMP synthase) 是一种双链 DNA 传感器,可催化 cGAMP(cyclic GMP-AMP)的合成…

中间件简介

中间件简介 1. 中间件概述 随着网络和软件技术的飞速发展,软件面临更多的问题,例如:不同的操作系统、不同的网络环境等。在每个软件中解决这些问题加大了软件开发人员的负担,因此倾向于将这些具有广泛应用的共性功能提取出来&am…

【离散数学】第二章 测试

1.单选题 谓词推理要 A. 先US,后ES B. 先ES,后US 正确答案: B 2.单选题 前提: (∀x)(F(x)→G(x)),(∃x)F(x), 结论: (∃x)G(x)。 A. 成立 B. 不成立 正确答案: A 3.单选题 根据ES规则,若(∃x)P(…

gRPC(八)生态 grpc-gateway 应用:同一个服务端支持Rpc和Restful Api

目录前言一、gRPC-Gateway概述1、简述2、出现二、准备工作1、目录结构2、环境准备1)Protobuf2)gRPC3)gRPC-Gateway3、编写 IDL1)google.api2)hello.proto3)编译proto4、制作证书1)生成CA根证书2…

香港服务器一定比美国服务器好吗?

香港服务器一定比美国服务器好吗?从出海业务兴起以来就有不少的站长拿较为热门的香港服务器和美国服务器来作出对比,对其两者孰优孰劣的探讨一直都没有停止过。在这里,我们对两者做个比较。 香港服务器和美国服务器两者的对比: 1. 香港服务器…