Privacy Threats

Privacy Threat Modeling #

Privacy threats are distinct from security threats. A system can be secure (no unauthorized access) but not private (authorized parties learn too much).

Pfitzmann-Hansen Terminology #

Foundational vocabulary for privacy properties.

Anonymity Set #

Group of subjects who might have performed an action. Larger set = more anonymity.

Core Properties #

PropertyDefinitionNegation
AnonymitySubject not identifiable within anonymity setIdentifiability
UnlinkabilityCannot link two items (actions, identities, messages)Linkability
UndetectabilityCannot distinguish if item existsDetectability
UnobservabilityUndetectability + anonymity of involved subjectsObservability
PseudonymityUse of pseudonym (linkable within scope, unlinkable across)-

Relationship Hierarchy #

Unobservability
      ↓ implies
Anonymity + Undetectability
      ↓ implies
Unlinkability

LINDDUN #

Privacy-focused threat modeling framework (counterpart to STRIDE).

ThreatDefinitionExample
LinkabilityLink two items of interestCorrelating browsing sessions via fingerprint
IdentifiabilityIdentify subject from dataRe-identification from “anonymous” dataset
Non-repudiationCannot deny action (privacy violation when unwanted)Signed audit logs expose whistleblower
DetectabilityDetermine existence of itemTraffic analysis reveals VPN usage
DisclosureExcessive data exposureApp collects more than needed
UnawarenessData subject not informedHidden tracking pixels
Non-complianceViolating regulations/policiesGDPR breach

LINDDUN Process #

  1. Define DFD with privacy-relevant data flows
  2. Map LINDDUN threats to DFD elements
  3. Use threat trees for systematic enumeration
  4. Identify Privacy Enhancing Technologies (PETs)
  5. Document residual risks

k-Anonymity and Extensions #

ModelGuaranteeLimitation
k-anonymityEach record indistinguishable from k-1 others on quasi-identifiersHomogeneity attack, background knowledge
l-diversityEach equivalence class has l distinct sensitive valuesSkewness attack
t-closenessDistribution of sensitive attribute in class close to overall distributionComputational cost

Differential Privacy Threat Model #

  • Adversary: Has access to query results, arbitrary auxiliary information
  • Guarantee: Cannot determine if specific individual is in dataset
  • Mechanism: Add calibrated noise (Laplace, Gaussian)
  • Parameter ε: Privacy budget (lower = more private)

Privacy Attack Categories #

AttackDescriptionMitigations
Re-identificationLink “anonymous” data to identityk-anonymity, DP
InferenceDeduce sensitive info from aggregatesDP, query auditing
Membership inferenceDetermine if record was in training setDP training, regularization
Attribute inferenceInfer unknown attribute from known onesMinimize data collection
LinkageJoin datasets on quasi-identifiersData minimization, synthetic data
Traffic analysisLearn from metadata/timingPadding, mixing, constant-rate

When to Use #

  • Systems processing PII or sensitive data
  • GDPR/CCPA compliance requirements
  • Anonymous communication systems
  • ML pipelines with privacy requirements
  • Any system where “honest-but-curious” is the threat model

See Also #

  • LINDDUN
  • Pfitzmann & Hansen, “Anonymity, Unlinkability, Unobservability, Pseudonymity, and Identity Management”

Written by Claude Opus 4.5