本文へ移動
cccskills
無料GitHub で公開

conducting-linddun-threat-modeling

Complete guide to LINDDUN privacy threat modeling methodology covering seven threat categories: Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness, and Non-compliance. Includes DFD-based analysis, threat tree catalogs, mitigation mapping to privacy design patterns, and step-by-step process.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md9.6 KB
  • assets/template.md4.0 KB
  • references/standards.md3.0 KB
  • references/workflows.md4.9 KB
  • scripts/process.py13.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Conducting LINDDUN Threat Modeling

Overview

LINDDUN is a systematic privacy threat modeling methodology developed by the DistriNet research group at KU Leuven. It provides a structured approach to identifying privacy threats in software systems through Data Flow Diagram (DFD) analysis and threat tree catalogs. LINDDUN stands for seven privacy threat categories:

  • Linking — Associating data items with each other or with an individual
  • Identifying — Learning the identity of a data subject
  • Non-repudiation — Being unable to deny an action or association
  • Detecting — Deducing that an individual is involved in a process
  • Data Disclosure — Exposing personal data to unauthorized parties
  • Unawareness — Data subjects being unaware of data processing
  • Non-compliance — Failing to comply with privacy legislation or policies

LINDDUN complements security threat modeling (STRIDE) by focusing specifically on privacy threats. While STRIDE addresses confidentiality, integrity, and availability, LINDDUN addresses unlinkability, anonymity, plausible deniability, undetectability, confidentiality of data content, content awareness, and policy compliance.

LINDDUN Threat Categories Detailed

L — Linking

Definition: An adversary can sufficiently distinguish whether two items of interest (IOI) are related or not within a particular context.

DFD element applicability: Data flows, data stores, processes.

Examples:

  • Linking browsing sessions across websites via cookies or fingerprinting
  • Linking pseudonymized records across datasets via quasi-identifiers
  • Linking transactions to the same individual over time

Threat trees (selected):

  • L1: Linking via identifiers shared across contexts
  • L2: Linking via quasi-identifier combination (age + postal code + gender)
  • L3: Linking via temporal correlation (simultaneous events)
  • L4: Linking via behavioral patterns (unique usage signatures)

Mitigations: HIDE (Dissociate, Mix), SEPARATE (Isolate), MINIMIZE (Strip), differential privacy, pseudonymization with context separation.

I — Identifying

Definition: An adversary can sufficiently identify a data subject within a set of data subjects.

DFD element applicability: Data flows, data stores, external entities.

Examples:

  • Re-identifying individuals in an anonymized dataset via linkage attacks
  • Identifying a user from aggregated location data
  • Identifying the author of an anonymous document via stylometry

Threat trees (selected):

  • I1: Identification via direct identifiers (name, email, SSN)
  • I2: Identification via quasi-identifier combination
  • I3: Identification via unique behavioral patterns
  • I4: Identification via metadata (IP address, device fingerprint)

Mitigations: HIDE (Encrypt, Obfuscate), MINIMIZE (Strip), ABSTRACT (Group, Summarize), k-anonymity, differential privacy.

N — Non-repudiation

Definition: A data subject is unable to deny having performed an action or being associated with specific data.

DFD element applicability: Data flows, processes, data stores.

Examples:

  • Digital signatures on messages prevent denying authorship
  • Transaction logs linking purchases to an identity
  • Audit trails that irrevocably associate actions with individuals

Threat trees (selected):

  • N1: Non-repudiation via digital signatures or cryptographic evidence
  • N2: Non-repudiation via witness testimony or log entries
  • N3: Non-repudiation via photographic or biometric evidence

Mitigations: HIDE (Mix), group signatures, ring signatures, deniable encryption.

D — Detecting

Definition: An adversary can sufficiently distinguish whether an item of interest (IOI) exists or not.

DFD element applicability: Data flows, processes.

Examples:

  • Detecting that an individual visited a specific website via traffic analysis
  • Detecting that a patient is in a hospital database (membership inference)
  • Detecting the existence of encrypted communication between parties

Threat trees (selected):

  • D1: Detection via traffic analysis (communication metadata)
  • D2: Detection via timing side channels
  • D3: Detection via presence in a dataset (membership inference)
  • D4: Detection via access pattern analysis

Mitigations: HIDE (Mix, Obfuscate), cover traffic, onion routing, steganography, ORAM.

D — Data Disclosure

Definition: Personal data is disclosed to or accessed by unauthorized parties.

DFD element applicability: Data flows, data stores, processes.

Examples:

  • Unencrypted personal data intercepted in transit
  • Database breach exposing customer records
  • Employee accessing records without authorization

Threat trees (selected):

  • DD1: Disclosure via unencrypted communication channels
  • DD2: Disclosure via unauthorized database access
  • DD3: Disclosure via side-channel attacks on encrypted data
  • DD4: Disclosure via excessive data sharing with third parties
  • DD5: Disclosure via improper data deletion (residual data)

Mitigations: HIDE (Encrypt), access control, TLS 1.3, field-level encryption, secure deletion, DLP systems.

U — Unawareness

Definition: Data subjects are unaware of the collection, processing, or sharing of their personal data.

DFD element applicability: External entities (data subjects), processes.

Examples:

  • Collecting data without providing a privacy notice
  • Processing data for purposes not disclosed to the data subject
  • Sharing data with third parties without informing the data subject

