- Analyzer
- Attack surface
- Component
- Corpus
- CNA
- CVE
- CVSS
- CWE
- Deduplication
- Duplicate finding
- False positive
- Finding
- Grouping
- Insignificant finding
- Known affected component
- Location fingerprint
- Package managers and package types
- 파이프라인 보안 탭
- 가능성 있는 영향을 받는 컴포넌트
- 포스트 필터
- 프리 필터
- 주요 식별자
- 보고서 발견
- 스캔 유형 (보고서 유형)
- 스캐너
- 보안 제품
- 보안 보고서 형식
- 보안 대시보드
- 초기 코퍼스
- 벤더
- 취약성
- 취약성 발견
- 취약성 추적
- 취약성 발생
Secure and Govern 용어집
다음은 용어집의 목표입니다:
- 고객들, 이슈, Slack, 코드 등 어디에서나 사용할 수 있는 보편적인 언어를 촉진합니다.
- 팀 구성원간의 커뮤니케이션 효율을 향상시킵니다.
- 의사소통의 효과를 높입니다.
- 신규 팀 구성원 및 커뮤니티 기여자의 프로덕션성 향상을 위해 시간 단축합니다.
이 문서에서 설명하는 용어의 정의는 GitLab 제품의 문맥에서 적용됩니다. 그러므로 어떤 용어는 GitLab 외부 사용자에게는 다른 의미를 가질 수 있습니다.
Analyzer
스캔을 수행하는 소프트웨어입니다. 이 스캔은 취약점을 찾기 위해 공격 가능한 표면을 분석하고, 결과를 담은 보고서를 생성합니다. 보고서는 보안 보고서 형식을 준수합니다.
분석기는 CI 작업을 통해 GitLab에 통합됩니다. 분석기가 생성한 보고서는 작업이 완료된 후 artifact로 게시됩니다. GitLab은 이 보고서를 수용하여 사용자가 발견한 취약점을 시각화하고 관리할 수 있게 합니다. 자세한 정보는 보안 스캐너 통합을 참조하세요.
많은 GitLab 분석기는 도커를 사용하여 래핑된 스캐너를 실행하는 표준적인 방식을 따릅니다. 예를 들어, semgrep
이미지는 Semgrep
스캐너를 래핑하는 분석기입니다.
Attack surface
공격 가능한 응용 프로그램의 다른 위치입니다. 보안 제품은 스캔 중에 공격 가능한 표면을 발견하고 검색합니다. 각 제품은 공격 가능한 표면을 다르게 정의합니다. 예를 들어, SAST는 파일과 행 번호를 사용하고, DAST는 URL을 사용합니다.
Component
소프트웨어 프로젝트의 일부를 구성하는 소프트웨어 컴포넌트입니다. 라이브러리, 드라이버, 데이터 등의 예시가 있습니다. 다양한 예시가 있습니다.
Corpus
퍼저가 실행되는 동안 생성된 의미 있는 테스트 케이스의 집합입니다. 각 의미 있는 테스트 케이스는 테스트된 프로그램에서 새로운 커버리지를 생성합니다. 권장되는 바에 따라 Corpus를 재사용하고 후속 실행에 전달하세요.
CNA
CVE Numbering Authorities (CNAs)는 당사 범위 내의 제품이나 서비스의 취약점에 대해 CVEs를 할당하는 권한을 가진 전 세계의 기관입니다. GitLab은 CNA입니다.
CVE
공개적으로 알려진 사이버 보안 취약점을 위한 공통 식별자 디렉터리인 Common Vulnerabilities and Exposures (CVE®)입니다. 이 디렉터리은 Mitre Corporation에서 관리됩니다.
CVSS
일반 컴퓨터 시스템 보안 취약점의 심각성을 평가하기 위한 무료이자 오픈 인더스트리 표준인 Common Vulnerability Scoring System (CVSS)입니다.
CWE
Common Weakness Enumeration (CWE™)은 보안 문제가 있는 소프트웨어와 하드웨어의 일반적인 유형을 나열한 커뮤니티 개발 디렉터리입니다. 이러한 취약점은 소프트웨어나 하드웨어의 구현, 코드, 설계, 또는 아키텍처에서의 결함, 오류, 버그, 취약점 등입니다. 이러한 취약점이 무시된 채로 방치되면 시스템, 네트워크 또는 하드웨어가 공격에 취약해질 수 있습니다. CWE 디렉터리과 관련된 분류 체계는 CWE를 사용하여 이러한 취약점을 식별하고 설명할 수 있는 언어 역할을 합니다.
Deduplication
카테고리 프로세스가 결과물을 동일하다고 판단하거나 잡음 감소가 필요한 경우, 한 가지 결과물만 유지하고 나머지 결과물을 제거하는 것입니다. 중복 제거 프로세스에 대한 자세한 내용을 확인하세요.
Duplicate finding
여러 번 신고된 합법적인 결과물입니다. 다른 스캐너가 동일한 결과물을 발견하거나, 단일 스캔이 동일한 결과물을 여러 번 신고하는 경우가 있습니다.
False positive
존재하지 않지만 잘못 신고된 결과물입니다.
Finding
프로젝트에서 분석기에 의해 식별된 취약점 가능성이 있는 자산입니다. 자산에는 소스 코드, 이진 패키지, 컨테이너, 의존성, 네트워크, 응용 프로그램, 인프라 등이 포함됩니다.
결과물은 MR/피처 브랜치에서 스캐너가 식별한 모든 잠재적인 취약점 항목입니다. 결과물은 기본 버전으로 Merge한 후에 취약점이 됩니다.
취약점 결과물과 상호작용할 수 있습니다.
- 취약점 결과물에 대한 이슈나 MR을 열 수 있습니다.
- 취약점 결과물을 해제할 수 있습니다. 결과물을 해제하면 기본 뷰에 숨겨집니다.
Grouping
여러 결과물이 있고 중복 제거 조건에 충족하지 않는 경우, 취약점 결과물을 유연하고 파괴적이지 않게 시각적으로 그룹화하는 방법입니다. 예를 들어, 평가되어야 하는 여러 결과물을 포함하거나 동일한 작업으로 수정될 수 있는 결과물으로 그룹화할 수 있습니다. 취약점 결과물의 그룹화 행동은 개발 중이며 이슈 267588에서 추적됩니다.
Insignificant finding
특정 고객이 신경 쓰지 않는 합법적인 결과물입니다.
Known affected component
취약점이 악용 가능하기 위한 요구 사항과 일치하는 컴포넌트입니다. 예를 들어, packageA@1.0.3
는 FAKECVE-2023-0001
의 이름, 패키지 유형 및 영향을 받는 버전 또는 버전 범위 중 하나와 일치합니다.
Location fingerprint
결과물의 위치 지문은 해당 공격 가능한 표면의 각 위치에 대해 고유한 텍스트 값입니다. 각 보안 제품은 이를 자신의 공격 가능한 표면 유형에 따라 정의합니다. 예를 들어, SAST는 파일 경로와 행 번호를 통합합니다.
Package managers and package types
패키지 관리자
패키지 관리자는 프로젝트 의존성을 관리하는 시스템입니다.
패키지 관리자는 새로운 의존성을 설치하는 방법, 패키지를 파일 시스템에 저장하는 방법을 관리하고, 자체 패키지를 게시할 수 있는 기능을 제공합니다.
패키지 유형
각 패키지 관리자, 플랫폼, 유형 또는 생태계는 소프트웨어 패키지를 식별, 위치, 제공하는 자체 규칙과 프로토콜을 갖고 있습니다.
다음 표는 GitLab 설명서 및 소프트웨어 도구에 언급된 일부 패키지 관리자 및 유형의 비 exhaustive 디렉터리입니다.
패키지 유형 | 패키지 관리자 |
---|---|
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) 및 Fuzz 테스트가 포함됩니다.
이러한 제품은 일반적으로 하나 이상의 분석기를 포함합니다.
보안 보고서 형식
보안 제품이 JSON 보고서를 생성할 때 준수해야 하는 표준 보고서 형식입니다. 이 형식은 JSON 스키마로 설명됩니다.
보안 대시보드
프로젝트, 그룹 또는 GitLab 인스턴스의 모든 취약성 개요를 제공합니다. 취약성은 프로젝트의 기본 브랜치에서 발견된 결과에서만 생성됩니다.
초기 코퍼스
퍼즈 대상에 대한 초기 입력으로 제공된 테스트 케이스의 집합입니다. 일반적으로 퍼즈 대상을 크게 가속화시킵니다. 이는 매뉴얼으로 생성된 테스트 케이스 또는 이전 실행에서 퍼즈 대상 자체에서 자동으로 생성된 것일 수 있습니다.
벤더
분석기를 유지하는 당사자입니다. 따라서 벤더는 스캐너를 GitLab에 통합하고 진화하는 대로 호환성을 유지하는 책임이 있습니다. 벤더는 스캐너의 저자 또는 유지 관리자일 필요는 없으며 GitLab 배포 또는 구독의 일부로 포함된 스캐너의 경우 벤더는 GitLab로 기재됩니다.
취약성
환경의 보안에 부정적인 영향을 미치는 결함입니다. 취약점은 오류 또는 약점을 설명하며, 오류가 있는 위치를 설명하지는 않습니다(참조: 발견).
각 취약점은 고유한 발견에 매핑됩니다.
취약점은 기본 브랜치에 존재합니다. 발견(참조: 발견)은 MR(Merge Request)/기능 브랜치에서 스캐너가 식별한 모든 잠재적인 취약성 항목입니다. 기본 브랜치에 Merge 한 후에만 발견이 취약점이 됩니다.
취약성 발견
보고서 발견이 데이터베이스에 저장되면 취약성 발견이 됩니다.
취약성 추적
취약점의 수명 주기를 이해하기 위해 스캔 간 발견을 일치시키는 책임을 다룹니다. 엔지니어 및 보안팀은 이 정보를 사용하여 코드 변경을 Merge할지 여부를 결정하고 미해결된 발견을 확인하며 그들이 도입된 시점을 알게됩니다.
위치 지문, 주요 식별자 및 보고서 유형을 비교하여 취약점을 추적합니다.
취약성 발생
사용되지 않는 용어이며 발견을 참조하세요.