关于 conducting-linddun-threat-modeling
面向隐私、安全和软件设计团队的 LINDDUN 威胁建模技能,通过数据流图系统识别隐私威胁并规划缓解措施。内容涵盖七类威胁、威胁树及风险排序流程。
主要功能
- 01七类 LINDDUN 隐私威胁
- 02数据流图范围定义
- 03威胁树分析
- 04风险评分与优先级排序
- 05隐私缓解措施选择
- 06缓解措施验证
适用场景
- 01为系统设计数据流图
- 02识别个人数据处理中的隐私风险
- 03比较并排序威胁处置优先级
- 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.mdreferences/standards.mdworkflows.mdscripts/process.py详细介绍
开展 LINDDUN 威胁建模
概述
LINDDUN 是由鲁汶大学 KU Leuven 的 DistriNet 研究组开发的一种系统化隐私威胁建模方法。它通过数据流图(DFD)分析和威胁树目录,提供了一种结构化方法来识别软件系统中的隐私威胁。LINDDUN 代表七种隐私威胁类别:
- Linking — 将数据项彼此关联,或与某个人关联
- Identifying — 获知数据主体的身份
- Non-repudiation — 无法否认某项操作或关联
- Detecting — 推断某个人参与了某个流程
- Data Disclosure — 向未经授权的各方暴露个人数据
- Unawareness — 数据主体不了解数据处理情况
- Non-compliance — 未遵守隐私法规或政策
LINDDUN 与安全威胁建模(STRIDE)互为补充,重点关注隐私威胁。STRIDE 关注机密性、完整性和可用性,而 LINDDUN 关注不可关联性、匿名性、可否认性、不可检测性、数据内容的机密性、内容知情程度以及政策合规性。
LINDDUN 威胁类别详解
L — Linking(关联)
定义: 攻击者可以在特定上下文中充分区分两个关注对象(IOI)是否相关。
适用的 DFD 元素: 数据流、数据存储、进程。
示例:
- 通过 Cookie 或指纹识别关联跨网站的浏览会话
- 通过准标识符关联不同数据集中的假名化记录
- 将不同时段的交易关联到同一个人
威胁树(部分):
- 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:不符合数据主体权利要求(第 15-22 条)
- NC3:不符合跨境传输规则(第 V 章)
- NC4:不符合数据泄露通知要求(第 33-34 条)
- NC5:不符合问责义务(第 5(2) 条、第 24 条)
缓解措施: ENFORCE(创建、维护、履行)、DEMONSTRATE(记录、审计、报告)、GDPR 合规框架。
LINDDUN 流程
步骤 1:定义系统范围
创建系统的数据流图(DFD),展示:
- 外部实体(数据主体、第三方、监管机构)
- 进程(处理数据的系统组件)
- 数据存储(数据库、文件系统、日志)
- 数据流(元素之间的数据移动)
- 信任边界(不同信任域之间的边界)
步骤 2:将威胁映射到 DFD 元素
对于每个 DFD 元素,确定适用的 LINDDUN 威胁类别:
| DFD 元素 | L | I | N | D | DD | U | NC |
|---|---|---|---|---|---|---|---|
| 外部实体(数据主体) | X | X | |||||
| 外部实体(第三方) | X | X | |||||
| 进程 | X | X | X | X | X | X | |
| 数据存储 | X | X | X | X | X | ||
| 数据流 | X | X | X | X | X | X |
步骤 3:使用威胁树识别威胁
对于每个 DFD 元素上适用的威胁类别,遍历威胁树目录以识别具体威胁。记录每项威胁的以下信息:
- 威胁 ID
- 类别(LINDDUN 字母)
- DFD 元素
- 描述
- 可能性(1-5)
- 影响(1-5)
- 风险评分(可能性 x 影响)
步骤 4:确定威胁优先级
按风险评分对威胁排序。应用风险接受阈值:
- 风险 1-6:记录后接受
- 风险 7-12:在 6 个月内缓解
- 风险 13-19:在 3 个月内缓解
- 风险 20-25:立即缓解
步骤 5:选择缓解措施
将每项威胁映射到隐私设计模式和具体技术控制措施。记录缓解策略和负责团队。
步骤 6:验证缓解措施
验证所选缓解措施是否充分应对每项威胁。更新 DFD,以反映已实施的控制措施。重新评估剩余风险。
主要法规参考
- GDPR 第 25 条——通过设计和默认设置保护数据
- GDPR 第 35 条——数据保护影响评估
- GDPR 第 32 条——处理安全性
- EDPB 关于第 25 条“通过设计和默认设置保护数据”的《指南 4/2019》
- Deng, M., Wuyts, K., Scandariato, R., Preneel, B., & Joosen, W. (2011). “隐私威胁分析框架:支持隐私需求的识别与实现。” Requirements Engineering, 16(1), 3-32.
- LINDDUN:linddun.org — 官方方法文档和威胁树目录