breach-forensics について
インシデント対応・プライバシーチーム向けに、個人データ侵害の証拠保全、ログ分析、範囲特定、根本原因分析の手順を示すスキルです。調査結果を GDPR 第 33・34 条の通知評価や是正計画に活用できます。
主な機能
- 01揮発性に応じた証拠保全
- 02証拠の保管履歴の記録
- 03ログとネットワーク通信の分析
- 04影響を受けたシステムとデータの特定
- 05タイムライン作成と根本原因分析
活用シーン
- 01個人データ侵害の疑いがある事案の調査
- 02データアクセス範囲と流出可能性の評価
- 03規制当局への通知と是正計画の検討
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill breach-forensicsインストール後、Claude Code で/breach-forensicsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py詳細
情報漏えいの調査フォレンジック
概要
個人データの漏えいが確認された場合、漏えいの範囲(影響を受けた個人データおよびデータ主体)、攻撃経路、不正行為のタイムライン、根本原因を特定するために、徹底したフォレンジック調査が不可欠です。調査結果は、Art. 33 に基づく監督機関への通知、Art. 34 に基づくデータ主体への連絡、および漏えい後の是正計画に直接反映されます。このスキルでは、フォレンジック調査の全ワークフロー、証拠の取り扱い手順、分析手法を網羅します。
証拠保全プロトコル
黄金律:まず保全し、その後に分析する
漏えいが確認された際の最優先事項は、上書きまたは破壊される前に揮発性の証拠を保全することです。証拠は揮発性の高い順に収集する必要があります。
- CPU レジスタとキャッシュ — ライブメモリ取得ツール(Volatility、WinPmem、LiME)を使用して取得します。
- メモリ(RAM)の内容 — 影響を受けたシステムのメモリ全体をダンプします。実行中のプロセス、ネットワーク接続、暗号化キー、ディスク上には存在しない可能性のあるマルウェアの痕跡が含まれます。
- ネットワーク接続とルーティングテーブル — 現在アクティブな接続から、コマンド&コントロール(C2)インフラストラクチャや継続中のデータ流出が判明する可能性があります。
- 実行中のプロセスとサービス — プロセスツリー、読み込まれた DLL、開いているファイルハンドル、ユーザーコンテキストを収集します。
- ディスクの内容 — 影響を受けたシステムのストレージをフォレンジックディスクイメージ(ビット単位のコピー)として取得します。物理メディアには書き込み防止装置を使用します。
- ログファイル — システムログ、アプリケーションログ、セキュリティログ、データベース監査ログを収集します。ローテーションや上書きの対象となる可能性のあるログを優先します。
- ネットワークトラフィックのキャプチャ — ネットワークタップ、SPAN ポート、またはインラインキャプチャポイントからパケットキャプチャ(PCAP)を取得します。
- 外部証拠 — クラウドサービスのログ(AWS CloudTrail、Azure Activity Log)、SaaS 監査ログ、サードパーティベンダーのログを収集します。
フォレンジックイメージの取得
| システムの種類 | ツール | 方法 | ハッシュ検証 |
|---|---|---|---|
| Windows サーバー | FTK Imager 4.7 | 書き込み防止された外部ストレージにビット単位のディスクイメージを取得 | SHA-256 と MD5 の二重ハッシュ |
| Linux サーバー | dc3dd | /dev/sda をソースとして外部ストレージにビット単位で取得 | dcfldd による検証を伴う SHA-256 ハッシュ |
| AWS EC2 インスタンス | AWS CLI + EBS スナップショット | EBS スナップショットを作成し、フォレンジックイメージに変換 | スナップショットのエクスポートの SHA-256 |
| データベース | pg_dump(論理)+ ディスクイメージ | データ分析用の論理エクスポート + 痕跡復元用の物理ディスクイメージ | 両方の出力の SHA-256 |
| モバイルデバイス | Cellebrite UFED / GrayKey | 法的に許可される場合に物理抽出 | 抽出パッケージの SHA-256 |
| クラウドストレージ(S3) | バージョニングを有効にした AWS CLI sync | 削除済みオブジェクトを含むすべてのオブジェクトバージョンをダウンロード | マニフェストの SHA-256 |
証拠保管連鎖の記録
すべての証拠について、取得から分析、保管に至るまで、正式な証拠保管連鎖記録を用いて追跡する必要があります。
証拠追跡項目
| 項目 | 説明 |
|---|---|
| 証拠 ID | 一意の識別子:SPG-BREACH-2026-003-EV-001 |
| 説明 | db-prod-eu-west-01(PostgreSQL プライマリ)の RAM 全体のダンプ |
| 取得日時 | 2026 年 3 月 13 日、15:47 UTC |
| 取得者 | Thomas Brenner、CISO、Stellar Payments Group |
| 取得ツール | WinPmem 4.0 — メモリ取得 |
| 取得時のハッシュ | SHA-256:a3f8b2c1d9e...(完全なハッシュは証拠ログに記録) |
| 保管場所 | フォレンジック証拠保管庫、A 棟、104 号室、金庫 #3、棚 B |
| アクセスログ | 証拠へのすべてのアクセスについて、氏名、日付、時刻、目的を記録します |
保管連鎖移転記録
| 移転 # | 日付/時刻 | 引き渡し者 | 受領者 | 目的 | ハッシュ検証 |
|---|---|---|---|---|---|
| 1 | 2026年3月13日、16:00 UTC | Thomas Brenner(CISO) | Mandiant IR Analyst(Sarah Mitchell) | フォレンジック分析 | はい — SHA-256 が一致 |
| 2 | 2026年3月20日、10:00 UTC | Sarah Mitchell(Mandiant) | Thomas Brenner(CISO) | 分析後の返却 | はい — SHA-256 が一致 |
ログ分析の方法論
ツールの選択と適用
Splunk Enterprise Security
- ユースケース:ログの一元的な相関分析、タイムラインの再構築、行動分析。
- 侵害調査における主な検索:
- 認証イベント:
index=auth sourcetype=okta:log action=authentication.login | stats count by user, result, client.ipAddress, client.geographicalContext.country - データベースクエリ:
index=database sourcetype=postgresql:audit query_type=SELECT table IN (customers, transactions, accounts) | stats count, values(query_text) by user, source_ip - データの持ち出し:
index=network sourcetype=pan:traffic dest_zone=untrust bytes_sent>50000000 | stats sum(bytes_sent) by src_ip, dest_ip, app
- 認証イベント:
ELK Stack(Elasticsearch、Logstash、Kibana)
- ユースケース:大量のログ取り込み、全文検索、アクセスパターンの可視化。
- 侵害調査における主なクエリ:
- 異常なアクセス時刻:個人データシステムのインデックスを対象に、営業時間外(現地時間の07:00前または20:00後)のタイムスタンプで絞り込みます。
- 地理的な異常の検出:認証元 IP を地理的位置情報別に集計し、90 日間のベースラインに含まれない国を検出します。
- ボリューム異常:ユーザーごとのデータアクセスイベントを時間単位で集計し、30 日間の平均値を標準偏差の 3 倍以上上回る急増を特定します。
Wireshark / tshark
- ユースケース:侵害されたシステムとの間のネットワークトラフィックをパケットレベルで分析します。
- 侵害調査における主なフィルター:
- データの持ち出しを特定:
ip.src == 10.0.1.50 && tcp.dstport != 443 && frame.len > 1000(侵害されたホストからの非 HTTPS の送信通信) - C2 通信を特定:
dns.qry.name contains ".onion" || dns.qry.name contains "dga"(不審なドメインへの DNS クエリ) - データ転送を再構築:TCP ストリームを追跡し、PCAP キャプチャから転送されたファイルの内容を復元します。
- データの持ち出しを特定:
その他のツール
| ツール | 目的 | 適用方法 |
|---|---|---|
| Volatility 3 | メモリフォレンジック | RAM ダンプを分析し、マルウェア、挿入されたコード、認証情報の窃取を調査します |
| Autopsy / Sleuth Kit | ディスクフォレンジック | 削除済みファイルを復元し、ファイルシステムのタイムラインを分析して、アーティファクトを抽出します |
| YARA | マルウェアの特定 | マルウェアのシグネチャルールに照らして、ディスクイメージとメモリダンプをスキャンします |
| Plaso / log2timeline | スーパータイムラインの作成 | 複数の証拠ソースから統合タイムラインを作成します |
| Chainsaw | Windows イベントログ分析 | Sigma 検出ルールを使用して、Windows EVTX ログを迅速にトリアージします |
対象範囲の特定プロセス
ステップ 1:侵害されたすべてのシステムを特定する
- 最初に特定された侵害システムを起点に、認証ログ、ネットワーク接続ログ、エンドポイント検出アラートを調査してラテラルムーブメントを追跡します。
- 特定された各システムについて、データ処理インベントリ(第 30 条の記録)と照合し、個人データを保存、処理、または送信しているかどうかを判断します。
- 侵害された各システムについて、ホスト名、IP アドレス、機能、データ分類、保存されている個人データのカテゴリ、およびデータ主体数の推定値を記録します。
ステップ 2:アクセスされたデータの特定
- 個人データを含む侵害されたシステムごとに、アクセスログを分析し、攻撃者がアクセスした具体的なテーブル、ファイル、またはレコードを特定します。
- 「システムが侵害された」(攻撃者がシステムにアクセスできた)状態と、「データにアクセスされた」(攻撃者が実際に個人データを照会またはダウンロードした)状態を区別します。
- 予防原則を適用します。特定のデータがアクセスされたかどうかをログから判断できない場合は、侵害されたシステム上のすべてのデータがアクセスされた可能性があるものとみなします。
ステップ 3:データ持ち出しの特定
- 侵害期間中に、侵害されたシステムから外部の送信先へのデータ転送があったかどうか、ネットワークトラフィックログを分析します。
- DNS ログを確認し、DNS トンネリングの兆候(異常に長いサブドメイン文字列、通常と異なるドメインへの大量のクエリ)がないか調べます。
- 組織が承認した送信先リストにない外部 IP への暗号化チャネル(VPN、SSH、HTTPS)の使用を確認します。
- 転送前にファイルを圧縮、暗号化、または転送用に準備した証拠がないか、エンドポイントログを調べます。
- 調査結果を「データ持ち出しを確認」「データ持ち出しの証拠なし(確信度を併記)」「データ持ち出しを否定できない」のいずれかとして報告します。
ステップ 4:侵害のタイムラインの確定
- 不正アクセスの最も早い証拠(初回侵害日)を特定します。
- 攻撃者の活動のタイムラインを特定します。実行されたアクションとその時期を明らかにします。
- 侵害が検知された時期を特定します。
- 滞留時間(初回侵害から検知までの時間)を算出します。
- ログの欠落によってタイムラインを再構成できない期間があれば記録します。
根本原因分析
データ侵害に適用する 5 つのなぜフレームワーク
例:Stellar Payments Group のランサムウェアインシデント
- なぜランサムウェアが実行されたのか? 攻撃者は、データベースクラスターに対する管理者権限を持つ侵害済みのサービスアカウントを使用してランサムウェアを展開しました。
- なぜ攻撃者は侵害済みのサービスアカウントを持っていたのか? IT 運用エンジニアが 2026 年 3 月 10 日にクリックしたスピアフィッシングメールから、サービスアカウントの認証情報が窃取されました。このメールによって、認証情報を収集するキーロガーがインストールされました。
- なぜフィッシングメールはエンジニアに届いたのか? 侵害された正規のドメインから送信され、検知可能な悪意のあるペイロードを含んでいなかったため、メールゲートウェイをすり抜けました(リンク先は正規に見えるログインページでした)。
- なぜサービスアカウントにデータベースの管理者権限があったのか? このサービスアカウントは 2024 年の移行プロジェクト用に作成されたもので、廃止されないまま残っていました。サービスアカウントがレビューの対象範囲から除外されていたため、四半期ごとのアクセスレビューでも権限が見直されませんでした。
- なぜサービスアカウントはアクセスレビューの対象外だったのか? アクセスレビューのポリシーでは対象範囲を「ユーザーアカウント」と定義しており、サービスアカウント、マシンアカウント、API キーを明示的に含めていませんでした。
根本原因:アクセスレビューポリシーの不備 — サービスアカウントが定期的なアクセス認証の対象から除外されていたことと、完了済みプロジェクトで使用していた、権限の古いサービスアカウントが残っていたことが重なりました。
調査報告書の構成
セクション 1:エグゼクティブサマリー
- 侵害の種類と分類
- 不正活動の日付範囲
- 影響を受けたデータ主体とレコードの数
- 根本原因(1 文)
- 現在の状況(封じ込め済み/継続中)
- 主な是正策の推奨事項
セクション 2:調査の範囲と方法
- 調査の目的
- 分析した証拠の情報源
- 使用したツールと手法
- 調査チームのメンバーと役割
- 調査活動のタイムライン
セクション 3:調査結果
- 証拠の参照先を付した詳細な侵害タイムライン
- 侵害されたシステムと影響を受けた個人データ
- 攻撃経路と手法(MITRE ATT&CK フレームワークに対応付け)
- データ持ち出しの評価
- 根本原因分析
セクション 4:影響評価
- 影響を受けたデータ主体(人数とカテゴリー)
- 漏えいした個人データ(カテゴリーと機微性)
- 第33条/第34条の通知要件に関するリスク評価
- 規制上のリスク評価
セクション 5:是正措置の推奨事項
- 即時対応(すでに実施済み)
- 短期対応(30日以内)
- 中期対応(90日以内)
- 長期的な抜本的改善
セクション 6:証拠一覧
- 収集したすべての証拠の完全な一覧
- 証拠保全記録
- ハッシュ検証ログ
- 証拠の保管および廃棄スケジュール
コメント
Markdown 対応