内存取证:初识

outman
1
2025-07-11

内存

Cache:缓存,用于存储CPU频繁访问的数据和指令,速度比RAM快得多

DRAM:动态随机存取存储器,是一种半导体存储器,需要定期刷新电荷保持数据(晶体管+电容)

SRAM:静态随机存取存储器,不需要定期刷新电荷,速度比DRAM快,成本更高,容量更小(6晶体管)

RDRAM:Rambus动态随机存取存储器,使用Rambus通道技术,曾用于高端图形处理和高性能计算系统,被DDR内存取代

ROM:只读存储器,数据在制造时候被写入,通常不能改,断电也不会数据丢失(BIOS)

PROM:可变成只读存储器,可以写数据,但写入之后不能更改,断电也不会丢失

EPROM:可擦除可编程只读存储器,可以写数据,可以通过紫外线照射擦除数据,断电也不会丢失数据

保存

RAM:机器断电,数据就没了,所以要在重启之前获取内存

DDR4:重启电脑后,如果电脑没有启动太多程序,工件扔保留在内存中

如果客户说被攻击后,电脑关机了,让他开机,什么都不做,甚至不去登录账户,现在我们依旧可以获得不少的内存数据,不过还是应该在重启之前获取内存

冷启动攻击:强制断电后,立刻用液氮冷却内存,减少电荷流失,将内存移植到攻击机,提取内存镜像,进行分析

内存波动顺序

内存波动数据可以帮助我们判断,以什么顺序获取哪种类型的数据

Cache、寄存器 -> ARP缓存、路由表、内存、内核统计、进程表-> 临时文件->磁盘 -> 远程日志-> 物理配置、网络拓扑->存档媒体

内存捕获

本地/远程

物理内存(the whole RAM)

进程内存:如果发现了一个进程正在对机器进行攻击,只需要捕获问题中的过程进程

收集内存字符串

实时使用的命令

捕获困难

deadlock

Forensics in Iot Device:例如一些物联网设备,基于某些Linux内核,工具不支持

维护数据完整:保留获取数据的多个副本,分析过程中可能会篡改某些数据

数据加密 within RAM:win10,win11的架构中有一部分没办法分析,甚至没办法接触到

利用任何工具都不能保证从内存中取出的数据百分百准确

page fault:由于页面错误导致没办法分析到完整数据(参考其他文章)