CVRF(Common Vulnerability Reporting Framework)

各个厂商对漏洞的描述信息不一致,致使在统一收集、存储、分析漏洞时存在问题,故而参考被广泛采用的CVRF规范应该是一个不错的选择。

介绍

通用漏洞报告框架(Common Vulnerability Reporting Framework)是一个基于XML语言的漏洞描述框架,它可以让不同的安全组织以统一的格式共享安全相关的信息。CVRF 1.1版 由ICASI于2012年发布,当前已经贡献给OASIS,由通用安全通报框架(CSAF)技术委员会(TC)进一步改进,当前版本为2017年9月发布的 CVRF 1.2版本

官方文档

http://docs.oasis-open.org/csaf/csaf-cvrf/v1.2/csaf-cvrf-v1.2.pdf
http://docs.oasis-open.org/csaf/csaf-cvrf/v1.2/csaf-cvrf-v1.2.html
http://docs.oasis-open.org/csaf/csaf-cvrf/v1.2/csaf-cvrf-v1.2.docx

术语

  • CCE - 通用配置枚举
  • CSAF - 共同安全咨询框架
  • CPE - 通用平台枚举[ CPE23-N ]
  • CSIRT - 计算机安全事件响应小组
  • CVE - 常见漏洞和披露[ CVE ]
  • CVRF - 通用漏洞报告框架
  • CVSS - 通用漏洞评分系统[ CVSS ]
  • CWE - 常见弱点枚举[ CWE ]
  • ICASI - 互联网安全促进互联网联盟,http://www.icasi.org/
  • ID - 标识符
  • OASIS - 推进结构化信息标准组织,https://www.oasis-open.org/
  • PSIRT - 产品安全事件响应小组
  • URL - 统一资源定位器
  • UTC - 协调世界时(缩写:协调世界时)[ ISO8601 ]

设计注意事项

  • 最少顶层元素
    • 标题 Title: cvrf:DocumentTitle
    • 类型 Type: cvrf:DocumentType
    • 发布者 Publisher: cvrf:DocumentPublisher
    • 跟踪 Tracking: cvrf:DocumentTracking
  • 最多顶层元素
    • 标题 Title: cvrf:DocumentTitle
    • 类型 Type: cvrf:DocumentType
    • 发布者 Publisher: cvrf:DocumentPublisher
    • 跟踪 Tracking: cvrf:DocumentTracking
    • 注释 Notes: cvrf:DocumentNotes
    • 分布 Distribution: cvrf:DocumentDistribution
    • 聚合严重性 Aggregate Severity: cvrf:AggregateSeverity
    • 参考文献 References: cvrf:DocumentReferences
    • 致谢 Acknowledgements: cvrf:Acknowledgements
    • 产品树 Product Tree: prod:ProductTree
    • 漏洞 Vulnerability: vuln:Vulnerability

设计原则

领域模型(Domain Models)

Date/Time 模型

CVRF文档中的所有日期时间值必须遵循 ISO 8601 基本格式或扩展格式.协调世界时(UTC)是世界范围内交换和使用的日期时间信息的最佳拟合时间系统。

  • YYYYMMDDTHHMMSSZ
  • YYYYMMDDTHHMMSS + HHMM
  • YYYY-MM-DDTHH:MM:SSZ
  • YYYY-MM-DDTHH:MM:SS + HH:MM
  • YYYYMMDDThhmmss.sZ
  • YYYYMMDDThhmmss.s + HHMM
  • YYYY-MM-DDTHH:MM:ss.sZ
  • YYYY-MM-DDTHH:MM:SS.S + HH:MM

    T 分隔符字面量必须保持不变;时区计算也不在本规范的范围内。

Note 类型模型

  • Description
  • Details
  • FAQ
  • General
  • Legal Disclaimer
  • Other
  • Summary

Product Branch 类型模型

