书籍详情

应用软件安全代码审查指南

应用软件安全代码审查指南

作者:OWASP基金会

出版社:电子工业出版社

出版时间:2018-10-01

ISBN:9787121352201

定价:¥59.00

购买这本书可以去
内容简介
  本书分为两大部分,共15章。第一部分包含第1~4章,介绍了安全代码审查的作用和方法,以及在软件安全开发生命周期(S-SDLC)代码审查过程中查找安全漏洞的方法。第二部分包含第5~15章,介绍2013年版《OWASP Top 10》中提出的安全风险的处理方法和技术,以及其他漏洞处理的方法和技术。本书适合软件研发组织机构的高层管理人员、专业技术负责人、开发人员、测试人员和软件安全人员,以及高等院校软件工程、网络安全专业的师生等阅读学习。
作者简介
  OWASP基金会是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究,在业界具有一流的影响力和**性。作为OWASP面向中国的区域分支,OWASP中国自2006年正式启动,目前已拥有来自互联网安全专业领域和政府、电信、金融、教育等相关领域的会员5000多名,形成了强大的专业技术实力和行业资源聚集能力,有力推动了安全标准、安全测试工具、安全指导手册等应用安全技术在中国的发展,成为了积极推动中国互联网安全技术创新、人才培养和行业发展的中坚力量。作为OWASP中国的运营中心,互联网安全研究中心(Security Zone,简称SecZone)是国内**独立、开源的互联网安全研究机构。中心始终秉持引入、吸收、创新的发展宗旨,专注于互联网安全前沿技术和OWASP项目的深度研究,常年组织开展各类开源培训及沙龙活动,致力于通过对国内外技术、资源的整合、应用和创新,更好地服务业界同仁、服务行业发展,更有力地推动国内互联网安全技术的进步与升级。
目录

第1章  如何使用《应用软件安全代码审查指南》 1

第2章  安全代码审查 4

2.1  为什么代码有漏洞 5

2.2  代码审查和安全代码审查之间的区别是什么 6

2.3  什么是安全代码审查 6

2.4  确定安全代码审查的范围 7

2.5  我们不能破解自己的安全性 9

2.6  安全代码审查和渗透测试耦合 11

2.7  安全代码审查对开发实践的好处 13

2.8  安全代码审查的技术 15

2.9  安全代码审查与合规性 15

第3章  安全代码审查的方法论 18

3.1  制定安全代码审查流程时需要考虑的因素 19

3.1.1  风险 19

3.1.2  目的与背景 19

3.1.3  代码行数 19

3.1.4  编程语言 20

3.1.5  资源、时间和期限 20

3.2  在S-SDLC中集成安全代码审查 20

3.3  何时进行安全代码审查 21

3.4  敏捷和瀑布开发中的安全代码审查 23

3.5  基于风险的安全代码审查方法 23

3.6  安全代码审查准备 26

3.7  安全代码审查发现和信息收集 28

3.8  静态代码分析 30

3.9  应用威胁建模 34

3.10  度量指标和安全代码审查 42

3.11  代码爬行 45

第4章  安全代码审查注意事项 47

第5章  A1注入攻击 49

5.1  概述 50

5.2  概览 50

5.3  SQL盲注 51

5.3.1  SQL查询参数化 51

5.3.2  安全的字符串拼接 52

5.3.3  运用灵活的参数化语句 53

5.3.4  PHP SQL注入 54

5.3.5  Java SQL注入 55

5.3.6  .NET SQL注入 55

5.3.7  参数集合 56

5.4  要点回顾 57

5.5  OWASP参考资料 57

5.6  其他参考资料 58

第6章  A2失效的身份认证和会话管理 59

6.1  失效的身份认证 60

6.1.1  概述 60

6.1.2  概览 60

6.1.3  如何审查 60

6.1.4  参考资料 62

6.1.5  被遗忘的密码 62

6.1.6  验证码 64

6.1.7  带外通信 66

6.2  A2会话管理 68

6.2.1  概述 68

6.2.2  概览 68

6.2.3  审查的内容 69

6.2.4  会话超时 70

6.2.5  会话注销和结束 71

6.2.6  会话管理的服务器端防御 72

第7章  A3跨站脚本攻击(XSS) 74

7.1  什么是跨站脚本攻击(XSS) 75

7.2  概览 75

7.3  如何审查 75

7.3.1  安全代码审查需要详尽 75

7.3.2  工具介绍 76

7.4  OWASP参考资料 77

7.5  其他参考资料 77

第8章  A4不安全的直接对象引用 79

8.1  概述 80

8.2  概览 80

8.3  如何审查 80

8.3.1  SQL注入 80

8.3.2  HTTP POST请求 81

