Secure and Govern 용어집

Tier: Free, Premium, Ultimate Offering: GitLab.com, 자체 관리, GitLab Dedicated

이 용어집은 다음을 달성하기 위해 제작되었습니다.

  • 고객과의 전반적인 언어를 사용하여 어디에서나 사용할 수 있도록 함 - 고객과의 의견, Slack에서, 코드에서
  • 팀 구성원 간의 커뮤니케이션 효율성 향상
  • 의사소통 잠재적 오류 감소
  • 새로 온 팀 구성원 및 커뮤니티 기여자가 빠르게 숙련되어 생산성 향상

이 문서에 개요된 용어의 정의는 GitLab 제품의 문맥에서 제공됩니다. 따라서 GitLab 외부 사용자에게는 해당 용어가 다른 의미를 가질 수 있습니다.

Analyzer

스캔을 수행하는 소프트웨어. 스캔은 취약성을 분석하고 결과를 포함하는 보고서를 생성합니다. 보고서는 보안 보고서 형식을 준수합니다.

Analyzers는 CI 작업을 사용하여 GitLab에 통합됩니다. Analyzer가 생성하는 보고서는 작업이 완료된 후 artifact로 게시됩니다. GitLab은이 보고서를 수용하여 사용자가 발견된 취약성을 시각화하고 관리할 수 있게 합니다. 자세한 내용은 보안 스캐너 통합을 참조하십시오.

많은 GitLab analyzers는 Docker를 사용하여 래핑된 스캐너를 실행하는 표준 접근 방식을 따릅니다. 예를 들어, 이미지 semgrep는 스캐너 Semgrep을 래핑하는 analyzer입니다.

Attack surface

공격을 받을 수 있는 응용 프로그램의 다양한 위치. 보안 제품은 스캔 중에 공격 표면을 발견하고 검색합니다. 각 제품은 공격 표면을 파일 및 라인 번호로 정의하는 SAST 및 URL을 사용하는 DAST와 같이 서로 다르게 정의합니다.

Component

소프트웨어 프로젝트의 일부를 구성하는 소프트웨어 구성 요소. 라이브러리, 드라이버, 데이터 및 기타 여러 항목의 예가 포함됩니다.

Corpus

Fuzzer가 실행되는 동안 생성된 의미 있는 테스트 케이스의 집합. 각 의미 있는 테스트 케이스는 테스트된 프로그램에서 새로운 커버리지를 생성합니다. 이 corpus를 재사용하고 후속 실행에 전달하는 것이 좋습니다.

CNA

CVE 번호 지정 기관 (CNA)은 Mitre Corporation에 의해 권한이있는 전 세계의 조직으로, 각 해당 범위 내의 제품 또는 서비스의 취약성에 CVE를 할당합니다. GitLab은 CNA입니다.

CVE

CVE® (공통 취약점 및 노출)는 알려진 사이버 보안 취약점에 대한 공통 식별자 목록입니다. 이 목록은 Mitre Corporation에서 관리됩니다.

CVSS

CVSS(공통 취약성 점수 평가 시스템)는 컴퓨터 시스템 보안 취약성의 심각성을 평가하기 위한 무료 및 개방형 산업 표준입니다.

CWE

CWE™ (공통 약점 목록)은 보안 영향을 가지는 일반적인 소프트웨어 및 하드웨어 약점 유형의 공동 개발 목록입니다. 약점은 소프트웨어 또는 하드웨어 구현, 코드, 설계 또는 아키텍처의 결함, 오류, 버그, 취약점 또는 기타 오류를 의미합니다. 약점을 방치하면 시스템, 네트워크 또는 하드웨어가 공격을 받을 수 있으므로 처리되지 않은 약점은 치명적일 수 있습니다. CWE 목록 및 관련 분류 분류 체계는 CWE를 통해 이러한 약점을 식별하고 설명하는 데 사용할 수있는 언어로 작동합니다.

Deduplication

카테고리 처리에서 결과가 동일하거나 축소가 필요한 경우, 하나의 결과를 유지하고 나머지는 제거하는 과정. 중복 제거 과정에 대해 자세히 알아보세요.

중복 발견

여러 번보고된 실제 발견. 다른 스캐너가 동일한 발견을 발견하거나 단일 스캔이 동일한 발견을 여러 번보고하는 경우가 있습니다.

False positive

존재하지 않지만 잘못된 상태로 보고된 발견.

