网络犯罪是信息时代的产物。近年来随着计算机以及互联网的普及,尤其是各类金融业务通过因特网不断得到拓展,全球的网络犯罪案件迅速增长。如何有效防范并打击网络犯罪不但是各国立法机关、司法机关及行政机关迫切要解决的问题.而且是计算机技术领域、法学及犯罪学研究领域中最引人关注的课题。 本书旨在提出一套完整的恶意软件取证方法和流程,并以Windows和Linux两种操作系统为平台详细介绍了恶意软件取证过程的5个主要的阶段:易失性数据取证保存和检查、内存检查、硬盘检查、恶意软件静态分析、恶意软件动态分析。本书可用作高等院校信息安全专业及计算机专业本科生、研究生的教材。同时,对于信息安全特别是网络司法取证学界的广大教师、研究人员以及公安网侦人员,本书同样是不可多得的重要参考资料。 本书特色 ·第一本详细描述恶意代码取证技术的作品 ·获得2008 Bejtlich最佳图书奖(Winner of Best Book Bejtlich Read in 2008) ·本书作者参与了许多恶意入侵案件的调查审理工作,具有丰富的实践经验 ·全书结合实例对相关的技术和工具进行说明,同时给出相关法律思考、法律后果及必要的治理方法
样章试读
目录
第1章 恶意软件事件响应:易失性数据收集与实时Windows系统检查 引言 建立实时响应工具包 测试和验证您的工具 易失性数据收集方法 易失性数据的保存 搜集目标系统详细信息 识别登录到当前系统的用户 检查网络连接和活动 搜集进程信息 关联开放端口及其活动进程(和程序) 检查服务和驱动程序 检查打开的文件 收集命令的历史记录 识别共享 检查计划任务 收集剪贴板内容 从实时Windows系统收集非易失性数据 在实时Windows系统中对存储媒介进行司法复制 对实时Windows系统的特定数据进行司法保存 适用于Windows的事件响应工具套件 Windows Forensic Toolchest 从实时Windows系统中检查和提取恶意软件 小结 第2章 恶意软件事件响应:易失性数据收集与实时Linux系统检查 引言 易失性数据收集方法 Linux上的事件响应工具集 实时UNIX系统的完整内存转储 在实时UNIX系统上保存进程内存信息 获取目标系统的详细信息 识别出登录到系统的用户 检查网络连接 收集进程信息 /proc目录中的易失性数据 打开的文件和附属资源 检查已加载的模块 收集命令行历史信息 识别出已安装的共享驱动器 确定计划任务 实时Linux系统中的非易失性数据收集 对实时Linux系统中的存储介质的取证拷贝 对实时Linux系统中的指定数据进行取证保存 评估安全配置 评估主机的信任关系 收集登录日志和系统日志信息 小结 第3章 内存取证:分析物理内存和进程内存获取取证线索 引言 内存取证方法学 传统内存分析方法 Windows内存取证工具 深入分析内存映像 活动的、未活动的和隐藏的进程 Windows内存取证工具机理 虚拟内存地址 进程和线程 恢复提取可执行文件 提取进程内存数据 进程内存数据的导出和Windows系统实时分析 对实时运行的进程进行安全评估 捕获进程并分析内存 Linux内存取证分析工具 进程元数据 Linux内存取证分析工具机理 定位内存数据结构 进程 其他内存数据结构 在Linux系统上导出进程内存并进行分析 系统上的进程活动 用ps搜集进程信息 利用lsof识别进程活动 在/proc中定位可疑进程 从/proc目录拷贝可疑可执行文件 捕获并检测进程内存数据 用gcore导出核心进程映像 用Pcat获取进程内存数据 用Memfetch获取进程内存数据 用Process Dumper获取进程内存数据 其他事项 小结 第4章 事后取证:从Windows系统中搜索并提取恶意软件以及相关线索 引言 受害Windows系统的司法检查 时间分析:不仅仅只是一个时间轴 功能分析:重载一台Windows计算机镜像 关系分析 关联与重载 从Windows系统中发现并提取恶意软件 搜索已知的恶意软件 检查已安装的程序 检查预取文件 检查可执行文件 检查服务、驱动自启动位置以及计划任务 审查日志 检查用户账户 检查文件系统 检查注册表 还原点 关键词搜索 深入的Windows系统中的恶意软件发现与提取技术 定制解药 小结 第5章 事后取证:从Linux系统中搜索并提取恶意软件以及相关线索 引言 从Linux系统上发现和提取恶意软件 搜索已知的恶意软件 审查已安装的程序和潜在的可疑可执行文件 审查自启动区域、配置文件和计划任务 检查日志 审查用户账户 检查文件系统 关键字搜索 小结 第6章 法律规范 引言 注意事项 调查机构 司法机构 私人调查机构 调查机构的法定约束 存储数据 实时数据 非内容数据 受保护数据 联邦法律 洲际法律 数据获取工具 跨境获得数据 执法部门介入 增加被法院受理的机会 第7章 文件识别和构型:Windows系统中可疑文件的初步分析 引言 案例:“Hot New Video!” 文件构型过程概述 可执行文件分析 系统详细信息 哈希值 文件相似性索引 文件特征识别与分类 反病毒特征码 提取文件嵌入线索:字符串、符号信息,以及文件元数据 文件混淆技术:加壳和加密文件的鉴别 嵌入线索的再提取 小结 第8章 文件识别和构型:Linux系统上可疑文件的初步分析 引言 文件构型过程概述 分析Linux可执行文件 可执行文件是如何被编译的 静态链接vs.动态链接 符号和调试信息 从可执行文件中“剥离”符号和调试信息 获取系统详细信息 获取文件详细信息 获取Hash值 命令行MD5工具 GUI MD5工具 文件相似性索引 文件特征识别和分类 文件类型 文件特征识别和分类工具 反病毒特征码 本地恶意软件扫描 基于网站的恶意软件扫描服务 嵌入线索的提取:字符串、符号信息、文件元数据 字符串 检查文件依赖:动态链接或静态链接 提取符号和调试信息 嵌入的文件元数据 文件混淆:打包和加密识别 加壳软件 加密软件 包装软件 识别经过混淆处理的文件 嵌入线索的再提取 Elf文件结构 使用ELF shell(elfsh) ELF头部(Elf32_ehdr) ELF节头部表(Elf32_shdr) 程序头部表(Elf32_Phdr) 从符号表中提取符号信息 版本信息 注释节 动态节 版本控制信息 使用Objdump分析二进制样本 小结 第9章 Windows平台下可疑软件分析 引言 目标 检测恶意程序的准则 建立环境基准 主机完整性监控 安装监测 执行前的准备:系统和网络监控 被动的系统和网络监控 主动的系统和网络监控 执行恶意软件样本 系统和网络监测:观察文件系统、进程、网络以及API调用 环境仿真和调整 使用Netcat监听 检查进程活动 进程监视:监测API调用 “Peeping Tom”:Window Spying 文件系统活动 注册表活动 反混淆 通用脱壳工具 从内存中获取可疑进程 使用OllyDump寻找和提取原始入口点(OEP) 重建导入表 再次检测人工嵌入的内容 在反汇编工具中检测样本程序 高级PE分析技术:检查PE资源和依赖信息 PE资源检查 附属资源再次探查 与恶意样本进行交互并对之进行控制 探索并证实样本的功能与目的 事件重现与回顾:文件系统、注册表、进程、网络活动运行后数据分析 主动监控:分析系统变化 分析捕获的网络流量 分析API调用 小结 第10章 Linux平台下可疑程序分析. 引言 分析目的 检查恶意程序的准则 建立环境基准 执行前的准备:系统和网络监控 被动的系统和网络监控 主动的系统和网络监控 异常检测和基于事件的入侵检测系统 执行可疑程序 进程监视:使用Strace、ltrace和gdb监控可疑程序 使用Strace捕获系统调用 使用ltrace捕获库调用 使用gdb检查正在运行的进程 进程评估:监测正在运行的程序 检查网络连接和开放端口 检查打开的文件和网络套接字 分析/proc/目录 反混淆:除去样本的壳并继续分析 再次分析文件特征:重新检查未加壳样本 环境调整 像攻击者一样思考 控制恶意样本 操纵恶意样本 探索并验证样本的功能和目的 对虚拟受害者主机发起攻击 评估其他功能和威胁范围 反侦察和操控被感染系统 事件重现和痕迹复查 分析捕获的网络流量 相关思考 对受害主机的端口和漏洞扫描:虚拟渗透测试 使用Objdump进行反汇编 使用GNU Debuger进行反汇编 小结