图书介绍

安全软件开发之道 构筑软件安全的本质方法pdf电子书版本下载

安全软件开发之道  构筑软件安全的本质方法
  • (美)JohnViegaGaryMcgraw著;殷丽华,张冬艳,郭云川,颜子夜译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111459156
  • 出版时间:2014
  • 标注页数:316页
  • 文件大小:51MB
  • 文件页数:338页
  • 主题词:软件开发-安全技术

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

安全软件开发之道 构筑软件安全的本质方法PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 软件安全概论 1

1.1都是软件惹的祸 1

1.2对安全问题的处理 4

1.2.1 Bugtraq 5

1.2.2 CERT公告 5

1.2.3 RISKS文摘 6

1.3影响软件安全的技术趋势 6

1.4非功能性需求 9

1.4.1什么是安全 10

1.4.2难道只是可靠性 10

1.5.“渗透-修补”是个坏方法 11

1.6艺术和工程 12

1.7安全目标 12

1.7.1预防 13

1.7.2跟踪与审计 13

1.7.3监控 13

1.7.4隐私和保密 14

1.7.5多级安全 14

1.7.6匿名 14

1.7.7认证 15

1.7.8完整性 16

1.8常见软件安全缺陷 16

1.9软件项目目标 17

1.10结论 18

第2章 软件安全风险管理 19

2.1软件安全风险管理概述 19

2.2安全人员的任务 21

2.3软件生命周期中的软件安全人员 22

2.3.1获取需求 22

2.3.2风险评估 23

2.3.3安全设计 24

2.3.4实现 25

2.3.5安全测试 25

2.4现实的权衡 26

2.5让人们去思考安全性 26

2.6软件风险管理实践 26

2.6.1当开发走向歧途 27

2.6.2当安全分析走向歧途 27

2.7通用准则 28

2.8结论 30

第3章 技术的选择 31

3.1语言的选择 31

3.2分布式对象平台的选择 34

3.2.1 COBRA 34

3.2.2 DCOM 35

3.2.3 EJB和RMI 37

3.3操作系统的选择 37

3.4认证技术 38

3.4.1基于主机的认证 39

3.4.2物理令牌 40

3.4.3生物认证 40

3.4.4密码认证 41

3.4.5深度防御与认证 41

3.5结论 42

第4章 开放源代码和封闭源代码 43

4.1通过隐藏实现安全 43

4.1.1逆向工程 45

4.1.2代码混淆 46

4.1.3紧包软件的安全 47

4.1.4通过隐藏实现安全并非万能 47

4.2开源软件 47

4.3.“多眼球现象”是真的吗 47

4.3.1漏洞检测是困难的 49

4.3.2其他的忧虑 50

4.4关于发布加密算法 51

4.5另外两个关于开源的谬论 51

4.5.1微软谬论 51

4.5.2 Java谬论 52

4.6例子:GNU Mailman的安全 52

4.7证据:特洛伊木马 53

4.8开放源码还是不开放源码 54

4.9另一个来自于缓冲区溢出的安全教训 54

4.10忠告 55

4.11结论 55

第5章 软件安全的指导原则 56

5.1确保最薄弱环节的安全 57

5.2深度防御 59

5.3失效安全 60

5.4最小特权 62

5.5分割 63

5.6尽可能简单 64

5.7提升隐私权 66

5.8记住隐藏信息很困难 68

5.9不要轻信 69

5.10使用社会资源 70

5.11结论 70

第6章 软件审计 71

6.1架构的安全性分析 73

6.1.1攻击树 74

6.1.2报告分析结果 78

6.2实现安全性分析 79

6.2.1审计源代码 79

6.2.2源码级的安全审计工具 80

6.2.3在分析中使用RATS 81

6.2.4安全扫描软件的有效性 82

6.3结论 83

第7章 缓冲区溢出 84

7.1什么是缓冲区溢出 86

7.2为什么缓冲溢出是安全问题 87

7.3缓冲区溢出的防御 89

7.4主要的陷阱 89

7.5内部缓冲区溢出 93

7.6更多的输入溢出 93

7.7其他风险 94

7.8帮助工具 94

7.9堆破坏和栈破坏 96

7.10堆溢出 98

7.11栈溢出 101