如下11个类别 必须 用于 Branch 类型字段。

  • Architecture
  • Host Name
  • Language
  • Legacy
  • Patch Level
  • Product Family
  • Product Name
  • Product Version
  • Service Pack
  • Specification
  • Vendor

Product Relationship 类型模型

如下5个类别 必须 用于 Product Relationship 类型字段。

  • Default Component Of
  • External Component Of
  • Installed On
  • Installed With
  • Optional Component Of

Publisher 类型模型

如下5个类别 必须 用于 Publisher 字段。

  • Coordinator
  • Discoverer
  • Other
  • User
  • Vendor

Reference 类型模型

Reference元素的Type属性必须为如下2个类别之一。

  • External
  • Self

Status 类型模型

文档的状态必须为如下三者之一。

  • Draft
  • Interim
  • Final

Version 类型模型

通常表示为:nn.nn.nn.nn,必须匹配正则表达式:(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*)){0,3}
第一部分:主要版本号
第二部分:次要版本号
第三部分:补丁版本号
第四部分:内部版本号

Vulnerability CVE 类型模型

CVE编号,正则匹配:CVE-[0-9 \ - ] +

Vulnerability CVSS 2.0 类型模型

非本文档范围

Vulnerability CVSS 3.0 类型模型

非本文档范围

Vulnerability CWE 类型模型

CWE编号,正则匹配:CWE-[1-9]\d{0,5}

Vulnerability ID 类型模型

ID值必须是字母数字标记,一般由供应商自定义。

Vulnerability Involvement 类型模型

漏洞状态

  • Completed
  • Contact Attempted
  • Disputed
  • In Progress
  • Not Contacted
  • Open

Vulnerability Product Affected Status 类型模型

漏洞产品影响状态

  • First Affected
  • Known Affected
  • Known Not Affected
  • First Fixed
  • Fixed
  • Recommended
  • Last Affected

Vulnerability Remediation 类型模型

漏洞修复类型

  • Workaround
  • Mitigation
  • Vendor Fix
  • None Available
  • Will Not Fix

Vulnerability Threat 类型模型

漏洞威胁类型

  • Impact
  • Exploit Status
  • Target Set

CVRF模型树图

文档(上下文)架构元素

9个顶级元素在CVRF XML架构文件中被定义,且必须按如下顺序出现:

  • 标题 Title: cvrf:DocumentTitle
  • 类型 Type: cvrf:DocumentType
  • 发布者 Publisher: cvrf:DocumentPublisher
  • 跟踪 Tracking: cvrf:DocumentTracking
  • 注释 Notes: cvrf:DocumentNotes
  • 分布 Distribution: cvrf:DocumentDistribution
  • 聚合严重性 Aggregate Severity: cvrf:AggregateSeverity
  • 参考文献 References: cvrf:DocumentReferences
  • 致谢 Acknowledgements: cvrf:Acknowledgements

产品树架构元素

如下4个二级元素必须顺序出现:

  • Branch: prod:Branch
  • Full Product Name: prod:FullProductName
  • Relationship: prod:Relationship
  • Product Groups: prod:ProductGroups

漏洞架构元素

漏洞详情数据,如下14个二级字段必须顺序出现:

  • Title: vuln:Title
  • ID: vuln:ID
  • Notes: vuln:Notes
  • Discovery Date: vuln:DiscoveryDate
  • Release Date: vuln:ReleaseDate
  • Involvements: vuln:Involvements
  • CVE: vuln:CVE
  • CWE: vuln:CWE
  • Product Statuses: vuln:ProductStatuses
  • Threats: vuln:Threats
  • CVSS Score Sets: vuln:CVSSScoreSets
  • Remediations: vuln:Remediations
  • References: vuln:References
  • Acknowledgements: vuln:Acknowledgements

文档结构图

附录

http://docs.oasis-open.org/csaf/csaf-cvrf/v1.2/cs01/csaf-cvrf-v1.2-cs01.html