新的防御方式在开发周期的运用
来源:互联网 发布:windows查静态路由 编辑:程序博客网 时间:2024/05/10 14:13
本篇文章版权由ECF和HP所有
作者:高朗
大家好,上次我们谈到,如今的黑客攻击主要利用软件本身的安全漏洞,这些漏洞是由不良的软件架构和不安全的编码产生的。
基于这个原因,新的防御方案孕于而生:Building Security In,构建安全的代码,构建安全的软件。
构建安全的代码,构建安全的软件,说起来是很简单,但是如何做才能到呢?有没有什么捷径?
其实构建安全的软件没有捷径,软件的生命周期大致包括:需求分析、设计、代码实现、系统测试、验收测试、上线维护,如果说软件的开发生命周期是一个大圆的话,那么软件安全就是这是这个圆中心的一个小圆,时刻伴随着软件开发过程,而且软件安全的工作分布在开发过程的每一个环节。
展开来看,具体到企业的各部门之间,开发人员在开发的初期解决安全问题,当然代码进入到版本管理中的后,安全人员在集中进行安全审查,发现问题后,再交给开发人员,并指导开发人员进行修改。当阶段性版本发布后由安全测试人员进行测试和验证,保证所有的问题已经得到解决,然后发布,交于安全运维人员进行上线时刻的监测和保护。整个过程中,管理人员进行协调资源,沟通,管理。
这整个的部署实施过程就是开头给大家提到的Building Security In的理念,也就是软件安全行业提出的,SDLC/SDL的理念。
那如果将SDLC这个理念与我们实际的开发过程具体步骤有效地结合起来呢?软件安全业界总结并提出了seven touchpoint, 七个切入点。
从软件开发的;需求分析,架构设计,到编码,测试及运维,每一个环节都有切入的工作。
如,需求分析阶段,切入安全需求分析,就是对功能需求进行评定,看这个功能是否会引发安全隐患,还有我们对此系统的安全性的需求是什么级别?
在架构设计阶段,对软件架构,和实现技术进行安全评估,找出架构和技术上的安全隐患。编码阶段,要对源代码进行安全审查,查找出源代码中存在的安全隐患,等等。
直到运维,这里每一个环节都要有一到两个安全工作需要切入。那么,这些安全工作如何在企业实施, 有没有最佳实践?从哪一个环节入手最好?良好的开端是成功的一半嘛!
第一步就是Code Review,代码审查,为什么呢? 原因有两个,一方面,代码审查比较简单,也比较有有效,可以达到立秆见影的效果,同时也有较成熟的工具可以实现,比方说Fortify的源代码扫描工具。另一方面,如果在开发软件后面的阶段或者软件交付给用户后才来处理、查找和修改程序缺陷的话,会要花费更多成本。
本篇文章版权由ECF和HP所有 企业安全
- 新的防御方式在开发周期的运用
- 中国经济正站在新周期的起点上
- 软件开发的周期
- Web服务的开发周期
- 产品开发周期的评估
- IIS服务器的攻击与防御方式
- DDoS的攻击方式及防御手段
- WEB开发中一些常见的攻击方式及简单的防御方法
- WEB开发中一些常见的攻击方式及简单的防御方法
- 手机震动的节奏(Vibrator对象及周期运用)
- 前缀中的周期---非优化KMP算法的运用
- java 新 IO 的运用
- jquery 在updatepanel中的运用的幾種方式
- ios中4种开启新的线程的处理方式以及运用范围(多线程)
- 在不同的维度做防御
- 面向服务的方法在业务规则开发中的运用
- 浅谈在C#开发中运用到的索引器
- JSP在电子商务网站开发的运用应用发展方向
- 预备知识———程序的内存分配
- linux mtd nftl 算法剖析 整理
- (转帖)C#一般处理程序中使用Session
- uboot直接引导zImage内核镜像
- http头文件
- 新的防御方式在开发周期的运用
- asp.net中动态修改配置文件的方法
- C语言 指针要注意的一些细节问题
- http://www.ibm.com/developerworks/cn/opensource/os-pressiontest/
- PHP设计模式之Builder模式
- 公共管理硕士(MPA)研究生教育的学科基础
- Automation framework using datapools
- rangjie数据库
- eclipse.ini几个常用参数介绍