此站点提供了由 Fortify 软件安全研究团队与 Gary McGraw 博士共同开发的软件安全错误分类法。为了更好地说明问题,在适用的情况下,每个漏洞类别都附有详细的问题说明与原始来源参考以及代码摘录。

分类方案的组织可借助生物学术语来描述:漏洞类别被称为门,而共享同一主题的漏洞类别集合被称为界。按软件安全重要性顺序,漏洞门被分类为“7 + 1”个恶意界:

  1. Input Validation and Representation
  2. API Abuse
  3. Security Features
  4. Time and State
  5. Errors
  6. Code Quality
  7. Encapsulation
  8. * Environment

前 7 个界与源代码中的安全缺陷相关,而最后一个界描述实际代码之外的安全问题。要浏览界和门说明,只需导航左侧的分类树即可。

定义这一分类法的主要目标是组织安全规则集,可用于帮助软件开发人员了解对安全性产生影响的错误的种类。通过更好地理解系统是如何失败的,开发人员可以更好地分析他们所创建的系统,在出现安全问题时更容易识别和解决这些问题,并且通常能避免在将来重复犯同样的错误。

当使用分析工具开展工作时,根据此分类法组织的安全规则集是一个功能强大的教学机制。因为当今的开发人员对会在工作中带来安全问题的各种途径上浑然不觉,所以创建这样的分类法可以为软件安全社区提供实实在在的好处。

定义一个更好的分类方案也可以改善工具:更好地理解这些问题将有助于研究人员和从业人员创建更好的问题查明方法。

要了解更多有关分类法的信息,请参阅原版 7 个恶意界:软件安全错误分类法 和最新版 《分类法的进化过程:软件安全的十年历史》 文章。