写一篇软件安全开发流程分享给大家,帮助从事软件开发,测试,管理的人员,规范操作,重视软件工程安全。

现今社会存在各种网络安全事件,比如勒索病毒导致许多网络系统瘫痪,大量注册用户个人数据泄露导致企业面临破产,银行职员留后门为自己牟利。网络安全形势严峻,各个国家、政府、企业、医院、学校都积极投入到捍卫网络安全,保护公司资产,维护用户合法权益的保卫战当中,网络安全工程师成为新兴和稀缺岗位。

一、优秀软件安全开发流程

微软为了提升公司研发的操作系统和各类办公软件的安全,提出了SDL security development lifecycle(安全开发生命周期),即从安全角度指导软件开发过程的管理模式。SDL是一个安全保证的过程,重点是软件开发,它在开发的所有阶段都引入了安全和隐私的原则。

以下是微软SDL流程框架图:

其主要由以下7部分组成:

1、安全培训(training):提升团队安全意识,对齐安全要求

2、需求分析(requirements): 建立安全需求管理、安全质量标准、安全与隐私风险评估

3、系统设计(design): 制定设计规范、攻击面分析、威胁建模

4、实现(implementation):使用优选工具、消减危险函数、对代码进行静态安全检查

5、验证(verification): 动态安全测试、Fuzz测试、攻击面评审

6、发布(release): 制定安全应急响应计划、最终安全审计、发布归档

7、响应(response):执行安全应急响应计划

根据微软的SDL流程框架,我们看出软件安全开发是软件开发的必然趋势,即必须要将安全纳入到传统软件开发流程的每个环节。

二、总结软件安全开发流程新增的安全活动

传统软件开发流程

软件安全开发流程新增项

客户需求收集

客户安全需求收集

需求分析与澄清

分析客户安全需求,制定安全标准和要求,建立安全需求管理、安全与隐私风险评估

软件设计

在特性设计中结合安全设计规范进行安全设计,对模块进行威胁建模和攻击面分析

软件编码

  1. 安全编码:新代码使用安全函数,老代码替换危险函数,对代码进行安全检视;
  2. 使用第三方开源工具或者库,需要使用最好的最新的

版本构建

  1. 满足安全编译选项的要求
  2. 选择安全的构建工具

软件测试

  1. 对安全设计进行分析与评审,输出安全测试用例
  2. 对软件暴露的接口进行Fuzz测试
  3. 对软件暴露的攻击面进行攻防渗透测试
  4. 对软件进行安全扫描与漏洞挖掘

客户质量验收

  1. 提供验收的安全交付件,如安全设计说明书、安全测试报告
  2. 提供测试环境给客户,让客户进行安全评估

发布与运维

  1. 制定安全应急响应计划,并在实际运维中落地
  2. 日常运维中做好安全巡检,遇到黑客攻击,及时告警,并快速修复安全漏洞

