З Вікі криміналістики: Інструменти: Зображення пам'яті
витяг
Linux
У старих системах Linux програма dd може використовуватися для зчитування вмісту фізичної пам'яті з файлу пристрою / dev / mem. Однак у останніх системах Linux / dev / mem забезпечує доступ лише до обмеженого діапазону адрес, а не до повної фізичної пам'яті системи. В інших системах вона може бути недоступною. Протягом 2.6 версії ядра Linux, тенденція полягала в зменшенні прямого доступу до пам'яті за допомогою файлів псевдопристроїв. Дивіться, наприклад, повідомлення, що супроводжує цей виправлення: http://lwn.net/Articles/267427/ .
У системах Red Hat (і тих, хто працює з такими дистрибутивами, як Fedora або CentOS) драйвер аварійного завершення може бути завантажений для створення псевдопристрою / dev / crash для доступу до необмеженої фізичної пам’яті (за допомогою команди «modprobe crash»). Цей модуль можна також компілювати для інших дистрибутивів Linux з незначними зусиллями (див., Наприклад, http://gleeda.blogspot.com/2009/08/devcrash-driver.html ). Коли драйвер збоїв змінюється, компілюється та завантажується в інші системи, отриманий пристрій доступу до пам'яті не є безпечним для зображення в повному обсязі. Необхідно обережно уникати адрес, які не підтримуються оперативною пам’яттю. В Linux / proc / iomem виставляє зображення правильних діапазонів адреси, позначених символом "Оперативна пам'ять".
Цей комерційний продукт з криміналістичної пам’яті постачається з модифікованою версією драйвера аварії та сценарієм безпечного скидання пам’яті з використанням оригінального або модифікованого драйвера в будь-якій системі Linux.
fmem - це модуль ядра, який створює пристрій / dev / fmem, подібний до / dev / mem, але без обмежень. Цей пристрій (фізична оперативна пам'ять) можна скопіювати за допомогою dd або іншого інструменту. Працює на 2.6 ядрах Linux. Під GNU GPL.
Витяжка пам’яті Linux (LiME) - це завантажуваний модуль ядра (LKM), який дозволяє отримати енергонезалежну пам’ять з Linux та Linux-пристроїв, таких як на ОС Android. Інструмент підтримує скидання пам’яті або у файлову систему пристрою, або через мережу.
Я знайшов цей приклад fmem
використання, який, здається, є найпростішим способом скинути пам'ять для цілей аналізу, ви більше не можете користуватися /dev/mem
після ядер 2.6.x, як я це розумію.
fmem Приклад
$ ./run.sh
...
----Memory areas: -----
reg00: base=0x000000000 ( 0MB), size= 1024MB, count=1: write-back
reg01: base=0x0c8800000 ( 3208MB), size= 2MB, count=1: write-combining
-----------------------
!!! Don't forget add "count=" to dd !!!
$ ls /dev/f*
/dev/fb0 /dev/fd0 /dev/fmem /dev/full /dev/fuse
$ sudo dd if=/dev/fmem of=/tmp/fmem_dump.dd bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s
* Джерело: Як я можу скинути всю фізичну пам'ять у файл?
Приклад LiME
Для аналізу енергонезалежної пам'яті також є ця сторінка під назвою: Аналіз пам’яті Linux . У цьому відео-уроці є ґрунтовний приклад, який показує використання LiME та Volatility для збору дампа пам'яті та його аналізу, витягуючи історію Bash користувача з дампа пам'яті.
Що ще?
Є також відповідні запитання U&L під назвою: Як я можу скинути повну системну пам'ять? який має додаткові приклади та інформацію.