8.3.3  间接引用映射 81

8.3.4  数据绑定技术 82

8.3.5  安全设计建议 82

8.3.6  审查准则 82

8.4  安全代码审查人员应该做什么 82

8.5  MVC.NET中的绑定问题 83

8.5.1  相应的视图(HTML) 83

8.5.2  建议 84

8.6  参考资料 84

第9章  A5安全配置错误 85

9.1  Apache Struts 86

9.2  Java企业版声明配置 87

9.3  JEE注释 91

9.4  框架特定配置:Apache Tomcat 92

9.5  框架特定配置:Jetty 93

9.6  框架特定配置:JBoss AS 94

9.7  框架特定配置:Oracle WebLogic 94

9.8  程序配置:JEE 95

9.9  Microsoft IIS 97

9.10  框架特定配置:Microsoft II 99

9.11  程序配置:Microsoft IIS 102

9.12  进一步的IIS配置 103

9.12.1  过滤请求和URL重写 103

9.12.2  参考资料 111

9.13  强名称 111

9.13.1  如何使用强名称 112

9.13.2  参考资料 115

9.14  Round Tripping 115

9.14.1  混淆的重要性 116

9.14.2  使用混淆 116

9.14.3  ASPNetCon?gs 116

9.14.4  参考资料 118

9.15  .NET验证控件 118

第10章  A6敏感数据暴露 124

10.1  加密控制 125

10.1.1  概述 125

10.1.2  审查内容:传输保护 127

10.1.3  审查内容:存储保护 129

10.1.4  加密、哈希和盐值 135

10.1.5  参考资料 138

10.2  减少攻击面 139

10.2.1  概述 139

10.2.2  审查内容 140

10.2.3  参考资料 141

第11章  A7功能级权限控制缺失 142

11.1  授权 143

11.2  概述 144

11.3  注意事项 146

11.4  访问控制备忘单 148

11.4.1  硬编码方法 148

11.4.2  防御访问控制攻击 148

第12章  A8跨站请求伪造(CSRF) 150

12.1  概述 151

12.2  CSRF的工作原理 152

12.3  注意事项 153

12.3.1  无效的防御措施 153

12.3.2  高风险功能 154

12.3.3  防御CSRF攻击 154

第13章  A9使用含有已知漏洞的组件 159

13.1  概述 160

13.2  注意事项 160

第14章  A10未经验证的重定向和转发 162

14.1  概述 163

14.2  注意事项 164

14.3  参考资料 166

第15章  其他技术 167

15.1  HTML5 168

15.1.1  概述 168

15.1.2  注意事项:Web信息传递 168

15.1.3  注意事项:跨源资源共享 169

15.1.4  注意事项:WebSockets 170

15.1.5  注意事项:服务器推送事件 172

15.2  同源策略 172

15.2.1  概述 172

15.2.2  注意事项 173

15.3  审计日志代码 174

15.3.1  概述 174

15.3.2  注意事项 175

15.3.3  参考资料 176

15.4  错误处理 177

15.4.1  概述 177

15.4.2  注意事项 178

15.4.3  注意事项:安全的失败 180

15.4.4  注意事项:潜在漏洞代码 180

15.4.5  注意事项:IIS错误处理 183

15.4.6  注意事项:在Apache中处理错误 185

15.4.7  注意事项:领先的实践错误处理 186

15.4.8  注意事项:捕获异常的顺序 187

15.4.9  注意事项:释放资源和良好的资源管理 188

15.4.10  参考资料 190

15.5  查看安全警报 190

15.5.1  概述 190

15.5.2  注意事项 192

15.6  检查主动防御 193

15.6.1  概述 193

15.6.2  注意事项 194

15.6.3  参考资料 196

15.7  竞争条件 196

15.7.1  概述 196

15.7.2  注意事项 197

15.7.3  参考资料 198

15.8  缓冲区溢出 198

15.8.1  概述 198

15.8.2  注意事项:缓冲区溢出 200

15.8.3  注意事项:格式函数溢出 201

15.8.4  注意事项:整数溢出 202

15.8.5  参考资料 204

附录A  软件安全开发生命周期图表 205

附录B  安全代码审查清单 210

附录C  威胁建模示例 214

C.1  威胁建模示例步骤1:分解应用 214

C.2  威胁建模示例步骤2:威胁分类 219

C.3  威胁建模示例步骤3:确定对策 221

附录D  代码爬虫 224

D.1  在.NET中搜索代码 224

D.2  在Java中搜索代码 230

D.3  在经典ASP中搜索代码 234

D.4  在JavaScript和Ajax中搜索代码 236

D.5  在C++和Apache中搜索代码 236

附录E  参考资料 239

猜您喜欢

读书导航