발견

분석기에 의해 프로젝트에서 취약성을 가질 가능성이있는 에셋. 에셋에는 소스 코드, 이진 패키지, 컨테이너, 종속성, 네트워크, 응용 프로그램 및 인프라가 포함됩니다.

Findings는 MR/피처 브랜치에서 스캐너가 식별 한 모든 잠재적인 취약점 항목입니다. 기본값으로 병합 한 후에 발견은 취약점이 됩니다.

취약점 발견을 두 가지 방법으로 상호 작용할 수 있습니다.

  1. 취약점 발견에 대한 이슈 또는 MR을 열 수 있습니다.
  2. 취약점 발견을 해제 할 수 있습니다. 발견을 해제하면 기본 보기에서 숨겨집니다.

그루핑

여러 발견물이 연관되어 있지만 축소 대상이 아닌 경우, 취약성을 그룹으로 시각적으로 유연하고 파괴적으로 정리하는 방법. 예를 들어, 동일한 조치에 의해 수정 될 가능성이있는 발견을 포함하거나 동일한 소스에서 나오는 조치를 할 수 있습니다. 취약점에 대한 그룔핑 동작은 개발 중이며 이슈 267588에서 추적됩니다.

미비한 발견

특정 고객이 관심을 갖지 않는 정당한 발견.

알려진 영향을 받는 구성 요소

취약점이 악용 가능한 요구 사항과 일치하는 구성 요소. 예를 들어, packageA@1.0.3는 이름, 패키지 유형 및 영향을 받는 버전 또는 버전 범위 중 하나와 일치합니다.

위치 지문

발견의 위치 지문은 공격 표면의 각 위치에 대해 고유 한 텍스트 값입니다. 각 보안 제품은 이를 그 자체의 공격 표면 유형에 따라 정의합니다. 예를 들어, SAST는 파일 경로와 줄 번호를 통합합니다.

패키지 관리자 및 패키지 유형

패키지 관리자

패키지 관리자는 프로젝트 종속성을 관리하는 시스템입니다.

패키지 관리자는 새로운 종속성을 설치하는 방법을 제공하며, 종속성이 파일 시스템의 어디에 저장되는지 관리하고, 여러분이 자신의 패키지를 발행할 수 있는 기능을 제공합니다.

패키지 유형

각 패키지 관리자, 플랫폼, 유형 또는 생태계에는 고유한 규칙과 프로토콜이 있어 소프트웨어 패키지를 식별, 찾아내고 설치하는 데 사용됩니다.

다음 표는 GitLab 설명서와 소프트웨어 도구에서 참조하는 일부 패키지 관리자 및 유형의 결정적이지 않은 목록입니다.

패키지 유형 패키지 관리자
gem Bundler
Packagist Composer
Conan Conan
go go
maven Gradle
Maven
sbt
npm npm
yarn
NuGet NuGet
PyPI Setuptools
pip
Pipenv
Poetry

파이프라인 보안 탭

연관된 CI 파이프라인에서 발견된 발견을 표시하는 페이지.

가능성 있는 영향을 받는 구성 요소

취약점에 가능성이 있는 소프트웨어 구성 요소. 예를 들어, 알려진 취약점을 스캔할 때 구성 요소는 먼저 이름과 패키지 유형이 일치하는지 확인됩니다. 이 단계에서 그들은 취약성에 가능성이 있으며, 영향 받는 버전 범위에 속하는 것이 확인되면 영향을 받는 것으로 알려집니다.

포스트 필터

포스트 필터는 스캐너 결과의 소음을 줄이고 수동 작업을 자동화하는 데 도움이 됩니다. 스캐너 결과를 기반으로 취약점 데이터를 업데이트하거나 수정하는 기준을 지정할 수 있습니다. 예를 들어, 결과를 잘못된 긍정으로 플래그 지정하거나 더 이상 감지되지 않는 취약점을 자동으로 해결할 수 있습니다. 이러한 것들은 영구적인 조치가 아니며 변경할 수 있습니다.

결과 자동으로 해결하는 지원은 에픽 7478에서 추적되고, 저렴한 스캔을 지원하는 것은 이슈 349926에서 제안되었습니다.

프리 필터

