博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.2. 安全开发
阅读量:2046 次
发布时间:2019-04-28

本文共 870 字,大约阅读时间需要 2 分钟。

文章目录

7.2. 安全开发

7.2.1. 简介

安全开发生命周期(Security Development Lifecycle,SDL)是微软提出的从安全的角度来指导软件开发过程的管理模式。用于帮助开发人员构建更安全的软件、解决安全合规要求,并降低开发成本。

7.2.2. 步骤

7.2.2.1. 阶段1:培训

开发团队的所有成员都必须接受适当的安全培训,了解相关的安全知识。培训对象包括开发人员、测试人员、项目经理、产品经理等。

7.2.2.2. 阶段2:确定安全需求

在项目确立之前,需要提前确定安全方面的需求,确定项目的计划时间,尽可能避免安全引起的需求变更。

7.2.2.3. 阶段3:设计

在设计阶段确定安全的最低可接受级别。考虑项目涉及到哪些攻击面、是否能减小攻击面。

对项目进行威胁建模,明确可能来自的攻击有哪些方面,并考虑项目哪些部分需要进行渗透测试。

7.2.2.4. 阶段4:实现

实现阶段主要涉及到工具、不安全的函数、静态分析等方面。

工具方面主要考虑到开发团队使用的编辑器、链接器等相关工具可能会涉及一些安全相关的问题,因此在使用工具的版本上,需要提前与安全团队进行沟通。

函数方面主要考虑到许多常用函数可能存在安全隐患,应当禁用不安全的函数和API,使用安全团队推荐的函数。

代码静态分析可以由相关工具辅助完成,其结果与人工分析相结合。

7.2.2.5. 阶段5:验证

验证阶段涉及到动态程序分析和攻击面再审计。动态分析对静态分析进行补充,常用的方式是模糊测试、渗透测试。模糊测试通过向应用程序引入特定格式或随机数据查找程序可能的问题。

考虑到项目经常会因为需求变更等情况使得最终产品和初期目标不一致,因此需要在项目后期再次对威胁模型和攻击面进行分析和考虑,如果出现问题则进行纠正。

7.2.2.6. 阶段6:发布

在程序发布后,需要对安全事件进行响应,需要预设好遇到安全问题时的处理方式。

另外如果产品中包含第三方的代码,也需要考虑如何响应因为第三方依赖引入的问题。

7.2.3. 参考链接


上一篇: 下一篇:

转载地址:http://ucaof.baihongyu.com/

你可能感兴趣的文章
free命令详解(转载)
查看>>
tcp协议端口解释(转载)
查看>>
三次挥手四次挥手(转载)
查看>>
keepalived
查看>>
php生成excel的另一种简单方法
查看>>
零基础子网划分(转载)
查看>>
子网(转载自百度百科)
查看>>
为你的静态资源使用cdn(转载)
查看>>
合并压缩css和Js的方式( 转载)
查看>>
压缩html,可以在输出之前使用(转载)
查看>>
用户中心和discuz的ucenter共通
查看>>
使用opcache为你的网站加速(转载)
查看>>
git push命令每次都要输入用户名和密码的问题处理
查看>>
在网站添加qq客服功能
查看>>
英文技术文档阅读练习——php的早期版本
查看>>
"Notice: unserialize(): Error at offset xx of xxx bytes"错误的处理(转载)
查看>>
windows下c/c++环境开发搭建
查看>>
php中的declare是干什么的——转载
查看>>
三种常见的排序算法
查看>>
ueditor自定义菜单(转载)
查看>>