具体描述
				
				
					
编辑推荐
                                    1. 理论知识 + 实战案例
2. 分析反病毒软件中真实存在的漏洞缺陷,提升安全技能,让系统无懈可击
3. 腾讯安全平台部专家精心翻译
本书主要内容:
●对反病毒软件进行全方位的逆向工程
●理解插件系统和反病毒特征码技术
●绕过反病毒措施
●绕过特征码识别、扫描器和启发式引擎
●利用本地和远程攻击技术                 内容简介
   本书由业界知名安全技术人员撰写,系统介绍了逆向工程反病毒软件。主要内容包括:反病毒软件所采纳的各种具体手段,攻击和利用杀毒软件的多种常见方法,杀毒软件市场现状以及未来市场预估。
本书是逆向工程师、渗透测试工程师、安全技术人员和软件开发人员的必读指南。     作者简介
   【作者简介】
Joxean Koret
逆向工程、漏洞研究和恶意软件分析领域知名专家,安全咨询公司Coseinc安全研究员,经常受邀在国际性安全会议上做演讲。
Elias Bachaalany
安全专家,微软软件安全工程师,曾做过程序员、逆向工程师、自由技术写作者;另与人合著有《逆向工程实战》。
【译者简介】
周雨阳
安全研究员,喜爱英语翻译。研究方向主要为反病毒技术、浏览器安全、Web安全,曾挖掘出谷歌、苹果、雅虎等多个厂商的漏洞并获得致谢。目前就职于腾讯安全平台部。     目录
   第一部分 反病毒技术入门
