1概论 1
1.1 僵尸网络检测的意义 1
1.2 恶意软件特性 2
1.2.1 计算机病毒 3
1.2.2 计算机蠕虫 3
1.2.3 特洛伊木马 3
1.2.4 间谍软件 3
1.2.5 rootkit 3
1.2.6 僵尸网络 4
1.3 僵尸网络架构 5
1.3.1 集中式C&C架构 5
1.3.2 分布式C&C架构 6
1.3.3 僵尸网络中DNS的作用 7
1.3.4 命令控制 9
1.4 僵尸网络的动机 9
1.4.1 身份窃取 10
1.4.2 垃圾邮件攻击 11
1.4.3 点击欺诈 11
1.4.4 DDoS攻击 12
1.4.5 信息泄露 12
1.4.6 政治利益 12
1.5 威胁特征度量 13
1.5.1 僵尸网络规模 13
1.5.2 垃圾邮件 14
1.5.3 收集到的数据 15
1.5.4 直接金融损失 15
1.5.5 恶意软件恢复能力 15
1.5.6 恶意软件攻击传播 16
1.6 僵尸网络被动测量技术 16
1.6.1 包检查 16
1.6.2 流记录分析 17
1.6.3 基于DNS的检测方法 17
1.6.4 垃圾邮件记录分析 18
1.6.5 应用日志文件分析 19
1.6.6 蜜罐 19
1.6.7 反病毒软件结果评估 21
1.7 僵尸网络主动测量技术 21
1.7.1 sinkholing 22
1.7.2 渗透 23
1.7.3 DNS缓存窥探 23
1.7.4 fast-flux网络的追踪 24
1.7.5 基于IRC的测量和检测 25
1.7.6 P2P网络枚举 26
1.7.7 恶意软件逆向工程 26
1.8 僵尸网络威胁应对对策 27
1.8.1 黑名单 27
1.8.2 假冒可追踪凭证的分发 27
1.8.3 BGPblackholing 28
1.8.4 基于DNS的对策 28
1.8.5 直接摧毁C&C服务器 29
1.8.6 网络和应用层上的包过滤 29
1.8.7 阻塞25号端口 30
1.8.8 P2P应对措施 30
1.8.9 渗透和远程杀毒 31
1.8.1 0公共预防措施 31
1.9 小结 31
2僵尸的会话行为分析 33
2.1 引言 33
2.2 背景技术 33
2.2.1 聊天系统 33
2.2.2 聊天bot 34
2.2.3 相关工作 34
2.3 测量分类 35
2.3.1 测量数据 35
2.3.2 日志的分类 35
2.4 分析 36
2.4.1 人类行为 36
2.4.2 周期型bot 37
2.4.3 随机型bot 38
2.4.4 响应型bot 38
2.4.5 重播型bot 39
2.5 分类系统 40
2.5.1 熵值分类器 40
2.5.2 熵值测量 41
2.5.3 机器学习分类器 41
2.6 实验评估 42
2.6.1 实验设置 42
2.6.2 熵值分类器 43
2.6.3 监督和混合机器学习分类器 44
2.7 基于IRC的主动僵尸会话方法 45
2.7.1 结构设计 45
2.7.2 主动探测技术设计 46
2.7.3 主动僵尸网络探测算法设计 47
2.7.4 评估用户距离和检测正确性权衡 48
2.8 小结 49
3主动僵尸代码捕获方法 51
3.1 引言 51
3.2 恶意代码捕获技术背景 52
3.2.1 蜜罐技术 52
3.2.2 基于主动技术的恶意代码捕获方法 53
3.2.3 恶意代码捕获方法设计 53
3.3 网络爬虫设计 55
3.3.1 爬虫介绍 55
3.3.2 Heritrix的功能和不足 56
3.4 主题相关度 57
3.4.1 主题描述算法 57
3.4.2 主题相关度计算 58
3.5 静态检测 59
3.5.1 网页特征提取 59
3.5.2 页面解析 61
3.6 客户端引擎模块 62
3.6.1 IE访问模块 63
3.6.2 系统监测模块 64
3.7 实验设计与分析 66
3.7.1 实验环境 66
3.7.2 实验分析 67
3.8 基于网站下载恶意代码的方法 69
3.9 小结 70
4僵尸提取和分析 71
4.1 反病毒引擎扫描 71
4.1.1 多病毒引擎扫描 71
4.1.2 扫描结果分析 73
4.2 基于虚拟机的僵尸程序行为分析系统 75
4.2.1 设计与实现 75
4.2.2 数据分析 77
4.3 僵尸网络的DNS通信周期性特征分析 78
4.3.1 周期性分析 78
4.3.2 DNS协议识别 81
4.3.3 周期性检测算法 82
4.3.4 实验分析 83
4.4 僵尸网络域名特征分析 84
4.4.1 域名字符长度 85
4.4.2 K-L信息量 86
4.4.3 Jaccard相似性系数 87
4.4.4 实验分析 88
4.5 黑名单分析 89
4.5.1 黑名单构建 89
4.5.2 黑名单检测结果 91
4.6 小结 93
5僵尸源码实例分析 94
5.1 引言 94
5.2 SDBot 94
5.2.1 SDBot概述 94
5.2.2 SDBot结构体 94
5.2.3 函数说明 98
5.2.4 SDBot架构分析 99
5.2.5 实验分析 101
5.3 ZeuS 104
5.3.1 ZeuS概述 104
5.3.2 ZeuS整体架构 105
5.3.3 ZeuS客户端 106
5.3.4 C&C服务器端 108
5.3.5 实验分析 108
5.4 小结 114
6基于DNS的僵尸网络检测方法 116
6.1 僵尸网络DNS流量的特征分析 116
6.1.1 DNS协议识别 116
6.1.2 DNS流量特性 118
6.1.3 DNS流量统计方法 118
6.1.4 DNS周期性分析 120
6.1.5 DNS群体相似性分析 121
6.1.6 实验分析 124
6.2 基于DNS的贝叶斯检测方法 126
6.2.1 概述 126
6.2.2 贝叶斯方法 127
6.2.3 实验方法 129
6.2.4 实验结果 132
6.2.5 实验小结 135
6.3 基于DNS流量中团体活动的识别方法 135
6.3.1 概述 135
6.3.2 僵尸网络团体活动 136
6.3.3 BotGAD框架 138
6.3.4 评估结果 142
6.3.5 BotGAD分析 147
6.4 小结 150
7基于C&C信道的僵尸网络检测方法 152
7.1 引言 152
7.2 C&C通信动机 152
7.2.1 僵尸网络C&C通信样例 152
7.2.2 僵尸网络C&C通信:时空相关性与相似性 153
7.3 BotSniffer结构和算法 154
7.3.1 监听引擎 155
7.3.2 关联引擎 156
7.3.3 特定情况下单个客户的C&C通信检测 159
7.4 实验评估 159
7.4.1 数据集 159
7.4.2 误报率分析 161
7.4.3 检测正确性分析 161
7.4.4 实验小结 162
7.5 BotFinder系统设计 162
7.5.1 概述 162
7.5.2 系统工作原理 163
7.6 实验数据训练分析 165
7.6.1 训练 165
7.6.2 评估 166
7.6.3 实现与性能 167
7.7 小结 169
8基于流量行为的僵尸网络检测 170
8.1 引言 170
8.2 流序列分析方法 170
8.2.1 报文信息分析 170
8.2.2 流序列特征 171
8.2.3 聚类与分类方法 174
8.3 实验分析 175
8.3.1 方法设计 175
8.3.2 实验数据 177
8.3.3 实验结果 177
8.4 IRC流网络行为检测方法 179
8.4.1 基于IRC的C&C流特征 179
8.4.2 流量处理管道 180
8.4.3 背景流量源 180
8.4.4 僵尸网络trace源 181
8.5 建模 182
8.5.1 过滤阶段 182
8.5.2 分类阶段 183
8.5.3 关联阶段 185
8.5.4 拓扑分析阶段 185
8.6 流关联分析 187
8.6.1 流关联性 187
8.6.2 多维流关联性 189
8.6.3 关联性结果 191
8.7 小结 191
9基于事件关联的僵尸网络检测 193
9.1 引言 193
9.2 原理分析 194
9.2.1 理解bot注入序列 194
9.2.2 注入对话过程建模 195
9.2.3 BotHunter系统设计 196
9.3 多传感器搜集感染证据的方法 197
9.3.1 SCADE:统计扫描异常检测引擎 197
9.3.2 SLADE:统计负载异常检测引擎 198
9.3.3 特征引擎:bot特性探索 200
9.3.4 基于会话的IDS关联引擎 200
9.4 评估检测效果 202
9.4.1 在insitu虚拟网络中的实验 202
9.4.2 SRI蜜罐实验 203
9.5 BotMiner检测框架及其实现 204
9.5.1 问题与假设 204
9.5.2 BotMiner检测框架结构 205
9.5.3 流量监听器 206
9.5.4 C模块聚类 207
9.5.5 A模块聚类 210
9.5.6 交叉关联模块 211
9.6 BotMiner实验分析 212
9.6.1 实验设置与数据收集 212
9.6.2 评估结果 213
9.7 Snort入侵检测系统 215
9.7.1 Snort简介 215
9.7.2 Snort规则筛选 217
9.7.3 Snort源码修改 218
9.8 小结 220
10基于内容解析的僵尸网络检测 221
10.1 引言 221
10.2 IRC僵尸网络的检测方法 221
10.2.1 IRC协议识别 221
10.2.2 1RC信道及昵称信息统计 223
10.2.3 IRC昵称分析 225
10.2.4 系统设计分析 226
10.3 ExecScent系统设计 229
10.3.1 概述 229
10.3.2 输入网络流量 230
10.3.3 C&C请求 231
10.3.4 CPT的生成 231
10.3.5 系统在部署网络的配置 232
10.3.6 模板匹配 233
10.3.7 相似性函数 234
10.4 小结 235
参考文献 237