SDL(安全开发生命周期) 笔记
创始人
2024-05-29 05:28:48
0

0x00 前言

作为笔记记录SDL相关基础知识。

SDL:Security Development Lifecycle 安全开发生命周期

0x01 正文

1.什么是SDL

SDL:Security Development Lifecycle 安全开发生命周期,将安全融入到开发的每一个过程中去,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。

那么问题就来了,为什么要做这个东西,有什么好处。

由于SDL将安全进行左移,在源头就发现漏洞,可以直接进行修复,从而减少后期维护成本,以及和软件功能冲突的问题。

2.SDL活动简图

微软SDL安全活动简图
在这里插入图片描述

2.1 培训

  • 核心安全培训
    • 培训内容
      • 安全编码规范
      • 安全常识、基础安全知识
    • 培训对象
      • 开发人员
      • 测试人员
      • 项目经理
      • 产品经理
      • 运维人员
      • 客服人员

2.2 需求

2.2.1 安全需求

  • 定义软件隐私,以及信任度
  • 确认最低安全要求
  • 确立和部署安全漏洞跟踪系统,通过什么方式跟踪(可以通过jira)

2.2.2 创建质量标准及Bug栏

  • 此标准主要用来确立安全和隐私质量的最低可接受级别
  • 比如需要满足何种需求
    • 隐私程度
    • 安全
      如何进行检测:
    • 编码插件
    • 静态扫描工具

所谓的Bug栏可以理解对漏洞的标准,对软件的最低标准,对漏洞的标准,比如不能出现中危以上的漏洞

2.2.3 安全&隐私风险评估

  • 项目的哪些部分在发布前需要威胁模型?
  • 项目的哪些部分在发布前需要进行安全设计评析?
  • 项目的哪些部分(如果有)需要由不属于项目团队且双方认可的小组进行渗透测试?
  • 是否存在安全顾问认为有必要增加的测试或分析要求以缓解安全风险?
  • 模糊测试要求的具体范围是什么
  • 隐私影响评级如何?应基于以下准则回答此问题:
    • P1 高隐私风险。功能、产品或服务将存储或传输 PII,更改设置或文件类型关联,或是安装软件。
    • P2 中等隐私风险。功能、产品或服务中影响隐私的唯一行为是用户启动的一次性匿名数据传输(例如,软件在用户单击链接后转到外部网站)。
    • P3 低隐私风险。功能、产品或服务中不存在影响隐私的行为。不传输匿名或个人数据,不在计算机上存储 PII,不代表用户更改设置,并且不安装软件。

2.3 设计

2.3.1 设计要求

  • 创建安全和隐私设计规范
  • 规范评析以及最低加密设计要求规范
  • 功能规范
    • 准确完整地描述特性或功能的预期用途。
    • 描述如何以安全的方式部署特性或功能。

2.3.2 减小攻击面

  • 减小攻击面通过减少攻击者利用潜在弱点或漏洞的机会来降低风险。
  • 减小攻击面包括关闭或限制对系统服务的访问、应用最小权限原则以及尽可能进行分层防御

这里其实可以从软件的最底层来进行处理,比如从启动权限,以及站库分离,弱口令入手

2.3.3 威胁建模

威胁建模用于存在重大安全风险的环境之中。

开发团队可以在其计划的运行环境的背景下,以结构化方式考虑、记录并讨论设计的安全影响。

实际上威胁建模可以贯穿整个需求以及设计

2.4 实施

2.4.1 使用批准的工具

  • 使用工具
    • 开发工具
    • 编译工具
    • 第三方库(这里涉及到供应链安全问题)

2.4.2 弃用不安全的函数

  • 禁用确定为不安全的函数和 API(这里实际上需要一版不安全的函数和API的标准:如开发SDL指南)
  • 通过静态扫描器来扫描代码

2.4.3 静态分析

项目团队应对源代码执行静态分析。
通常情况下就是

  • 工具审计
  • 人工审计

2.5.验证

2.5.1 动态程序分析

对软件程序进行运行时验证

  • 监控应用程序行为是否存在内存损坏
  • 用户权限问题以及其他重要安全问题
  • 工具
    • AppVerifier

2.5.2 模糊测试

对可输入点进行fuzz测试

2.5.3 威胁模型和攻击面评析

成品和最初的内容可能不一定一样,所以需要重新进行威胁模型的建立和攻击面的评析。

2.6 发布

2.6.1 事件响应计划

受 SDL 要求约束的每个软件发布都必须包含事件响应计划
事件响应计划应包括:

  • 单独指定的可持续工程 (SE) 团队。
  • 7*24小时联系
  • 代码的安全维护
  • 第三方代码的安全维护计划

