Вы пытаетесь получить память от запущенного процесса, памяти ядра или сырой физической памяти? Все доступны, но методы доступа различаются. Смотрите / dev / kmem, / dev / mem, / proc / kcore, / proc / $ pid / maps и / proc / $ pid / mem.
В старых системах Linux программа dd может использоваться для чтения содержимого физической памяти из файла устройства / dev / mem. Однако в последних системах Linux / dev / mem предоставляет доступ только к ограниченному диапазону адресов, а не к полной физической памяти системы. В других системах он может быть недоступен вообще. В ядре Linux серии 2.6 существовала тенденция к сокращению прямого доступа к памяти через файлы псевдоустройств. См., Например, сообщение, сопровождающее этот патч: http://lwn.net/Articles/267427/ .
В системах Red Hat (и в тех, в которых работают связанные дистрибутивы, такие как Fedora или CentOS), драйвер аварийного завершения может быть загружен для создания псевдоустройства / dev / crash для доступа к сырой физической памяти (с помощью команды "modprobe crash"). Этот модуль также может быть скомпилирован для других дистрибутивов Linux с небольшими усилиями (см., Например, http://gleeda.blogspot.com/2009/08/devcrash-driver.html ). Когда драйвер сбоя модифицируется, компилируется и загружается в других системах, получающееся в результате устройство доступа к памяти не является полностью безопасным для создания образа. Необходимо соблюдать осторожность, чтобы избежать адресов, которые не поддерживаются RAM. В Linux / proc / iomem предоставляет правильные диапазоны адресов для изображения, помеченного как «Системная память».
Этот коммерческий продукт судебной экспертизы памяти поставляется с модифицированной версией аварийного драйвера и скриптом для безопасного сброса памяти с использованием оригинального или модифицированного драйвера в любой конкретной системе Linux.
fmem - это модуль ядра, который создает устройство / dev / fmem, аналогично / dev / mem, но без ограничений. Это устройство (физическое ОЗУ) можно скопировать с помощью dd или другого инструмента. Работает на ядрах Linux 2.6. Под GNU GPL.
Linux Memory Extractor (LiME) - это загружаемый модуль ядра (LKM), который позволяет получать энергозависимую память от устройств на базе Linux и Linux, таких как устройства на платформе Android. Инструмент поддерживает дамп памяти либо в файловую систему устройства, либо по сети.
Я нашел этот пример fmemиспользования, который, кажется, является самым простым способом выгрузки памяти для целей анализа, который вы больше не можете использовать /dev/memпосле ядер 2.6.x, насколько я понимаю.
Для анализа энергозависимой памяти также есть страница под названием: Анализ памяти Linux . В этом видеоуроке есть подробный пример, который показывает использование LiME и Volatility для сбора дампа памяти, а затем его анализа, извлечения истории Bash пользователя из дампа памяти.
Ответы:
Из Вики по криминалистике: Инструменты: Отображение памяти
выдержка
Я нашел этот пример
fmem
использования, который, кажется, является самым простым способом выгрузки памяти для целей анализа, который вы больше не можете использовать/dev/mem
после ядер 2.6.x, насколько я понимаю.Пример fmem
* Источник: Как я могу сбросить всю физическую память в файл?
Пример LiME
Для анализа энергозависимой памяти также есть страница под названием: Анализ памяти Linux . В этом видеоуроке есть подробный пример, который показывает использование LiME и Volatility для сбора дампа памяти, а затем его анализа, извлечения истории Bash пользователя из дампа памяти.
Что еще?
Также есть вопросы и ответы U & L под названием: Как я могу сбросить всю системную память? который имеет дополнительные примеры и информацию.
источник
Rekall
Проверьте платформу rekall , для этого у них есть приложение linpmem: http://www.rekall-forensic.com/docs/Tools/index.html
SANS Rekall памяти судебно - шпаргалка есть пример того , как дамп памяти под Linux тоже:
источник
источник