注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络信息安全计算机病毒防范艺术

计算机病毒防范艺术

计算机病毒防范艺术

定 价:¥49.00

作 者: (美)斯泽 著,段新海 译
出版社: 机械工业出版社
丛编项:
标 签: 计算机病毒

ISBN: 9787111205562 出版时间: 2007-01-01 包装: 胶版纸
开本: 16 页数: 444 字数:  

内容简介

  本书作者是赛门铁克(Symantec)公司安全响应中心的首席安全架构师,他根据自己设计和改进Norton AntiVirus系列产品及培训病毒分析人员的过程中遇到的问题精心总结编写了本书。本书最大的特色是大胆深入地探讨了病毒知识的技术细节,从病毒的感染策略上深入分析病毒的复杂性,从文件、内存和网络等多个角度讨论病毒的感染技术,对过去20年来黑客们开发的各种病毒技巧进行了分类和讲解,并介绍了代码变形和其他新兴病毒感染技术,展示了当前计算机病毒和防毒软件的最新技术,向读者传授计算机病毒分析和防护的方法学。.本书可作为IT和安全专业人士的权威指南,同时也适合作为大学计算机安全专业本科、研究生的参考教材。本书由Symantec首席反病毒研究员执笔,是讲述现代病毒威胁、防御技术和分析工具的权威指南。与多数讲述计算机病毒的书籍不同,本书完全是一本为白帽子黑客 (即负责保护自己所在组织免受恶意代码攻击的IT及安全专业人士) 编写的参考书。作者系统地讲述了反病毒技术的方方面面,包括病毒行为、病毒分类、保护策略、反病毒技术及蠕虫拦截技术等。..书中介绍了目前最先进的恶意代码技术和保护技术,提供充分的技术细节帮助读者对付日益复杂的攻击。书中包含大量关于代码变形和其他新兴技术方面的信息,学习这些知识可以让读者未雨绸缪,为应对未来的威胁提前做好准备。本书是目前已出版的同类书中对基本病毒分析技术讲解最透彻和最实用的,从个人实验室的创建到分析过程的自动化,对其中涉及的方方面面都作了描述。

作者简介

  作者简介:Peter Szor是一位举世闻名的计算机病毒和安全研究人员,他积极从事计算机病毒研究已经15年以上。1991年,他的毕业论文主题就是计算机病毒和病毒防护。这些年来,Peter很幸运地参与了一些最负盛名的反病毒产品的研发,如AVP、F-PROT和Symantec Norton AntiVirus。最初(1990~1995年),他曾在匈牙利开发自己的反病毒程序—Pasteur(巴斯德)。除了对反病毒软件开发有兴趣外,Peter还有多年的容错和安全金融交易系统的开发经验。Peter于1997年受邀加入了计算机反病毒研究者组织(Computer Antivirus Researchers Organization,CARO)。他是《Virus Bulletin》(病毒公告)杂志的顾问委员会成员,也是反病毒应急讨论网络(AntiVirus Emergency Discussion (AVED)network)的创办人之一。他在加利福尼亚Santa Monica的Symantec公司担任首席研究员已5年以上。Peter为《Virus Bulletin》、《Chip》、《Source》、《Windows NT Magazine》和《Information Security Bulletin》等杂志写过70多篇有关计算机病毒和安全方面的文章和论文。他经常在Virus Bulletin、EICAR(欧洲计算机防毒研究所)、ICSA(国际计算机安全协会)和RSA等会议上发表演讲,而且曾在USENIX Security Symposium(USENIX安全专题讨论会)这样的安全会议上作过特邀演讲。Peter热心于分享自己的研究成果和向别人传授计算机病毒与安全方面的知识。译者简介:段海新,工学博士、副教授、国际信息系统安全认证专家(CISSP)。现任清华大学信息网络工程研究中心网络与信息安全研究室主任,中国教育和科研计算机网紧急响应组(CCERT)负责人,互联网协会安全工作委员会委员,国际信息系统安全认证联盟(ISC)2亚太区顾问。主要从事计算机网络安全方面的科研、运行管理和教学工作。

图书目录

