mcpField
C
conducting-linddun-threat-modeling

conducting-linddun-threat-modeling

github.com/mukul975安全32338 次安装32 周前更新
代码仓库

关于 conducting-linddun-threat-modeling

面向隐私、安全和软件设计团队的 LINDDUN 威胁建模技能,通过数据流图系统识别隐私威胁并规划缓解措施。内容涵盖七类威胁、威胁树及风险排序流程。

主要功能

  1. 01七类 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 代表七种隐私威胁类别:

  • 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 元素LINDDDUNC
外部实体(数据主体)XX
外部实体(第三方)XX
进程XXXXXX
数据存储XXXXX
数据流XXXXXX
步骤 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 — 官方方法文档和威胁树目录

评论

支持 Markdown