《白帽子讲WEB安全》学习笔记之第17章 安全开发流程(SDL)

简介:

第17章 安全开发流程(SDL)

17.1 SDL简介

安全开发是从根源有效地解决安全漏洞问题,而已在软件的生命周期内,这样的开发模式成本更低。

SDL过程:

q  培训

所有的开发人员必须接收适当的安全培训,了解相关的安全知识。

q  安全要求

明确项目的安全要求。

q  质量门/bug

质量门和bug栏相当于确定安全和隐私质量的最低可接受级别。

q  安全和隐私风险评估

评估项目中的安全现状和威胁模型

q  设计要求

在产品设计初期考虑安全问题

q  减小攻击面

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

q  威胁建模

建立威胁模型分析项目或产品可能遇到的攻击,以及给出解决方案

q  使用指定的工具

q  弃用不安全函数

q  静态分析

q  动态程序分析

q  模糊测试

模糊测试是一种专门形式的动态分析,它通过故意想应用程序引入不良格式或随即数据诱发程序故障。

q  威胁模型和攻击面评析

需求发生改变时,安全模式也需要相应改变

q  事件响应计划

产品的发布需要留下开发人员的联系方式,以及相应的文档,方便日后解决问题。

q  最终安全评估

q  发布/存档

17.2 敏捷SDL

敏捷sdl的思想其实就是以变化的观点实施安全的工作。需求和功能可能一直在变化,代码可能也在发生变化,这要求实施SDL时需要在每一个阶段更新威胁模型和隐私策略,在必要的环节迭代模糊测试、代码安全分析等工作。

17.3 SDL实战经验

准则:

q  与项目经理进行充分的沟通,排出足够的时间

q  规范公司的立项流程,确保所有项目都能通知到安全团队,避免遗漏

q  树立安全部门的权威,项目必须由安全部门审核后才能发布

q  将技术安放写入开发、测试的工作手册

q  给开发工程师培训安全方案

q  记录所有的安全bug,激励程序员编写安全的代码

 

17.4 需求分析与设计阶段

应该建立安全编程的代码库,以及一些比较常见的安全编码问题。

17.5 开发阶段

Sun 的安全编码指导方针:

q  小心使用 特权代码

q  小心处理 静态字段

q  最小化作用域 (scope)

q  小心选择 公共 (public) 方法和字段

q  适当的  (package) 保护性

q  尽可能使用 不可变 (immutable) 对象

q  永远不要返回对包含敏感数据的内部数组的引用

q  永远不要直接存储用户提供(user-supplied)的数组

q  小心使用序列化(Serialization)

q  小心使用本地方法(native methods)

q  清除敏感信息

 

Java 安全反模式

q  忽略那些全模式的代码不经意间就会造成漏洞

典型的 Java 安全编码反模式(Antipatterns):

忽略语言特性 (例如整数溢出 (Integer Overflow) )

不注意使用序列化不注意使用 特权代码

将字段和方法定义到不适当的可见性作用域

在非终态 (non-final) 静态字段中的隐蔽通道(Covert  Channels)

 

 

17.6 测试阶段

参考资料:http://blog.csdn.net/Test_sunny/article/details/4653783

              http://51CTO提醒您,请勿滥发广告!/ceshi/ceshijishu/aqcs/2013/0715/206456.html

              http://51CTO提醒您,请勿滥发广告!/ceshi/ceshijishu/aqcs/2012/0329/204547.html



本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/1859569
相关文章
|
5月前
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
490 2
|
14天前
|
安全 Linux iOS开发
Burp Suite Professional 2025.10 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.10 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
157 3
|
2月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
284 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
4月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
410 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
4月前
|
存储 安全 JavaScript
Web Storage有哪些安全风险?
Web Storage有哪些安全风险?
|
7月前
|
安全 Linux API
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
331 6
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
|
9月前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
398 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
8月前
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
184 0
|
11月前
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
11月前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。

热门文章

最新文章

下一篇
开通oss服务