STRIDE 框架
欺骗、篡改、抵赖等威胁。
STRIDE 框架 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
STRIDE 是什么
STRIDE 是由微软开发的威胁分类框架。它提供六类威胁,因此您可以针对系统的每个组件,系统地询问“可能出现什么问题?”
STRIDE 是以下六种威胁类型的助记缩写:
- S欺骗
- T篡改
- R抵赖
- I信息泄露
- D拒绝服务
- E权限提升
STRIDE 对应安全属性
每个 STRIDE 类别都表示对某项理想安全属性的违反。这种对应关系有助于您记住每种威胁攻击的对象:
Threat Violates property
---------------------- --------------------
Spoofing Authentication
Tampering Integrity
Repudiation Non-repudiation
Information disclosure Confidentiality
Denial of service Availability
Elevation of privilege Authorization欺骗
欺骗是冒充自己并非的某人或某物。它会破坏身份验证。
示例:
- 使用被盗凭据登录
- 伪造电子邮件的“发件人”地址
- 设置虚假登录页面来窃取密码
- 冒充受信任的服务器
典型的缓解措施包括:强身份验证、多因素身份验证、双向 TLS 和数字签名。
篡改
篡改是未经授权修改数据或代码。它会破坏完整性。
示例:
- 在提交前修改网页请求中的价格字段
- 未经授权修改数据库记录
- 将恶意代码注入软件更新
- 修改日志文件以隐藏活动
缓解措施包括:输入验证、完整性检查(哈希值/基于哈希的消息认证码)、代码签名和访问控制。
抵赖
抵赖是指用户否认自己执行过某项操作,而系统无法证明事实并非如此。它会破坏不可否认性。
例如:用户进行了一笔欺诈性交易,随后声称自己从未进行过该交易,而系统没有日志可以证明事实。
缓解措施:
- 全面且防篡改的审计日志记录
- 对关键操作使用数字签名
- 使用安全时间戳,并将日志转发到一次写入存储
信息泄露
信息泄露是将数据暴露给不应查看这些数据的人员。它会破坏机密性。
示例:
- 未加密的数据库泄露客户记录
- 过于详细的错误消息暴露堆栈跟踪或查询
- 配置错误的云存储桶向公众开放
- 通过明文超文本传输协议发送敏感数据
缓解措施包括:对传输中和静态存储中的数据进行加密、采用最小权限访问,以及谨慎处理错误。
拒绝服务
拒绝服务(DoS)是使系统无法供合法用户使用。它会破坏可用性。
示例:
- 用流量淹没服务器(分布式拒绝服务攻击)
- 单个高成本查询耗尽数据库资源
- 通过上传内容填满磁盘空间
- 触发无限循环或资源泄漏
缓解措施包括:速率限制、配额、输入大小限制、自动扩缩容,以及上游分布式拒绝服务攻击防护。
权限提升
权限提升是获得超出授权范围的能力。它会破坏授权。
示例:
- 普通用户访问管理员端点
- 利用漏洞以根用户身份运行代码
- 通过被操纵的参数更改自己的角色
- 从容器中逃逸以访问主机
缓解措施包括:对每个请求强制执行授权、遵循最小权限原则,以及进行沙箱隔离。
按元素应用 STRIDE
STRIDE 的威力来自有条理地应用它。对于设计图中的每个元素,逐一检查六个类别,并询问该威胁是否适用。
Element: Login API endpoint
S - Can someone spoof a valid user? -> brute force, stolen creds
T - Can request data be tampered? -> modify role in payload
R - Can a user deny logging in? -> need audit logs
I - Can it leak info? -> error reveals if user exists
D - Can it be flooded? -> no rate limit = DoS
E - Can a user gain admin? -> missing authZ check按元素应用 STRIDE 与按交互应用 STRIDE
应用 STRIDE 有两种方式:
- 按元素应用 STRIDE — 针对相关威胁类型分析每个组件(进程、数据存储、外部实体)
- 按交互应用 STRIDE — 分析元素之间的每条数据流
并非每种威胁都适用于每个元素。例如,数据存储通常不会进行欺骗,但却是篡改和信息泄露的重点目标。请为每个元素使用相关的威胁子集。
从威胁到缓解措施
STRIDE 自然适合与缓解策略配合使用。对于每个已识别的威胁,选择以下四种响应之一:
- 缓解 — 添加控制措施以降低风险
- 消除 — 移除导致该风险的功能或组件
- 转移 — 转嫁风险(保险、第三方)
- 接受 — 明知风险较低,仍接受该风险
请记录每项威胁的决定,避免任何威胁被默默忽略。
快速检查
测试您对 STRIDE 类别的了解程度。
回顾
您已经学习了 STRIDE 框架:
- S欺骗(身份验证)、T篡改(完整性)、R抵赖(不可否认性)
- I信息泄露(机密性)、D拒绝服务(可用性)、E权限提升(授权)
- 每个类别都会破坏特定的安全属性
- 按元素或按交互有条理地应用 STRIDE
- 针对每项威胁,决定是缓解、消除、转移还是接受
接下来,您将映射数据流和信任边界,以确定在哪里应用 STRIDE。
常见问题解答
「STRIDE 框架」课时是免费的吗?
是的 — 「STRIDE 框架」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「STRIDE 框架」这节课中我会学到什么?
欺骗、篡改、抵赖等威胁。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「STRIDE 框架」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。