7.11.1破译堆栈 101

7.11.2陷入无限循环……并更糟 105

7.12代码攻击 113

7.12.1 UNIX漏洞利用 114

7.12.2关于Windows 119

7.13结论 119

第8章 访问控制 120

8.1 UNIX访问控制模型 120

8.1.1 UNIX权限工作原理 121

8.1.2修改文件属性 122

8.1.3修改文件的所有权 124

8.1.4 umask命令 125

8.1.5编程接口 125

8.1.6 Setuid编程 127

8.2 Windows NT的访问控制 130

8.3分割 132

8.4细粒度权限 134

8.5结论 134

第9章 竞争条件 135

9.1什么是竞争条件 135

9.2检查时间与使用时间 138

9.2.1攻破passwd 139

9.2.2避免TOCTOU问题 142

9.3安全的文件访问 143

9.4临时文件 146

9.5文件锁定 146

9.6其他竞争条件 147

9.7结论 148

第10章 随机性和确定性 149

10.1伪随机数发生器 149

10.1.1伪随机数发生器实例 151

10.1.2 Blum-Blum-Shub PRNG 152

10.1.3 Tiny PRNG 153

10.1.4对PRNG的攻击 153

10.1.5在网络赌博游戏中作弊 153

10.1.6 PRNG的统计测试 155

10.2熵的收集和估计 155

10.2.1硬件解决方案 156

10.2.2软件解决方案 158

10.2.3糟糕的熵收集示例 163

10.3处理熵 164

10.4实用的随机数据来源 166

10.4.1 Tiny 166

10.4.2 Windows的随机数据 167

10.4.3 Linux的随机数 167

10.4.4 Java中的随机数 169

10.5结论 171

第11章 密码学的应用 172

11.1一般性建议 172

11.1.1开发者并不是密码专家 173

11.1.2数据完整性 174

11.1.3密码出口的有关法律 174

11.2常用密码库 175

11.2.1 Cryptlib 175

11.2.2 OpenSSL 176

11.2.3 Crypto+++ 177

11.2.4 BSAFE 178

11.2.5 Cryptix 179

11.3利用密码学编程 180

11.3.1加密 180

11.3.2散列算法 184

11.3.3公共密钥加密 185

11.3.4多线程 189

11.3.5 cookie加密 189

11.4加密散列更多的应用 191

11.5 SSL和TLS 192

11.6 Stunnel 194

11.7一次一密 195

11.8结论 198

第12章 信任管理和输入验证 199

12.1关于信任 200

12.2不恰当信任的例子 201

12.2.1信任是传递的 201

12.2.2预防恶意的调用者 204

12.2.3安全地调用其他程序 208

12.2.4源自Web的问题 210

12.2.5客户端安全 212

12.2.6 Perl问题 214

12.2.7格式字符串攻击 215

12.3自动检测输入问题 216

12.4结论 219

第13章 口令认证 220

13.1口令存储 220

13.2向口令数据库中添加用户 222

13.3口令认证的方式 231

13.4口令选择 235

13.4.1更多的建议 236

13.4.2掷骰子 237

13.4.3口令短语 240

13.4.4应用程序选择的口令 241

13.5一次性口令 242

13.6结论 252

第14章 数据库安全 253

14.1基础知识 253

14.2访问控制 254

14.3在访问控制中使用视图 256

14.4字段保护 257

14.5针对统计攻击的安全防卫 260

14.6结论 263

第15章 客户端安全 264

15.1版权保护方案 266

15.1.1许可证文件 273

15.1.2防范偶然性盗版 274

15.1.3其他的许可证特性 275

15.1.4其他的版权保护方案 275

15.1.5对不可信客户端的身份认证 276

15.2防篡改 277

15.2.1反调试措施 277

15.2.2校验和 279

15.2.3应对滥用 279

15.2.4诱饵 280

15.3代码混淆 280

15.3.1基本的代码混淆技术 281

15.3.2加密部分程序 282

15.4结论 284

第16章 穿越防火墙 285

16.1基本策略 285

16.2客户端代理 287

16.3服务器代理 288

16.4 SOCKS 289

16.5对等网络 290

16.6结论 292

附录A密码学基础 293

参考文献 310

精品推荐