软件保护技术(计算机科学与技术学科前沿丛书 计算机科学与技术学科研究生系列教材(中文版))
定 价:25 元
- 作者:王建民 等编著
- 出版时间:2013/7/1
- ISBN:9787302317210
- 出 版 社:清华大学出版社
- 中图法分类:TP311.56
- 页码:124
- 纸张:胶版纸
- 版次:1
- 开本:16开
《软件保护技术(中文版)》较为系统地介绍现有的软件保护技术,共分7章,主要包括软件保护概述、软件保护的技术基础、软件水印技术、软件混淆技术、软件防篡改技术、软件保护技术的综合使用以及软件保护技术的总结与展望,旨在为解决软件版权问题提供新的思路。本书在理论讲解的基础上,也提供了若干具体操作实例,通俗易懂,便于读者理解和实践。
《软件保护技术(中文版)》适合作为高等学校高年级本科生以及研究生相关课程的教材和自学教材,也可作为计算机软件安全研究和开发的指导参考书。
随着计算机网络技术的飞速发展,软件产品的版权保护以及内容安全性成为一个亟待解决的问题,越来越多地受到人们的普遍关注。软件保护技术的发展以及相关法律法规的健全,可以在很大程度上保障软件的分发和运行安全。其中,设计和提出切实可行的保护技术显得尤为重要。以软件水印、软件混淆和软件防篡改技术为主的软件保护技术正是为解决软件知识产权保护问题而发展起来的一个新兴学科。
本书内容安排如下: 第1章为引言部分,介绍软件保护的背景、意义以及研究现状;第2章介绍软件保护的技术基础,包括代码操作技术、程序分析技术、Java字节码的结构以及拆分和编码知识;第3章至第5章为本书的重点,分别介绍软件水印技术、软件混淆技术和软件防篡改技术;第6章讨论上述若干保护技术的综合使用;第7章为总结和展望。
本书在写作过程中得到了清华大学软件学院硕士研究生张长江、付军宁、李嘉、王潇等同学的帮助,在此表示感谢。
尽管我们对全书内容进行了全面的修订和校正,但由于水平有限,书中可能会存在一些问题和不足,恳请广大读者提出宝贵意见和建议。
编者 2013年3月
第1章 引言
1.1 软件保护的背景及意义
1.2 软件保护场景
1.3 软件攻击模型
1.3.1 攻击者的能力
1.3.2 攻击者的目标
1.3.3 针对软件保护的通用攻击方式
1.3.4 针对软件水印的特定攻击方式
1.4 研究现状
1.5 软件保护方案
1.5.1 基于审计的保护方案
1.5.2 基于硬件的保护方案
1.5.3 基于软件的保护方案
1.6 关于软件保护的专利及法律条文
1.6.1 美国
第1章 引言
1.1 软件保护的背景及意义
1.2 软件保护场景
1.3 软件攻击模型
1.3.1 攻击者的能力
1.3.2 攻击者的目标
1.3.3 针对软件保护的通用攻击方式
1.3.4 针对软件水印的特定攻击方式
1.4 研究现状
1.5 软件保护方案
1.5.1 基于审计的保护方案
1.5.2 基于硬件的保护方案
1.5.3 基于软件的保护方案
1.6 关于软件保护的专利及法律条文
1.6.1 美国
1.6.2 欧盟
1.6.3 日本
1.6.4 中国
参考文献
参考文献注释
第2章 软件保护基础
2.1 代码操纵技术
2.1.1 字节码查看工具
2.1.2 字节码操纵工具
2.1.3 字节码操纵示例
2.2 程序分析技术
2.3 Class文件结构
2.4 拆分与编码知识
2.4.1 整数拆分
2.4.2 图编码
参考文献
参考文献注释
第3章 软件水印技术
3.1 国内外研究现状
3.2 软件水印的概念、模型及分类
3.2.1 软件水印概念
3.2.2 软件水印系统的模型
3.2.3 软件水印的分类
3.3 评价指标
3.3.1 数据率
3.3.2 隐蔽性
3.3.3 弹性
3.3.4 代价
3.3.5 效率
3.3.6 可信度
3.4 若干关键算法
3.4.1 静态水印算法
3.4.2 动态水印算法
3.4.3 半动态水印算法
3.5 软件水印系统
3.5.1 现有水印系统
3.5.2 TRUP平台
参考文献
参考文献注释
第4章 软件混淆技术
4.1 引言
4.2 混淆技术的概念、分类及评估
4.2.1 概念
4.2.2 分类
4.2.3 评估
4.3 混淆算法
4.3.1 设计混淆
4.3.2 数据混淆
4.3.3 控制流混淆
4.3.4 预防混淆
4.4 混淆工具
4.5 混淆算法的检验与比较
4.5.1 实验说明
4.5.2 混淆算法的效果
4.5.3 混淆算法的正确性测试
4.5.4 混淆算法对程序性能的影响
4.5.5 混淆算法对程序优化的抵抗力
参考文献
参考文献注释
第5章 软件防篡改技术
5.1 引言
5.2 软件防篡改技术的分类方式和设计准则
5.2.1 攻击类型
5.2.2 分类方式
5.2.3 设计准则
5.3 软件防篡改技术
5.3.1 校验和
5.3.2 多块加密
5.3.3 哨兵
5.3.4 断言检查
5.3.5 隐式哈希
5.3.6 Tester—Corrector
5.3.7 控制流图检测
5.3.8 基于分支函数的检测
5.3.9 联机检测
5.3.10 指针置空响应法
5.3.11 加密
5.3.12 硬件方式
5.4 软件防篡改技术辅助方案
5.4.1 TPM
5.4.2 SWATT
5.4.3 混淆
5.4.4 程序定制
5.5 软件防篡改的研究前景
5.5.1 软件防篡改技术的度量机制
5.5.2 将检测和响应结合
5.5.3 将防篡改技术与软件水印技术相结合
参考文献
参考文献注释
第6章 软件保护综合技术
6.1 水印与混淆技术的结合
6.1.1 semi—danamic水印算法与混淆算法结合
6.1.2 .NET平台的软件保护
6.2 水印与防篡改技术的结合
6.3 水印感知的Java软件可信运行环境
6.3.1 Java虚拟机现有安全策略
6.3.2 基于脆弱水印的可信运行环境
参考文献
参考文献注释
第7章 总结和展望
7.1 本书内容总结
7.2 展望
附录A 按操作码字节值排列的操作码助记符
A.1 标准操作码
A.2 快速操作码
A.3 保留操作码
附录B 习题及解答