写点什么

软件开发生命周期中的安全性

  • 2011-03-04
  • 本文字数:873 字

    阅读完需:约 3 分钟

我们必须把应用程序的安全性整合到软件开发的过程中。之后在测试中才关注安全性是不够的,因为对于修改错误来说,那太迟了,而且非常昂贵。微软的 Steve Lipner 在上周举行的 RSA 大会 2011 上发表了关于应用程序安全性的演讲,其中谈到在软件开发生命周期中的安全性。他向大家介绍了微软创建的安全性开发生命周期过程,其中包括以下阶段:

  • 安全性培训
  • 需求分析
  • 设计
  • 实现
  • 验证
  • 发布
  • 反馈

另外,SDL 框架还有一个敏捷的版本,它支持把安全性因素整合到敏捷开发过程中。敏捷过程中的安全性需求可以归为三类:

  • 每次 Sprint(Every-Sprint):这些是高优先级和重要的安全性需求,我们可以使用像威胁建模之类的技术来识别它们。
  • 一次(One-time):这类需求包括架构和策略上的需求,像决定编译器的版本或者设置缺陷跟踪数据库等等。
  • 大量(Bucket):这类需求包括长期运行或者可以暂缓的需求。比方说文件或者 ActiveX fuzzing

其他演讲者也在会上谈到了提高应用程序安全性的技术。Alberto Revelli(Cigital)讨论了安全设计原则,像黑名单和白名单、内存级别和主机级别上的保护、安全的互操作性、最小权限原则以及区域分割(compartmentalization)等等。

Brian Chess 和 Jacob West(都来自于 Fortify)谈到了关于安全编码技术。现在已经有多种安全缺陷的分类列表,像 OWASP Top 10 、七种致命错误(Seven Pernicious Kingdoms)、常见弱点列表( CWE )、 Sans Top 25 以及常见易受攻击点评分系统( CVSS )等等,各个组织可以使用它们来管理应用程序中的安全弱点。Jacob 对其中的一些弱点给出了示例,像跨站点脚本攻击(XSS)、跨站点伪造请求(CSRF)、HTTP 响应分割、会话固定攻击以及 SQL 注入攻击等等。Brian 推荐了一些安全编码原则,像默认做出良好的验证、在应用程序的不同层之间发布信任边界、间接选择以及白名单等等。

Chris Eng(Veracode)说明了各种不同的安全测试方法,像静态、动态、手动的测试以及其中的细节,另外还谈到了各种方式的强度和局限性。Reeny Sondhi(EMC 公司)也对她的公司中所使用的缺陷响应程序做了概述。

查看英文原文: Security in the Software Development Lifecycle

2011-03-04 18:362703
用户头像

发布了 340 篇内容, 共 146.9 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

没想到,Git居然有3种“后悔药”!

Geek Tech

git git reset

《八佰》,电影的价值已在真实之外

zhoo299

随笔杂谈 电影

你用对锁了吗?浅谈 Java “锁” 事

yes

Java 多线程与高并发

35岁大厂程序员被劝退!老板说:没年轻人有冲劲!真有内味了吗?

程序员生活志

程序员 职场

学习python(嵩天老师的课)

Geek_2a27b0

图解JavaScript——进阶篇(执行上下文、变量对象、作用域、作用域链、闭包、this、原型及原型链、事件循环等一把梭)

执鸢者

Java 大前端 函数执行 事件循环

区块链的想象,解决贫富差距

CECBC

区块链 货币 股市

深度学习框架“国货”正当时,但要警惕无差别投入的“产业陷阱”

脑极体

TypeScript 设计模式之发布-订阅模式

Geek_z9ygea

typescript 大前端 设计模式

没有一个冬天不会过去!疫情当下,企业“逆势而上”必选“上云”跑道

华为云开发者联盟

云计算 新基建 华为云 企业上云 云服务器

如何查看Django ORM执行的SQL语句

BigYoung

sql django ORM 查询

推荐几个实用的前端编辑工具VSCode插件,让你开发事半功倍,告别加班烦恼

聚客AI学院

vscode 大前端 工具软件

[High Performance TIDB] Leeson 01:TIDB整体架构---作业

远鹏

高性能 #TiDB

JVM原理与实战

东哥

2020年运维行业学啥技术比较值钱?

EUSCE

DevOps 运维 运维自动化 系统运维 linux运维

两分钟给你讲清楚JavaScript中的闭包与this

在沉默中

Java 闭包

你的面向接口编程一定对吗?

架构师修行之路

《精益产品开发》随笔

研发管理Jojo

敏捷开发 精益思想 敏捷教练

MySQL-技术专题-分区表和合并表详解

码界西柚

要老婆吗? AR一键生成的那种

程序员生活志

内容审核平台助力猫爪构建健康安全的社交环境

百度大脑

人工智能 百度 百度大脑 内容审核

jQuery笔记

一个坚强的小怪兽

jquery

SSH免密登录

Radix10

Linux Shell 加密 openssh SSH

linux入门系列10--firewalld防火墙管理

程序员潘Sir

Linux centos 防火墙 linux运维 linux防火墙

SkyWalking为超大规模而生

热心的朝阳群众

Skywalking 开源社区

威联通(NAS)应用篇:搭建个人音乐中心

BigYoung

NAS QNAP 音乐 搭建 无损

B站抽奖

・ 懒ヾ

学习笔记

Qx

学习

英伟达收购ARM:双赢还是灾难?

脑极体

为什么Mysql索引非得是B+树

知方可达

MySQL

深化产教融合,共育数字人才

InfoQ_967a83c6d0d7

软件开发生命周期中的安全性_安全_Srini Penchikala_InfoQ精选文章