构建安全的软件 避免产生软件安全问题的正确方法PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:(美)John Viega,(美)Gary McGraw著;钟向群,王鹏译
- 出 版 社:北京:清华大学出版社
- 出版年份:2003
- ISBN:7302065152
- 页数:344 页
第1章 软件安全性概论 1
1.1 都是软件惹的祸 1
1.2 安全性问题的处理 4
1.2.1 Bugtraq 6
1.2.2 GERT建议 6
1.2.3 RISKS Digest 6
1.3 影响软件安全性的技术趋势 7
1.4 ilities 10
1.4.1 安全性 11
1.4.2 可靠性 11
1.5 穿透-补丁不是好办法 12
1.6 艺术与工程 13
1.7 安全目标 14
1.7.1 预防 14
1.7.2 跟踪与审计 15
1.7.3 监控 15
1.7.4 保密性和机密性 15
1.7.5 多级安全性 16
1.7.6 匿名性 16
1.7.7 认证 17
1.7.8 完整性 18
1.8 普通软件的安全性陷阱 18
1.9 软件项目的目标 20
1.10 结束语 20
第2章 软件安全性风险管理 22
2.1 软件安全性风险管理概览 22
2.2 安全人员的角色 24
2.3 生命周期中的软件安全人员 25
2.3.1 需求获取 25
2.3.2 风险评估 26
2.3.3 安全性设计 27
2.3.4 实现 28
2.3.5 安全性测试 28
2.4 现实的权衡 29
2.5 思考安全性 30
2.6 软件风险管理的实践 30
2.6.1 当开发误入歧途时 30
2.6.2 当安全性分析误入歧途时 31
2.7 通用准则 32
2.8 结束语 34
第3章 技术的选择 35
3.1 语言的选择 35
3.2 分布式对象平台的选择 38
3.2.1 CORBA 38
3.2.2 DCOM 40
3.2.3 EJB和RMI 41
3.3 操作系统的选择 42
3.4 认证技术 43
3.4.1 基于主机的认证 44
3.4.2 物理权标 45
3.4.3 生物认证 45
3.4.4 密码认证 47
3.4.5 深度防御与认证 47
3.5 结束语 47
第4章 开放源代码与封闭源代码 48
4.1 隐晦的安全性 48
4.1.1 逆向工程 50
4.1.2 代码模糊 51
4.1.3 紧包软件的安全性 52
4.1.4 模糊安全性不是万能的 52
4.2 开放源代码 52
4.3 多眼现象 53
4.3.1 脆弱性检测是困难的 55
4.3.2 其他担心 56
4.4 关于发布密码算法 56
4.5 另外两个开放源代码的谬论 57
4.5.1 Microsoft谬论 57
4.5.2 Java谬论 57
4.6 GNU Mailman的安全性问题 58
4.7 特洛伊木马 59
4.8 开放源代码还是封闭源代码 60
4.9 另一个来自缓冲区溢出的安全性教训 60
4.10 忠告 61
4.11 结束语 62
第5章 软件安全性指导原则 63
5.1 原则1:加固最脆弱的链接 64
5.2 原则2:实行深度防护 66
5.3 原则3:失败安全 67
5.4 原则4:坚持最小优先权原则 69
5.5 原则5:分割 70
5.6 原则6:简单化 71
5.7 原则7:提高保密性 74
5.8 原则8:记住隐藏秘密是很难的 75
5.9 原则9:不要轻信 76
5.10 原则10:利用社会资源 77
5.11 结束语 78
第6章 软件稽核 79
6.1 体系结构的安全性分析 81
6.1.1 攻击树 82
6.1.2 报告分析结果 85
6.2 实现的安全性分析 86
6.2.1 源代码的稽核 86
6.2.2 源代码级的安全性稽核工具 87
6.2.3 在分析中使用RATS 88
6.2.4 软件安全性扫描的效果 90
6.3 结束语 91
第7章 缓冲区溢出 92
7.1 什么是缓冲区溢出 94
7.2 为什么缓冲区溢出是安全性问题 95
7.3 防止缓冲区溢出 97
7.4 主要的陷阱 98
7.5 内部缓冲区溢出 102
7.6 更多的输入溢出 102
7.7 其他风险 103
7.8 测试工具 104
7.9 摧毁堆和堆栈 106
7.10 堆溢出 107
7.11 堆栈溢出 111
7.11.1 破译堆栈 111
7.11.2 趋于无限 117
7.12 攻击代码 126
7.12.1 UNIX漏洞检测代码 127
7.12.2 在Windows中的情况 133
7.13 结束语 133
第8章 访问控制 134
8.1 UNLX的访问控制模式 134
8.1.1 UMLX是怎样控制权限的 135
8.1.2 修改文件属性 136
8.1.3 修改文件的归属 138
8.1.4 umask命令 139
8.1.5 程序接口 139
8.1.6 Setuid编程 141
8.2 Windows NT中的访问控制 145
8.3 分割 147
8.4 细化的特权 149
8.5 结束语 150
第9章 竞争状态 151
9.1 什么是竞争状态 151
9.2 检查时间与使用时间 154
9.2.1 攻破Passwd 156
9.2.2 避免TOCTOU问题 158
9.3 安全访问文件 160
9.4 临时文件 163
9.5 锁定文件 164
9.6 其他竞争状态 165
9.7 结束语 166
第10章 随机与惟定 167
10.1 伪随机数发生器 167
10.1.1 PRNG示例 169
10.1.2 Blum-Blum-Shub PRNG 170
10.1.3 Tiny PRNG 171
10.1.4 攻击PRNG 171
10.1.5 在在线游戏中作弊 172
10.1.6 PRNG的统计测试 173
10.2 熵的收集和估计 174
10.2.1 硬件方案 174
10.2.2 软件方案 176
10.2.3 糟糕的熵收集示例 182
10.3 处理熵 183
10.4 实际应用的随机资源 185
10.4.1 Tiny 186
10.4.2 Windows中的随机数 186
10.4.3 Linux中的随机数 187
10.4.4 Java中的随机数 189
10.5 结束语 190
第11章 密码学的应用 192
11.1 一般建议 192
11.1.1 软件开发人员并不是密码学专家 192
11.1.2 数据的完整性 194
11.1.3 密码出口的有关法律 194
11.2 常用的密码库 195
11.2.1 Cryptilb 195
11.2.2 OpenSSL 196
11.2.3 Crypto++ 197
11.2.4 BSAFE 198
11.2.5 Cryptix 199
11.3 密码术编程 200
11.3.1 加密 200
11.3.2 散列运算 205
11.3.3 公钥密码加密 206
11.3.4 多线程 210
11.3.5 加密cookie 210
11.4 密码散列算法的更多应用 212
11.5 SSL和TLS 213
11.6 使用Stunnel 215
11.7 一次一密 216
11.8 结束语 219
第12章 信任管理和输入的有效性 220
12.1 关于信任 220
12.2 不恰当信任的示例 222
12.2.1 信任是可传递的 222
12.2.2 防御恶意的访问者 225
12.2.3 安全调用另一个程序 228
12.2.4 网页上的危险 231
12.2.5 客户端的安全 233
12.2.6 Perl中的问题 235
12.2.7 格式串攻击 236
12.3 自动探测输入问题 237
12.4 结束语 240
第13章 口令认证 241
13.1 口令的存储 241
13.2 向口令数据库添加用户 244
13.3 口令认证 253
13.4 选择口令 258
13.4.1 更多的建议 259
13.4.2 掷骰子 259
13.4.3 口令短语 264
13.4.4 应用程序选择的口令 264
13.5 一次性口令 266
13.6 结束语 278
第14章 数据库安全性 279
14.1 基础知识 279
14.2 访问控制 280
14.3 在访问控制中使用视图 282
14.4 保护域 284
14.5 抵抗统计攻击 287
14.6 结束语 290
第15章 客户端安全性 292
15.1 版权保护机制 294
15.1.1 许可证文件 301
15.1.2 挫败普通盗版者 302
15.1.3 许可证的其他特性 303
15.1.4 其他版权保护方法 304
15.1.5 对不可信客户机的身份认证 305
15.2 防篡改技术 306
15.2.1 反调试程序方法 306
15.2.2 检查和 307
15.2.3 对滥用的响应 308
15.2.4 引诱 309
15.3 代码迷惑技术 310
15.3.1 基本迷惑技术 310
15.3.2 对部分程序进行加密 311
15.4 结束语 313
第16章 通过防火墙 314
16.1 基本策略 314
16.2 客户机代理 316
16.3 服务器代理 317
16.4 SOCKS 318
16.5 点对点 319
16.6 结束语 321
附录A 密码学基础 322
A.1 密码学的最终目标 322
A.2 对密码术的攻击 324
A.3 密码术的类型 325
A.4 对称密码术 325
A.4.1 对称算法的类型 326
A.4.2 对称算法的安全性 327
A.5 公钥密码术 329
A.6 密码散列算法 333
A.6.1 对散列算法的其他攻击 336
A.6.2 好的散列算法 337
A.7 数字签名 337
A.8 结束语 338
参考文献 339
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《基于地质雷达信号波的土壤重金属污染探测方法研究》赵贵章 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《数学物理方法与仿真 第3版》杨华军 2020
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《Helmholtz方程的步进计算方法研究》李鹏著 2019
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《大数据环境下的信息管理方法技术与服务创新丛书 俄罗斯档案事业改革与发展研究》徐胡乡责编;肖秋会 2019
- 《学校教育指标系统的构建》杨向东著 2019
- 《中国二氧化碳减排和环境协同效益评价模型的构建与研究》杨曦,滕飞著 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019