RAM / dev / mem에 액세스하려고하는데“작업이 허용되지 않습니다”라고 말합니다.


8

우분투 12.04를 사용하고 있습니다

Linux에서 RAM의 내용에 액세스하는 방법에 대한 다음 자습서를 읽었습니다 ....

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.3MB의 RAM 덤프 내용을 얻을 수있다.

그리고 왜 RAM의 전체 내용을 덤프 할 수 없는지 궁금합니다. 우분투에서 악의적 인 해커를 막기위한 의도적 인 제한입니까? 아니면 다른 것입니까? 아무도 아는가? 감사


3
알았어 ... 잊어 버려 ... 커널에 정의 된대로 우분투는 RAM 추출에 1MB 제한이 있다는 것이 밝혀졌다. 분명히 해커는 RAM 등에서 암호를 추출 할 수 없기 때문에 좋은 보안이다. 그리고 ... 그래 ....이 스레드는 이제 해결되었습니다 여기에 관심이있는 모든 사람들을위한 전체 정보가 있습니다.

1
커널이 STRICT_DEVMEM = y (예 : / boot / config-KERNELVERSION 참조)로 컴파일 된 경우 / dev / mem에서 첫 1MB 만 읽습니다. 이것은 자신의 컴퓨터 커널이 어떻게 컴파일 되었는가에 따라 커널 버전 문제가 아닙니다. 대부분의 배포판 커널에는 적절한 이유로이 제한이 적용됩니다. 포렌식 커널 모듈 fmem을 다운로드하여 수정하여이 문제를 해결할 수 있습니다. 당신의 자신의 위험에! 나중에 가능한 빨리 rmmod하십시오. fmem 모듈은 보안 제한없이 / dev / fmem 장치를 제공합니다.

1
"약 3.3MB의 RAM 덤프 내용을 얻을 수 있습니다". 음, 당신은? 내가 보는 모든입니다 1052672 bytes (1.1 MB) copied. 3.3MB (또는 2.3MB / sec, 속도)가 아닙니다.
Hennes

답변:


3

Ubuntu 설치의 Linux 커널은 RAM 추출이 1MB로 제한 되는 설정 * 과 함께 제공 됩니다.

원하지 않는 경우 커널을 다시 컴파일하거나 (명백한 경고 : 보안 수준을 낮추고 있습니다!)이 문제를 해결하기 위해 법의학 커널 모듈 fmem을 다운로드하여 수정해야합니다. 보안이없는 / dev / fmem 장치를 제공합니다.

Opello에서 언급했듯이 strict-devmem=0커널 cmdline 에서도 사용할 수 있습니다 .


* : STRICT_DEVMEM=y(예 : / boot / config-KERNELVERSION 참조)


3
strict-devmem=0커널 cmdline을 전달할 수도 있습니다 .
opello

Fedora 및 관련 배포판 에만 해당 , 오늘 * 일 * 경우
mirh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.