《恶意代码取证》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:詹姆斯M·奎林娜著
  • 出 版 社:北京:科学出版社
  • 出版年份:2009
  • ISBN:9787030250667
  • 页数:542 页
图书介绍:本书旨在帮助数字调查人员在计算机系统上识别恶意软件,将其隔离从而揭示其功能和目的,并且可以在主体系统上确定被破坏的恶意软件。

第1章 恶意软件事件响应:易失性数据收集与实时Windows系统检查 1

引言 2

建立实时响应工具包 2

测试和验证您的工具 4

易失性数据收集方法 7

易失性数据的保存 8

搜集目标系统详细信息 13

识别登录到当前系统的用户 19

检查网络连接和活动 21

搜集进程信息 27

关联开放端口及其活动进程(和程序) 39

检查服务和驱动程序 43

检查打开的文件 48

收集命令的历史记录 50

识别共享 50

检查计划任务 51

收集剪贴板内容 52

从实时Windows系统收集非易失性数据 54

在实时Windows系统中对存储媒介进行司法复制 55

对实时Windows系统的特定数据进行司法保存 55

适用于Windows的事件响应工具套件 64

Windows Forensic Toolchest 64

从实时Windows系统中检查和提取恶意软件 71

小结 75

第2章 恶意软件事件响应:易失性数据收集与实时Linux系统检查 77

引言 78

易失性数据收集方法 78

Linux上的事件响应工具集 80

实时UNIX系统的完整内存转储 82

在实时UNIX系统上保存进程内存信息 83

获取目标系统的详细信息 84

识别出登录到系统的用户 86

检查网络连接 87

收集进程信息 89

/proc目录中的易失性数据 90

打开的文件和附属资源 92

检查已加载的模块 92

收集命令行历史信息 93

识别出已安装的共享驱动器 93

确定计划任务 94

实时Linux系统中的非易失性数据收集 94

对实时Linux系统中的存储介质的取证拷贝 94

对实时Linux系统中的指定数据进行取证保存 95

评估安全配置 95

评估主机的信任关系 96

收集登录日志和系统日志信息 96

小结 97

第3章 内存取证:分析物理内存和进程内存获取取证线索 101

引言 102

内存取证方法学 104

传统内存分析方法 105

Windows内存取证工具 109

深入分析内存映像 111

活动的、未活动的和隐藏的进程 113

Windows内存取证工具机理 121

虚拟内存地址 121

进程和线程 123

恢复提取可执行文件 126

提取进程内存数据 130

进程内存数据的导出和Windows系统实时分析 130

对实时运行的进程进行安全评估 131

捕获进程并分析内存 131

Linux内存取证分析工具 141

进程元数据 141

Linux内存取证分析工具机理 143

定位内存数据结构 143

进程 145

其他内存数据结构 147

在Linux系统上导出进程内存并进行分析 148

系统上的进程活动 149

用ps搜集进程信息 150

利用lsof识别进程活动 150

在/proc中定位可疑进程 152

从/proc目录拷贝可疑可执行文件 153

捕获并检测进程内存数据 155

用gcore导出核心进程映像 155

用Pcat获取进程内存数据 155

用Memfetch获取进程内存数据 156

用Process Dumper获取进程内存数据 158

其他事项 160

小结 161

第4章 事后取证:从Windows系统中搜索并提取恶意软件以及相关线索 163

引言 164

受害Windows系统的司法检查 164

时间分析:不仅仅只是一个时间轴 164

功能分析:重载一台Windows计算机镜像 166

关系分析 168

关联与重载 169

从Windows系统中发现并提取恶意软件 173

搜索已知的恶意软件 173

检查已安装的程序 176

检查预取文件 177

检查可执行文件 178

检查服务、驱动自启动位置以及计划任务 179

审查日志 179

检查用户账户 182

检查文件系统 184

检查注册表 187

还原点 189

关键词搜索 190

深入的Windows系统中的恶意软件发现与提取技术 191

定制解药 192

小结 193

第5章 事后取证:从Linux系统中搜索并提取恶意软件以及相关线索 195

引言 196

从Linux系统上发现和提取恶意软件 196

搜索已知的恶意软件 197

审查已安装的程序和潜在的可疑可执行文件 198

审查自启动区域、配置文件和计划任务 198

检查日志 199

审查用户账户 200

检查文件系统 201

关键字搜索 208

小结 209

第6章 法律规范 215

引言 216

注意事项 216

调查机构 217

司法机构 217

私人调查机构 219

调查机构的法定约束 220

存储数据 220

实时数据 221

