安全和治理术语

术语表旨在实现以下目标:

  • 推广一种可以在任何地方使用的无处不在的语言 —— 针对客户、在议题上、在 Slack 中、在代码中。
  • 提高团队成员之间沟通的有效性。
  • 减少沟通不畅的可能性。
  • 让新的团队成员和社区贡献者加快速度,缩短达到生产力的时间。

本文档中概述的术语定义在极狐GitLab 产品的上下文中。因此,对于极狐GitLab 之外的用户,一个术语可能具有不同的含义。

术语

分析器

执行扫描的软件。扫描分析攻击面的漏洞并生成包含结果的报告。报告遵循安全报告格式

分析器使用 CI 作业集成到极狐GitLab。分析器生成的报告在作业完成后作为产物发布。极狐GitLab 提取此报告,允许用户可视化和管理发现的漏洞。

许多极狐GitLab 分析器遵循使用 Docker 运行包装扫描器的标准方法。例如,Docker 镜像 semgrep 是一个包装了扫描器 Semgrep 的分析器。

攻击面

应用程序中易受攻击的不同位置。安全产品在扫描期间发现并搜索攻击面。每个产品对攻击面的定义不同。例如,SAST 使用文件和行号,而 DAST 使用 URL。

语料库

模糊测试运行时生成的一组有意义的测试用例。每个有意义的测试用例都会在被测程序中产生新的覆盖率。建议重新使用语料库并将其传递给后续运行。

CNA

CVE 编号机构 (CNA) 是来自世界各地的组织,由 Mitre Corporation 授权,可将 CVE 分配给各自范围内的产品或服务中的漏洞。

CVE

Common Vulnerabilities and Exposures (CVE®) 是网络安全漏洞的常见标识符列表。该列表由 [Mitre Corporation] (https://cve.mitre.org/) 管理。

CVSS

通用漏洞评分系统 (CVSS) 是一个免费且开放的行业标准,用于评估计算机系统安全漏洞的严重性。

CWE

Common Weakness Enumeration (CWE™) 是社区开发的具有安全影响的常见软件和硬件漏洞类型列表。弱点是软件或硬件实现、代码、设计或架构中的缺陷、故障、错误、漏洞或其他错误。如果不加以解决,弱点可能会导致系统、网络或硬件容易受到攻击。CWE 列表和相关的分类分类作为一种语言,您可以使用它来识别和描述 CWE 方面的这些弱点。

重复发现

多次报告的合法发现。当不同的扫描器发现相同的发现时,或者当一次扫描无意中多次报告相同的发现时,可能会发生这种情况。

False positive

不存在但被错误地报告为存在的发现。

发现

由分析器在项目中识别出的可能易受攻击的 assets,包括但不限于源代码、二进制包、容器、依赖项、网络、应用程序和基础设施。

调查结果是扫描程序在 MR/功能分支中识别的所有潜在漏洞项目。只有在合并为默认值后,发现才会成为漏洞

您可以通过两种方式与漏洞发现进行交互。

  1. 您可以为漏洞发现打开一个议题或合并请求。
  2. 您可以忽略漏洞发现。忽略该发现会将其隐藏在默认视图中。

分组

当有多个可能相关但不符合重复数据删除条件的发现时,一种灵活且非破坏性的方式,以可视化方式将漏洞分组。例如,您可以包含应该一起评估、将由相同操作修复、或来自相同来源的发现。

微不足道的发现

特定客户不关心的合法发现。

位置指纹

发现的位置指纹是一个文本值,对于攻击面上的每个位置都是唯一的。每个安全产品都根据其攻击面的类型来定义这一点。例如,SAST 包含文件路径和行号。

包管理器和包类型

包管理器

包管理器是一个管理项目依赖项的系统。

包管理器提供了一种方法来安装新的依赖项(也称为“软件包”),管理包在文件系统上的存储位置,并为您提供发布自己的包的功能。

包类型

每个包管理器、平台、类型或生态系统都有自己的约定和协议来识别、定位和提供软件包。

下表是文档和软件工具中引用的一些包管理器和类型的非详尽列表。

包类型 包管理器
gem Bundler
Packagist Composer
Conan Conan
go go
maven Gradle
Maven
sbt
npm npm
yarn
Nuget Nuget
Pypi Setuptools
pip
Pipenv
Poetry

流水线安全选项卡

显示在关联 CI 流水线中发现的结果的页面。

后置过滤器(Post-filter)

后置过滤器有助于减少扫描器结果中的噪音并自动执行手动任务。您可以指定根据扫描程序结果更新或修改漏洞数据的标准。例如,您可以将发现标记为可能的误报,并自动解决不再检测到的漏洞。这些不是永久性操作,可以更改。

前置过滤器(Pre-filter)

在分析发生之前为过滤掉目标而执行的不可逆转的操作。这通常是为了让用户减少范围和噪音以及加快分析速度。如果需要记录,则不应这样做,因为我们目前不存储与跳过/排除的代码或 assets 相关的任何内容。

示例:DS_EXCLUDED_PATHS 应根据提供的路径从扫描中排除文件和目录。`

主要标识符

结果的主要标识符是该结果的唯一值。 结果的第一个标识符的外部类型和外部 ID 结合起来创建值。

主要标识符的示例包括 OWASP Zed 攻击代理 (ZAP) 的 PluginID 或 Trivy 的 CVE。请注意,标识符必须是稳定的。后续扫描必须为相同的结果返回相同的值,即使位置略有变化。

报告发现

发现仅存在于分析器生成的报告中,尚未持久化到数据库中。报告结果一旦导入数据库,就会变成漏洞发现

扫描类型(报告类型)

描述扫描类型,必须是以下之一:

  • api_fuzzing
  • cluster_image_scanning
  • container_scanning
  • coverage_fuzzing
  • dast
  • dependency_scanning
  • sast
  • secret_detection

随着扫描器的添加,此列表可能会发生变化。

扫描器

可以扫描漏洞的软件。生成的扫描报告通常不是安全报告格式。示例包括 ESLint、Trivy 和 ZAP。

安全产品

一组与特定应用程序安全领域相关的功能,由极狐GitLab 提供一流的支持。产品包括容器扫描、依赖扫描、动态应用程序安全测试 (DAST)、Secret 检测、静态应用程序安全测试 (SAST) 和模糊测试。这些产品中的每一个通常都包括一个或多个分析器。

安全报告格式

安全产品在创建 JSON 报告时遵守的标准报告格式。

安全仪表盘

概述项目、群组或实例的所有漏洞。漏洞仅根据在项目默认分支上发现的结果创建。

源语料库

作为模糊测试目标的初始输入给出的一组测试用例,通常会大大加快模糊测试目标的速度,可以是手动创建的测试用例,也可以使用之前运行的模糊测试目标本身自动生成。

漏洞

对其环境的安全性产生负面影响的缺陷。漏洞描述错误或弱点,而不描述错误所在的位置(请参阅发现)。每个漏洞都对应一个独特的发现。

默认分支中存在漏洞。发现是扫描程序在 MR/功能分支中识别的所有潜在漏洞项目。只有在合并为默认值后,发现才会成为漏洞。

漏洞发现

报告发现存储到数据库时,它就变成了漏洞发现

漏洞跟踪

处理跨扫描匹配结果的责任,以便可以理解发现的生命周期。工程师和安全团队使用此信息来决定是否合并代码更改,并查看未解决的发现以及何时引入。通过比较位置指纹、主要标识符和报告类型来跟踪漏洞。