本书分为两大部分,共15章。第一部分包含第1~4章,介绍了安全代码审查的作用和方法,以及在软件安全开发生命周期(S-SDLC)代码审查过程中查找安全漏洞的方法。第二部分包含第5~15章,介绍2013年版《OWASP Top 10》中提出的安全风险的处理方法和技术,以及其他漏洞处理的方法和技术。本书适合软件研发组织机构的高层管理人员、专业技术负责人、开发人员、测试人员和软件安全人员,以及高等院校软件工程、网络安全专业的师生等阅读学习。
内容简介1
内容简介2
序1
序2
前言
中文版说明
第1章 如何使用《应用软件安全代码审查指南》
第2章 安全代码审查
2.1 为什么代码有漏洞
2.2 代码审查和安全代码审查之间的区别是什么
2.3 什么是安全代码审查
2.4 确定安全代码审查的范围
2.5 我们不能破解自己的安全性
2.6 安全代码审查和渗透测试耦合
2.7 安全代码审查对开发实践的好处
2.8 安全代码审查的技术
2.9 安全代码审查与合规性
第3章 安全代码审查的方法论
3.1 制定安全代码审查流程时需要考虑的因素
3.2 在S-SDLC中集成安全代码审查
3.3 何时进行安全代码审查
3.4 敏捷和瀑布开发中的安全代码审查
3.5 基于风险的安全代码审查方法
3.6 安全代码审查准备
3.7 安全代码审查发现和信息收集
3.8 静态代码分析
3.9 应用威胁建模
3.10 度量指标和安全代码审查
3.11 代码爬行
第4章 安全代码审查注意事项
第5章 A1注入攻击
5.1 概述
5.2 概览
5.3 SQL盲注
5.4 要点回顾
5.5 OWASP参考资料
5.6 其他参考资料
第6章 A2失效的身份认证和会话管理
6.1 失效的身份认证
6.2 A2会话管理
第7章 A3跨站脚本攻击(XSS)
7.1 什么是跨站脚本攻击(XSS)
7.2 概览
7.3 如何审查
7.4 OWASP参考资料
7.5 其他参考资料
第8章 A4不安全的直接对象引用
8.1 概述
8.2 概览
8.3 如何审查
8.4 安全代码审查人员应该做什么
8.5 MVC.NET中的绑定问题
8.6 参考资料
第9章 A5安全配置错误
9.1 ApacheStruts
9.2 Java企业版声明配置
9.3 JEE注释
9.4 框架特定配置:ApacheTomcat
9.5 框架特定配置:Jetty
9.6 框架特定配置:JBossAS
9.7 框架特定配置:OracleWebLogic
9.8 程序配置:JEE
9.9 MicrosoftIIS
9.10 框架特定配置:MicrosoftII
9.11 程序配置:MicrosoftIIS
9.12 进一步的IIS配置
9.13 强名称
9.14 RoundTripping
9.15 .NET验证控件
第10章 A6敏感数据暴露
10.1 加密控制
10.2 减少攻击面
第11章 A7功能级权限控制缺失
11.1 授权
11.2 概述
11.3 注意事项
11.4 访问控制备忘单
第12章 A8跨站请求伪造(CSRF)
12.1 概述
12.2 CSRF的工作原理
12.3 注意事项
第13章 A9使用含有已知漏洞的组件
13.1 概述
13.2 注意事项
第14章 A10未经验证的重定向和转发
14.1 概述
14.2 注意事项
14.3 参考资料
第15章 其他技术
15.1 HTML5
15.2 同源策略
15.3 审计日志代码
15.4 错误处理
15.5 查看安全警报
15.6 检查主动防御
15.7 竞争条件
15.8 缓冲区溢出
附录A 软件安全开发生命周期图表
附录B 安全代码审查清单
附录C 威胁建模示例
C.1 威胁建模示例步骤1:分解应用
C.2 威胁建模示例步骤2:威胁分类
C.3 威胁建模示例步骤3:确定对策
附录D 代码爬虫
D.1 在.NET中搜索代码
D.2 在Java中搜索代码
D.3 在经典ASP中搜索代码
D.4 在JavaScript和Ajax中搜索代码
D.5 在C++和Apache中搜索代码
附录E 参考资料

