削除済みVSSスナップショットの復元

Similar documents
IIJ Technical Seminar DAY2018~フォレンジックツールの開発と実装

ログを活用したActive Directoryに対する攻撃の検知と対策

Himawari の異常な暗号

JEB Plugin 開発チュートリアル 第3回

(2) [ バックアップツール ] が表示されます [1] [2] [3] [4] [5] [6] Windows Storage Server 2012 バックアップ手順 (V_01) < 画面の説明 > [1] バックアップ項目リスト登録されているバックアップセットの一覧です [2] 新規 ボタ

目次 1. はじめに バックアップと復元の概要 Active Directoryのバックアップ Active Directoryの復元 ドメインコントローラの復元 ( 他のドメインコントローラが利用できる場合 )

Javaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

制御システムセキュリティアセスメントサービス

JEB Plugin 開発チュートリアル 第4回

BitLocker 構成手順書 ( 既存インストール TPM 無 ドメイン参加無 ) 目的 Microsoft Windows Vista Enterprise もしくは Ultimate をインストールしているシステ ムフォルダを BitLocker に構成し暗号化するための手順書である 対象 O

データ移行ツール ユーザーガイド Data Migration Tool User Guide SK kynix Inc Rev 1.01

動作環境 対応 LAN DISK ( 設定復元に対応 ) HDL-H シリーズ HDL-X シリーズ HDL-AA シリーズ HDL-XV シリーズ (HDL-XVLP シリーズを含む ) HDL-XV/2D シリーズ HDL-XR シリーズ HDL-XR/2D シリーズ HDL-XR2U シリーズ

KSforWindowsServerのご紹介