第1章 反病毒软件入门 2
1.1 何谓反病毒软件 2
1.2 反病毒软件的历史与现状 2
1.3 反病毒扫描器、内核和产品 3
1.4 反病毒软件的典型误区 4
1.5 反病毒软件功能 5
1.5.1 基础功能 5
1.5.2 高级功能 8
1.6 总结 10
第2章 逆向工程核心 11
2.1 逆向分析工具 11
2.1.1 命令行工具与GUI工具 11
2.1.2 调试符号 12
2.1.3 提取调试符号的技巧 13
2.2 调试技巧 16
2.3 移植内核 22
2.4 实战案例:为Linux版Avast编写Python binding 23
2.4.1 Linux版Avast简介 23
2.4.2 为Linux版Avast编写简单的Python binding 25
2.4.3 Python binding的最终版本 30
2.5 实战案例:为Linux版Comodo编写本机C/C++工具 30
2.6 内核加载的其他部分 46
2.7 总结 47
第3章 插件系统 48
3.1 插件加载原理 48
3.1.1 反病毒软件的全功能链接器 49
3.1.2 理解动态加载 49
3.1.3 插件打包方式的利弊 50
3.2 反病毒插件的种类 52
3.2.1 扫描器和通用侦测程序 52
3.2.2 支持文件格式和协议 53
3.2.3 启发式检测 54
3.3 高级插件 57
3.3.1 内存扫描器 57
3.3.2 非本机代码 58
3.3.3 脚本语言 59
3.3.4 模拟器 60
3.4 总结 61
第4章 反病毒特征码技术 62
4.1 典型特征码 62
4.1.1 字节流 62
4.1.2 校验和 63
4.1.3 定制的校验和 63
4.1.4 加密散列算法 64
4.2 高级特征码 64
4.2.1 模糊散列算法 65
4.2.2 基于程序图的可执行文件散列算法 66
4.3 总结 68
第5章 反病毒软件的更新系统 69
5.1 理解更新协议 69
5.1.1 支持SSL/TLS 70
5.1.2 验证更新文件 71
5.2 剖析更新协议 72
5.3 错误的保护 79
5.4 总结 79
第二部分 绕过反病毒软件
第6章 绕过反病毒软件 82
6.1 谁会使用反病毒软件的绕过技术 82
6.2 探究反病毒软件侦测恶意软件的方式 83
6.2.1 用于侦测恶意软件的老把戏:分治算法 83
6.2.2 二进制指令和污点分析 88
6.3 总结 89
第7章 绕过特征码识别 90
7.1 文件格式:偏门案例和无文档说明案例 90
7.2 绕过现实中的特征码 91
7.3 绕过特定文件格式的相关提示和技巧 96
7.3.1 PE文件 96
7.3.2 JavaScript 98
7.3.3 PDF 100
7.4 总结 102
第8章 绕过扫描器 104
8.1 绕过技术的通用提示和策略 104
8.1.1 识别分析模拟器 105
8.1.2 高级绕过技巧 106
8.2 自动化绕过扫描器 117
8.2.1 初始步骤 117
8.2.2 MultiAV配置 121
8.2.3 peCloak 125
8.2.4 编写终极工具 126
8.3 总结 128
第9章 绕过启发式引擎 130
9.1 启发式引擎种类 130
9.1.1 静态启发式引擎 130
9.1.2 绕过简单的静态启发式引擎 131
9.1.3 动态启发式引擎 137
9.2 总结 142
第10章 确定攻击面 144
10.1 理解本地攻击面 145
10.1.1 查找文件和系统目录权限的弱点 145
10.1.2 权限提升 146
10.2 错误的访问控制列表 146
10.2.1 在Unix平台上利用SUID和SGID二进制文件漏洞 148
10.2.2 程序和二进制文件的ASLR和DEP保护 149
10.2.3 利用Windows对象的错误权限 151
10.2.4 利用逻辑缺陷 153
10.3 理解远程攻击面 155
10.3.1 文件解析器 155
10.3.2 通用侦测和感染文件修复代码 156
10.3.3 网络服务、管理面板和控制台 156
10.3.4 防火墙、入侵监测系统和解析器 157
10.3.5 更新服务 157
10.3.6 浏览器插件 157
10.3.7 安全增强软件 158
10.4 总结 159
第11章 拒绝服务攻击 161
11.1 本地拒绝服务攻击 161
11.1.1 压缩炸弹 162
11.1.2 文件格式解析器中的缺陷 165
11.1.3 攻击内核驱动 165
11.2 远程拒绝服务攻击 166
11.2.1 压缩炸弹 166
11.2.2 文件格式解析器中的缺陷 167
11.3 总结 167
第三部分 分析与攻击
第12章 静态分析 170
12.1 手动二进制审计 170
12.1.1 文件格式解析器 170
12.1.2 远程服务 177
12.2 总结 181
第13章 动态分析 182
13.1 模糊测试 182
13.1.1 模糊测试工具是什么 182
13.1.2 简单的模糊测试 183
13.1.3 对反病毒产品的自动化模糊测试 185
13.1.4 找到好的模糊测试模版 192
13.1.5 查找模版文件 194
13.1.6 使代码覆盖率最大化 196
13.1.7 模糊测试套组Nightmare 201
13.2 总结 207
第14章 本地攻击 209
14.1 利用后门和隐藏功能 209
14.2 挖掘非法特权、权限分配和访问控制列表 213
14.3 在内核态查找隐蔽的功能特性 217
14.4 更多的内核逻辑漏洞 223
14.5 总结 231
第15章 远程漏洞 233
15.1 实施客户端漏洞利用攻击 233
15.1.1 利用沙盒的缺陷 233
15.1.2 利用ASLR、DEP和位于固定地址的RWX页面漏洞 234
15.1.3 编写复杂的payload 235
15.1.4 利用更新服务中的漏洞 240
15.2 服务器端的漏洞利用 248
15.2.1 客户端和服务器端漏洞利用的区别 248
15.2.2 利用ASLR、DEP和地址固定的RWX内存页面相关漏洞 249
15.3 总结 249
第四部分 当前趋势与建议
第16章 当前反病毒防护趋势 252
16.1 匹配攻击技术与目标 252
16.1.1 多种多样的反病毒产品 252
16.1.2 针对家庭用户 253
16.1.3 针对中小型公司 254
16.2 针对政府机构和大型公司 254
16.3 总结 255
第17章 一些建议和未来展望 256
17.1 给反病毒软件用户的建议 256
17.1.1 盲目信任是错误的 256
17.1.2 隔离机器来增强防护 260
17.1.3 审计反病毒产品 261
17.2 给反病毒厂商的建议 261
17.2.1 优秀的工程师并不代表安全 261
17.2.2 利用反病毒软件的漏洞很简单 262
17.2.3 进行审计 262
17.2.4 模糊测试 262
17.2.5 安全地使用权限 263
17.2.6 减少解析器中的危险代码 263
17.2.7 改进升级服务和协议的安全性 264
17.2.8 删除或禁用旧代码 264
17.3 总结 265    
				
				
				
					《黑客攻防技术宝典:反病毒篇》是一本深度剖析网络安全领域中病毒攻防对抗的书籍。本书并非是简单地罗列各种病毒或杀毒软件的使用说明,而是旨在从更宏观、更技术性的角度,为读者搭建一个理解病毒生命周期、传播机制、生存策略以及相应防御体系的知识框架。  第一部分:病毒的起源与进化——理解攻击者的思维模型  本书的开篇,将带领读者深入了解病毒的“起源”故事。这并非指远古的计算机病毒,而是从黑客文化的萌芽、早期网络协议的漏洞,以及信息爆炸时代产生的新的攻击向量开始。我们会探讨是什么驱动了病毒的产生,从最初的代码趣味实验,到网络犯罪的产业化。理解攻击者的动机、技术背景和思维模式,是有效防御的第一步。  我们将深入分析病毒的“进化”历程。从简单的文件感染型病毒,到具备蠕虫、木马、间谍软件等多种形态的复杂恶意软件,病毒的演变速度惊人。本书会梳理这一进化脉络,介绍历史上具有里程碑意义的病毒案例,并分析它们在传播方式、感染机制、逃避检测技术等方面是如何实现“迭代升级”的。这部分内容将帮助读者建立对恶意软件演进趋势的直观认识,预判未来的威胁形态。     早期病毒的传播方式与载体: diskettes, bulletin board systems (BBS), email attachments.    宏病毒的兴起与Office文档的风险: VBA macro exploitation, social engineering vectors.    蠕虫的自我复制与网络带宽消耗: Morris worm, Code Red, SQL Slammer.    木马的潜伏与后门建立: Remote Access Trojans (RATs), keyloggers, credential stealers.    Rootkit的隐匿技术: User-mode rootkits, kernel-mode rootkits, hiding processes, files, and network connections.    僵尸网络与分布式拒绝服务攻击(DDoS): Botnets as a service, coordinated attacks.    勒索软件的经济驱动与加密技术: Ransomware-as-a-service (RaaS), encryption algorithms, payment methods.    APT(高级持续性威胁)的演变: targeted attacks, long-term infiltration, espionage, sabotage.    移动恶意软件的崛起: Android malware, iOS malware, app store vulnerabilities, sideloading risks.    物联网(IoT)设备的漏洞与威胁: Mirai botnet, industrial control systems (ICS) attacks.  第二部分:病毒的五脏六腑——深度剖析恶意软件的核心技术  在理解了病毒的起源与演变后,本书将带领读者“解剖”病毒,深入了解其核心技术。这部分内容将聚焦于病毒的代码层面,讲解其工作原理、内存管理、进程注入、持久化技术以及各种逃避检测的手段。这不是对现有病毒进行逆向分析,而是讲解通用的技术原理,使读者能够举一反三,理解新型病毒的设计思路。     病毒的载荷(Payload)设计:        数据窃取: 凭据抓取(credential harvesting),浏览器历史记录,Cookie,剪贴板数据。        系统破坏: 文件删除、修改、加密,系统配置更改,MBR(主引导记录)覆盖。        信息收集: 系统信息,硬件信息,网络配置,已安装软件列表。        后门控制: 远程命令执行,文件上传下载,屏幕截图,摄像头/麦克风录制。        挖矿(Cryptojacking): 利用受害者CPU/GPU进行加密货币挖矿。        广告注入与流量劫持: 篡改网页内容,强制广告展示,重定向流量。    病毒的入口点与感染方式:        文件感染: 注入到可执行文件,脚本文件(如VBS, JS),文档文件(如DOCM, XLSM)。        内存驻留: 将自身加载到内存中,实现持久性。        启动项利用: 利用Windows Registry Run键,Task Scheduler,Services,Startup folders。        DLL劫持与注入: 替换合法DLL文件,或将恶意DLL注入到合法进程。        代码注入技术: Process Hollowing, Process Doppelgänging, Thread Injection.    病毒的隐匿与反检测技术:        多态(Polymorphism): 每次感染时改变自身代码特征,生成新的“外壳”。        变形(Metamorphism): 不仅改变入口点,还重构代码逻辑,实现更深度的变异。        加密与混淆(Encryption & Obfuscation): 对自身代码进行加密,运行时解密;使用代码混淆技术,增加静态分析难度。        反调试(Anti-Debugging): 检测是否在调试环境中运行,如IsDebuggerPresent(), CheckRemoteDebugger().        反虚拟机(Anti-Virtualization): 检测是否运行在虚拟机环境中,如VMware, VirtualBox,从而避免被分析。        行为欺骗: 模拟正常用户行为,避免触发安全软件的异常检测。        Rootkit技术: 隐藏文件、进程、注册表项、网络连接。        签名规避: 避免生成已知病毒签名,通过加壳、加固等方式。        利用合法软件: 伪装成合法软件,或者利用合法软件的漏洞进行传播。        社会工程学结合: 利用用户信任,诱导用户执行恶意代码。    病毒的通信与C2(Command and Control)服务器:        Beaconing: 定期向C2服务器发送心跳信号,等待指令。        加密通信: 使用SSL/TLS等协议加密通信内容。        利用合法协议: HTTP/HTTPS, DNS, FTP 等,使其通信难以区分。        域名生成算法(DGA): 动态生成大量的域名,躲避DNS黑名单。        通信模式: P2P(点对点)通信,Webshell通信,IM(即时通讯)通道。  第三部分:与病毒的零距离——实战中的攻防博弈  本部分将超越理论,进入更贴近实战的场景。我们将探讨在真实的网络环境中,病毒是如何传播的,攻击者又是如何利用现有的漏洞和技术来实施攻击的。同时,我们将详细介绍各种反病毒技术的原理和应用,以及如何构建有效的防御体系。     病毒的传播渠道与攻击向量:        网络漏洞利用: SMB漏洞(如EternalBlue),RDP漏洞,Web服务器漏洞。        电子邮件与钓鱼攻击: 恶意附件,恶意链接,BEC(Business Email Compromise)。        可移动存储介质: U盘,移动硬盘,通过物理接触传播。        软件供应链攻击: 感染开发工具,库,或更新服务器。        社交媒体与即时通讯: 恶意链接,伪装文件。        漏洞利用工具包(Exploit Kits): 自动扫描用户浏览器,检测并利用漏洞。    防病毒技术的原理与实践:        签名检测(Signature-based Detection): 基于已知病毒特征码进行匹配。        启发式扫描(Heuristic Scanning): 分析文件行为,识别未知病毒的潜在风险。        行为分析(Behavioral Analysis): 实时监控进程行为,识别异常活动。        沙箱技术(Sandbox Technology): 在隔离环境中运行可疑文件,观察其行为。        机器学习与人工智能在反病毒中的应用: 识别未知威胁,提高检测精度。        端点检测与响应(EDR, Endpoint Detection and Response): 提供更深入的可见性,实时威胁检测和自动化响应。        网络入侵检测/防御系统(NIDS/NIPS): 监控网络流量,检测和阻止恶意活动。        防火墙与入侵预防系统(IPS): 阻止未经授权的网络访问。        补丁管理与漏洞扫描: 及时修补系统和应用漏洞。        安全意识培训: 提高用户的防范意识,减少社会工程学攻击的成功率。        数据备份与恢复: 降低勒索软件攻击的损失。        安全加固与配置审计: 提高系统的安全性,减少攻击面。    事件响应与取证:        早期威胁发现的指标(IoC, Indicators of Compromise): IP地址,域名,文件哈希,注册表项。        内存取证(Memory Forensics): 分析内存中的活动,提取恶意进程信息。        磁盘取证(Disk Forensics): 恢复被删除文件,分析文件系统。        网络流量分析(Network Traffic Analysis): 抓包分析,识别恶意通信。        日志分析: 分析系统日志,安全日志,应用程序日志。        事件溯源与攻击链分析: 还原攻击过程,评估影响。  第四部分:未来的战场——应对新兴威胁与挑战  网络安全是一个动态发展的领域,病毒和攻击技术也在不断演进。本书的最后一部分将展望未来,探讨新兴的威胁形态以及我们应如何应对。     人工智能与机器学习的“双刃剑”: AI被用于生成更智能的恶意软件,同时也是反病毒的利器。    量子计算对加密技术的潜在冲击: 量子计算可能破解现有加密算法,对网络安全产生颠覆性影响。    区块链技术的安全应用与风险: 区块链可能被用于更安全的通信,但也可能被用于更隐匿的犯罪。    云安全面临的新挑战: 云环境的复杂性,多租户模型,以及API安全。    DevSecOps与Shift-Left Security: 将安全融入开发生命周期的早期阶段。    零信任安全模型: 不再信任任何内部或外部实体,持续验证。    人类因素的永恒挑战: 心理漏洞和人为失误。  《黑客攻防技术宝典:反病毒篇》通过层层递进的结构,由浅入深地讲解了病毒的方方面面。它不仅仅是一本“反病毒”的技术手册,更是一本关于网络安全攻防博弈的“兵法”。本书旨在培养读者独立思考和分析问题的能力,帮助他们在瞬息万变的数字战场中,构建坚实的防御壁垒。无论是初入网络安全领域的学生,还是有经验的安全从业者,都能从中获得有价值的知识和启示。