Threat trees (selected):

  • U1: Unawareness due to missing or inadequate privacy notice
  • U2: Unawareness of purpose change (purpose creep without notification)
  • U3: Unawareness of third-party sharing
  • U4: Unawareness of automated decision-making or profiling

Mitigations: INFORM (Supply, Notify, Explain), layered privacy notices, just-in-time notifications, consent management.

N — Non-compliance

Definition: The system or organization fails to comply with applicable privacy legislation, policies, or standards.

DFD element applicability: All DFD elements.

Examples:

  • Processing without a valid lawful basis
  • Failing to respond to data subject access requests within 30 days
  • Not conducting a required DPIA for high-risk processing
  • Retaining data beyond the defined retention period

Threat trees (selected):

  • NC1: Non-compliance with lawful basis requirements
  • NC2: Non-compliance with data subject rights (Art. 15-22)
  • NC3: Non-compliance with cross-border transfer rules (Chapter V)
  • NC4: Non-compliance with data breach notification (Art. 33-34)
  • NC5: Non-compliance with accountability obligations (Art. 5(2), Art. 24)

Mitigations: ENFORCE (Create, Maintain, Uphold), DEMONSTRATE (Record, Audit, Report), GDPR compliance framework.

LINDDUN Process

Step 1: Define the System Scope

Create a Data Flow Diagram (DFD) of the system showing:

  • External entities (data subjects, third parties, regulators)
  • Processes (system components that process data)
  • Data stores (databases, file systems, logs)
  • Data flows (movement of data between elements)
  • Trust boundaries (boundaries between different trust domains)

Step 2: Map Threats to DFD Elements

For each DFD element, determine which LINDDUN threat categories apply:

DFD ElementLINDDDUNC
External entity (data subject)XX
External entity (third party)XX
ProcessXXXXXX
Data storeXXXXX
Data flowXXXXXX

Step 3: Elicit Threats Using Threat Trees

For each applicable threat category on each DFD element, walk through the threat tree catalog to identify specific threats. Document each threat with:

  • Threat ID
  • Category (LINDDUN letter)
  • DFD element
  • Description
  • Likelihood (1-5)
  • Impact (1-5)
  • Risk score (likelihood x impact)

Step 4: Prioritize Threats

Rank threats by risk score. Apply risk acceptance thresholds:

  • Risk 1-6: Accept with documentation
  • Risk 7-12: Mitigate within 6 months
  • Risk 13-19: Mitigate within 3 months
  • Risk 20-25: Mitigate immediately

Step 5: Select Mitigations

Map each threat to privacy design patterns and specific technical controls. Document the mitigation strategy and responsible team.

Step 6: Validate Mitigations

Verify that selected mitigations adequately address each threat. Update the DFD to reflect implemented controls. Re-assess residual risk.

Key Regulatory References

  • GDPR Article 25 — Data protection by design and by default
  • GDPR Article 35 — Data protection impact assessment
  • GDPR Article 32 — Security of processing
  • EDPB Guidelines 4/2019 on Article 25 Data Protection by Design and by Default
  • Deng, M., Wuyts, K., Scandariato, R., Preneel, B., & Joosen, W. (2011). "A privacy threat analysis framework: supporting the elicitation and fulfillment of privacy requirements." Requirements Engineering, 16(1), 3-32.
  • LINDDUN: linddun.org — Official methodology documentation and threat tree catalogs

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Implements 42 CFR Part 2 protections for substance use disorder patient records. Covers written consent requirements stricter than HIPAA, re-disclosure prohibition, court order procedures, qualified service organization agreements, and 2024 amendments aligning Part 2 with HIPAA. Keywords: 42 CFR Part 2, substance use disorder, SUD records, re-disclosure, consent, Part 2 amendments.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Guides assessment of third-country adequacy decisions under GDPR Article 45 for international data transfers. Covers the current EC adequacy decisions list, adequacy assessment criteria, partial adequacy handling, and monitoring of adequacy decision reviews. Keywords: adequacy decision, Article 45, third country, adequate protection, EC adequacy list.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Implements age-gating mechanisms for online services to restrict access based on user age. Covers hard gates versus soft gates, neutral age prompts, re-verification triggers, circumvention prevention, and regulatory requirements under GDPR, COPPA, UK Online Safety Act, and DSA. Keywords: age gate, age restriction, neutral prompt, children, online services, access control.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Evaluates and implements age estimation and verification technologies for online services. Covers facial age estimation, digital ID verification, self-declaration with risk assessment, AI-based age estimation, and the accuracy versus privacy tradeoff. Includes ICO guidance and euCONSENT framework. Keywords: age verification, age estimation, facial analysis, digital ID, children, online safety.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Preparing EU AI Act compliance documentation for high-risk AI systems. Covers Annex III classification, technical documentation under Art. 11, conformity assessment, risk management systems, and CE marking requirements. Keywords: EU AI Act, high-risk AI, Annex III, conformity assessment, CE marking.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

Implements GDPR Art. 22 automated decision-making and AI Act Art. 14 human oversight requirements for AI systems. Covers identification of solely automated decisions, meaningful human intervention design, logic explanation mechanisms, and contestation procedures. Keywords: Art. 22, automated decision, human oversight, AI Act, profiling, contestation.

日本語の概要は準備中です。原文の説明を表示しています。

mukul975/Privacy-Data-Protection-Skills3032026年3月17日 更新

mukul975 のスキルをすべて見る

このスキルの問題を報告する