内存
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:由于页面错误导致没办法分析到完整数据(参考其他文章)