图书介绍

软件安全实现 安全编程技术PDF|Epub|txt|kindle电子书版本网盘下载

软件安全实现 安全编程技术
  • 郭克华,王伟平编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302222613
  • 出版时间:2010
  • 标注页数:269页
  • 文件大小:45MB
  • 文件页数:285页
  • 主题词:程序设计-安全技术-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件安全实现 安全编程技术PDF格式电子书版下载

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

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

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

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

图书目录

第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 推荐使用Unicode100

小结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 开发安全的EJB174

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实现DES192

12.2.2 用Java实现3DES195

12.2.3 用Java实现AES197

12.3 实现非对称加密198

12.3.1 用Java实现RSA198

12.3.2 DSA算法201

12.4 实现单向加密201

12.4.1 用Java实现MD5201

12.4.2 用Java实现SHA202

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

热门推荐