Bagaimana cara membuang memori fisik di Linux?

22

Bagaimana cara membuat dump memori fisik (RAM) di Linux?

Perangkat lunak apa jika ada tersedia untuk tujuan ini?

Saya telah membaca bahwa seseorang tidak boleh menulis ke disk lokal tetapi mengirim data melalui jaringan. Adakah yang tahu keanehan di sini? Akankah Ethernet berfungsi untuk tujuan ini, atau adakah perintah yang meminimalkan jumlah caching sebelum mengirim ke disk?

WinHex pada Windows memiliki fungsi seperti itu:

enter image description here

Saya mencari yang serupa di Linux.

Anonymous
sumber

Jawaban:

22

Ini adalah halaman eHow Cara Membuang Memori Linux

Linux menyediakan dua perangkat virtual untuk tujuan ini, ' /dev/mem 'dan' /dev/kmem ', meskipun banyak distribusi menonaktifkannya secara default karena alasan keamanan. ' /dev/mem 'Terhubung ke memori sistem fisik, sedangkan' /dev/kmem memetakan ke seluruh ruang memori virtual, termasuk swap apa pun. Kedua perangkat berfungsi sebagai file biasa, dan dapat digunakan dengan dd atau alat manipulasi file lainnya.

Itu mengarah ke halaman ForensicsWiki pada Alat Pencitraan Memori dengan Bagian Linux / Unix ,

  1. DD Pada sistem Unix, program dd dapat digunakan untuk menangkap konten memori fisik menggunakan file perangkat (mis. / Dev / mem dan / dev / kmem). Di kernel Linux baru-baru ini, / dev / kmem tidak lagi tersedia. Di kernel yang bahkan lebih baru, / dev / mem memiliki batasan tambahan. Dan yang terbaru, / dev / mem tidak lagi tersedia secara default. Sepanjang seri kernel 2.6, trennya adalah untuk mengurangi akses langsung ke memori melalui file perangkat semu. Lihat, misalnya, pesan yang menyertai tambalan ini: http://lwn.net/Articles/267427/ . Pada sistem Red Hat (dan distro yang diturunkan seperti CentOS), driver crash dapat dimuat untuk membuat perangkat semu untuk akses memori ("modprobe crash").
  2. Tampilan Kedua Produk analisis memori komersial ini memiliki kemampuan untuk memperoleh memori dari sistem Linux, baik secara lokal atau dari target jarak jauh melalui DMA atau melalui jaringan. Muncul dengan modul Driver Memori Akses Fisik (PMAD) yang telah dikompilasi untuk ratusan kernel dari distribusi Linux yang paling umum digunakan.
  3. Idetect (Linux)
  4. fmem (Linux)
    fmem adalah modul kernel, yang menciptakan perangkat / dev / fmem, mirip dengan / dev / mem tetapi tanpa batasan. Perangkat ini (RAM fisik) dapat disalin menggunakan dd atau alat lain. Bekerja pada kernel Linux 2.6. Di bawah GNU GPL.
  5. Ikan mas
    Goldfish adalah alat forensik hidup Mac OS X untuk digunakan hanya oleh penegak hukum. Tujuan utamanya adalah untuk menyediakan antarmuka yang mudah digunakan untuk membuang RAM sistem mesin target melalui koneksi Firewire. Kemudian secara otomatis mengekstrak kata sandi login pengguna saat ini dan setiap fragmen percakapan AOL Instant Messenger terbuka yang mungkin tersedia. Penegakan Hukum dapat menghubungi goldfish.ae untuk informasi unduhan.

Lihat juga: Analisis Memori Linux .
Ada juga GDB umumnya tersedia di sebagian besar Linux.
Dan, Anda selalu disarankan untuk tidak menulis di atas memori yang tidak dikenal - itu dapat menyebabkan sistem korupsi.

nik
sumber
1
Adakah yang pernah mencoba ini pada sistem Ubuntu baru-baru ini?
1
tidak ada / dev / mem atau / dev / kmem di sistem debian saya.
Rob
Saya baru saja melakukannya di CentOS 7.x VM saya.
slm
4