분석이 발생하기 전에 대상을 걸러내는 변경할 수 없는 조치입니다. 이것은 일반적으로 사용자가 범위와 소음을 줄이고 분석 속도를 높이기 위해 제공됩니다. 현재 저희는 건너뛰거나 제외된 코드나 자산과 관련된 것을 저장하지 않기 때문에 필요한 레코드가 있다면 실행해서는 안 됩니다.

예시: DS_EXCLUDED_PATHS제공된 경로를 기반으로 스캔에서 파일 및 디렉터리를 제외해야 합니다.

주요 식별자

파인딩의 주요 식별자는 각각의 파인딩에 고유한 값입니다. 파인딩의 첫 번째 식별자의 외부 형식과 외부 ID가 결합되어 이 값을 생성합니다.

주요 식별자의 예시로는 Zed Attack Proxy (ZAP)의 PluginID나 Trivy의 CVE 등이 있습니다. 식별자는 안정적이어야 합니다. 위치가 약간 변경되더라도 동일한 파인딩에 대해 후속 스캔은 동일한 값을 반환해야 합니다.

리포트 파인딩

리포트 파인딩은 분석기가 생성한 리포트에만 존재하며 아직 데이터베이스에 영속되지 않았습니다. 리포트 파인딩은 데이터베이스로 가져올 때 취약점 파인딩이 됩니다.

스캔 유형(리포트 유형)

스캔의 유형을 설명합니다. 다음 중 하나여야 합니다:

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

스캐너가 추가됨에 따라 이 목록은 변경될 수 있습니다.

스캐너

취약점을 스캔할 수 있는 소프트웨어입니다. 생성된 스캔 리포트는 일반적으로 보안 리포트 형식이 아닙니다. ESLint, Trivy, ZAP 등이 있습니다.

보안 제품

GitLab에서 일급 지원을 받는 특정 응용 보안 영역과 관련된 일련의 기능입니다.

제품에는 컨테이너 스캐닝, 종속성 스캐닝, 동적 응용 보안 테스트(DAST), 시크릿 검출, 정적 응용 보안 테스트(SAST), 퍼징 테스트가 포함됩니다.

이러한 제품은 일반적으로 하나 이상의 분석기를 포함합니다.

보안 리포트 형식

보안 제품이 JSON 리포트를 작성할 때 준수해야 하는 표준 리포트 형식입니다. 해당 형식은 JSON 스키마로 설명됩니다.

보안 대시보드

프로젝트, 그룹 또는 GitLab 인스턴스의 모든 취약점을 개요로 제공합니다. 취약점은 프로젝트의 기본 브랜치에서 발견된 결과만 생성됩니다.

초기 데이터 코퍼스

퍼징 대상에 대한 초기 입력으로 제공된 테스트 케이스의 집합입니다. 일반적으로 퍼징 대상을 크게 빠르게 합니다. 이는 수동으로 생성된 테스트 케이스거나 이전 실행에서 퍼징 대상 자체에서 자동 생성된 것일 수 있습니다.

벤더

분석기를 유지보수하는 당사자입니다. 따라서 벤더는 스캐너를 GitLab에 통합하고 진화하는 것에 대한 책임이 있습니다. 벤더는 스캐너의 저자나 유지보수자일 필요는 없으며, GitLab 배포나 구독의 일부로 포함되는 스캐너의 경우 벤더는 GitLab로 명시됩니다.

취약점

환경의 보안에 부정적인 영향을 미치는 결함입니다. 취약점은 오류나 약점을 묘사하며, 오류가 발생한 위치를 묘사하지 않습니다(파인딩 참조).

각 취약점은 고유한 파인딩에 매핑됩니다.

취약점은 기본 브랜치에 존재합니다. 파인딩(참조: 파인딩)은 MR/피쳐 브랜치에서 식별된 취약점 항목을 나타내며, 기본 브랜치로 병합한 후에야 취약점이 됩니다.

취약점 파인딩

리포트 파인딩이 데이터베이스에 저장되면 취약점 파인딩이 됩니다.

취약점 추적

취약성의 수명 주기를 이해하기 위해 여러 스캔 간에 파인딩을 일치시키는 책임에 관련됩니다. 엔지니어와 보안 팀은 이 정보를 사용하여 코드 변경을 병합할지 여부를 결정하고 미해결된 결과 및 도입 시기를 확인합니다.

취약점은 위치 지문, 주요 식별자, 리포트 유형을 비교하여 추적됩니다.

취약점 발생

사용되지 않는, 파인딩을 참조하세요.