Попытка доступа к RAM / dev / mem ... говорит "Операция не разрешена"

9107

Я использую Ubuntu 12.04

Я прочитал следующий учебник о том, как получить доступ к содержимому оперативной памяти в Linux ....

http://www.rootninja.com/using-dd-to-search-for-strings-in-memory-or-devices/

Код:

dd if=/dev/mem | hexdump -C | grep “string to search for”

Итак, я запускаю код ...

Код:

sudo dd if=/dev/mem | hexdump -C > NAMEOFOUTPUTFILEHERE.txt

И ... он начинает выкачивать HEX-код, пока через несколько секунд не произойдет:

dd: reading `/dev/mem': Operation not permitted 2056+0 records in  2056+0 records out 1052672 bytes (1.1 MB) copied, 0.44834 s, 2.3 MB/s 

Так что в основном .. Я могу получить около 3,3 МБ содержимого дампа ОЗУ - до тех пор, пока программа не остановится со словами «Операция не разрешена»

И поэтому мне интересно, почему я не могу сбросить все содержимое оперативной памяти? Это преднамеренное ограничение в Ubuntu, чтобы остановить злоумышленников? Или что-то еще? Кто-нибудь знает? Спасибо

8
ОК ... забудь ... оказывается, Ubuntu имеет ограничение в 1 МБ на извлечение ОЗУ, как определено в ядре ... и, очевидно, это хорошая защита, потому что тогда хакер не может извлечь ваши пароли из ОЗУ и т. Д. ... И так ... да .... эта тема теперь решена Вот полная информация, для всех, кто заинтересован .... 11 лет назад 3
если ваше ядро ​​было скомпилировано с STRICT_DEVMEM = y (см., например, / boot / config-KERNELVERSION), то из / dev / mem читаются только первые 1 МБ. Это не столько проблема версии ядра, как результат компиляции ядра вашей машины; большинство ядер дистрибутивов будут иметь это ограничение по уважительной причине. Чтобы обойти это, вы можете загрузить и вставить модуль судебного модуля ядра fmem; на свой страх и риск! rmmod это как можно скорее после этого. Модуль fmem предоставляет устройство / dev / fmem без каких-либо ограничений безопасности. 11 лет назад 1
msgstr "могу получить около 3.3 МБ содержимого дампа ОЗУ". Хм, а вы? Все, что я вижу - это скопировано 1052672 байта (1,1 МБ). Не 3,3 МБ (ни 2,3 МБ / с, что было скоростью). Hennes 8 лет назад 1

1 ответ на вопрос

3
Hennes

The linux kernel on your Ubuntu installation ship with a setting* which limits RAM extraction to has 1 MB.

If you do not wish that you can either recompile the kernel without it (obvious caveeat: you are lowering security!) or you can download and insmod the forensic kernel module fmem to work around this. That provides a /dev/fmem device without any security.

As mentioned by Opello: you can also use strict-devmem=0 in the kernel cmdline.


*: STRICT_DEVMEM=y (see e.g. /boot/config-KERNELVERSION)

Вы также можете передать `strict-devmem = 0` в ядре cmdline. opello 8 лет назад 3
Only on [Fedora](https://bugzilla.redhat.com/show_bug.cgi?id=492803#c1) and related distros, if \*even\* this day mirh 5 лет назад 0