Deleted Shadow Copies

Volume Shadow Copy(VSS/VSC)には以前のデータが格納されているため、重要な調査箇所です。

しかし、マルウェアによっては意図的にShadow Copy(SC)を削除することが報告されています。例えば以下の事例では、重要なファイルをSDeleteで削除した後にwmicコマンドを活用してSCを削除しています。

CRYPVAULT: New Crypto-ransomware Encrypts and “Quarantines” Files
http://blog.trendmicro.com/trendlabs-security-intelligence/crypvault-new-crypto-ransomware-encrypts-and-quarantines-files/

また、以下ではvssadminコマンドを実行してSCを削除することが報告されています。

情報窃取型不正プログラムと連携するランサムウェア「Cryptowall 3.0」
http://blog.trendmicro.co.jp/archives/11149

これらの処理が起きた際にディスク上でどのような処理が発生しているか、SC内のデータ復元が可能かを検討しました。

結論としては、wmic, vssadmin経由でSCを削除した場合にはファイルシステムレベルで削除されており、それまでにクラスタに保存されていたデータ(コンテンツ)は残っています。従って適切に扱えば、別のファイル等によって同領域が上書きされるまでSCからデータ復元が可能といえます。

実際に検証した内容は以下の通りです。

はじめに以下の手順でSCから復元可能な状態をつくります。

  1. 3つのファイル0B.bin(100MB), A0.bin(5MB), FA.bin(100MB)を作成(それぞれデータとしてファイル名のデータパターンを含む)
  2. 復元ポイントを作成
  3. SDeleteで3ファイルを作成
  4. ディスクを保全

4.の状態のディスクは以下の通りです。

VSS C Drive

VSS SVI Folder

この状態ではSCから3ファイルの復元は可能です。次にそれぞれ以下のコマンドを実行してから、ディスクを保全します。

  • (5-a.) wmic shadowcopy deleteを実行してディスクを保全
  • (5-b.) vssadmin delete shadows /all /quietを実行してディスクを保全

4.と5-aで発生した差分と4.と5-b.で発生した差分を比較した結果、同等であったため以降ではまとめて記載します。

まずコマンド実行により、SC関連ファイルは削除状態となります。

VSS Deleted

{3808876b-c176-4e48-b7ae-04046e6cc752}ファイルのデータ差分は以下の通りです(左がSC削除前、右がSC削除後)。

VSS Deleted Compare

赤の部分が変化箇所であり、SC削除後は0x00に変更されています。

VSS Deleted Diff

{9e30610d-ebd7-11e4-8098-000c29abcc30}{3808876b-c176-4e48-b7ae-04046e6cc752}ファイルのデータ差分は以下の通りです(左がSC削除前、右がSC削除後)。

VSS Deleted Compare2

赤の部分が変化箇所であり、オフセット0x80(128)の16バイト分が変わっています。

VSS Deleted Diff2

変更箇所が何を示すか、VSSのフォーマットで確認しました。

Volume Shadow Snapshot (VSS) format

https://github.com/libyal/libvshadow/blob/master/documentation/Volume%20Shadow%20Snapshot%20(VSS)%20format.asciidoc

変化している16バイトの次の16バイトはShadow Copy IDで、その次の16バイトはShadow Copy Set IDであることを確認したため、同領域は4.2のStore informationに相当すると思われますが、該当部分はUnknownとなっており何を示すかは不明でした。

5-a.や5-b.の状態から0B.bin, A0.bin, FA.binファイルを復元するためには、vssadminで認識させるようなWindowsの機能を使った方法では実現できません。例えばShadow Explorer, Shadow Kit, EnCaseのVSS Examinerでは削除状態のSCを認識しません。

自力でパースできるツールを使えば復元は可能です。少なくともX-Ways Forensicsの場合はRefine Volume SnapshotのParse volume shadow copiesにより、3ファイルを正しく復元することができました。

VSS Deleted Recovery

Internet Evidence Finder, ProDiscover, libvshadowあたりは削除済SCに対応できる可能性がありますが、試していないため実際に復元できるかは不明です。

なお、wmicやvssadmin実行によりSCが削除された場合は、プリフェッチやUsnJrnlを確認することにより実行日時を追跡することができます。特にプリフェッチには参照したファイルリスト内に\DEVICE\HARDDISKVOLUMESHADOWCOPY数字\$MFTといったパターンでファイル名が残っていました。

また、SC(復元ポイント)はスケジュールやソフトウェアのインストール等のタイミングで定期的に作成されますが、その際にSC用の領域として設定されている最大サイズを上回ると一番古いSCが削除されます。過去に遡って調査する必要がある場合も含め、削除状態のSCを正しく取り扱うことは重要といえます。