1 / 64

恶意代码取证

恶意代码取证. 韩承钦 S310060109. 主要内容. 前言 恶意软件事件响应 内存取证 事后取证 文件识别和构型 Windows 平台下可疑软件分析. 前言. 数量迅速增长,表现出“混合 - 威胁”特征,具有多种功能和多种不同的传播方法。 nihaorr1.com/1.js Stuxnet 病毒(震网) 利用恶意软件去实施和隐藏犯罪的现象日益普遍,这就迫使需要更多的数字调查员参与到反病毒厂商和安全研究人员的领域中,利用一些恶意软件分析技术和工具来进行恶意软件分析。.

raven
Download Presentation

恶意代码取证

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 恶意代码取证 韩承钦 S310060109

  2. 主要内容 • 前言 • 恶意软件事件响应 • 内存取证 • 事后取证 • 文件识别和构型 • Windows平台下可疑软件分析

  3. 前言 • 数量迅速增长,表现出“混合-威胁”特征,具有多种功能和多种不同的传播方法。 • nihaorr1.com/1.js • Stuxnet病毒(震网) • 利用恶意软件去实施和隐藏犯罪的现象日益普遍,这就迫使需要更多的数字调查员参与到反病毒厂商和安全研究人员的领域中,利用一些恶意软件分析技术和工具来进行恶意软件分析。

  4. 主要内容 • 前言 • 恶意软件事件响应 • 内存取证 • 事后取证 • 文件识别和构型 • Windows平台下可疑软件分析

  5. 攻击发生 检测到攻击 攻击进行中 证据收集 备份证据 原始证据 分析结果 法律裁判 证据分析 传统静态取证模型 传统静态取证模型

  6. 网络及主机信息 网络监控 攻击发生 法律制裁 攻击进行中 取证收集 响应系统 提交原始证据与分析结果 证据分析 攻击信息 备份证据 动态取证模型

  7. 恶意软件事件响应:易失性数据收集与实时Windows系统检查恶意软件事件响应:易失性数据收集与实时Windows系统检查 适用于Windows 的时间响应工具 套件 建立实时 响应工具包 从实时Windows 系统收集非易 失性数据 易失性数 据收集方法

  8. 建立实时响应工具包 • 进行实时取证响应时,最重要的是要使用可信赖的工具从目标系统中获取数据。 • 确定并记录工具的依赖性,这样有利于了解使用一个工具时,其将对其他文件进行哪些访问,以及对系统造成哪些变化。可以使用Dependency Walker或PEView之类的PE文件分析,已得到这些工具的文件依赖关系。 • 选择好工具后,需要将工具放到实时响应工具箱中,创建工具套件的测试和验证系统最有效的方法是建立VMWare之类的虚拟os来实现。

  9. 恶意软件事件响应:易失性数据收集与实时Windows系统检查恶意软件事件响应:易失性数据收集与实时Windows系统检查 适用于Windows 的时间响应工具 套件 建立实时 响应工具包 从实时Windows 系统收集非易 失性数据 易失性数 据收集方法

  10. 易失性数据的保存 • 获取整个内存数据:利用PsTools套件中的pslist程序获取。 • 从实时Windows系统中获取整个内存,最简单的放大就是从移动存储介质中运行dd命令来获取整个物理内存。一些软件:Helix(www.e-fense.com/helix)、Nigilant;还有一些商用的远程取证工具:ProDiscoverIR、OnlineDFS/LiveWire已经可以获取远程系统的整个内存数据。

  11. 搜集目标系统的详细信息 • 系统日期和时间:shell中的date/t、time/t命令,Win2003中的now命令。 • 系统标识符:包括计算机名、ip地址。whoami获取系统用户信息,ver获取os信息,ipconfig/all获取IP地址信息。 • 网络配置:老练的恶意软件通过与远程控制端进行VPN连接进行通信以逃避入侵检测软件和其他网络监控系统。工具Promiscdetect和Promqry是检查这方面的利器。

  12. 被激活的协议 • 通过URLProtocolView程序来识别目标系统已被激活的协议。

  13. 系统正常运行时间 • 如果能够确定恶意软件从被安装之后目标系统没有重启,这非常重要。 • 可以从工具箱中调用uptime程序(http://support.microsoft.com/kb/232243)。

  14. 系统环境 • 如操作系统版本 、补丁级别和硬件。 • 可使用psinfo、systeminfo、Dumpwin等工具来查询系统可以获得目标环境和状态的准确快照。

  15. 识别登录到当前系统的用户 • 调查人员应尽力获取有关一下信息:用户名登录位置、登录Session的持续时间、该用户访问的共享文件或其他资源、和该用户关联的进程、该用户引起的网络活动。 • Psloggendon,是包含在PsTools套件中的一个命令行接口程序,可以来识别本地和远程登录到目标系统的用户。 • Quser,这个程序可以用来显示已登录用户名、登录的时间和日期,以及session类别及状态等信息。

  16. 检查网络连接和活动 • 网络连接情况、最近的DNS请求、目标系统的NetBIOS名字表、ARP缓存以及内部路由表。 • Netstat是各种Win os自带的程序,用来显示目标系统中目前已经建立或者正在进行监听的socket连接。

  17. 搜集进程信息 • 通常恶意软件运行时,都在目标系统中以进程的形式表现出来。 • 从最基本的信息进程名和ID开始,搜集临时上下文环境、内存消耗、可执行程序镜像的进程、用户镜像的进程、子进程、调用库和依赖库、用来创建进程的命令行参数、相关联的句柄、进程的内存内容、与系统状态和残留环境相关的上下文环境。 • tlist程序、tasklist程序、PRCView.exe。

  18. 关联开放端口及其活动进程 • 端口扫描:使用nmap工具。 • 通用端口(www.iana.org/assignment/port-numbers)。

  19. 检查服务和驱动程序 • 尽管服务对终端用户是透明的,在系统后台运行,恶意软件也就可以以自运行方式在后台运行,导致用户难以发现。 • Psservice是一个可以提供目标系统中服务的详细情况的工具。

  20. 检查打开的文件 • 通过打开的文件可以判断目标系统感染的恶意代码的类型,如可以知道恶意软件样本实际需要调用的或者操作的服务和资源。 • 识别本地代开的文件:用NirSoft开发的OpenFilesView工具。 • 识别远程打开的文件:除了系统自带的net file命令外,常用工具是Mark Russionvich开发的psfile。

  21. 收集命令和历史记录 • UNIX和Linux使用bash命令行shell来维护bash的历史命令。 • 不幸的是Win os没有相应的功能,但可以从cmd中使用doskey /history命令来找回存在内存中的命令。

  22. 识别共享 • 尽管恶意代码不会都会使用网络共享的方式进行传播,单确实有一些样(W32/Bacalid变形的文件感染器)能够识别并感染目标系统共享文件夹中的文件。

  23. 检查计划任务 • 有些恶意代码变种是事件驱动的,这意味着代码会一直潜伏在系统中,除非特定的日期或者事件触发执行。 • 可以使用工具schtasks来确认发现计划任务,只用/Query选项显示所有的计划任务。

  24. 收集剪贴板内容 • 在一个受到潜伏攻击的电脑上,传播方式还不知道,这是剪贴板的内容可能为辨别这次攻击的类型提供了一些潜在的重大线索。 • 我们可以通过pclip程序来检查目标系统中剪贴板的具体内容。

  25. 恶意软件事件响应:易失性数据收集与实时Windows系统检查恶意软件事件响应:易失性数据收集与实时Windows系统检查 适用于Windows 的时间响应工具 套件 建立实时 响应工具包 从实时Windows 系统收集非易 失性数据 易失性数 据收集方法

  26. 从实时Windows系统中收集非易失性数据 • 一般情况下取证人员不会直接访问实时系统中的文件,因为这样可能会对存储的数据进行了修改。 • 然后很多情况下,也需要对实时系统中的文件数据或者注册表进行选择性的取证保存和分析。 • 在实时Windows系统中对存储媒介进行司法复制,对特定数据进行司法保存。

  27. 恶意软件事件响应:易失性数据收集与实时Windows系统检查恶意软件事件响应:易失性数据收集与实时Windows系统检查 适用于Windows 的时间响应工具 套件 建立实时 响应工具包 从实时Windows 系统收集非易 失性数据 易失性数 据收集方法

  28. 适用于Windows的时间响应工具套件 • Windows Forensic Toolchest(WFT)通过多种工具为一致性信息收集提供了一个框架。WFT可配置以自动方式或者特定的的顺序来运行任何工具。WFT讲获取的的数据生成MD5值,并为数据收集过程提供支撑的审计信息报告。但WFT不能列举被删除的文件,还有一个明显缺陷是其需要依赖受害主机的操作系统。

  29. 适用于Windows的时间响应工具套件 • ProDiscoverIR是一款商业的取证工具 • 不依赖于目标操作系统,但要在目标系统中运行代理程序

  30. 适用于Windows的时间响应工具套件 • OnlineDFS/LiveWire,在线数字取证工具套件。 • 具备从远程计算机中获取易失性数据的能力,并且可以从远程计算机中获取目标系统的整个内存转储以及整个硬盘的司法拷贝。

  31. 主要内容 • 前言 • 恶意软件事件响应 • 内存取证 • 事后取证 • 文件识别和构型 • Windows平台下可疑软件分析

  32. Windows内存 取证工具机理 提取Windows 进程内存数据 内存取证 方法学 传统内存 分析方法 Windows内 存取证工具 内存取证 Windows进程 内存数据分析

  33. 内存取证方法学 • 对内存取证与对存储介质取证的过程相似。 • 获取内存后,下一步就是还原数据,并对内存中的元素数据解析以用于进一步分析。 • 内存取证的目的有:搜集信息、对每个可疑进程深入分析。

  34. Windows内存 取证工具机理 提取Windows 进程内存数据 内存取证 方法学 传统内存 分析方法 Windows内 存取证工具 内存取证 Windows进程 内存数据分析

  35. 传统内存分析方法 • 在内存工具发展之前,我们通常用strings工具从内存中提取出可读文本内容,利用文件提取工具从内存中恢复相关的可执行文件。 • 大多数strings的实现都是默认只提取ASCII字符串,但是对Unicode字符串来说也应该引起足够的重视。

  36. Windows内存 取证工具机理 提取Windows 进程内存数据 内存取证 方法学 传统内存 分析方法 Windows内 存取证工具 内存取证 Windows进程 内存数据分析

  37. Windows内存取证工具 • 由于不同Windows版本甚至不同补丁版本的内核数据结构的差别,许多内存取证工具只支持特定版本的Windows系统。 • 深入分析内存印象。 • 活动的、为活动的和隐藏的进程。 • 进程内存 • 线程 • 模块和库 • 打开文件和套接字

  38. Windows内存 取证工具机理 提取Windows 进程内存数据 内存取证 方法学 传统内存 分析方法 Windows内 存取证工具 内存取证 Windows进程 内存数据分析

  39. Windows内存取证工具机理 • 虚拟内存地址 Skl.exe EPROCESS DTB:0x0a039000 PEB:0x7ffdf000(v) 0x0a039000 页表目录表 PDE# 511 0x0a102000 页表 PTE# 991 0x0a0eb000 PEB 图1 虚拟内存地址和物理地址的转换,然后找到进程sql.exe进程的PEB结构

  40. Windows内存取证工具机理 • 虚拟内存地址 表1 虚拟地址0x7ffdf0000的组成

  41. 进程和线程 • Win os中每个运行的进程都在内存中有一个对应的EPRROCESS。

  42. 进程和线程 PPEB_LDR_DATA InMemaryOrderModuleList LDR_DATA_TABLE_ENTRY InMemoryOrderLinks ImagePathName PEB PRTL_USER_PROCESS_PARAMETERS DllBase CommandLine FullDllName PPS_POST_PROCESS_INIT_ROUTINE TimeDateStamp 图2 PEB结构描述

  43. 进程和线程 Modules Mapped into Memory Executable File Path _EPROCESS Block Process Environment Block Command Line Dynamic Library Paths Process Environment 图3 PEB中提供的有价值的信息

  44. 进程和线程 表2 xp sp2系统中EPROCESS结构元素

  45. 恢复可执行文件

  46. Windows内存 取证工具机理 提取Windows 进程内存数据 内存取证 方法学 传统内存 分析方法 Windows内 存取证工具 Related Documents Windows进程 内存数据分析

  47. 提取进程内存数据 • 除了恶意进程相关的上下文环境和可执行文件的相关数据,恶意进程所占的内存空间中的数据也是非常有价值的 。 • 进程在内存中以页面为单位存储数据。

  48. Windows内存 取证工具机理 提取Windows 进程内存数据 内存取证 方法学 传统内存 分析方法 Windows内 存取证工具 内存取证 Windows进程 内存数据分析

  49. 进程内存数据的导出和Windows系统实时分析 • 对实时运行的进程进行安全评估。 • 捕获进程并分析内存 • 利用Userdump来获得进程的内存数据 • 利用Pmdump获得内存映像 • 用PARIER搜集运行进程的内存数据 • 用Process Dumper获得进程内存数据

  50. 主要内容 • 前言 • 恶意软件事件响应 • 内存取证 • 事后取证 • 文件识别和构型 • Windows平台下可疑软件分析

More Related