第一部分 攻击者的策略  
第1章 引言:自然的游戏    1  
1.1 自我复制结构的早期模型    1  
1.1.1 约翰·冯·诺伊曼:自我复制自动机理论    2  
1.1.2 Fredkin:重建结构    3  
1.1.3 Conway:生命游戏    4  
1.1.4 磁芯大战:程序对战    6  
1.2 计算机病毒的起源    10  
1.3 自动复制代码:计算机病毒的原理和定义    11  
参考文献      
第2章 恶意代码分析的魅力      
2.1 计算机病毒研究的通用模式    16  
2.2 反病毒防护技术的发展      
2.3 恶意程序的相关术语      
2.3.1 病毒    17  
2.3.2 蠕虫    17  
2.3.3 逻辑炸弹    18  
2.3.4 特洛伊木马    19  
2.3.5 细菌    20  
2.3.6 漏洞利用    20  
2.3.7 下载器    20  
2.3.8 拨号器    20  
2.3.9 投放器    20  
2.3.10 注入程序    21  
2.3.11 auto-rooter    21  
2.3.12 工具包(病毒生成器)    21  
2.3.13 垃圾邮件发送程序    21  
2.3.14 洪泛攻击    22  
2.3.15 击键记录器    22  
2.3.16 rootkit    22  
2.4 其他类别    23  
2.4.1 玩笑程序    23  
2.4.2 恶作剧:连锁电子邮件    23  
2.4.3 其他有害程序:广告软件和间谍软件    24  
2.5 计算机恶意软件的命名规则    24  
2.5.1 <family_name>    25  
2.5.2 <malware_type>    25  
2.5.3 <platform>   25  
2.5.4 < group_name >   26  
2.5.5 <infectuve_length >    26  
2.5.6 < variant >    26  
2.5.7 < devolution>   26  
2.5.8 <modifiers>   26  
2.5.9 <locale_specifier>   26  
2.5.10#<packer>    26  
2.5.11 @m或@mm    26  
2.5.12 !<vendor-secific_comment>    26  
2.6 公认的平台名称清单    27  
参考文献    29  
第3章 恶意代码环境    31  
3.1 计算机体系结构依赖性    32  
3.2 CPU依赖性    33  
3.3 操作系统依赖性    34  
3.4 操作系统版本依赖性    34  
3.5 文件系统依赖性    35  
3.5.1 簇病毒    35  
3.5.2 NTFS流病毒    36  
3.5.3 NTFS压缩病毒    37  
3.5.4 ISO镜像文件感染    37  
3.6 文件格式依赖性    37  
3.6.1 DOS上的COM病毒    37  
3.6.2 DOS上的EXE病毒    37  
3.6.3 16位Windows和OS/2上的NE病毒    38  
3.6.4 OS/2上的LX病毒    38  
3.6.5 32位Windows上的PE病毒    38  
3.6.6 UNIX上的ELF病毒    41  
3.6.7 设备驱动程序病毒    41  
3.6.8 目标代码和库文件病毒    42  
3.7 解释环境依赖性    42  
3.7.1 微软产品中的宏病毒    42  
3.7.2 IBM系统中的REXX病毒    50  
3.7.3 DEC/VMS上的DCL病毒    51  
3.7.4 UNIX上的shell脚本(csh.cksh和bash)    51  
3.7.5 Windows系统中的VBScript病毒    52  
3.7.6 批处理病毒    52  
3.7.7 mIRC. PIRCH脚本中的即时消息病毒    53  
3.7.8 SuperLogo病毒    53  
3.7.9 JScript病毒    55  
3.7.10 Perl病毒    55  
3.7.11 用嵌入HTML邮件的JellyScript编写的WebTV蠕虫    55  
3.7.12 Python病毒    56  
3.7.13 VIM病毒    56  
3.7.14 EMACS病毒    56  
3.7.15 TCL病毒    56  
3.7.16 PHP病毒    56  
3.7.17 MapInfo病毒    57  
3.7.18 SAP上的ABAP病毒    57  
3.7.19 Windows帮助文件病毒——当你按下F1……    57  
3.7.20 AdobePDF中的JScript威胁    58  
3.7.21 AppleScript的依赖性    58  
3.7.22 ANSI的依存关系    58  
3.7.23 MacromediaFlash动作脚本(Action-Script)威胁    59  
3.7.24 HyperTalk脚本威胁    59  
3.7.25 AutoLisp脚本病毒    60  
3.7.26 注册表依赖性    60  
3.7.27 PIF和LNK的依赖性    61  
3.7.28 LotusWord专业版中的宏病毒    61  
3.7.29 AmiPro的文档病毒    61  
3.7.30 Corel脚本病毒    61  
3.7.31 Lotus1-2-3宏的依赖性    62  
3.7.32 Windows安装脚本的依赖性    62  
3.7.33 AUTORUN.INF和WindowsINIFile依存性    62  
3.7.34 HTML依赖性    63  
3.8 系统漏洞依赖性    63  
3.9 日期和时间依赖性    63  
3.10 JIT依赖性:Microsoft.NET病毒    64  
3.11 档案文件格式依赖性    65  
3.12 基于扩展名的文件格式依赖性    65  
3.13 网络协议依赖性    66  
3.14 源代码依赖关系    66  
3.15 在Mac和Palm平台上的资源依赖性    68  
3.16 宿主大小依赖性    68  
3.17 调试器依赖性    69  
3.18 编译器和连接器依赖性    70  
3.19 设备翻译层依赖性    71  
3.20 嵌入式对象插入依赖性    73  
3.21 自包含环境的依赖性    73  
3.22 复合病毒    74  
3.23 结论    75  
参考文献    76  
第4章 感染策略的分类    79  
4.1 引导区病毒    79  
4.1.1 主引导记录感染技术    80  
4.1.2 DOS引导记录感染技术    82  
4.1.3 随Windows95发作的引导区病毒    83  
4.1.4 在网络环境下对引导映像的可能攻击    84  
4.2 文件感染技术    84  
4.2.1 重写病毒    84  
4.2.2 随机重写病毒    85  
4.2.3 追加病毒    85  
4.2.4 前置病毒    86  
4.2.5 典型的寄生病毒    87  
4.2.6 蛀穴病毒    88  
4.2.7 分割型蛀穴病毒    88  
4.2.8 压缩型病毒    89  
4.2.9 变形虫感染技术    90  
4.2.10 嵌入式解密程序技术    90  
4.2.11 嵌入式解密程序和病毒体技术    91  
4.2.12 迷惑性欺骗跳转技术    92  
4.2.13 入口点隐蔽病毒    92  
4.2.14 未来可能的感染技术:代码建造器    99  
4.3 深入分析Win32病毒    99  
4.3.1 Win32API及其支持平台    100  
4.3.2 32位Windows感染技术    102  
4.3.3 Win32和Win64病毒:是针对Microsoft Windows设计的吗    116  
4.4 结论    118  
参考文献    118  
第5章 内存驻留技术    120  
5.1 直接感染型病毒    120  
5.2 内存驻留病毒    120  
5.2.1 中断处理和钩挂    121  
5.2.2 钩挂INT13h中断例程(引导区病毒)    123  
5.2.3 钩挂INT 21h中断例程(文件型病毒)    124  
5.2.4 DOS环境常用的内存加载技术    127  
5.2.5 隐藏型病毒    129  
5.2.6 磁盘高速缓存和系统缓存感染    135  
5.3 临时内存驻留病毒    136  
5.4 交换型病毒    137  
5.5 进程病毒(用户模式)    137  
5.6 内核模式中的病毒(Windows9x/Me)    137  
5.7 内核模式中的病毒 (WindowsNT/2000/XP)    138  
5.8 通过网络传播的内存注入病毒    139  
参考文献    140  
第6章 基本的自保护策略    141  
6.1 隧道病毒    141  
6.1.1 通过扫描内存查找原中断处理例程    141  
6.1.2 跟踪调试接口    141  
6.1.3 基于代码仿真的隧道技术    142  
6.1.4 使用I/O端口直接访问磁盘    142  
6.1.5 使用未公开的函数    142  
6.2 装甲病毒    142  
6.2.1 反反汇编    143  
6.2.2 数据加密    143  
6.2.3 使用代码迷惑对抗分析    144  
6.2.4 基于操作码混合的代码迷惑    145  
6.2.5 使用校验和    146  
6.2.6 基于压缩的隐蔽代码    146  
6.2.7 反跟踪    147  
6.2.8 抗启发式检测技术    152  
6.2.9 抗仿真技术    158  
6.2.10 抗替罪羊病毒    161  
6.3 攻击性的反制病毒    162  
参考文献    163  
第7章 高级代码演化技术和病毒生成工具    165  
7.1 引言    165  
7.2 代码演化    165  
7.3 加密病毒    166  
7.4 寡形病毒    169  
7.5 多态病毒    171  
7.5.1 1260病毒    171  
7.5.2 DarkAvenger病毒中的突变引擎(MtE)    172  
7.5.3 32位多态病毒    174  
7.6 变形病毒    177  
7.6.1 什么是变形病毒    177  
7.6.2 简单的变形病毒    178  
7.6.3 更加复杂的变形病毒和置换技术    179  
7.6.4 置换其他程序:病毒机的终极版    181  
7.6.5 高级变形病毒:Zmist    182  
7.6.6 {W32,Linux}/Simile:跨平台的变形引擎    185  
7.7 病毒机    190  
7.7.1 VCS    190  
7.7.2 GenVir    190  
7.7.3 VCL    190  
7.7.4 PS-MPC    191  
7.7.5 NGVCK    191  
7.7.6 其他病毒机和变异工具    192  
7.7.7 如何测试病毒机    193  
参考文献    193  
第8章 基于病毒载荷的分类方法    195  
8.1 没有载荷    195  
8.2 偶然破坏型载荷    196  
8.3 非破坏型载荷    196  
8.4 低破坏型载荷    197  
8.5 强破坏型载荷    198  
8.5.1 数据重写型病毒    198  
8.5.2 数据欺骗    199  
8.5.3 加密数据的病毒:好坏难辨    200  
8.5.4 破坏硬件    201  
8.6 DoS攻击    201  
8.7 窃取数据:用病毒牟利    203  
8.7.1 网络钓鱼攻击    203  
8.7.2 后门    204  
8.8 结论    205  
参考文献    205  
第9章 计算机蠕虫的策略    207  
9.1 引言 ..   207  
9.2 计算机蠕虫的通用结构    208  
9.2.1 目标定位    208  
9.2.2 感染传播    208  
9.2.3 远程控制和更新接口    208  
9.2.4 生命周期管理    209  
9.2.5 蠕虫载荷    209  
9.2.6 自跟踪    210  
9.3 目标定位    210  
9.3.1 收集电子邮件地址    210  
9.3.2 网络共享枚举攻击    214  
9.3.3 网络扫描和目标指纹分析    215  
9.4 感染传播    218  
9.4.1 攻击安装了后门的系统    218  
9.4.2 点对点网络攻击    219  
9.4.3 即时消息攻击    220  
9.4.4 电子邮件蠕虫攻击和欺骗技术    220  
9.4.5 插入电子邮件附件    220  
9.4.6 SMTP代理攻击    221  
9.4.7 SMTP攻击    221  
9.4.8 使用MX查询进行SMTP传播    223  
9.4.9 NNTP攻击    223  
9.5 常见的蠕虫代码传送和执行技术    224  
9.5.1 基于可执行代码的攻击    224  
9.5.2 连接到Web站点或者Web代理    224  
9.5.3 基于HTML的邮件    225  
9.5.4 基于远程登录的攻击    225  
9.5.5 代码注入攻击    225  
9.5.6 基于shellcode的攻击    226  
9.6 计算机蠕虫的更新策略    228  
9.6.1 在Web和新闻组上的认证更新    229  
9.6.2 基于后门的更新    232  
9.7 用信令进行远程控制    232  
9.8 有意无意的交互    234  
9.8.1 合作    234  
9.8.2 竞争    236  
9.8.3 未来:简单蠕虫通信协议    237  
9.9 无线移动蠕虫    237  
参考文献    239  
第10章 漏洞利用漏洞和缓冲区溢出攻击    241  
10.1 引言    241  
10.1.1 混合攻击的定义    241  
10.1.2 威胁    241  
10.2 背景    242  
10.3 漏洞的类型    243  
10.3.1 缓冲区溢出    243  
10.3.2 第一代缓冲区溢出攻击    243  
10.3.3 第二代攻击    245  
10.3.4 第三代攻击    250  
10.4 攻击实例    261  
10.4.1 1988年的Morris蠕虫(利用堆栈溢出执行shellcode)    261  
10.4.2 1998年的Linux/ADM(“抄袭”Morris蠕虫)    263  
10.4.3 2001年爆发的CodeRed(代码注入攻击)    263  
10.4.4 2002年的Linux/Slapper蠕虫(堆溢出实例)    266  
10.4.5 2003年1月的W32/Slammer蠕虫(Mini蠕虫)    270  
10.4.6 2003年8月Blaster蠕虫(Win32上基于shellcode的攻击)    272  
10.4.7 计算机病毒中缓冲区溢出的一般用法    274  
10.4.8 W32/Badtrans.B@mm描述    274  
10.4.9 W32/Nimda.A@mm所用的漏洞攻击方法    274  
10.4.10 W32/Bolzano描述    275  
10.4.11 VBS/Bubbleboy描述    276  
10.4.12 W32/Blebla描述    277  
10.5 小结    277  
参考文献    278  
第二部分 防御者的策略  
第11章 病毒防御技术    281  
11.1 第一代扫描器    282  
11.1.1 字符串扫描    282  
11.1.2 通配符    284  
11.1.3 不匹配字节数    285  
11.1.4 通用检测法    285  
11.1.5 散列    285  
11.1.6 书签    286  
11.1.7 首尾扫描    287  
11.1.8 入口点和固定点扫描    287  
11.1.9 超快磁盘访问    288  
11.2 第二代扫描器    288  
11.2.1 智能扫描    288  
11.2.2 骨架扫描法    289  
11.2.3 近似精确识别法    289  
11.2.4 精确识别法    290  
11.3 算法扫描方法    291  
11.3.1 过滤法    292  
11.3.2 静态解密程序检测法    293  
11.3.3 X光检测法    294  
11.4 代码仿真    298  
11.4.1 用代码仿真来检测加密和多态病毒    301  
11.4.2 动态解密程序检测法    303  
11.5 变形病毒检测实例    304  
11.5.1 几何检测法    305  
11.5.2 反汇编技术    305  
11.5.3 采用仿真器进行跟踪    306  
11.6 32位Windows病毒的启发式分析    308  
11.6.1 代码从最后一节开始执行    309  
11.6.2 节头部可疑的属性    309  
11.6.3 PE可选头部有效尺寸的值不正确    309  
11.6.4 节之间的“间隙”    309  
11.6.5 可疑的代码重定向    309  
11.6.6 可疑的代码节名称    310  
11.6.7 可能的头部感染    310  
11.6.8 来自KERNEL32.DLL的基于序号的可疑导入表项    310  
11.6.9 导入地址表被修改    310  
11.6.10 多个PE头部    310  
11.6.11 多个Windows程序头部和可疑的KERNEL32.DLL导入表项    310  
11.6.12 可疑的重定位信息    310  
11.6.13 内核查询    311  
11.6.14 内核的完整性    311  
11.6.15 把节装入到VMM的地址空间    311  
11.6.16 可选头部的SizeOfCode域取值不正确    311  
11.6.17 含有多个可疑标志的例子    311  
11.7 基于神经网络的启发式分析    312  
11.8 常规及通用清除法    314  
11.8.1 标准清除法    314  
11.8.2 通用解密程序    315  
11.8.3 通用清除程序如何工作    316  
11.8.4 清除程序如何确定一个文件是否染毒    316  
11.8.5 宿主文件原来的结尾在哪里    316  
11.8.6 能用这种方法清除的病毒有多少类    316  
11.8.7 通用修复法中的启发性标记实例    317  
11.8.8 通用清除过程实例    318  
11.9 接种    319  
11.10 访问控制系统    319  
11.11 完整性检查    320  
11.11.1 虚警    321  
11.11.2 干净的初始状态    321  
11.11.3 速度    322  
11.11.4 特殊对象    322  
11.11.5 必须有对象发生改变    322  
11.11.6 可能的解决方案    322  
11.12 行为阻断    323  
11.13 沙箱法    324  
11.14 结论    325  
参考文献    325  
第12章 内存扫描与杀毒    328  


本目录推荐