软件安全开发 - 流程规范相关推荐

  1. 系统工作开发流程规范

    系统工作开发流程规范 摘要:我负责的公司的财务系统建设,主要是结算系统和报销系统,*因为排期.需求不明确,导致大家都很累.*财务部门是我们的主要对接方,财务系统作为公司OA系统中的一环,目的是为了解放 ...

  2. 中小企业怎样搭建软件安全开发流程和规范

    文章目录 微软SDL相关内容学习记录 微软SDL介绍 SDL核心概念 SDL优化模型 SDL适用性 SDL角色分工 简化的SDL安全活动 必需的安全活动 培训 要求 设计 实施 验证(对应的是测试阶段 ...

  3. 阿里开发规范_字字珠玑,高级技术专家带你了解阿里的开发流程规范

    此前,阿里高级技术专家孔凡勇(云狄)老师撰写了在 Alibaba 成为优秀的技术主管,需要在"开发规范.开发流程.技术规划与管理"方面有自己的深入思考文章.受广大读者的需求,我们邀 ...

  4. 大数据产品开发流程规范_华为内部资料流出!揭秘华为数据湖:3大特点、6个标准、入湖流程...

    点蓝色字关注"云技术" 导读:数据湖:实现企业数据的"逻辑汇聚". 作者:华为公司数据管理部来源:大数据DT(ID:hzdashuju)01 华为数据湖的3个特 ...

  5. IT研发/开发流程规范效能的思考总结

    前言 在谈效能之前,我想先谈谈作为一个技术人或者技术TL,研发的核心价值是什么? 之前看了一篇文章,比较有意思,分享一下观念: 外包公司:最核心的竞争力不是技术,而是快速响应.资源调配整合.项目成本控 ...

  6. 大数据产品开发流程规范_大数据开发步骤和流程

    大数据项目开发步骤: 第一步:需求:数据的输入和数据的产出: 第二步:数据量.处理效率.可靠性.可维护性.简洁性: 第三步:数据建模: 第四步:架构设计:数据怎么进来,输出怎么展示,最最重要的是处理流 ...

  7. 大数据产品开发流程规范_大数据系统开发步骤流程是怎样的

    大数据系统开发步骤流程是怎样的呢?下面来为大家介绍 大数据项目开发步骤: 第一步:需求:数据的输入和数据的产出: 第二步:数据量.处理效率.可靠性.可维护性.简洁性: 第三步:数据建模: 第四步:架构 ...

  8. 大数据产品开发流程规范_大数据开发流程规范化(最新数据流图及相关数据技术分析)...

    大数据的开发过程,如图1-1所示. 图 1-1大数据开发通用步骤图 上图只是一个简化后的步骤和流程,实际开发中,有的步骤可能不需要,有的还需要增加步骤,有的流程可能更复杂,因具体情况而定. 下面以Go ...

  9. 大数据产品开发流程规范_大数据类项目的项目管理流程是怎样的?

    1.大数据落地的难处 首先,难在大数据技术端和市场应用端的信息不对称.大数据技术端可能存储着海量的数据,可能掌握着先进的计算和分析挖掘技术,但是并不了解市场的需求痛点,或者无从发力,或者闭门造车.而市 ...

  10. 大数据产品开发流程规范_大数据技术思想入门(三):分布式文件存储的流程

    如果你不喜欢阅读文字的话,可以选择滑到最后看 视频讲解 哟~~~ 进程和 RPC 在上一篇文章中,我们讲解了要解决好大数据集的存储问题,需要引入一个主从结构的集群,其中,主服务器用于存储元数据,从服务 ...

最新文章

  1. 5、【华为HCIE-Storage】--RAID类型
  2. 论文笔记:PointNet
  3. 软考考试仅剩几天,如何冲刺?
  4. SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍
  5. 如何在不安装 Microsoft Office 的情况下生成 Excel 文件?
  6. 类似No module named 'bs4'等错误的解决方法
  7. wpspbc按钮是什么意思_AC只是英文单词缩写,在科技领域常见的有三种意思
  8. 可视化界面_uniapp通过 HBuilderX 可视化界面构建项目
  9. 语料库python_NLPPython笔记——语料库
  10. phpeclipse+xdebug配置
  11. 银行存款又加码?三年期利率4.96%,按月付息,值得存吗?
  12. thinkphp3 页面跳转外部链接_PPT超链接使用全攻略,你必懂的基本技巧!
  13. 推荐一个卡巴斯基绿色版本
  14. Android Palette吸色原理及源码解析
  15. fresco 显示缩略图,不直接使用setImageURI,防止卡顿和显示不全:纯黑色或纯白色
  16. UI设计师平时都用什么设计软件工具?
  17. Android默认时区大全
  18. nginx日志统计pv、uv命令
  19. HTML修改CSS样式或更新内容,网页自动刷新
  20. 华为OD机试题:身高体重排序

热门文章

  1. 学习笔记(02):英特尔® OpenVINO™工具套件初级课程-如何加速视频处理进程?
  2. VM无法获取 vmci 驱动程序版本句柄无效解决办法
  3. Rayson API 框架分析系列之5: NIO实现原理
  4. fatal: unable to access ‘https://github.com/thm123/algos.git/‘: Received HTTP code 400 from proxy af
  5. java 快递打印_基于java的快递打印系统
  6. java 案例(售卖橙子)
  7. 计算机病毒无法破坏压缩文件,求解压缩文件拒绝访问是怎么回事?
  8. (图像加密)常用图像置乱算法matlab实现(二)
  9. 《三桃演义》第二回:返航,火星人柯里昂
  10. 《炬丰科技-半导体工艺》激光增强湿法蚀刻制造的大规模高质量玻璃微透镜阵列