2.6.2 最终安全评析

最终安全评析 (FSR)

  • 通过 FSR
  • 通过 FSR 但有异常
  • 需上报问题的 FSR

2.6.3 发布/存档

对所有相关信息和数据进行存档,以便可以对软件进行发布后维护

信息和数据包括:

  • 所有规范
  • 源代码
  • 二进制文件
  • 专用符号
  • 威胁模型
  • 文档
  • 紧急响应计划
  • 第三方软件的许可证
  • 服务条款
  • 维护任务所需的任何其他数据

3. 流程图

在这里插入图片描述

0x02 其他

SDL主要还是考虑在基于瀑布模式的开发进行安全的左移,但是现在SaaS化时代,所以SDL需要再次改进,但是有很多东西是可以进行相互继承的,之后的内容也会在这里进行补充。

相关内容

热门资讯

高考体育训练简讯范文(优选6... 高考体育训练简讯范文 篇一篇一:高考体育训练简讯尊敬的家长们:大家好!我校高三学生即将面临高考,为了...
广东高考作文题目【精选3篇】 广东高考作文题目 篇一:人工智能的发展与应用人工智能(Artificial Intelligence...
陕西高考作文【精彩5篇】 陕西高考作文 篇一我与高考的那些回忆高考,是许多学生人生中最重要的考试之一。回忆起当年的高考,我心情...
“文眼”,让佳作更亮丽!【推... “文眼”,让佳作更亮丽! 篇一文学作品是人类智慧的结晶,是文化传承的重要组成部分。然而,很多优秀的作...
新高考I卷山东高考作文【精彩... 新高考I卷山东高考作文 篇一:新高考改革下的挑战与机遇随着新高考改革的深入推进,山东高考也迎来了新的...
高考满分作文记叙文作文(实用... 高考满分作文记叙文作文 篇一失而复得的梦想那一年的高考,对我来说是一个重要的转折点。在备战高考的过程...
英语高考作文写作范文【精彩6... 英语高考作文写作范文 篇一标题:The Importance of Learning English...
扬长避短,方能成功高考优秀作... 扬长避短,方能成功高考优秀作文 篇一在高考备战的过程中,每个学生都有自己的优势和劣势。有的同学擅长理...
安徽高考作文解析及:像苏洵一... 安徽高考作文解析及:像苏洵一样教育孩子 篇一随着高考的临近,安徽省的学生们都在紧张备战,而其中最重要...
高考作文指导:借用章回小说笔... 高考作文指导:借用章回小说笔法开头 篇一纵观历届高考作文题目,我们会发现一个共同的特点,那就是题目往...
北京市高考满分作文未产生零分... 北京市高考满分作文未产生零分作文已出现 篇一近年来,北京市高考满分作文逐渐成为一种现象,令人瞩目。然...
浙江卷高考优秀作文【优选6篇... 浙江卷高考优秀作文 篇一桃花源的美丽桃花源,位于浙江的一个小村庄,以其独特的美丽而闻名。每年春天,当...
高考作文案例“以自己的方式改... 高考作文案例“以自己的方式改变世界” 篇一第一篇内容以自己的方式改变世界改变世界,是每个人心中的一个...
山东高考满分作文(推荐6篇) 山东高考满分作文 篇一:我的家乡山东山东,一个位于中国东部的美丽省份,是我热爱的家乡。这里有壮丽的自...
上海卷高考满分作文【精彩3篇... 上海卷高考满分作文 篇一如何做好高中生活的规划高中生活是人生中最重要的阶段之一,它不仅关乎我们的学习...
高考满分作文【实用6篇】 高考满分作文 篇一:《中国梦:我与未来的契约》中国梦,是每个中国人的梦想,是亿万人民的期盼。作为一名...
高考满分作文【通用6篇】 高考满分作文 篇一:坚持,让梦想照进现实高考,是每个学子心中的一道大关,更是一个人成长的里程碑。在这...
高考广东卷作文题目(经典3篇... 高考广东卷作文题目 篇一:探讨高考改革对学生综合素质的影响随着时代的发展和社会的变迁,高考作为一项重...
莆田新疆班将在莆田参加高考(... 莆田新疆班将在莆田参加高考 篇一新疆班是指由新疆籍学生组成的高中班级,这个班级通常由教育部门统一组织...
2019高考作文范文格式【最... 2019高考作文范文格式 篇一标题:人工智能对社会的影响人工智能(Artificial Intell...