mcpField
C
conducting-linddun-threat-modeling

conducting-linddun-threat-modeling

github.com/mukul975セキュリティ32338 回インストール32 週間前に更新
リポジトリ

conducting-linddun-threat-modeling について

プライバシー、セキュリティ、ソフトウェアの各チーム向けの LINDDUN 脅威モデリングスキルです。データフロー図を使って7種類のプライバシー脅威を分析し、リスクの優先順位付けと緩和策の計画を支援します。

主な機能

  1. 017種類の LINDDUN プライバシー脅威
  2. 02データフロー図による範囲設定
  3. 03脅威ツリー分析
  4. 04リスク評価と優先順位付け
  5. 05プライバシー緩和策の選定
  6. 06緩和策の検証

活用シーン

  1. 01データフロー図によるシステムの可視化
  2. 02個人データ処理のプライバシーリスク特定
  3. 03対処する脅威の優先順位付け
  4. 04プライバシー対策の有効性確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/privacy-data-protection-skills --skill conducting-linddun-threat-modeling

インストール後、Claude Code で/conducting-linddun-threat-modelingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
template.md
references/
standards.md
workflows.md
scripts/
process.py

詳細

LINDDUN による脅威モデリングの実施

概要

LINDDUN は、KU Leuven の DistriNet 研究グループが開発した、体系的なプライバシー脅威モデリング手法です。データフロー図(DFD)の分析と脅威ツリーのカタログを用いて、ソフトウェアシステムにおけるプライバシー脅威を特定するための構造化されたアプローチを提供します。LINDDUN は、次の 7 つのプライバシー脅威カテゴリを表しています。

  • Linking — データ項目同士、またはデータ項目と個人を関連付けること
  • Identifying — データ主体の身元を把握すること
  • Non-repudiation — アクションや関連付けを否定できないこと
  • Detecting — 個人がプロセスに関与していると推測すること
  • Data Disclosure — 個人データを権限のない第三者に開示すること
  • Unawareness — データ主体がデータ処理を認識していないこと
  • Non-compliance — プライバシー関連の法令やポリシーを遵守できないこと

LINDDUN は、プライバシー脅威に特化して重点を置くことで、セキュリティ脅威モデリング(STRIDE)を補完します。STRIDE が機密性、完全性、可用性を扱うのに対し、LINDDUN はリンク不能性、匿名性、もっともらしい否認可能性、検知不能性、データ内容の機密性、内容に関する認識、ポリシー遵守を扱います。

LINDDUN の脅威カテゴリの詳細

L — Linking(リンク可能性)

定義: 攻撃者が、特定のコンテキスト内で、2 つの関心対象(IOI)が関連しているかどうかを十分に判別できます。

適用可能な DFD 要素: データフロー、データストア、プロセス。

例:

  • Cookie やフィンガープリントを使って、複数の Web サイトをまたいでブラウジングセッションを関連付ける
  • 準識別子を使って、複数のデータセットにまたがる仮名化レコードを関連付ける
  • 時間の経過とともに、取引を同一人物に関連付ける

脅威ツリー(抜粋):

  • L1:コンテキスト間で共有される識別子による関連付け
  • L2:準識別子の組み合わせ(年齢+郵便番号+性別)による関連付け
  • L3:時間的相関(同時に発生するイベント)による関連付け
  • L4:行動パターン(一意の利用シグネチャ)による関連付け

緩和策: HIDE(分離、混合)、SEPARATE(隔離)、MINIMIZE(除去)、差分プライバシー、コンテキスト分離を伴う仮名化。

I — Identifying(識別可能性)

定義: 攻撃者が、データ主体の集合の中から特定のデータ主体を十分に識別できます。

適用可能な DFD 要素: データフロー、データストア、外部エンティティ。

例:

  • リンケージ攻撃によって、匿名化されたデータセット内の個人を再識別する
  • 集約された位置情報からユーザーを識別する
  • 文体分析によって匿名文書の著者を識別する

脅威ツリー(抜粋):

  • I1:直接識別子(氏名、メールアドレス、SSN)による識別
  • I2:準識別子の組み合わせによる識別
  • I3:一意の行動パターンによる識別
  • I4:メタデータ(IP アドレス、デバイスフィンガープリント)による識別

緩和策: HIDE(暗号化、難読化)、MINIMIZE(除去)、ABSTRACT(グループ化、要約)、k-匿名性、差分プライバシー。

N — Non-repudiation(否認不能性)

定義: データ主体が、アクションを実行したこと、または特定のデータと関連付けられていることを否定できません。

適用可能な DFD 要素: データフロー、プロセス、データストア。

例:

  • メッセージのデジタル署名によって、作成者であることを否定できなくなる
  • 購入履歴を本人に関連付ける取引ログ
  • 個人のアクションを取り消し不能な形で関連付ける監査証跡

脅威ツリー(抜粋):

  • N1:デジタル署名または暗号学的証拠による否認不能性
  • N2:証人の証言またはログエントリによる否認不能性
  • N3:写真または生体認証の証拠による否認不能性

緩和策: HIDE(混合)、グループ署名、リング署名、否認可能暗号。

D — 検知

定義: 攻撃者が、関心の対象(IOI)が存在するかどうかを十分に判別できます。

DFD 要素への適用: データフロー、プロセス。

例:

  • トラフィック分析によって、特定のウェブサイトを個人が訪問したことを検知する
  • 患者が病院のデータベースに登録されていることを検知する(メンバーシップ推論)
  • 当事者間で暗号化された通信が行われていることを検知する