共有フォルダ接続手順 1 共有フォルダ接続ツールのダウンロード 展開 CSVEX のトップページから共有フォルダ接続ツールの zip ファイルをダウンロードします ダウンロードした zip ファイルを右クリックして すべて展開 を選択します (Windows 環境では zip ファイルを解凍しなくて

セキュリティソフトウェアをご使用の前に

Agenda 1. 今回のバージョンアップについて a. バージョンアップ概要 b. バージョンアップ目的 c. 新バージョンのシステム要件に関する注意事項 d. 現行バージョンのサポート期間 2. 対応プラットフォームの追加 3. 新機能の追加および機能強化 2

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

Microsoft Word - UniversalShield_Hitachi.doc

共通 障害調査依頼の際には ログの他に分かる範囲で以下の情報の提供をお願いします 障害の概要 ( 障害の具体的な内容どの様な現象が発生したか等の情報 ) 障害の発生日時 障害の発生手順 ( 障害発生時に どの様な操作 運用を行ったかの情報 ) 画面上に表示されているエラーメッセージ ネットワーク構成

USNジャーナル解析の追及

簡単バックアップの使いかた

SVF Ver 環境設定 パッチについて

IPM Release 2.6 へのアップグ レード

移行手順書

『テクノス』V2プログラムインストール説明書

産直くん 9 リピートくん 9 バックアップ リストア作業チェックリスト バックアップ リストア作業項目一覧 作業項目作業目安時間概要 00 バックアップ リストア作業を行う前に 産直くん 9 リピートくん 9 のバックアップ リストア作業を円滑に行うための確認事項をまとめています 1. バックアッ

アーカイブ機能インストールマニュアル

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

<4D F736F F D20342E899E D2091E52D81848FAC82D682CC88F8897A2E646F6378>

PowerPoint プレゼンテーション

ドメインコントローラを冗長化していてもバックアップは必要です! Active Directory データベースの複製の仕組み DC1 2 変更された情報を定期的に他の DC に複製 DC2 同期 1 ドメインコントローラ (DC) で変更が行われる Active Directory データベース上で

スライド 1

■POP3の廃止について

レターヘッド日本語版 (AC厚木本社)

PowerPoint プレゼンテーション

独立行政法人産業技術総合研究所 PMID-Extractor ユーザ利用マニュアル バイオメディシナル情報研究センター 2009/03/09 第 1.0 版

Microsoft Word - L08_Backup_Lab.docx

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

ベストプラクティスガイド ShadowProtect 回復パーティションを含む UEFI マシンのリストア 2015 年 4 月 20 日 更新日 : 2017 年 10 月 25 日

ServerView RAID Manager VMware vSphere ESXi 5 インストールガイド

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

ETERNUS VSSHP サポート情報

ServerView RAID Manager VMware vSphere ESXi 5 インストールガイド

Microsoft Word - koutiku-win.doc

. 目次 概要 リストア環境の設定... 3 ステップ 1-1 Recovery Environment メディアからの起動... 3 ステップ 1-2 タイムゾーンの選択... 4 ステップ 1-3 必要なドライバの読み込み... 5 ステップ 1-4 ネットワークドライブの割り当

機能紹介:コンテキスト分析エンジン

弊社アウトソーシング事業

WannaCry とは WannaCry はランサムウェアの一種 WannaCry は ランサムウェアと呼ばれる身代金要求型のマルウェアです WannaCryptor WanaCrypt Wcry といった呼ばれ方もします 一般的にランサムウェアに感染すると 以下のようなデータを使用できないように暗

ファイル管理

データを自動でバックアップする (Backup Utility)

EaseUS Data Recovery Wizard User Guide

Microsoft Word - ModelAnalys操作マニュアル_

Maser - User Operation Manual

PN-T321

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

利用ガイド

システム要件 Trend Micro Safe Lock 2.0 SP1 Trend Micro Safe Lock 2.0 SP1 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Wind

BACREX-R クライアント利用者用ドキュメント

BLOCK TYPE.indd

スライド 1

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

10-vm1.ppt

IOWebDOC

ARCserve Backup r12.5 Handbook

Microsoft Word - nvsi_080188jp_r1_netvault_oracle_rac_backup_complemental_guide_j_174x217.doc

SmartPlant License Manager 8.0

Filr 2.0 Desktopアプリケーションリリースノート

DIRECTIONS

1. 主な機能追加項目 以下の検索項目をサポートしました 書誌 全文検索コマンド検索 国内 査定日 最新の査定日 ( 登録査定日または拒絶査定日 ) を検索します 査定種別 最新の登録 拒絶査定 または査定なしを検索します 審査最終処分日 最新の審査最終処分日を検索します 審査最終処分種別 最新の審

iStorage NS500Bx系 管理者ガイド (詳細編)

Rational Roseモデルの移行 マニュアル

CLUSTERPRO MC StorageSaver 1.0 for Windows インストールガイド 2013(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 注意 制限事項

WebSAM AlertManager Ver4.2 UL1032-B03 UL1032-HB03 UL1032-JB03 セットアップカード 1 章パッケージの中身の確認 2 章セットアップの準備 3 章セットアップの方法 4 章注意事項 UL1032-XB03 SL1032B0301-1

スライド 1

スライド 1

無線LAN JRL-710/720シリーズ ファームウェアバージョンアップマニュアル 第2.1版

BitLocker 構成手順書 ( 新規インストール TPM 無 ドメイン参加無 ) 目的 Microsoft Windows Vista Enterprise もしくは Ultimate を新規インストールする場合に BitLocker を構成するための手順書である 対象 OS:Microsoft

Application Note Application Note No. ESC-APN 文書番号 : ESC-APN Tcl link library インストールガイド はじめに Tcl link library インストールガイド ( 以下 本書 ) では Act

Windows Graphic Loader for Label Printers

ご利用のブラウザのバージョンによっては 若干項目名が異なる場合があります 予めご了承ください Windows をお使いの場合 [ 表示 ] [ エンコード ] [ 日本語 ( 自動選択 )] を選択 [ 表示 ] [ エンコード ] [Unicode(UTF-8)] を選択 Firefox をご利用

1. ログイン 1. 下記の URL よりアクセスしてください 2. が表示されたら ユーザ名 ( 親 ID) とパスワード ( 親 ID パスワード ) をそれぞれの欄に正確に入力し ログイン ボタンをクリックしてください 3. ログインが完了すると メニュー

Microsoft Word - XPC4ソフトマニュアル.doc

<4D F736F F D208D C8FEE95F18DEC90AC A B D836A B2E646F63>

Microsoft Word - Manage_Add-ons

アーカイブ機能インストールマニュアル

Windows AIKを使用したPE2

Ontrack PowerControls バックアップ・復旧ガイド

ek-Bridge Ver.2.0 リリースについて

V-Client for Mac ユーザーズガイド

Windows 10の注意点

CLUSTERPRO SSS 動作環境編

1. はじめに Systemwalker Desktop Patrol V 以降でセキュリティ監査として BIOS パスワード設定の監査 を提供しています しかし Systemwalker Desktop Patrol メインメニュー のセキュリティ情報に表示される起動パスワード 設定パ

Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist の特長 2. 機能紹介 2-1. 一括請求 Assist

整理番号変換ツール 操作説明書 平成 20 年 11 月 厚生労働省保険局調査課

Team Foundation Server 2018 を使用したバージョン管理 補足資料

POWER EGG2.0 Ver2.8 スタートアップガイド ~Webデータベース 応用編~

2.Picasa3 の実行 デスクトップの をダブルククリック 一番最初の起動の時だけ下記画 面が立ち上がります マイドキュメント マイピクチャ デスクトップのみスキャン にチェックを入れ続行 これはパソコン内部の全画像を検索して Picasa で使用する基本データを作成するものですが 完全スキャン

CLUSTERPRO MC StorageSaver 2.0 for Windows インストールガイド 2015 (Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 本製品のアップデートインストール 注意 制限

フォーマット/メンテナンスガイド

Transcription:

Japan Computer Emergency Response Team Coordination Center 電子署名者 : Japan Computer Emergency Response Team Coordination Center DN : c=jp, st=tokyo, l=chiyoda-ku, email=office@jpcert.or.jp, o=japan Computer Emergency Response Team Coordination Center, cn=japan Computer Emergency Response Team Coordination Center 日付 : 2018.01.24 18:42:18 +09'00' 削除済みVSSスナップ ショットの復元 株式会社インターネットイニシアティブ 小林 稔 Japan Security Analyst Conference 2018 1

Who am I 小林稔 株式会社インターネットイニシアティブセキュリティ本部セキュリティ情報統括室に所属 社内外のインシデントレスポンスに従事 外部活動 2015 年 8 月 ~2018 年 1 月社会保障審議会年金事業管理部会運営担当参与 Mauritius 2016 FIRST Technical Colloquium スピーカーおよびトレーニング講師 2017 年セキュリティキャンプ全国大会講師 Twitter : @unkn0wnbit Japan Security Analyst Conference 2018 2

Agenda 本発表の概要とモチベーション 目標 VSSスナップショットのデータ構造 VSSスナップショットの仕組み 主なスナップショットパーサ 削除済みVSSスナップショットアクセス手法の検討 作成したツールの概要と復元テスト Demo まとめ Japan Security Analyst Conference 2018 3

概要 本発表は Volume Shadow Copy Service (VSS) に関する調査研究である VSS は Windows に標準搭載されているバックアップ関連機能で NTFS ボリュームの VSS スナップショット ( 以下 スナップショット ) を作成することができる スナップショットを参照すると スナップショット作成時のデータ つまり過去のデータにアクセスできる そのため 攻撃の痕跡を発見できる場合があり インシデントレスポンスにおいて重要な役割を果たす しかし 容量の上限によって自然に古いものが消える もしくは攻撃者やマルウェアによって削除されてしまう場合がある 本発表では 削除されたスナップショットにアクセスする手法の検討とそれを基に実装したツールの実験結果を解説する Japan Security Analyst Conference 2018 4

インシデントレスポンス時の VSS スナップショットの活用方法 時間の経過や攻撃者により削除されてしまったマルウェアや攻撃者の痕跡を復元し 解析することで より深く解析を行う 攻撃者が使用したツール 攻撃者が一時的に作成したアーカイブファイル 現在のイベントログから削除されてしまったログ ランサムウェアに暗号化されてしまったファイルの復元 Japan Security Analyst Conference 2018 5

モチベーション (1) スナップショットは重要なアーティファクトであるが 削除されたスナップショットに Windows からアクセスする方法は存在しない X-ways など一部のツールは特定の条件下で削除済みのスナップショットにアクセスできることを CDI 山崎氏が確認している http://www.kazamiya.net/deletedsc このことから VSS 関連のファイルを復元できれば 他のツールでもデータを復元できる可能性がある これが第 1 のモチベーションである Japan Security Analyst Conference 2018 6

モチベーション (2) 削除済みのスナップショットの一部にアクセスする手段の一つとして カービングが存在する しかし この手法には致命的な欠陥が存在する カービングはシグネチャを利用して 連続した領域をファイルやレコードとして復元する しかし スナップショットは 16KB のデータブロック単位でバックアップが行われる そのため カービングを行っても最大で 16KB のファイルやレコードしかカービングすることができない また ファイル生成日時などのメタ情報も復元できない スナップショットのデータにアクセスする際には 現在の NTFS ボリュームとスナップショット内のバックアップデータを正しく組み合わせる必要がある したがって NTFS ボリュームをパースするカービングツールを使用しても対象ファイル全体をカービングすることはできない このように 削除されたスナップショットのアクセスには専用のツールが必要となるが 誰でも自由に使えるソフトウェアがなかった これが第 2 のモチベーションである Japan Security Analyst Conference 2018 7

目標 以下のような状況で削除されたスナップショットからファイルを復元するツールを作成する スナップショットの容量オーバーで自動的に削除されたスナップショット 攻撃者やランサムウェア等に削除されたスナップショット Japan Security Analyst Conference 2018 8

VSSスナップショットのデータ構造 Japan Security Analyst Conference 2018 9

VSS スナップショットのファイル VSS スナップショットの管理データはルートフォルダ直下の System Volume Information に保存される Catalog: メタ情報を管理 ( スナップショット生成日時など ) Store: スナップショットのバックアップデータ Japan Security Analyst Conference 2018 10

VSS システムのレイヤー VSS スナップショットの管理データはファイルとしても管理されているが VSS は NTFS より下のレイヤーで動作しているため VSS がスナップショットのデータを参照する際 NTFS をパースするのではなくオフセットをたどる 高レイヤー 低レイヤー https://github.com/libyal/documentation/blob/master/paper%20-%20windowless%20shadow%20snapshots.pdf Japan Security Analyst Conference 2018 11

VSS スナップショットへのアクセス オフセットをたどることで VSS スナップショットにアクセス 0x0 0x1e00 VSS Volume Header Catalog Store 1 Store 2 Japan Security Analyst Conference 2018 12

VSS Volume Header (1) NTFS ボリュームの先頭から 0x1e00 に保存される情報 VSS Identifier VSS が有効な場合にセットされる Catalog や Store のデータブロックにもシグネチャとしてセットされる Catalog Offset Catalog が保存されているボリュームの先頭からのオフセット スナップショットが 0 個の場合 0x0 がセットされる Japan Security Analyst Conference 2018 13

VSS Volume Header (2) VSS Identifier Catalog Offset Japan Security Analyst Conference 2018 14

Catalog (1) Catalog Block Header VSS Identifier (Signature) Next offset Catalog は初期状態で 4 データブロック確保されるため オフセットがセットされる Catalog Entry Catalog Entry Type 0x02 と 0x03 の 2 つ一組で 1 つのスナップショットを管理している Catalog Entry Type 0x02 スナップショット生成日時など Catalog Entry Type 0x03 Store Header Offset, Store Block List Offset, Store Block Range Offset, Store Current Bitmap Offset, Store Previous Bitmap Offset, など Japan Security Analyst Conference 2018 15

Catalog (2) Catalog Block Header VSS Identifier Next offset Entry Type 0x02 スナップショット生成日時 (Windows FILETIME 形式 ) Entry Type 0x03 Block List Offset Block Range Offset Previous Bitmap Offset Store Header Offset Current Bitmap Offset Japan Security Analyst Conference 2018 16

Store (1) Store Block Header 4 種類の Record Type の Store Block で 1 つの Store は管理されている Store Header (Store Information) : Record Type 4 スナップショット GUID 属性フラグ マシン名など Store Block List : Record Type 3 データブロックが記録されていたオリジナルのオフセットとバックアップ先のオフセットのテーブル Store Block Range : Record Type 5 Store 自身が使用しているファイル領域のオフセットとレンジのリスト Store Current Bitmap / Store Previous Bitmap : Record Type 6 ボリュームのデータブロックの利用状況を表すビットマップ Store Data Block バックアップされたデータブロック Japan Security Analyst Conference 2018 17

Store (2) - Store Block List の例 VSS Identifier Record Type 3 = Store Block List Original data block offset Relative store data block offset Store Header Store data block offset Flag Allocation bitmap Japan Security Analyst Conference 2018 18

VSSスナップショットの仕組み Japan Security Analyst Conference 2018 19

VSS スナップショットの データ保存 Japan Security Analyst Conference 2018 20

VSS スナップショットのデータ保存 (1) スナップショットを作成するとスナップショット作成日時などのメタ情報を保存する Catalog とバックアップデータを保存する Store が用意される NTFS ボリュームは 16KB ごとのデータブロックと呼ばれる単位で管理される 例として 3 つのデータブロックを使用するファイルのスナップショットについて考えてみる NTFS ボリューム 48KB(3 ブロック ) のファイル データブロック Catalog Store 1 Japan Security Analyst Conference 2018 21

VSS スナップショットのデータ保存 (2) ファイルの保存などでデータ変更が発生したデータブロックはデータが書き込まれる前に Store にデータブロック単位でバックアップされる NTFS ボリューム ファイルの 1 番目のデータブロック部分のデータ書き換え Application Catalog Store 1 Japan Security Analyst Conference 2018 22

VSS スナップショットのデータ保存 (3) 2 つ目のスナップショットを作成すると Catalog へのメタ情報の追加と 2 つ目の Store が用意され 変更が発生したデータブロックは Store 2 にバックアップされる 3 つ目以降のスナップショットも同様 NTFS ボリューム ファイルの 1 番目と 2 番目のデータブロック部分のデータ書き換え Application Catalog Store 1 Store 2 Japan Security Analyst Conference 2018 23

VSS スナップショットの データアクセス Japan Security Analyst Conference 2018 24

VSS スナップショットのデータアクセス (1) スナップショットのデータにアクセスする際 Store に保存されているデータブロックと現在の NTFS ボリュームを組み合わせて スナップショット作成時のデータブロックを再現する 例として スナップショット 1 作成時のファイルにアクセスする場合を考える NTFS ボリューム このファイルのスナップショット 1 のデータにアクセスする Catalog Store 1 Store 2 Japan Security Analyst Conference 2018 25

VSS スナップショットのデータアクセス (2) Store2 に保存されているデータブロックをファイルに重ね合わせる NTFS ボリューム Catalog Store 1 Store 2 ファイルに Store 2 のデータブロックを重ねる Japan Security Analyst Conference 2018 26

VSS スナップショットのデータアクセス (3) Store1 に保存されているデータブロックをファイルに重ね合わせる このように スナップショット内にバックアップされたデータブロックを新しい順に NTFS ボリュームのデータブロックに重ねることで スナップショット作成時のデータにアクセスすることができる NTFS ボリューム Catalog Store 1 Store 2 先ほどの状態に Store 1 のデータブロックを重ねると スナップショット 1 作成時のデータと同等になる Japan Security Analyst Conference 2018 27

VSS スナップショットの削除 Japan Security Analyst Conference 2018 28

スナップショット削除時の動作 (1) スナップショット削除コマンド vssadmin.exe delete shadows /all スナップショット削除直後の Catalog と Store の状態 Catalog と Store の MFT の削除済みエントリが確認できる Japan Security Analyst Conference 2018 29

スナップショット削除時の動作 (2) スナップショット削除直後の Catalog のファイル内容 Entry Type が全て 0x01 となり データは 0x00 で埋められる Japan Security Analyst Conference 2018 30

スナップショット削除時の動作 (3) スナップショット削除直後の Store のファイル内容 削除前 削除後 ヘッダの一部 ( 動作に影響のない GUID) が変更される Japan Security Analyst Conference 2018 31

スナップショット削除時の動作 (4) スナップショット削除から数分経過後 Catalog と Store の MFT エントリが消えてしまう Store のファイル名が見えているが $I30 のエントリ Japan Security Analyst Conference 2018 32

主なVSSスナップショットパーサ Japan Security Analyst Conference 2018 33

主な VSS スナップショットパーサ Forensic Tool Kit X-ways Forensics AXIOM EnCase などの商用製品 ShadowExplorer ShadowKit などのフリーソフトウェア libvshadow などのオープンソースソフトウェア ほとんどのツールは削除されたスナップショットにアクセスできない X-Ways は MFT に Catalog と Store の削除エントリが残っていればスナップショットにアクセス可能 しかし スナップショット削除後 数分経過するとこれらのエントリは MFT から削除されてしまうため 実用性は高くない 今回は libvshadow を作成するツールのベースとして採用した Japan Security Analyst Conference 2018 34

なぜ libvshadow なのか 商用製品が VSS スナップショットをうまく処理できない場合でも libvshadow であれば正常に処理できることが多くある ライブラリだけではなく スナップショットをディスクイメージとして再現する vshadowmount というコマンドがあるため 他のディスクイメージを処理するツールと組み合わせやすい Windows の機能を使用せずに VSS スナップショットパーサを実装しており オープンソースソフトウェアであるため 機能の拡張がしやすい 誰でも使用することが可能 https://github.com/libyal/libvshadow Japan Security Analyst Conference 2018 35

削除済み VSS スナップショットアクセス手法の検討 Japan Security Analyst Conference 2018 36

削除済み VSS スナップショットアクセス手法の検討 (1) vshadowmount はディスクイメージ内の Catalog と Store を読み込んでスナップショットのデータにアクセスするため Catalog と Store を復元または再生成する必要がある しかし Catalog と Store の復元には以下のような問題が存在する 1. Store については動作に影響しない一部のデータのみが書き換わるだけであるため ディスクイメージからカービングしたデータを利用できることが期待できる しかし Store は 4 種類のストアブロックから構成されるため カービングしたストアブロックを 1 つの Store してグルーピングする方法が必要となる 2. Catalog のデータは完全に失われてしまうため カービングした Store などから再生成する必要がある 3. 複数の Store がカービングできた場合 Store が作成された順番が分からない Japan Security Analyst Conference 2018 37

削除済み VSS スナップショットアクセス手法の検討 (2) 問題点 1 Store については動作に影響しない一部のデータのみが書き換わるだけであるため ディスクイメージからカービングしたデータを利用できることが期待できる しかし Store は 4 種類のストアブロックから構成されるため カービングしたストアブロックを 1 つの Store してグルーピングする方法が必要となる 解決策 1 各種ストアブロックの NTFS ボリューム上での配置を調査して グルーピングの方法を検討する Japan Security Analyst Conference 2018 38

削除済み VSS スナップショットアクセス手法の検討 (3) CatalogのEntry Type 0x03に記録されている各種ストアブロックのオフセットを見るとある程度の範囲に収まっていることが分かる (NTFSボリュームの大きさによって変化する ) Store Header Offset: 0x02F1BA8000 Store Block List Offset: 0x02F1BAC000 Store Block Range Offset: 0x02F1BB0000 Store Current Bitmap Offset: 0x02F1BD4000 Store Previous Bitmap Offset: 0x02F1C14000 Entry Type 0x03 Store Block List Offset Store Block Range Offset Store Previous Bitmap Offset Store Header Offset Store Current Bitmap Offset Japan Security Analyst Conference 2018 39

削除済み VSS スナップショットアクセス手法の検討 (4) 次に ディスクイメージ内のストアブロックを検索するツールを作成し 他の Store のストアブロックと入り組んだ配置になっていないか確認すると Store ごとに離れて配置されていることが確認できる また Store は Record Type 4, 3, 5, 6, 6 の順番でストアブロックが現れるため これらを 1 つの Store としてカービングしても問題ないであろうと考えられる 1 つ目の Store Record Type 4, 3, 5, 6, 6 を 1 つの Store として扱う 2 つ目の Store Japan Security Analyst Conference 2018 40

削除済み VSS スナップショットアクセス手法の検討 (5) 問題点 2 Catalog のデータは完全に失われてしまうため カービングした Store などから再生成する必要がある 解決策 2 Catalog に必要な主な情報は以下の通り スナップショット生成日時 Store Header Offset などの各オフセット オフセットはカービングした Store から取得することができるが スナップショット生成日時は完全に失われている vshadowmount はスナップショット生成日時の新しい順にスナップショットを並べ替えてスナップショットのデータにアクセスする つまり スナップショット間で前後関係が正しければ 生成日時はいつでも良い このことから カービングを行った日時を基準にスナップショット生成日時をセットすることとした ( 問題点 3 と関連 ) Japan Security Analyst Conference 2018 41

削除済み VSS スナップショットアクセス手法の検討 (6) 問題点 3 複数の Store がカービングできた場合 Store が作成された順番が分からない スナップショットのデータを参照する際に 正しい順番でデータブロックを再構成しないと正しいデータを再現することができない 解決策 3 新しい Store は NTFS ボリュームのオフセットが大きい位置に配置されると仮定し Catalog を生成する際に 一番大きなオフセットの Store のスナップショット生成日時にカービングを行った日時をセットし 1 つ前のスナップショット生成日時には 1 時間前の日時をセットするようにした ( 以降 同様に 1 時間ずつ前の日時をセットする ) しかし 実際には新しい Store が小さなオフセットに作成される場合もある このような状況はツールで自動的に判断できないため 利用者がスナップショットを読み込む順番を簡単に入れ替えられるようなツールを別途作成した Japan Security Analyst Conference 2018 42

作成したツールの概要と復元テスト Japan Security Analyst Conference 2018 43

作成したツール vss_carver.py ( カービングツール ) ディスクイメージから Store をカービングする カービングした Store から Catalog を生成する ディスクイメージ内に Catalog があれば その情報とカービングした情報をマージする ( 情報は Catalog を優先する ) vss_catalog_manipulator.py ( カタログを操作するツール ) カタログエントリの順番の変更や削除などを行う 拡張版 vshadowmount (libvshadow-20170902 をベースに作成 ) vss_carver.py で復元した Catalog と Store からスナップショットの情報を読み込むオプションを追加した Japan Security Analyst Conference 2018 44

vss_carver.py の使い方 -o / --offset : ディスクイメージ内のNTFSボリュームのオフセット --i / --image : ディスクイメージのファイルパス -c / --catalog : Catalog 書き出し先のファイルパス -s / --store : Store 書き出し先のファイルパス vss_carver.py -o 123456 -i y: image -c z: catalog -s z: store Japan Security Analyst Conference 2018 45

vss_catalog_manipulator.py の使い方 list : Catalog 内の情報を出力 vss_catalog_manipulator.py list z: catalog move : Catalog の 5 番のエントリを 3 番の位置に移動する vss_catalog_manipulator.py move z: catalog 5 3 remove : Catalog の 2 番のエントリを削除する vss_catalog_manipulator.py remove z: catalog 2 enable : Catalog の 4 番のエントリを有効化する vss_catalog_manipulator.py enable z: catalog 4 disable : Catalog の 7 番のエントリを無効化する vss_catalog_manipulator.py disable z: catalog 7 Japan Security Analyst Conference 2018 46

拡張版 vshadowmount の使い方 既存のオプションは変更せず 新たにオプションを追加した -c : Catalogの情報としてvss_carver.pyで生成したCatalogファイルを使用する -s : Storeの情報としてvss_carver.pyでカービングしたStoreファイルを使用する vshadowmount.exe -o 123456 -c z: catalog -s z: store y: image x: Japan Security Analyst Conference 2018 47

作成したツールの概要 Store Data Block( バックアップされたデータブロック ) 参照先 Store 1 (Store Data Block) データ / ファイル読込 Store 2 (Store Data Block) 1 ディスクイメージから Store の管理部分をカービングする 拡張版 vshadowmount 3 ディスクイメージと復元した Catalog Store を読み込んで 削除されたスナップショットにアクセスする Store 1 Store 2 Store vss_carver.py 2Store などの情報から Catalog を生成する Japan Security Analyst Conference 2018 Catalog 48

ファイル復元テスト 以下の操作を行ったディスクイメージからファイルを復元できるか 複数のスナップショットパーサでテストを行った 事前準備 3KB, 5MB, 15MB のファイルを 10 個ずつ保存し スナップショットを作成後 各ファイルの先頭に 1 バイトのデータを追加してファイルを保存 テスト 1 全てのスナップショット削除後 1 分以内のディスクイメージ (MFT に削除エントリが残っている状態 ) テスト 2 全てのファイルを削除し 別の 10 個の 5MB のファイルのコピーと削除を 5 回繰り返す テスト 3 Teslacrypt を実行して ファイルを暗号化させる 外部への通信ができない検証環境で実行する必要があったため 通信ができなくともファイルを暗号化する Teslacrypt を使用した Japan Security Analyst Conference 2018 49

ファイル復元テスト結果 ソフトウェアテスト 1 テスト 2 テスト 3 備考 商用製品 A (Ver. X) 商用製品 A (Ver. Z) MFT に Store のエントリがある場合のみ復元可能 上記と同じ製品だが新しいバージョンにも関わらず エンバグしている可能性がある 商用製品 B フリーソフトウェア C libvshadow + vss_carver.py : すべてのファイルが復元できた :1 つもファイルが復元できなかった Japan Security Analyst Conference 2018 50

DEMO Japan Security Analyst Conference 2018 51

Demo 1: 自動的に削除されたスナップショットの復元 1 か月程度運用した Windows 7 のディスクイメージ ディスクイメージ内の Catalog には 3 つのスナップショットのエントリが記録されているが カービングを行うと 自動的に削除されたスナップショットのエントリを見つけることができる この削除されたスナップショットから既存のスナップショットより古いデータを復元できる可能性がある Japan Security Analyst Conference 2018 52

Demo 2: ランサムウェアに削除されたスナップショットの復元 被害者コンピュータ :Windows 10 スナップショットを作成 既存のファイルを編集 保存する Teslacrypt を実行後 暗号化が完了したことを確認して VMware のスナップショットを作成する 解析コンピュータ :Windows 7 被害者コンピュータの VMware ディスクイメージマウントして vshadowinfo でスナップショットがないことを確認する (Teslacrypt による削除 ) vss_carver.py がカービングした Catalog と Store を使って 拡張版 vshadowmount で VMware ディスクイメージをマウントする 暗号化される前のファイルが復元できるか確認する Japan Security Analyst Conference 2018 53

ScopeSnapshots の確認 VSS スナップショットには もう一つ考慮しなければならない点がある Windows 8 以降 デフォルトで ScopeSnapshots が有効になっている ScopeSnapshots が有効になっていると VSS スナップショットにはシステム関連のファイルのみが保存され ユーザが作成したデータは保存されない ScopeSnapshots を無効化するには HKLM Software Microsoft Windows NT CurrentVersion SystemRestore キーに ScopeSnapshots という名前で DWORD 値 0 を設定し OS を再起動する 詳細は弊社発行の冊子 IIR Vol.37 を参照 https://www.iij.ad.jp/dev/report/iir/037.html Japan Security Analyst Conference 2018 54

Future Work 拡張版 vshadowmount の Windows 以外の OS への対応 ストアブロックの一部が上書きされている場合の補完処理 Japan Security Analyst Conference 2018 55

まとめ ディスクイメージから Store と Catalog を復元し これらのファイルを機能拡張した vshadowmaount で読み込むことで削除された VSS スナップショットのデータにアクセスできるようになった また 自然に削除されたスナップショットやランサムウェアによって削除されたスナップショットにも有効であることが確認できた 作成したツールの公開先と公開予定時期 https://github.com/mnrkbys/vss_carver 拡張版 vshadowmount パッチ公開予定時期 :2018 年 2 月 バイナリは先行して公開中 Japan Security Analyst Conference 2018 56

Q & A Japan Security Analyst Conference 2018 57