CWE 是什么:缺陷类型分类

举报
yd_289369587 发表于 2026/11/01 18:52:23 2026/11/01
【摘要】 CVE 回答「这是哪一个具体缺陷」,CWE 回答「这属于哪一类缺陷」。前者是实例,后者是类型;一条 CVE 通常挂在一个 CWE 上,同一个 CWE 下则累积成千上万条历史记录。把缺陷按类型归并,才能回答「哪类毛病最常出现」「静态分析规则该覆盖哪些类型」「培训与测试该往哪使劲」。## 一、本质:缺陷的「类」,而不是「个」漏洞编号解决「指认同一个问题」,下一个问题自然是「这类毛病叫什么」。CW...

CVE 回答「这是哪一个具体缺陷」,CWE 回答「这属于哪一类缺陷」。前者是实例,后者是类型;一条 CVE 通常挂在一个 CWE 上,同一个 CWE 下则累积成千上万条历史记录。把缺陷按类型归并,才能回答「哪类毛病最常出现」「静态分析规则该覆盖哪些类型」「培训与测试该往哪使劲」。

## 一、本质:缺陷的「类」,而不是「个」

漏洞编号解决「指认同一个问题」,下一个问题自然是「这类毛病叫什么」。CWE(Common Weakness Enumeration,公共缺陷枚举)由 MITRE 维护,为软件与硬件缺陷类型提供稳定标识:CWE-89 是 SQL 注入,CWE-79 是跨站脚本,CWE-120 是缓冲区复制时未检查大小。同一个编号跨越厂商、语言与年份,指向同一类根因。缺陷类型稳定,统计才有意义:今年哪类弱点最多、哪种语言的实现最容易出错,都要靠编号对齐之后才算得出来。

## 二、编号与层级

CWE 条目以 CWE-NNN 编号。研究视图 CWE-1000 把条目按抽象程度分为四层:支柱是最粗的毛病大类,类是一族相关问题,基是可独立描述的弱点,变体是在特定语言、框架、条件下的具体表现。官方另提供软件开发视图(面向编码与测试人员)与硬件设计视图(面向芯片与固件),另有按主题归拢的类别条目,例如按 OWASP Top 10 归组的弱点清单。视图之间条目互有重叠,选错视角会让统计口径虚高或虚低。

```text
视图:CWE-1000 研究概念(示意),按层级缩进:
- CWE-119 缓冲区操作限制不当(类)
  - CWE-120 缓冲区复制时未检查大小(基)
    - CWE-193 Off-by-one 错误(变体)
  - CWE-124 缓冲区下溢(基)
- CWE-20 输入验证不当(类)
  - CWE-79 跨站脚本(基)
  - CWE-89 SQL 注入(基)
```

## 三、一条记录里有什么

除编号与名称,条目带描述、扩展描述、常见后果、观测示例、检测方法与缓解措施;关系字段表达父子、前后继与同类(ChildOf、CanPrecede、CanFollow、PeerOf);映射字段把类型连到 CAPEC 攻击模式、ATT&CK 技术与 OWASP Top 10。条目还有成熟度状态:Stable、Draft、Deprecated、Rejected,引用前值得先看一眼。观测示例给出真实代码里的坏味道,检测方法对应静态分析与代码审计的切入点,缓解措施按实现与架构分层给建议——这些字段让 CWE 从一份名词表变成可执行的整改索引。

```text
CWE 记录片段(示意):
  id: "CWE-89"
  name: "Improper Neutralization of Special Elements used in an SQL Command"
  status: "Stable"
  relatedWeaknesses: [{ nature: "ChildOf", target: "CWE-943" }]
  mappings: { "OWASP Top Ten 2021": ["A03:2021"] }
```

## 四、和邻居概念怎么分

与 CVE:实例与类型,一条 CVE 可对应零到多个 CWE,主因通常取一个。与 CAPEC:CWE 描述弱点长什么样,CAPEC 描述攻击怎么打,两者靠映射相连,CWE 自身不含攻击步骤。与 ATT&CK:ATT&CK 刻画攻击者行为,CWE 刻画被利用的缺陷类型,映射用于从攻击视角反推防御。常见误解三条:编号有严重度排序(不存在「CWE-89 比 CWE-79 更危险」的官方口径);CWE-1000 是全集(它只是视图之一);一个漏洞只能挂一个 CWE(可以多个,分主辅)。

| 构成项 | 作用 | 常见误读 |
|---|---|---|
| 条目编号 | 给缺陷类型一个稳定标识 | 以为编号隐含严重度排序 |
| 四层抽象 | 从支柱到变体组织同一族缺陷 | 把基与变体当同级并列使用 |
| 多视图 | 按受众(研究/开发/硬件)重组层级 | 把单个视图当成全部条目 |
| 关系字段 | 表达父子、前后继、同类关系 | 只看编号不看关系,误判粒度 |
| 映射字段 | 连接 CAPEC、ATT&CK、OWASP 与 CVE | 以为 CWE 自身包含攻击步骤 |
| 状态标记 | 标注 Stable/Draft/Deprecated | 引用已废弃条目而不自查 |

参考(仅置于代码块中):

```text
https://cwe.mitre.org/
https://cwe.mitre.org/data/index.html
```

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。