虹科分享 | 关于内存取证你应该知道的那些事_网络安全

什么是内存取证?

内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字取证的一个重要分支,用于从计算机的RAM(随机存取存储器)或其他设备的内存中提取关键信息,以便了解设备在特定时间点的状态和活动。

内存取证的主要目的?

内存取证的主要目的是获取在计算机或设备内存中暂时存储的数据,这些数据在设备重启或关机后通常会丢失。通过内存取证,可以获取运行中的进程、正在打开的文件、网络连接、注册表项、加密密钥和密码等敏感信息,这些信息对于数字取证、安全威胁分析和恶意活动检测都非常重要。

内存取证通常在计算机遭受安全事件、系统崩溃、恶意软件感染、取证调查等情况下使用。取证人员使用专业的取证工具和技术,对目标计算机或设备的内存进行快照或镜像,并在另一个设备上进行分析。由于内存数据的易失性,取证人员必须在尽可能短的时间内采集和分析数据,以确保数据的完整性和准确性。

内存取证的步骤

  1. 采集内存镜像:首先,需要采集目标计算机或设备的内存镜像。内存镜像是对内存中所有数据的完整快照,通常通过专用的取证工具来完成。常用的内存采集工具包括Volatility、FTK Imager、DumpIt等。
  2. 确保取证完整性:在采集内存镜像之前,确保目标计算机或设备处于关闭或冻结状态,以避免数据被覆盖或修改。内存镜像的采集过程应该尽量快速,以减少数据的丢失。
  3. 分析内存镜像:将采集的内存镜像导入到内存取证工具中进行分析。在分析过程中,可以查看进程列表、网络连接、打开的文件、注册表项、内存映像和其他运行时数据。
  4. 查找恶意代码和漏洞:在内存镜像中查找潜在的恶意代码、恶意进程或漏洞,以便确认是否存在安全威胁。
  5. 寻找证据:根据需求,在内存镜像中查找可能的证据,例如密码、加密密钥、聊天记录、浏览器历史记录等。这些证据可能对调查和取证提供重要支持。
  6. 进行关联分析:将内存镜像中的数据与其他取证数据进行关联分析,例如硬盘镜像、网络日志等,以获取更全面的信息。
  7. 提取数据:根据需要,从内存镜像中提取重要的数据和证据。提取的数据应该保存为可读格式,并做好记录和标记。
  8. 生成取证报告:根据分析结果,撰写详细的内存取证报告,包括取证过程、发现的证据、结论和建议等。报告应该清晰明了,以便其他人理解和参考。
  9. 保护数据完整性:在进行内存取证的过程中,务必确保数据的完整性和准确性。采用适当的安全措施,避免对内存数据造成修改或破坏。

内存取证和数字取证之间的关系

内存取证是数字取证的一个重要分支,它们之间有着密切的关系。下面简要介绍内存取证和数字取证之间的关系。

  1. 数据来源数字取证通常涉及对计算机硬盘、存储设备、网络数据等静态数据的分析。这些数据通常在计算机或设备关闭后保留,并且可以在之后进行取证分析。
    内存取证则专注于获取计算机或设备在运行时的实时数据。内存中的数据在设备重启或关机后通常会丢失,因此内存取证需要在设备运行期间进行。
  2. 相互补充内存取证和数字取证相互补充,提供了更全面的取证和分析能力。通过数字取证可以获取硬盘、存储设备等静态数据,而内存取证提供了计算机运行时的实时数据,两者结合可以提供更全面、深入的取证信息。
  3. 应用场景

数字取证广泛应用于网络安全、计算机取证、企业内部调查和法律证据收集等领域。

内存取证通常在计算机遭受安全事件、系统崩溃、恶意软件感染、取证调查等情况下使用。

内存取证的实例

  1. 获取内存镜像:首先需要获取目标计算机的内存镜像,可以通过物理获取(例如使用内存采集工具将内存保存到文件中)或虚拟获取(例如从虚拟机中导出内存快照)来获得内存镜像。
  2. 分析内存镜像导入内存镜像:使用Volatility工具,将采集到的内存镜像导入到分析环境中,准备进行取证分析。

虹科分享 | 关于内存取证你应该知道的那些事_网络安全_02

选择插件:根据需要选择合适的插件来进行分析,例如"pslist"插件用于列出进程信息,"connections"插件用于查看网络连接信息等。

  1. 进程和线程分析:

使用"pslist"插件查看内存中运行的所有进程,并列出每个进程的ID、父进程ID、执行路径等信息。

使用"pstree"插件可以以树状图形式查看进程之间的层次结构关系。

虹科分享 | 关于内存取证你应该知道的那些事_内存取证_03

使用"psxview"插件可以查看隐藏进程和模块信息。

  1. 文件系统和注册表分析

使用"filescan"插件扫描内存中的文件对象,然后使用"dumpfiles"插件将文件导出到本地磁盘进行分析。

使用"hivelist"插件查找内存中加载的注册表文件,并使用"hivedump"插件将注册表导出到本地进行分析。

虹科分享 | 关于内存取证你应该知道的那些事_内存取证_04

  1. 使用工具对可疑文件进行检查和扫描(如Virustotal),这里不仅可以使用可疑的可执行文件,也可以使用文件的SHA1进行查询。

虹科分享 | 关于内存取证你应该知道的那些事_网络安全评级_05

虹科分享 | 关于内存取证你应该知道的那些事_数据安全_06


  1. 可以使用逆向分析工具(如IDA)对包进行逆向分析

虹科分享 | 关于内存取证你应该知道的那些事_数据安全_07


从IDA中将汇编转换为伪代码,我们可以发现它具有DLLEntryPoint。这似乎是DLL进入系统的时间。然后它调用CreateProcessNotify。注意RegCreateKeyA。“Software//Microsoft//Windows//CurrentVersion/run”是正常的寄存器,它可以控制计算机自动运行和加载攻击者想要计算机使用的程序。
在对寄存器执行某些操作之后,该进程开始扫描文件夹路径并遍历文档。

虹科分享 | 关于内存取证你应该知道的那些事_网络安全评级_08


虹科分享 | 关于内存取证你应该知道的那些事_网络安全_09


最重要的一点是,这个过程试图清理缓存:"ericpotic.com"和"mashevserv.com"。这两个网站似乎与僵尸网络有关。攻击者控制僵尸网络,利用僵尸网络对客户端进行入侵。

虹科分享 | 关于内存取证你应该知道的那些事_网络安全评级_10


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6