软件安全实现 安全编程技术PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:郭克华,王伟平编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2010
- ISBN:9787302222613
- 页数:269 页
第1章 安全编程概述 1
1.1 软件的安全问题 1
1.1.1 任何软件都是不安全的 1
1.1.2 软件不安全性的几种表现 3
1.1.3 软件不安全的原因 4
1.2 在软件开发生命周期中考虑安全问题 6
1.2.1 软件设计阶段威胁建模 7
1.2.2 安全代码的编写 9
1.2.3 软件的安全性测试 9
1.2.4 漏洞响应和产品的维护 10
1.3 本书的内容 10
1.3.1 编程中的安全 10
1.3.2 针对信息安全的编程 11
1.3.3 其他内容 12
小结 12
练习 12
参考文献 12
第2章 内存安全 13
2.1 缓冲区溢出 13
2.1.1 缓冲区 13
2.1.2 缓冲区溢出 16
2.1.3 缓冲区溢出案例 18
2.1.4 堆溢出 22
2.1.5 缓冲区溢出攻击 23
2.1.6 防范方法 25
2.2 整数溢出 25
2.2.1 整数的存储方式 25
2.2.2 整数溢出 26
2.2.3 解决方案 31
2.3 数组和字符串问题 31
2.3.1 数组下标问题 31
2.3.2 字符串格式化问题 32
小结 34
练习 34
参考文献 35
第3章 线程/进程安全 36
3.1 线程机制 36
3.1.1 为什么需要线程 36
3.1.2 线程机制和生命周期 39
3.2 线程同步安全 39
3.2.1 线程同步 39
3.2.2 案例分析 40
3.2.3 解决方案 42
3.3 线程协作安全 45
3.3.1 线程协作 45
3.3.2 案例分析 45
3.3.3 解决方案 47
3.4 线程死锁安全 49
3.4.1 线程死锁 49
3.4.2 案例分析 50
3.4.3 解决方案 52
3.5 线程控制安全 53
3.5.1 安全隐患 53
3.5.2 案例分析 53
3.5.3 解决方案 55
3.6 进程安全 56
3.6.1 进程概述 56
3.6.2 进程安全问题 56
小结 57
练习 57
参考文献 57
第4章 异常/错误处理中的安全 58
4.1 异常/错误的基本机制 58
4.1.1 异常的出现 58
4.1.2 异常的基本特点 60
4.2 异常捕获中的安全 61
4.2.1 异常的捕获 61
4.2.2 异常捕获中的安全 63
4.3 异常处理中的安全 66
4.3.1 finally的使用安全 66
4.3.2 异常处理的安全 70
4.4 面向过程异常处理中的安全问题 73
4.4.1 面向过程的异常处理 73
4.4.2 安全准则 76
小结 76
练习 77
第5章 输入安全 78
5.1 一般性讨论 78
5.1.1 输入安全概述 78
5.1.2 预防不正确的输入 80
5.2 几种典型的输入安全问题 82
5.2.1 数字输入安全问题 83
5.2.2 字符串输入安全问题 83
5.2.3 环境变量输入安全问题 84
5.2.4 文件名安全问题 85
5.3 数据库输入安全问题 86
5.3.1 数据库概述 86
5.3.2 数据库的恶意输入 86
5.3.3 账户和口令问题 87
小结 88
练习 88
参考文献 89
第6章 国际化安全 90
6.1 国际化的基本机制 90
6.1.1 国际化概述 90
6.1.2 国际化过程 91
6.2 国际化中的安全问题 94
6.2.1 字符集 94
6.2.2 字符集转换 95
6.2.3 I18N缓冲区溢出问题 99
6.3 推荐使用Unicode 100
小结 101
练习 101
参考文献 101
第7章 面向对象中的编程安全 102
7.1 面向对象概述 102
7.1.1 面向对象基本原理 102
7.1.2 面向对象的基本概念 103
7.2 对象内存分配与释放 104
7.2.1 对象分配内存 104
7.2.2 对象内存释放 105
7.2.3 对象线程安全 109
7.2.4 对象序列化安全 110
7.3 静态成员安全 111
7.3.1 静态成员的机理 111
7.3.2 静态成员需要考虑的安全问题 112
7.3.3 利用单例提高程序性能 112
小结 114
练习 114
第8章 Web编程安全 115
8.1 Web概述 115
8.1.1 Web运行的原理 115
8.1.2 Web编程 116
8.2 避免URL操作攻击 117
8.2.1 URL的概念及其工作原理 117
8.2.2 URL操作攻击 118
8.2.3 解决方法 119
8.3 页面状态值安全 120
8.3.1 URL传值 120
8.3.2 表单传值 122
8.3.3 Cookie方法 125
8.3.4 session方法 128
8.4 Web跨站脚本攻击 134
8.4.1 跨站脚本攻击的原理 134
8.4.2 跨站脚本攻击的危害 140
8.4.3 防范方法 141
8.5 SQL注入 144
8.5.1 SQL注入的原理 144
8.5.2 SQL注入攻击的危害 149
8.5.3 防范方法 150
8.6 避免Web认证攻击 152
8.6.1 Web认证攻击概述 152
8.6.2 Web认证攻击防范 152
小结 153
练习 153
第9章 权限控制 154
9.1 权限控制概述 154
9.1.1 权限控制分类 154
9.1.2 用户认证方法 155
9.2 权限控制的开发 156
9.2.1 开发思想 156
9.2.2 基于代理模式的权限控制开发 157
9.2.3 基于AOP的权限控制开发 159
9.3 单点登录 159
9.3.1 单点登录概述 159
9.3.2 单点登录中账号管理 160
9.3.3 单点登录实现 161
9.4 权限控制的管理 162
小结 163
练习 163
第10章 远程调用和组件安全 165
10.1 远程调用安全 165
10.1.1 远程调用概述 165
10.1.2 安全问题 168
10.2 ActiveX安全 169
10.2.1 ActiveX概述 169
10.2.2 安全问题 170
10.3 JavaApplet安全 171
10.3.1 JavaApplet概述 171
10.3.2 安全问题 172
10.4 DCOM安全 172
10.4.1 DCOM概述 172
10.4.2 安全问题 173
10.5 EJB安全 174
10.5.1 EJB概述 174
10.5.2 开发安全的EJB 174
10.6 CORBA安全 176
10.6.1 CORBA概述 176
10.6.2 CORBA安全概述 177
小结 177
练习 178
参考文献 178
第11章 避免拒绝服务攻击 179
11.1 拒绝服务攻击 179
11.2 几个拒绝服务攻击的案例 180
11.2.1 程序崩溃攻击 180
11.2.2 资源不足攻击 182
11.2.3 恶意访问攻击 184
小结 188
练习 188
参考文献 188
第12章 数据的加密保护 189
12.1 加密概述 189
12.1.1 加密的应用 189
12.1.2 常见的加密算法 190
12.2 实现对称加密 192
12.2.1 用Java实现DES 192
12.2.2 用Java实现3DES 195
12.2.3 用Java实现AES 197
12.3 实现非对称加密 198
12.3.1 用Java实现RSA 198
12.3.2 DSA算法 201
12.4 实现单向加密 201
12.4.1 用Java实现MD5 201
12.4.2 用Java实现SHA 202
12.4.3 用Java实现消息验证码 203
12.5 密钥安全 204
12.5.1 随机数安全 205
12.5.2 密钥管理安全 207
小结 208
练习 208
参考文献 209
第13章 数据的其他保护 210
13.1 数据加密的限制 210
13.2 密码保护与验证 211
13.3 内存数据的保护 214
13.3.1 避免将数据写入硬盘文件 214
13.3.2 从内存擦除数据 217
13.4 注册表安全 217
13.4.1 注册表简介 217
13.4.2 注册表安全 218
13.5 数字水印 218
13.5.1 数字水印简介 218
13.5.2 数字水印的实现 219
13.6 软件版权保护 220
小结 221
练习 221
第14章 数字签名 222
14.1 数字签名概述 222
14.1.1 数字签名的应用 222
14.1.2 数字签名的过程 223
14.2 实现数字签名 224
14.2.1 用RSA实现数字签名 225
14.2.2 用DSA实现数字签名 226
14.3 利用数字签名解决实际问题 228
14.3.1 解决篡改问题 228
14.3.2 解决抵赖问题 232
小结 234
练习 234
第15章 软件安全测试 235
15.1 软件测试概述 235
15.1.1 软件测试的概念 235
15.1.2 软件测试的目的和意义 236
15.1.3 软件测试方法 236
15.2 针对软件安全问题的测试 238
15.2.1 软件安全测试的必要性 238
15.2.2 软件安全测试的过程 239
15.3 安全审查 242
15.3.1 代码的安全审查 242
15.3.2 配置复查 242
15.3.3 文档的安全审查 243
小结 244
练习 244
参考文献 244
第16章 程序性能调优 245
16.1 数据优化 245
16.1.1 优化变量赋值 245
16.1.2 优化字符串 246
16.1.3 选择合适的数据结构 248
16.1.4 使用尽量小的数据类型 249
16.1.5 合理使用集合 249
16.2 算法优化 250
16.2.1 优化基本运算 250
16.2.2 优化流程 252
16.3 应用优化 255
16.3.1 优化异常处理 255
16.3.2 单例 257
16.3.3 享元 257
16.3.4 延迟加载 259
16.3.5 线程同步中的优化 259
16.4 数据库的优化 260
16.4.1 设计上的优化 260
16.4.2 SQL语句优化 262
16.4.3 其他优化 266
小结 266
练习 266
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019