コース目次 / 第4章

まとめ — プロセスという、動いている実体

ps/proc/maps/シグナルを畳み、プロセスが独自の仮想メモリと状態を持つ実体であることを再確認します。低レイヤートラック(T2)全体を振り返り、次のトラックへ橋渡しします。

第4章 / 全5章目安 約4分この章のゴール: このコースの要点を畳み、T2トラック全体を振り返る

プロセスは、ps一覧の1行ではなく、自分だけの仮想メモリと、外部から変えられる状態を持つ、動いている実体でした。

mini-proc・早見表

道具 見えるもの
ps -p <pid> -o pid,ppid,stat,cmd PID・親PID・状態のスナップショット
/proc/<pid>/status より詳しい情報(メモリ使用量・スレッド数など)
/proc/<pid>/maps 仮想メモリのレイアウト(領域ごとの権限・紐づくファイル)
kill -STOP / kill -CONT シグナルによる一時停止・再開

ASLRは、/proc/<pid>/mapsのロードアドレスが実行のたびに変わることとして、自分の目で確認しました。setarch -Rでその変化を止めれば、mini-ctf-pwnで見た「-no-pieで固定アドレスにした状態」がどれだけ攻撃者に有利かも、実感を伴って理解できます。

T2トラックを、振り返る

mini-bin(バイナリの姿)、sec-c(メモリの壊れ方)、sec-asm(CPUとスタック)、mini-syscall(OSとの境界)、そしてこのmini-proc(プロセスと仮想メモリ)——低レイヤートラックの中核を一巡しました。「動いて当たり前」に見えていたものが、どれも観察できる、読み解ける仕組みだったと分かったはずです。

次の道

次はmini-netで、プロセスが外部とやり取りする通信そのものをのぞきます。

お疲れさまでした。プロセスも、もうブラックボックスではありません。

こうなっていればOK

この章で卒業です。

この章はまだ完了していません。