回答:
Linuxメモリをダンプする方法に関するeHowページがあります
Linuxは、この目的のために「
/dev/mem
」と「/dev/kmem
」の2つの仮想デバイスを提供していますが、多くのディストリビューションはセキュリティ上の理由からデフォルトでそれらを無効にします。'/dev/mem
'は物理システムメモリにリンクされ、' 'は/dev/kmem
スワップを含む仮想メモリスペース全体にマップされます。どちらのデバイスも通常のファイルとして機能し、ddまたはその他のファイル操作ツールで使用できます。
それは、Linux / Unixセクションを含むメモリイメージングツールの ForensicsWikiページにつながります。
- dd Unixシステムでは、プログラムddを使用して、デバイスファイル(/ dev / memや/ dev / kmemなど)を使用して物理メモリの内容をキャプチャできます。最近のLinuxカーネルでは、/ dev / kmemは使用できなくなりました。さらに最近のカーネルでは、/ dev / memに追加の制限があります。また、最新のバージョンでは、/ dev / memもデフォルトで使用できなくなりました。2.6カーネルシリーズを通じて、疑似デバイスファイルを介したメモリへの直接アクセスを減らす傾向がありました。たとえば、このパッチに付随するメッセージhttp://lwn.net/Articles/267427/を参照してください。Red Hatシステム(およびCentOSなどの派生ディストリビューション)では、クラッシュドライバーをロードして、メモリアクセス用の擬似デバイスを作成できます(「modprobeクラッシュ」)。
- Second Look この商用メモリ分析製品には、ローカルまたはリモートターゲットからDMAまたはネットワーク経由でLinuxシステムからメモリを取得する機能があります。最も一般的に使用されるLinuxディストリビューションの何百ものカーネル用のプリコンパイルされたPMAD(Physical Memory Access Driver)モジュールが付属しています。
- Idetect(Linux)
- fmem(Linux)
fmemはカーネルモジュールであり、/ dev / memに似ていますが制限なしにデバイス/ dev / fmemを作成します。このデバイス(物理RAM)は、ddまたは他のツールを使用してコピーできます。2.6 Linuxカーネルで動作します。GNU GPLの下。- Goldfish
Goldfishは、法執行機関のみが使用するMac OS Xのライブフォレンジックツールです。その主な目的は、Firewire接続を介してターゲットマシンのシステムRAMをダンプするための使いやすいインターフェースを提供することです。次に、現在のユーザーログインパスワードと、使用可能なAOLインスタントメッセンジャーの会話フラグメントを自動的に抽出します。法執行機関は、ダウンロード情報についてgoldfish.aeに連絡する場合があります。
関連項目:Linux Memory Analysis。ほとんどのLinuxで一般的に利用可能なGDB
もあります。
また、不明なメモリへの書き込みを避けることを常にお勧めします。システムの破損につながる可能性があります。
ボラティリティはうまく機能しているようで、WindowsおよびLinux互換です。
彼らのウェブサイトから:
揮発性は、XP、2003 Server、Vista、Server 2008、Server 2008 R2、Sevenを含むすべての主要な32ビットおよび64ビットWindowsバージョンおよびサービスパックからのメモリダンプをサポートします。メモリダンプが未加工形式、Microsoftクラッシュダンプ、休止状態ファイル、または仮想マシンのスナップショットのいずれであっても、Volatilityはそれを使用できます。また、未加工またはLiME形式のLinuxメモリダンプをサポートし、2.6.11-3.5.xの32ビットおよび64ビットLinuxカーネルとDebian、Ubuntu、OpenSuSE、Fedora、CentOSなどのディストリビューションを分析するための35以上のプラグインが含まれています。マンドラケ。32ビットおよび64ビットの10.5から10.8.3 Mountain LionまでのMac OSXメモリダンプの38バージョンをサポートしています。ARMプロセッサを搭載したAndroidフォンもサポートされています。
Second Lookは、Linuxでメモリをダンプするための優れた簡単な方法です:http : //secondlookforensics.com/。
LiMEと呼ばれる最近リリースされたカーネルモジュールもあります:http ://code.google.com/p/lime-forensics/
確認として、このメソッドを使用してCentOS 7.x VMのメモリをダンプできました。
$ 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 |U.@.b...........|
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......|
この55aahがc0000h-effffhの範囲で発生すると、PNP拡張ヘッダーである可能性があります。
参照:BIOSブート仕様3.3 PnP拡張ヘッダーを備えたデバイス
オプションROMを備えたすべてのIPLデバイスには、2k境界のシステムメモリアドレスC0000hとEFFFFhの間にあり、55AAhで始まる有効なオプションROMヘッダーが含まれている必要があります。デバイスの起動は、PnP拡張ヘッダーがある場合にのみ制御できます。アドレスがオフセット+ 1Ahの標準オプションROMヘッダー内にある拡張ヘッダーには、デバイスの構成に使用される重要な情報が含まれています。BIOSがデバイスから起動するために呼び出すデバイスのオプションROM(BCVまたはBEV)のコードへのポインターも含まれています。PnP拡張ヘッダーの構造については、付録Aを参照してください。PnP拡張ヘッダーを持つIPLデバイスを起動するには2つの方法があります。BCVまたはBEVが含まれている必要があります。