第一章 绪论 1
1.1 研究背景及目的 1
1.2 软件安全及保护技术 2
1.2.1 软件安全问题 2
1.2.2 软件保护和软件识别 3
1.3 水印和特征的应用领域及其意义 4
1.4 对水印和特征的攻击 6
1.4.1 软件水印攻击 6
1.4.2 软件特征攻击 6
1.5 已有研究及需要解决的问题 7
1.5.1 提高软件认证的安全性 7
1.5.2 提高软件水印的鲁棒性 9
1.5.3 提高特征识别的准确率 10
1.6 主要研究工作 12
1.6.1 基于水印的版权管理协议研究 12
1.6.2 增强水印的鲁棒性和隐蔽性研究 13
1.6.3 胎记特征选择和特征识别的研究 14
第二章 软件水印研究综述 15
2.1 软件水印技术概述 15
2.1.1 软件水印分类 16
2.1.2 软件水印的特性 17
2.2 对软件水印的攻击 18
2.2.1 对软件水印攻击分类 18
2.2.2 软件水印抗攻击性讨论 20
2.3 软件水印保护 20
2.3.1 混淆技术 21
2.3.2 水印防篡改技术 21
2.4 软件水印常见算法 22
2.5 本章小结 30
第三章 基于多水印的软件版权保护协议 31
3.1 引言 31
3.2 软件多水印研究 31
3.2.1 多水印相关概念 31
3.2.2 多水印版权保护模型 34
3.3 基于多水印的版本角色约束保护模式 36
3.3.1 版权定义符号及机构说明 36
3.3.2 多水印约束保护模式 37
3.4 多水印软件版权保护协议 38
3.4.1 注册子协议 38
3.4.2 水印及信息加载子协议 39
3.4.3 在线交易子协议 39
3.4.4 验证版权子协议 40
3.4.5 版权仲裁子协议 40
3.5 协议分析 40
3.6 本章小结 41
第四章 动态图软件水印研究 42
4.1 DGW技术的数学依据 42
4.2 DGW水印的拓扑结构 42
4.2.1 K基数循环链表水印结构 42
4.2.2 PPCT水印结构 43
4.3 DGW水印的嵌入与提取 45
4.3.1 DGW水印的嵌入过程 45
4.3.2 DGW水印的提取过程 46
4.4 Collberg-Thomborson水印算法 46
4.5 针对DGW水印的攻击与保护 47
4.6 本章小结 50
第五章 基于门限方案的软件水印研究 51
5.1 门限方案 51
5.2 基于门限方案的软件水印算法研究 52
5.2.1 基于门限方案的水印算法 52
5.2.2 水印的嵌入过程 53
5.2.3 水印的提取过程 57
5.3 水印算法实现 57
5.4 算法分析与实验比较 59
5.4.1 门限方案n值上限分析 59
5.4.2 数据率对比 60
5.4.3 性能过载对比 61
5.4.4 鲁棒性分析 62
5.5 本章小结 63
第六章 一种防篡改的动态图软件水印方案 64
6.1 改进的PPCT水印结构 64
6.2 针对IPPCT结构的多常量编码伪水印算法 65
6.2.1 待编码常量选取 66
6.2.2 常量编码 66
6.2.3 常量解码 67
6.2.4 水印程序代码 67
6.3 性能分析 68
6.4 本章小结 68
第七章 基于混沌理论的软件水印算法研究 69
7.1 引言 69
7.2 混沌理论 70
7.2.1 混沌及混沌系统 70
7.2.2 混沌数字水印的应用 70
7.3 基于混沌理论的动态水印算法 71
7.3.1 水印嵌入过程 72
7.3.2 水印提取过程 72
7.3.3 混沌序列生成算法 72
7.3.4 混沌散列CP 73
7.3.5 混沌加密CE 75
7.4 CBSW原型系统实现 76
7.4.1 系统功能模块 76
7.4.2 系统实现类图 77
7.4.3 原型系统界面 78
7.5 实验分析与算法比较 79
7.5.1 混沌序列特性分析 80
7.5.2 混沌鲁棒性分析 80
7.5.3 混沌隐蔽性分析 81
7.5.4 水印抗攻击性比较 81
7.5.5 程序过载分析 81
7.6 本章小结 83
第八章 PE文件软件水印技术研究 84
8.1 Windows可执行代码文件 84
8.1.1 常见的可执行文件格式 84
8.1.2 PE文件基本结构 84
8.2 PE文件软件水印 90
8.2.1 PE文件软件水印概念和模型 90
8.2.2 PE文件软件水印思想及研究现状 91
8.3 用于版权保护的PE文件软件水印技术 93
8.3.1 软件侵权场景分析 93
8.3.2 用于版权保护的PE文件软件水印保护模型 94
8.3.3 用于版权保护的PE文件软件水印保护流程 95
8.4 本章小结 96
第九章 基于混沌的PE文件软件水印版权保护原理 97
9.1 混沌理论 97
9.1.1 混沌的定义 97
9.1.2 混沌运动的特征 98
9.1.3 混沌的应用领域 98
9.2 基于混沌的PE文件软件水印版权保护基本原理 99
9.3 混沌相关算法设计与实现 100
9.3.1 混沌序列的产生 100
9.3.2 混沌散列 102
9.3.3 混沌加密 102
9.4 基于混沌和冗余空间的PE文件软件水印算法 104
9.4.1 基本原理 104
9.4.2 关键技术难点分析 105
9.4.3 水印嵌入和提取算法 105
9.5 基于混沌和代码搬移的PE文件软件水印算法 107
9.5.1 基本原理 107
9.5.2 关键技术难点分析 107
9.5.3 水印的嵌入和提取 108
9.6 本章小结 110
第十章 软件特征研究综述 111
10.1 引言 111
10.2 软件特征概述 111
10.3 软件特征攻击分析 112
10.3.1 软件特征攻击方法 113
10.3.2 软件攻击常用工具 114
10.4 软件特征相关领域研究 115
10.4.1 恶意代码检测 115
10.4.2 软件版权保护 116
10.5 现有软件特征提取算法研究 118
10.5.1 TaNaMM胎记 118
10.5.2 WPP胎记 120
10.5.3 API胎记 122
10.5.4 动态n-gram软件特征 123
10.5.5 基于抽象特征检测变形恶意代码 123
10.6 本章小结 124
第十一章 基于数据流切片的软件特征研究 125
11.1 软件特征及其相关定义 125
11.1.1 软件特征定义 125
11.1.2 软件特征分类 125
11.2 数据流研究 127
11.2.1 数据流定义 127
11.2.2 数据流相关定义 128
11.2.3 数据流的多样性 129
11.2.4 数据流的稳定性 129
11.3 基于数据流切片的软件特征提取算法 129
11.3.1 算法描述 129
11.3.2 数据依赖图 130
11.3.3 数据依赖图的化简 131
11.3.4 数据依赖图的关系拓扑排序 133
11.4 基于数据流切片的软件特征评判系统 134
11.4.1 基于数据流切片的软件特征相似度 134
11.4.2 基于数据流切片的软件特征的判别依据 136
11.5 基于数据流切片的软件特征的攻击技术分析 136
11.5.1 攻击原理 137
11.5.2 攻击假设 137
11.5.3 攻击方法分析 137
11.6 本章小结 139
第十二章 基于数据流切片软件特征的评判系统 140
12.1 系统模型 140
12.2 数据流切片DSS 141
12.3 数据依赖图拓扑排序RTS 141
12.4 数据收集D 142
12.5 相似度比较模块 142
12.6 本章小结 143
第十三章 基于数据流切片的软件特征实验 144
13.1 算法要求 144
13.2 实验准备 144
13.2.1 实验软硬件环境 144
13.2.2 实验对象 145
13.3 算法鲁棒性 146
13.3.1 实验内容 146
13.3.2 实验操作 146
13.3.3 实验报告与分析 146
13.4 算法置信度 147
13.4.1 实验内容 147
13.4.2 实验操作 147
13.4.3 实验报告与分析 147
13.5 算法分析 148
13.6 本章小结 148
第十四章 基于聚类分析的胎记特征选择 149
14.1 几种特征选择技术 149
14.1.1 n-gram特征分割技术 149
14.1.2 程序切片技术 150
14.1.3 基于度量的特征选择 151
14.1.4 聚类分析 153
14.2 基于约束聚类的胎记特征选择 155
14.2.1 聚类分析过程 155
14.2.2 基于互信息的距离度量 156
14.3 基于子行为和聚类分析的软件胎记 157
14.3.1 子行为特征提取算法 158
14.3.2 基于聚类的特征选择算法 160
14.3.3 卡方检测算法 161
14.3.4 特征提取和选择过程的泛化 162
14.4 算法分析与比较 163
14.4.1 算法效率分析 163
14.4.2 等价变换对聚类选择的影响 163
14.4.3 聚类参数设置比较 164
14.4.4 鲁棒性与可信性比较 165
14.4.5 与相关算法性能比较 165
14.5 本章小结 167
第十五章 基于提升多属性特征的软件识别 168
15.1 引言 168
15.2 多属性特征 169
15.3 提升多属性特征分类器 170
15.4 基于提升多属性特征的检测框架 171
15.4.1 特征提取 172
15.4.2 分类器构建 173
15.4.3 投票提升 174
15.5 算法分析与比较 174
15.5.1 多属性提升分析 174
15.5.2 实验设置及平台 175
15.5.3 提升准确率比较 176
15.5.4 特征鲁棒性比较 177
15.5.5 特征可信度比较 177
15.6 本章小结 179
第十六章 总结与展望 180
参考文献 182