首页/安全/应急响应速查/LiME 内存采集(Linux)

LiME 内存采集(Linux)

Linux 内存采集用 LiME 模块:模块需匹配内核版本,镜像输出到外部介质,采集后立即哈希固定。

应急响应速查安全更新于 2026-10-13

LiME 做什么

LiME(Linux Memory Extractor)是 Linux 内存采集最常用的内核模块方式:insmod 加载时传入输出路径与格式,模块把物理内存直接写成镜像文件。它能拿到内核态的进程、网络连接与内存马线索,是很多分析工具的输入。

采集前必须想清楚的三件事

模块要与当前内核版本匹配;输出必须写到外部介质(本机磁盘会覆盖空闲块);采集本身会占用与物理内存相当的空间并影响业务,需要选择隔离窗口。

基本信息

形式LiME 内核模块,insmod 时传参数
典型参数path=/mnt/usb/mem.lime format=lime
前提模块与 uname -r 的内核版本匹配
输出位置外部介质或网络文件系统,禁止写系统盘
镜像体积约等于物理内存大小
固定方式采集后立即 sha256sum 并登记证据清单

典型使用场景

  • 怀疑存在内存马或内核态后门时的现场采集
  • 需要还原被删除文件内容时
  • 提取进程命令行、网络连接与注入痕迹
  • 为离线分析工具提供输入数据
  • 处置前固定易失证据,避免清理动作将其破坏

加载模块采集内存

加载模块采集内存
uname -r                                  # 确认内核版本再选模块
ls -la /mnt/usb/                          # 确认目标介质空间充足
insmod ./lime.ko "path=/mnt/usb/mem.lime format=lime"
ls -la /mnt/usb/mem.lime
sha256sum /mnt/usb/mem.lime | tee /mnt/usb/mem.lime.sha256
lsmod | grep lime                         # 采集完成后卸载模块
rmmod lime

输出逐列读法

检查项含义正常/异常
镜像文件大小与物理内存的比值明显偏小说明采集被中断或参数有误
sha256 摘要完整性与固定依据采集后立即生成,移交前再次校验
lsmod 输出模块是否已加载采集中应存在,采集后应卸载避免影响系统
dmesg 提示模块加载与写入信息出现写入失败需检查目标介质与空间
输出写本机磁盘会覆盖空闲块,直接破坏潜在证据;同时内存镜像体量大,务必先确认外部介质剩余空间。
LiME 需要按目标内核版本编译或准备,跨版本加载会失败;无法加载时可考虑 /proc/kcore 等替代方式,但效果与适用性有差异,需按现场条件评估。

采集现场纪律

  • 先记录采集时间点、操作人与系统时间基准
  • 镜像与哈希清单同放同一介质并登记
  • 采集后立即卸载模块,避免残留影响业务
  • 把镜像副本用于分析,原件只读保存

易错点

  • 输出写本机磁盘:覆盖空闲块,破坏潜在证据
  • 模块与内核不匹配:先核对 uname -r,再考虑现场编译
  • 采集前重启或让机器休眠:内存内容被改写,线索即失
  • 采完不哈希:后续无法证明镜像未被修改
  • 在业务高峰期采集:内存占用与 IO 压力会直接影响服务

数据来源与参考

  • LiME 项目文档(Linux Memory Extractor)
  • RFC 3227:易失性数据收集顺序

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