资产 (Pro)

组织 → 资产 → 测试活动 → 测试 → 发现项

概述

资产是 DefectDojo 对象层级结构中安全工作组织方式的核心。资产代表安全团队正在测试的任何项目、计划、软件或物理资产,并承载与该测试目标相关的所有安全工作和测试历史记录。资产的示例包括:

  • 软件发布版本
  • 第三方软件
  • 生产环境中的虚拟机或资产
  • 单个应用程序
  • 微服务
  • API
  • SaaS 平台
  • 移动应用
  • 内部系统
  • 业务服务
  • 面向客户的平台
  • 云环境或基础设施域

总体而言,资产应代表您希望长期跟踪其安全态势的“对象”,这包括与该“对象”相关的测试历史记录、发现项、指标、归属关系、集成以及修复工作流。

资产示例

根据组织的需求,资产可以变得更加细化。例如,您可以考虑在以下场景中创建单独的 DefectDojo 资产:

  • “示例资产”拥有 Windows 版本、Mac 版本和云版本
  • “示例资产 1.0”使用的软件组件与“示例资产 2.0”完全不同,且贵公司同时积极支持这两个版本。
  • 负责“示例资产版本 A”的团队与负责“示例资产版本 B”的资产团队不同,因此需要分配不同的安全权限。

虽然您也可以选择将这些差异表示为单个资产内的多个测试活动,但 RBAC 只能在资产或组织级别进行设置,如果按此方式组织,可能会限制用户对相应测试活动(以及这些测试活动内的测试和发现项)的访问权限。有关 DefectDojo 中 RBAC 和权限的更多信息,请点击此处

资产数据

资产始终包含以下组成部分:

  • 组织
  • 唯一名称
  • 描述
  • SLA 配置
  • 优先级排序引擎

可选的资产元数据包括:

  • 标签
  • 业务关键性
  • 用户记录(即资产中用户记录的估计数量)
  • 收入
  • 人员信息(例如资产经理、团队经理、技术联系人等)
  • 法规(例如 HIPAA、GLBA、OPPA 等)
  • 平台(例如 API、桌面端、物联网、移动端、Web 等)
  • 生命周期(例如构建、生产、退役等)
  • 来源(例如第三方库、外购、开源等)

这些元数据可改进您整个安全计划中的筛选、报告和优先级排序,但更重要的是,资产还包含与该资产相关测试工作相关的所有测试活动、测试和发现项。来自测试的所有发现项最终都会汇总到资产层级,从而实现长期跟踪、趋势分析和报告。

访问资产

资产可通过侧边栏访问。子菜单提供了资产层级结构和“所有资产”的访问入口,以及创建新资产的选项。

image

权限

资产可以应用基于角色的访问控制(RBAC)规则,以限制团队成员查看和操作这些资产的能力。

权限会向下级联,这意味着对某个资产的访问权限会自动授予对该资产内所有对象(例如测试活动、测试和发现项)的访问权限。

有关用户角色的更多信息,请参阅我们的角色介绍一文。

资产视图

资产视图包含各种表格和图表,可让您一目了然地了解资产的状态。其中包括:

  • 未结发现项严重程度
    • 资产内按严重程度分组的未结发现项列表
  • 资产概览
    • 资产各项特征的细分信息,包括描述、组件、联系人、用户组、成员、技术栈和法规。
      • 技术栈:next.js、vue.js、npm v.1.2.3、Django、nginx、Hugo
  • 元数据
    • 包括父级和子级资产、组织、业务关键性、收入以及在资产设置中添加的其他详细信息。
  • 按严重程度划分的服务级别协议
    • 将设置中资产的 SLA 配置应用于该资产内的发现项。
  • 发现项严重程度细分
    • 按严重程度组织的资产内发现项图表。
  • 发现项分布
    • 按状态(例如活动、已缓解、静态和动态)组织的资产内发现项细分
  • 所有测试活动
    • 资产内包含的测试活动列表。

使用资产

创建资产