非内容数据 222

受保护数据 223

联邦法律 223

洲际法律 226

数据获取工具 227

跨境获得数据 231

执法部门介入 234

增加被法院受理的机会 236

第7章 文件识别和构型:Windows系统中可疑文件的初步分析 239

引言 240

案例:“Hot New Video!” 240

文件构型过程概述 241

可执行文件分析 243

系统详细信息 246

哈希值 246

文件相似性索引 248

文件特征识别与分类 251

反病毒特征码 259

提取文件嵌入线索:字符串、符号信息,以及文件元数据 265

文件混淆技术:加壳和加密文件的鉴别 286

嵌入线索的再提取 295

小结 314

第8章 文件识别和构型:Linux系统上可疑文件的初步分析 317

引言 318

文件构型过程概述 320

分析Linux可执行文件 321

可执行文件是如何被编译的 321

静态链接vs.动态链接 322

符号和调试信息 322

从可执行文件中“剥离”符号和调试信息 323

获取系统详细信息 323

获取文件详细信息 323

获取Hash值 324

命令行MD5工具 324

GUI MD5工具 326

文件相似性索引 327

文件特征识别和分类 329

文件类型 330

文件特征识别和分类工具 332

反病毒特征码 334

本地恶意软件扫描 334

基于网站的恶意软件扫描服务 337

嵌入线索的提取:字符串、符号信息、文件元数据 342

字符串 343

检查文件依赖:动态链接或静态链接 348

提取符号和调试信息 353

嵌入的文件元数据 366

文件混淆:打包和加密识别 368

加壳软件 369

加密软件 369

包装软件 370

识别经过混淆处理的文件 371

嵌入线索的再提取 375

Elf文件结构 376

使用ELF shell(elfsh) 377

ELF头部(Elf32 ehdr) 377

ELF节头部表(Elf32_shdr) 379

程序头部表(Elf32_Phdr) 385

从符号表中提取符号信息 386

版本信息 394

注释节 394

动态节 395

版本控制信息 405

使用Objdump分析二进制样本 405

小结 408

第9章 Windows平台下可疑软件分析 411

引言 412

目标 412

检测恶意程序的准则 413

建立环境基准 413

主机完整性监控 414

安装监测 415

执行前的准备:系统和网络监控 417

被动的系统和网络监控 417

主动的系统和网络监控 418

执行恶意软件样本 427

系统和网络监测:观察文件系统、进程、网络以及API调用 428

环境仿真和调整 428

使用Netcat监听 430

检查进程活动 430

进程监视:监测API调用 431

“Peeping Tom”:Window Spying 435

文件系统活动 435

注册表活动 435

反混淆 440

通用脱壳工具 440

从内存中获取可疑进程 442

使用OllyDump寻找和提取原始入口点(OEP) 443

重建导入表 447

再次检测人工嵌入的内容 449

在反汇编工具中检测样本程序 451

高级PE分析技术:检查PE资源和依赖信息 454

PE资源检查 454

附属资源再次探查 463

与恶意样本进行交互并对之进行控制 464

探索并证实样本的功能与目的 467

事件重现与回顾:文件系统、注册表、进程、网络活动运行后数据分析 468

主动监控:分析系统变化 468

分析捕获的网络流量 469

分析API调用 472

小结 474

第10章 Linux平台下可疑程序分析 477

引言 478

分析目的 478

检查恶意程序的准则 479

建立环境基准 480

执行前的准备:系统和网络监控 482

被动的系统和网络监控 482

主动的系统和网络监控 482

异常检测和基于事件的入侵检测系统 486

执行可疑程序 488

进程监视:使用Strace、ltrace和gdb监控可疑程序 488

使用Strace捕获系统调用 489

使用ltrace捕获库调用 493

使用gdb检查正在运行的进程 495

进程评估:监测正在运行的程序 498

检查网络连接和开放端口 502

检查打开的文件和网络套接字 502

分析/proc/<pid>目录 503

反混淆:除去样本的壳并继续分析 505

再次分析文件特征:重新检查未加壳样本 506

环境调整 506

像攻击者一样思考 510

控制恶意样本 510

操纵恶意样本 511

探索并验证样本的功能和目的 513

对虚拟受害者主机发起攻击 514

评估其他功能和威胁范围 517

反侦察和操控被感染系统 517

事件重现和痕迹复查 517

分析捕获的网络流量 521

相关思考 530

对受害主机的端口和漏洞扫描:虚拟渗透测试 530

使用Objdump进行反汇编 531

使用GNU Debuger进行反汇编 536

小结 541