
本书详细介绍了计算机病毒的基本原理和主要防治技术,深入分析和探讨了计算机病毒的产生机理、寄生特点、传播方式、危害表现以及防范和对抗等方面的技术。主要内容包括:计算机病毒概述、计算机病毒的理论模型、计算机病毒的结构分析、计算机病毒技术特征、特洛伊木马、宏病毒、Linux病毒技术、移动终端恶意代码、计算机病毒查杀方法、计算机病毒防治技术、OAV代码分析与使用、常用杀毒软件及其解决方案和计算机病毒防治策略。
本书通俗易懂,注重理论与实践相结合。所设计的教学实验覆盖了所有类型的计算机病毒,使读者能够举一反三。为了便于教学,教材附带教学课件、实验用源代码以及辅助应用程序版本说明等内容,下载地址为:www.tupwk.com.cn/downpage。下载并解压缩后,就可按照教材设计的实验步骤使用。
本书可作为高等院校信息安全专业和计算机相关专业的教材,也可供广大系统管理员、计算机安全技术人员参考。
前 言
在全球经济一体化的背景下,信息安全技术不仅成为对抗霸权主义、强权政治以及抗击信息侵略的重要屏障,而且也是国家政治、军事、经济、文化以及社会繁荣安定与和谐发展的有力保证。计算机病毒作为信息安全领域的重要一环,近年来在军事战争、社会稳定方面发挥了双刃剑的作用,引起了社会各界的广泛重视。计算机病毒不仅仅是信息技术高速发展的必然结果,还可在政府行为的指导下作为一种“以毒攻毒”的信息对抗手段服务于国家安全。
作者在从事大学本科计算机病毒教学4年,研发工作3年的基础上,编写了本教材。书中重点分析计算机病毒的运行机制,并通过实验的方式讲解常见病毒。在分析病毒技术的基础上,重点分析计算机病毒的检测和清除技术。此外,还对预防计算机病毒的策略和防治方案进行了探讨。
本书共分13章,具体内容如下。
第1章:计算机病毒概述。主要介绍计算机病毒的基本概念,并在此基础上讲述计算机病毒的关键历史转折点、技术分类、传播途径、感染症状、命名规则及未来发展趋势等相关问题。
第2章:计算机病毒的理论模型。主要介绍计算机病毒的理论模型,例如,基于图灵机、递归函数和传染病数学模型的计算机病毒模型。在本章最后一小节介绍了计算机病毒预防理论模型。
第3章:计算机病毒的结构分析。主要介绍在DOS、Windows 9x、Windows 2000平台下传统病毒的功能模块和工作机制。并以3种平台下的可执行文件结构为线索,在分析这些文件结构的基础上,引入不同平台的病毒编制技术。为了保证教材的系统性,本章还简要介绍了引导型病毒。
第4章:计算机病毒技术特征。本章是第三章技术的发展和提高。不仅对实战型病毒所必需的计算机病毒技术特征进行了介绍。而且还探讨了一些采用特殊技术的计算机病毒,例如蠕虫病毒、基于Outlook漏洞的病毒、Webpage恶意代码和流氓软件等。
第5章:特洛伊木马。为了使读者充分了解特洛伊木马,本章详细分析了木马的技术特征、木马入侵的一些常用技术以及木马入侵的防范和清除方法。此外,还对几款常见木马程序的防范经验作了较为详细的说明。
第6章:宏病毒。以Microsoft Word宏病毒为主线介绍宏病毒的基本概念、制作机理、宏病毒实验和防范方法等内容。
第7章:Linux病毒技术。本章在了解Linux安全问题的基础上,探讨了Linux病毒的概念,分析了Linux可执行文件格式(ELF)的运行机理。本章还精心设计了两个实验,以直观的方式分别讲解了Linux操作系统的脚本病毒和感染ELF格式文件的病毒原理。
第8章:移动终端恶意代码。以手机恶意代码为主线,介绍移动终端恶意代码的概念、技术进展和防范工具,使读者了解未来移动终端设备上的威胁。
第9章:计算机病毒查杀方法。主要内容包括计算机病毒的诊断原理和方法、计算机病毒清除的原理和方法、自动诊断计算机病毒的源码分析及关键算法及几类典型病毒的查杀经验等。
第10章:计算机病毒的防治技术。计算机病毒防治技术涉及的范围非常广,有些技术穿插在其他章节进行介绍。本章内容包括计算机病毒防治技术的现状、一些非常重要的计算机病毒防治技术以及数据备份和数据恢复在计算机病毒防治领域的重要性等。
第11章:OAV(Open Antivirus)代码分析与使用。OAV是在2000年8月由德国开源爱好者发起的为开源社区的反病毒开发者提供交流和项目管理的资源平台。本章详细分析了OAV的框架和主要函数,同时详细介绍了其使用方法。
第12章:常用杀毒软件及其解决方案。本章通过介绍企业网络的典型结构、典型应用和网络时代的病毒特征,得出企业网络防病毒体系对反病毒技术和工具的需求,从而给出一些典型病毒防治体系解决方案。
第13章:计算机病毒防治策略。通过讨论防御性策略得到的不同建议,来避免计算机受到病毒的影响。本章侧重于全局策略和规章,并且针对企业用户所讲述的内容比针对单机用户的要多一些。本章还就如何制订一个防御计划,如何挑选一个快速反应小组,如何控制住病毒的发作,以及反病毒工具的选择等问题提出了一些建议。
本书主要由刘功申编写。其中,唐祝寿重点参与了第3章的编写,来火尧重点参与了第6和第11章的编写,任伟和石磊重点参与了第7章的编写,胡长春重点参与了第8章的编写,邓攀重点参与了第2和第12章的编写。
在本书完稿之际,作者对上海交通大学教材出版基金的资助表示衷心感谢;感谢教学4年来听过作者计算机病毒课的所有学生,他们为作者的讲义提出了很多宝贵意见;感谢各类参考资料的提供者,这些资料既充实了作者的教材也丰富了作者的知识;感谢我的太太和刚刚出生的孩子,该书稿的完成离不开家人的默默支持。
为便于教学,本教材提供教学课件和实验用源代码,可通过http://www.tupwk.com.cn/ downpage下载
由于水平有限,书中难免有疏漏之处,恳请读者批评指正,以使本书得以进一步改进和完善。作者的联系方式:lgshen@sjtu.edu.cn。
作 者
2007年7月
于思源湖畔
??
??
??
??
? II ?
计算机病毒及其防范技术
? III ?
第10章 计算机病毒的防治技术
目 录
第1章 计算机病毒概述 1
1.1 计算机病毒的概念 1
1.2 计算机病毒的发展历史及其
危害程度 2
1.3 计算机病毒的分类 7
1.4 计算机病毒的传播途径 9
1.5 染毒计算机的症状 11
1.5.1 计算机病毒的表现现象 12
1.5.2 与病毒现象类似的
硬件故障 16
1.5.3 与病毒现象类似的
软件故障 17
1.6 计算机病毒的命名规则 18
1.7 计算机病毒的发展趋势和最新
动向 20
1.8 习题 24
第2章 计算机病毒的理论模型 25
2.1 基本定义 25
2.2 基于图灵机的计算机
病毒模型 27
2.2.1 随机访问计算机模型 28
2.2.2 随机访问存储程序模型 29
2.2.3 图灵机模型 30
2.2.4 带后台存储的RASPM
模型 32
2.2.5 操作系统模型 37
2.2.6 基于RASPM_ABS的病毒 38
2.3 基于递归函数的计算机病毒
的数学模型 43
2.3.1 Adlemen病毒模型 43
2.3.2 Adlemen病毒模型的分析 44
2.4 Internet蠕虫传播模型 45
2.4.1 SIS模型和SI模型 46
2.4.2 SIR模型 47
2.4.3 网络模型中蠕虫传播
的方式 48
2.5 计算机病毒预防理论模型 49
2.6 习题 51
第3章 计算机病毒的结构分析 52
3.1 计算机病毒的结构和
工作机制 53
3.1.1 引导模块 53
3.1.2 感染模块 54
3.1.3 破坏模块 56
3.1.4 触发模块 56
3.2 16位操作系统病毒编制技术 57
3.2.1 引导型病毒编制原理 57
3.2.2 COM、MZ、NE文件结构及
运行原理 59
3.2.3 COM文件病毒原理 63
3.2.4 COM文件病毒实验 64
3.3 32位操作系统病毒示例分析 64
3.3.1 PE文件结构及其运行原理 65
3.3.2 Win32文件型病毒编制
技术 78
3.3.3 从ring3到ring0的简述 85
3.3.4 PE文件格式实验 86
3.3.5 32位文件型病毒实验 86
3.4 习题 87
第4章 计算机病毒技术特征 89
4.1 计算机病毒的技术特征 89
4.1.1 驻留内存 90
4.1.2 病毒变种 92
4.1.3 EPO技术 93
4.1.4 抗分析技术 94
4.1.5 隐蔽性病毒技术 97
4.1.6 多态性病毒技术 99
4.1.7 插入型病毒技术 102
4.1.8 超级病毒技术 102
4.1.9 破坏性感染技术 103
4.1.10 病毒自动生产技术 103
4.1.11 网络病毒技术 104
4.2 蠕虫病毒 106
4.2.1 蠕虫的基本概念 106
4.2.2 蠕虫和其他病毒的关系 106
4.2.3 蠕虫病毒的危害 107
4.2.4 蠕虫病毒的特性 108
4.2.5 蠕虫病毒的机理 109
4.2.6 防范蠕虫 110
4.2.7 蠕虫病毒实例 111
4.3 利用Outlook漏洞编写病毒 112
4.3.1 邮件型传播方式 113
4.3.2 邮件型病毒的传播原理 113
4.3.3 邮件型病毒预防 116
4.3.4 邮件型病毒实验 117
4.4 Webpage中的恶意代码 118
4.4.1 脚本病毒基本类型 119
4.4.2 Web恶意代码工作机理 119
4.4.3 Web恶意代码实验 122
4.5 流氓软件 123
4.5.1 流氓软件定义 123
4.5.2 应对流氓软件的政策 123
4.5.3 流氓软件的主要特征 124
4.5.4 流氓软件发展过程 124
4.5.5 流氓软件的分类 126
4.5.6 反流氓软件工具 127
4.6 习题 129
第5章 特洛伊木马 130
5.1 木马概述 130
5.1.1 定义 130
5.1.2 木马的分类 133
5.1.3 远程控制、木马与病毒 134
5.1.4 木马的发展方向 134
5.2 简单木马程序实验 135
5.2.1 自动隐藏 137
5.2.2 自动加载 138
5.2.3 实现Server端功能 139
5.2.4 实现Client端功能 145
5.2.5 实施阶段 146
5.3 木马程序的关键技术 147
5.3.1 Socket技术 147
5.3.2 重要的系统文件 150
5.3.3 修改注册表 151
5.3.4 修改文件关联 153
5.3.5 远程屏幕抓取 153
5.3.6 输入设备控制 153
5.3.7 远程文件管理 154
5.3.8 共享硬盘数据 159
5.3.9 各种隐藏技术 160
5.3.10 服务器端程序的包装
与加密 169
5.4 木马攻击的方法及防范经验 169
5.4.1 木马病毒的常用骗术 169
5.4.2 全面防治木马病毒 172
5.4.3 几种常见木马病毒的
杀除方法 175
5.4.4 已知木马病毒的端口列表 179
5.4.5 木马病毒清除实验 182
5.5 习题 182
第6章 宏病毒 184
6.1 宏病毒概述 184
6.1.1 宏病毒的运行环境 184
6.1.2 宏病毒的特点 185
6.1.3 经典宏病毒 186
6.1.4 宏病毒的共性 188
6.2 宏病毒的作用机制 188
6.2.1 Word中的宏 189
6.2.2 Word宏语言 190
6.2.3 宏病毒关键技术 191
6.3 Word宏病毒查杀 194
6.3.1 人工发现宏病毒的方法 194
6.3.2 手工清除宏病毒的方法 194
6.3.3 宏病毒查杀方法 194
6.3.4 宏病毒清除工具 196
6.4 预防宏病毒 197
6.5 Word宏病毒实验 197
6.6 习题 200
第7章 Linux病毒技术 201
7.1 一些公共的误区 201
7.2 Linux系统病毒分类 202
7.3 Linux系统下的脚本病毒 204
7.3.1 Linux脚本病毒编制技术 204
7.3.2 Linux脚本病毒实验 207
7.4 ELF文件格式 208
7.4.1 目标文件 208
7.4.2 ELF头 210
7.4.3 节 217
7.4.4 字符串表 224
7.4.5 符号表 225
7.4.6 重定位 229
7.4.7 程序头 232
7.4.8 程序载入 238
7.4.9 动态链接 240
7.5 ELF格式文件感染原理 251
7.5.1 无关ELF格式的感染方法 251
7.5.2 利用ELF格式的感染方法 255
7.5.3 高级感染技术 264
7.6 Linux ELF病毒实例 265
7.6.1 病毒技术汇总 266
7.6.2 原型病毒实现 274
7.6.3 原型病毒检测 282
7.6.4 Linux ELF病毒实验 284
7.7 习题 285
第8章 移动终端恶意代码 286
8.1 移动终端恶意代码概述 286
8.2 移动终端操作系统 287
8.2.1 智能手机操作系统 287
8.2.2 PDA操作系统 290
8.2.3 移动终端操作系统的弱点 293
8.3 移动终端恶意代码关键技术 294
8.3.1 移动终端恶意代码
传播途径 294
8.3.2 移动终端恶意代码
攻击方式 294
8.3.3 移动终端恶意代码
生存环境 295
8.3.4 移动终端设备的漏洞 296
8.4 移动终端恶意代码实例 297
8.5 移动终端恶意代码的防范 299
8.6 移动终端杀毒工具 299
8.7 习题 301
第9章 计算机病毒查杀方法 302
9.1 计算机病毒的诊断 302
9.1.1 计算机病毒的诊断原理 302
9.1.2 计算机病毒的诊断方法 310
9.1.3 高速模式匹配 310
9.1.4 多模式匹配算法实验 322
9.1.5 自动诊断的源码分析 323
9.2 计算机病毒的清除 329
9.2.1 计算机病毒清除的原理 329
9.2.2 计算机病毒的清除方法 331
9.3 针对典型病毒的查杀方法 332
9.3.1 Outlook漏洞病毒的查杀 332
9.3.2 WebPage恶意代码
查杀方法 334
9.3.3 清除Win32.Spybot.Worm
蠕虫病毒 335
9.4 习题 336
第10章 计算机病毒防治技术 338
10.1 病毒防治技术现状 338
10.2 目前的流行技术 342
10.2.1 虚拟机技术 342
10.2.2 宏指纹识别技术 343
10.2.3 驱动程序技术 343
10.2.4 32位内核技术 344
10.2.5 计算机监控技术 345
10.2.6 监控病毒源技术 345
10.2.7 无缝连接技术 346
10.2.8 主动内核技术 347
10.2.9 检查压缩文件技术 347
10.2.10 启发式代码扫描技术 348
10.2.11 免疫技术 353
10.2.12 数字免疫系统 354
10.2.13 立体防毒技术 355
10.2.14 广谱特征码 355
10.2.15 网络病毒防御技术 356
10.3 病毒防治技术的缺陷 358
10.4 数据备份与数据恢复 359
10.4.1 数据备份 359
10.4.2 数据恢复 367
10.5 习题 374
第11章 OAV代码分析与使用 375
11.1 项目组成 375
11.2 ScannerDaemon基本框架 375
11.2.1 main-class分析 376
11.2.2 扫描配置模块 378
11.2.3 病毒签名模块 379
11.2.4 扫描引擎模块 388
11.2.5 文件系统支持模块 396
11.3 测试示例 403
11.4 ScannerDaemon项目实验 405
11.4.1 配置说明 405
11.4.2 使用说明 406
11.5 习题 407
第12章 常用杀毒软件及其
解决方案 408
12.1 国内外著名杀毒软件比较 408
12.1.1 杀毒软件必备功能 408
12.1.2 杀毒产品使用和配置 411
12.1.3 六款流行企业版杀毒
产品比较 411
12.1.4 产品比较评论 416
12.1.5 反病毒产品的地缘性 416
12.2 企业级病毒防治方案 420
12.2.1 企业防病毒的需求 420
12.2.2 企业网络的典型结构 422
12.2.3 企业网络的典型应用 423
12.2.4 病毒在网络上传播
的过程 424
12.2.5 企业网络防病毒方案 425
12.3 习题 427
第13章 计算机病毒防治策略 428
13.1 计算机病毒防治策略的
基本准则 428
13.2 国家层面上的病毒
防治策略 429
13.3 单机用户病毒防治策略 431
13.3.1 一般技术措施 431
13.3.2 上网基本策略 432
13.4 企业病毒防治策略 433
13.4.1 如何建立防御计划 434
13.4.2 执行计划 437
13.4.3 反病毒扫描引擎
相关问题 442
13.4.4 额外的防御工具 443
13.5 未来的防范措施 447
13.6 防病毒相关法律法规 451
13.7 习题 452
附录1 计算机病毒相关网上资源 453
附录2 相关法律法规 455
参考文献 458
??
??
??
??
? IV ?
计算机病毒及其防范技术
? V ?
目 录