创建资产有两种方式:

  • 通过侧边菜单中的新建资产选项
  • 通过“所有资产”列表顶部的新建资产按钮

编辑资产

要编辑资产,可在资产视图右上角的齿轮菜单中点击编辑资产。也可以通过点击“所有资产”视图中资产左侧的 ⋮ 竖排菜单来访问同一菜单。

随后可编辑的所有字段,在创建资产时也同样可用。

image

删除资产

要删除资产,可在资产的设置中选择删除资产。此操作无法撤销。资产无法先关闭后再重新打开。

删除资产还会删除以下内容:

  • 资产内包含的所有测试活动和测试
  • 所有相关的安全历史记录,包括发现项和集成
  • 任何关联的 Jira Epic
  • 与该资产的测试活动和测试相关联的所有备注和上传文件

资产边界

去重

资产彼此“隔离”,不会与其他资产产生交互。DefectDojo 的智能功能(例如去重)仅在单个资产的范围内生效。不同资产之间的发现项不会被自动去重。

报告与指标

大多数报告和指标都在资产层级汇总数据,这使资产成为衡量和跟踪风险的主要单位。

因此,许多关键指标都是按资产计算的,包括:

  • 发现项总数(按严重程度或状态)
  • 平均修复时间(MTTR)
  • SLA 合规率和违规率
  • 风险随时间变化的趋势

这意味着资产的结构方式将直接影响报告的准确性和实用性。例如,将多个不相关的系统归入单个资产可能会掩盖风险的可见性,而过于细化的资产结构则可能导致报告碎片化,难以识别更宏观的趋势。

连接器

在 DefectDojo Pro 中,连接器会映射到不同的资产,使其成为 DefectDojo 与您更广泛的安全生态系统之间的主要集成点。

一旦连接器被附加到某个资产,它就会导入扫描结果,并在该资产内创建或更新测试活动、测试和发现项。

有关连接器的更多信息,请点击此处

CI/CD 流水线

CI/CD 流水线可自动导入扫描结果。无论采用何种集成方式,所有扫描导入都必须与某个资产相关联,这使资产成为流水线驱动的安全数据的锚点。

当流水线提交扫描结果时,必须执行以下操作之一:

  • 指定一个现有资产(并可选择指定一个测试活动),或者
  • 以某种方式进行配置,从而始终将结果映射到正确的资产

所有导入的发现项都会继承资产的上下文,包括归属关系、权限、优先级/风险配置以及报告范围。

实际操作中,资产的定义应反映系统在 CI/CD 中的构建和部署方式,以确保安全结果始终与正确的应用程序或服务相关联。

SLA、优先级与风险

在 DefectDojo Pro 中,发现项的 SLA 目标、优先级和风险均继承自包含它们的资产。资产元数据(例如业务关键性、收入等)用于自动计算优先级和风险值。

这意味着同一个漏洞可能会因其影响的是内部开发系统还是支持关键业务运营的生产资产,而获得不同的优先级或风险评分。

Jira/下游连接器关系

资产可以直接映射到 Jira集成器实例(例如 GitHub、GitLab、ServiceNow 等),从而将资产的发现项向外推送到外部工单/工作管理系统中。

由于发现项的风险、优先级和归属关系均继承自其上级资产,资产实际上决定了流入 Jira 工单和下游连接器工作流的修复上下文。

重要的是,资产也是决定发现项 SLA 特征的主要因素。因此,发现项的 SLA 取决于其上级资产的 SLA 配置。有关 SLA 配置的更多信息,请参阅此处

资产嵌套

DefectDojo 支持同一组织内两个资产之间的父子关系,该关系可以在创建资产时配置,也可以在资产的设置中配置。

您可以使用侧边栏中的资产层级结构选项,对 DefectDojo 中资产的结构进行可视化展示,并更改其关系。

在相应表格中选择要进行可视化展示的资产后,点击查看资产层级结构,即可生成所选资产之间关系(如果存在)的流程图。

有关资产嵌套对去重、RBAC 及其他方面影响的更多信息,以及示例使用场景,可参阅此处