@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

揮発性の順序

個人的にはいつも悩むのですが、実行中のプロセス情報とTCP/IPの接続状態、どちらのコマンド実行を優先すべきなんでしょうかね?
揮発性の順序は“消えやすいものから”ですが、ここで考慮しておかなければいけないのは、コマンド実行後に情報取得に必要となる時間ですかね。揮発性というくらいですから、数秒の差で情報が取得できたり消えたりします。*1
例えば、netstat -na を実行したタイミングで TCP/IP の接続状態が多数存在する場合、実行結果の取得が完了するまでに数秒〜数十秒かかる場合があり、この間にひょっとすると不審なプロセスが終了してしまい、この次に実行したプロセス情報を取得するコマンド実行時には情報が消えているかもしれません。
恐らく、これらより消えやすいのはキャッシュ時間などから考えると ARP テーブルのほうではないかとも思いますが、ARPテーブルの情報を取得することがさほど重要でなければ、後回しでもいいのかもしれません。

まぁ根本的なところとして、TCP/IP の接続情報といった通信履歴はそもそもログに残しておけばいいような気がしますし、プログラムの実行情報は「プロセス追跡の監査」を有効にしておけばいいわけですよね。
最悪、それらのログが失われた又は取得設定が変更されロギングが停止状態にある場合には、揮発性情報からデータを収集する必要があるかもしれませんが、そんな危険な状態にあるシステムへログオンする勇気は私には無いです(笑)*2
ログオン情報のような基本的な情報を、揮発性情報から取得しなければいけないシステムってのは、かなり終わっている気がしないでもないです。

*1:たかが数秒というお話もありますが、その1秒差でデータが失われる可能性を考慮するのがそもそも揮発性の順序ですよね

*2:意図的に追跡できないようにログの取得などを止めているわけですから、管理者の調査に備えないというのは楽観視しすぎなんぢゃないですかねぇ