脅威ツリー(抜粋):

  • D1:トラフィック分析による検知(通信メタデータ)
  • D2:タイミングサイドチャネルによる検知
  • D3:データセットへの登録による検知(メンバーシップ推論)
  • D4:アクセスパターン分析による検知

緩和策: HIDE(混合、難読化)、カバートラフィック、オニオンルーティング、ステガノグラフィー、ORAM。

D — データ漏えい

定義: 個人データが、権限のない当事者に開示またはアクセスされます。

DFD 要素への適用: データフロー、データストア、プロセス。

例:

  • 暗号化されていない個人データが転送中に傍受される
  • データベース侵害により顧客レコードが漏えいする
  • 従業員が権限なくレコードにアクセスする

脅威ツリー(抜粋):

  • DD1:暗号化されていない通信チャネルを介した漏えい
  • DD2:権限のないデータベースアクセスによる漏えい
  • DD3:暗号化データへのサイドチャネル攻撃による漏えい
  • DD4:第三者との過剰なデータ共有による漏えい
  • DD5:不適切なデータ削除による漏えい(残存データ)

緩和策: HIDE(暗号化)、アクセス制御、TLS 1.3、フィールドレベルの暗号化、安全な削除、DLP システム。

U — 認識不足

定義: データ主体が、自身の個人データの収集、処理、共有について認識していません。

DFD 要素への適用: 外部エンティティ(データ主体)、プロセス。

例:

  • プライバシー通知を提示せずにデータを収集する
  • データ主体に開示していない目的でデータを処理する
  • データ主体に知らせずに第三者とデータを共有する

脅威ツリー(抜粋):

  • U1:プライバシー通知の欠如または不十分さによる認識不足
  • U2:目的変更の認識不足(通知のない目的の拡大)
  • U3:第三者との共有に関する認識不足
  • U4:自動意思決定またはプロファイリングに関する認識不足

緩和策: INFORM(提供、通知、説明)、階層化されたプライバシー通知、適時通知、同意管理。

N — コンプライアンス違反

定義: システムまたは組織が、適用されるプライバシー法令、ポリシー、または標準を遵守していません。

DFD 要素への適用: すべての DFD 要素。

例:

  • 有効な適法根拠なしに処理する
  • 30 日以内にデータ主体のアクセス要求に応じない
  • リスクの高い処理に必要な DPIA を実施しない
  • 定められた保存期間を超えてデータを保持する

脅威ツリー(抜粋):

  • NC1:適法根拠の要件に関するコンプライアンス違反
  • NC2:データ主体の権利に関するコンプライアンス違反(Art. 15-22)
  • NC3:越境移転ルールに関するコンプライアンス違反(Chapter V)
  • NC4:データ侵害の通知に関するコンプライアンス違反(Art. 33-34)
  • NC5:説明責任の義務に関するコンプライアンス違反(Art. 5(2), Art. 24)

緩和策: ENFORCE(作成、維持、遵守)、DEMONSTRATE(記録、監査、報告)、GDPR コンプライアンスフレームワーク。

LINDDUN プロセス

ステップ 1:システムの範囲を定義する

以下を示すシステムのデータフロー図(DFD)を作成します。

  • 外部エンティティ(データ主体、第三者、規制当局)
  • プロセス(データを処理するシステムコンポーネント)
  • データストア(データベース、ファイルシステム、ログ)
  • データフロー(要素間のデータの移動)
  • 信頼境界(異なる信頼ドメイン間の境界)
ステップ 2:脅威をDFDの要素に対応付ける

各DFD要素について、該当するLINDDUNの脅威カテゴリを特定します。

DFD要素LINDDDUNC
外部エンティティ(データ主体)XX
外部エンティティ(サードパーティ)XX
プロセスXXXXXX
データストアXXXXX
データフローXXXXXX
ステップ 3:脅威ツリーを使用して脅威を洗い出す

DFD要素ごとに該当する脅威カテゴリを確認し、脅威ツリーのカタログをたどって具体的な脅威を特定します。各脅威について、以下を記録します。

  • 脅威 ID
  • カテゴリ(LINDDUNの文字)
  • DFD要素
  • 説明
  • 発生可能性(1~5)
  • 影響度(1~5)
  • リスクスコア(発生可能性 × 影響度)
ステップ 4:脅威に優先順位を付ける

リスクスコアに基づいて脅威を順位付けします。以下のリスク受容基準を適用します。

  • リスク 1~6:記録を残して受容
  • リスク 7~12:6か月以内に軽減
  • リスク 13~19:3か月以内に軽減
  • リスク 20~25:直ちに軽減
ステップ 5:軽減策を選択する

各脅威をプライバシー設計パターンと具体的な技術的制御に対応付けます。軽減策と担当チームを記録します。

ステップ 6:軽減策を検証する

選択した軽減策が各脅威に適切に対処していることを確認します。実装した制御を反映するようにDFDを更新します。残存リスクを再評価します。

主な規制関連の参考資料

  • GDPR第25条 — データ保護の設計およびデフォルト設定
  • GDPR第35条 — データ保護影響評価
  • GDPR第32条 — 処理のセキュリティ
  • EDPBガイドライン4/2019「第25条 データ保護の設計およびデフォルト設定」
  • Deng, M., Wuyts, K., Scandariato, R., Preneel, B., & Joosen, W. (2011). "プライバシー脅威分析フレームワーク:プライバシー要件の洗い出しと充足を支援する。" Requirements Engineering, 16(1), 3-32.
  • LINDDUN:linddun.org — 公式の方法論ドキュメントと脅威ツリーのカタログ

コメント