Keriangan tampaknya berfungsi dengan baik dan kompatibel dengan Windows dan Linux.

Dari situs web mereka:

Volatilitas mendukung dump memori dari semua Windows 32-dan 64-bit utama   versi dan paket layanan termasuk XP, 2003 Server, Vista, Server   2008, Server 2008 R2, dan Seven. Apakah dump memori Anda masih mentah   format, Microsoft crash dump, file hibernation, atau mesin virtual   snapshot, Volatilitas dapat bekerja dengannya. Kami juga sekarang mendukung   Memori Linux membuang dalam format mentah atau LiME dan menyertakan 35+ plugin untuk   menganalisis kernel Linux 32- dan 64-bit dari 2.6.11 - 3.5.x dan   distribusi seperti Debian, Ubuntu, OpenSuSE, Fedora, CentOS, dan   Mandrake. Kami mendukung 38 versi dump memori Mac OSX dari 10.5 hingga   10.8.3 Singa Gunung, keduanya 32- dan 64-bit. Ponsel Android dengan prosesor ARM juga didukung.

Patel95
sumber
0

Sebagai konfirmasi, saya dapat membuang memori CentOS 7.x VM menggunakan metode ini:

$ head /dev/mem | hexdump -C
00000000  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
00000010  53 ff 00 f0 53 ff 00 f0  cc e9 00 f0 53 ff 00 f0  |S...S.......S...|
00000020  a5 fe 00 f0 87 e9 00 f0  53 ff 00 f0 46 e7 00 f0  |........S...F...|
00000030  46 e7 00 f0 46 e7 00 f0  57 ef 00 f0 53 ff 00 f0  |F...F...W...S...|
00000040  22 00 00 c0 4d f8 00 f0  41 f8 00 f0 fe e3 00 f0  |"...M...A.......|
00000050  39 e7 00 f0 59 f8 00 f0  2e e8 00 f0 d4 ef 00 f0  |9...Y...........|
00000060  a4 f0 00 f0 f2 e6 00 f0  6e fe 00 f0 53 ff 00 f0  |........n...S...|
00000070  ed ef 00 f0 53 ff 00 f0  c7 ef 00 f0 ed 57 00 c0  |....S........W..|
00000080  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
*
00000100  59 ec 00 f0 3d 00 c0 9f  53 ff 00 f0 ed 69 00 c0  |Y...=...S....i..|
00000110  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
*
00000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000afea0  00 00 00 00 00 00 00 00  aa aa aa 00 aa aa aa 00  |................|
000afeb0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
...
...
000b0000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000c0000  55 aa 40 e9 62 0a 00 00  00 00 00 00 00 00 00 00  |[email protected]...........|
000c0010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 49 42  |..............IB|
000c0020  4d 00 9c 80 fc 0f 75 06  e8 4f 01 e9 bc 00 80 fc  |M.....u..O......|

Dengan adanya 55aah ini yang terjadi dalam kisaran c0000h-effffh, kemungkinan Header Ekspansi PNP:

Referensi: Spesifikasi Boot BIOS

3.3 Perangkat dengan Header Ekspansi PnP

Semua perangkat IPL dengan ROM opsi harus berisi header ROM opsi yang valid   berada di antara alamat memori sistem C0000h dan EFFFFh pada batas 2k dan   dimulai dengan 55AAh. Boot perangkat hanya dapat dikontrol jika memiliki PnP   Header Ekspansi. Header Ekspansi, yang alamatnya berada di dalam header ROM opsi standar pada offset + 1Ah, berisi informasi penting yang digunakan untuk mengkonfigurasi perangkat. Ini juga berisi pointer ke kode dalam ROM opsi perangkat (BCV atau BEV) yang akan dipanggil oleh BIOS untuk melakukan booting dari perangkat. Lihat Lampiran A untuk struktur Header Ekspansi PnP. Ada dua cara perangkat IPL dengan PnP Expansion Header dapat di-boot. Itu harus mengandung BCV atau BEV.

Referensi

slm
sumber