2章メモリダンプの取得
通常、メモリ取得(Memory Acquisition)という言葉は、揮発性メモリ(Volatile Memory)の内容を不揮発性の記憶媒体に複製して保存することを指します。調査者は少なくとも、メモリ管理(Memory Management)の原理とメモリ取得(Memory Extraction)のためのツールの動作を理解し、最適なツールを選んで正しく使える必要があります。さらに、完全なメモリダンプ(Full Memory Dump)の作成が唯一の最適解ではないという認識が重要です。場合によっては、メモリを取得せずに調査対象のシステムを直接的に操作してメモリを解析するライブメモリ解析(Live Memory Analysis)が適切かもしれません。
この章の内容:
- メモリ管理の概念
- ライブメモリ解析の概要
- 部分的なメモリダンプと完全なメモリダンプ
- メモリ取得ツールと技術
2.1 メモリ管理の概念
RAM(Random Access Memory)の構成と管理に関連する、いくつかの重要な概念があります。それらの概念を理解すると、メモリ解析の工程をより意識的かつ効率的に実施できます。まずはアドレス空間(Address Space)から学びましょう。
2.1.1 アドレス空間
RAMはメモリセルの配列であり、アクセスのためにそれぞれのセルには物理アドレスが割り当てられています。しかし、プロセスは物理メモリに直接的なアクセスができません。プロセスが物理メモリを直接的に操作できる場合は、OSを侵害して破壊することが容易だからです。また、物理アドレスへ直接アクセスする手法では、プログラムの同時実行を管理することが難しいという理由もあります。
こうした問題を解決するために、アドレス空間として知られる抽象概念が作られました。アドレス空間は、メモリへのアクセスに使用できるアドレスの集合です。各プロセスはそれぞれ独立したアドレス空間を持っており、異なるプロセス間での物理メモリの分離や安全性に関する課題を解決します。しかし、実行中のプロセスのすべてのコードとデータを格納するための十分な物理メモリが存在しない場合はどうなるのでしょうか? ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access