- Critical severity
- High severity
- Medium severity
- Low severity
- Info severity
- Unknown severity
- 컨테이너 스캐닝
- DAST
- API 보안 테스트
- 의존성 스캐닝
- 퍼즈 테스트
- SAST
- IaC 스캐닝
- 비밀 탐지
취약성 심각도 수준
GitLab 취약성 분석기는 가능한 경우 취약성 심각도 수준 값을 반환하려고 시도합니다.
다음은 가장 심각한 것부터 가장 덜 심각한 것까지 나열된 GitLab 취약성 심각도 수준입니다:
Critical
High
Medium
Low
Info
Unknown
GitLab 분석기는 아래의 심각도 설명을 맞추기 위해 노력하지만, 항상 정확하지 않을 수 있습니다.
제3자 공급업체에서 제공하는 분석기 및 스캐너는 동일한 분류를 따르지 않을 수 있습니다.
Critical severity
Critical Severity 수준에서 식별된 취약성은 즉시 조사해야 합니다.
이 수준의 취약성은 결함의 악용이 전체 시스템 또는 데이터 손상으로 이어질 수 있다고 가정합니다.
Critical severity 취약성의 예로는 Command/Code Injection 및 SQL Injection이 있습니다.
일반적으로 이러한 결함은 CVSS 3.1로 9.0-10.0 사이로 평가됩니다.
High severity
High severity 취약성은 공격자가 애플리케이션 리소스에 접근하거나 데이터의 의도치 않은 노출로 이어질 수 있는 결함으로 특징지어질 수 있습니다.
High severity 결함의 예로는 External XML Entity Injection (XXE), Server Side Request Forgery (SSRF), Local File Include/Path Traversal 및 특정 형태의 Cross-Site Scripting (XSS)이 있습니다.
일반적으로 이러한 결함은 CVSS 3.1로 7.0-8.9 사이로 평가됩니다.
Medium severity
Medium severity 취약성은 일반적으로 시스템의 잘못된 구성이나 보안 통제의 부족으로 발생합니다.
이러한 취약성의 악용은 제한된 양의 데이터에 접근하거나 다른 결함과 결합되어 시스템이나 리소스에 의도치 않은 접근을 얻는 데 사용될 수 있습니다.
Medium severity 결함의 예로는 반사된 XSS, 잘못된 HTTP 세션 처리 및 누락된 보안 통제가 있습니다.
일반적으로 이러한 결함은 CVSS 3.1로 4.0-6.9 사이로 평가됩니다.
Low severity
Low severity 취약성은 직접적으로 악용 가능하지 않을 수 있지만 애플리케이션이나 시스템에 불필요한 약점을 도입합니다.
이러한 결함은 일반적으로 보안 통제의 누락이나 애플리케이션 환경에 대한 불필요한 정보 공개로 인한 것입니다.
Low severity 취약성의 예로는 누락된 쿠키 보안 지침, 과도한 오류 또는 예외 메시지가 있습니다.
일반적으로 이러한 결함은 CVSS 3.1로 0.1-3.9 사이로 평가됩니다.
Info severity
Info level 심각도 취약성은 가치가 있을 수 있는 정보를 포함하지만 특정 결함이나 약점과 반드시 관련되어 있지는 않습니다.
일반적으로 이러한 문제는 CVSS 등급이 없습니다.
Unknown severity
이 수준에서 식별된 문제는 심각도를 명확히 보여주기에 충분한 맥락이 없습니다.
GitLab 취약성 분석기는 인기 있는 오픈 소스 스캐닝 도구를 포함합니다.
각 오픈 소스 스캐닝 도구는 고유한 네이티브 취약성 심각도 수준 값을 제공합니다.
이러한 값은 다음 중 하나일 수 있습니다:
네이티브 취약성 심각도 수준 유형 | 예시 |
---|---|
문자열 |
WARNING , ERROR , Critical , Negligible
|
정수 |
1 , 2 , 5
|
CVSS v2.0 평가 | (AV:N/AC:L/Au:S/C:P/I:P/A:N) |
CVSS v3.1 질적 심각도 평가 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
일관된 취약성 심각도 수준 값을 제공하기 위해 GitLab 취약성 분석기는
위의 값에서 표준화된 GitLab 취약성 심각도 수준으로 변환합니다.
컨테이너 스캐닝
GitLab 분석기 | 심각도 수준 출력? | 기본 심각도 수준 유형 | 기본 심각도 수준 예제 |
---|---|---|---|
container-scanning |
예 | 문자열 |
Unknown , Low , Medium , High , Critical
|
사용 가능할 경우, 공급자의 심각도 수준이 우선되며 분석기에 의해 사용됩니다. 만약 그것이 사용 가능하지 않으면 CVSS v3.1 등급으로 대체됩니다. 그것 또한 사용 가능하지 않으면 CVSS v2.0 등급이 대신 사용됩니다. 이 구현에 대한 세부정보는 trivy의 이슈에서 확인할 수 있습니다.
DAST
GitLab 분석기 | 심각도 수준 출력? | 기본 심각도 수준 유형 | 기본 심각도 수준 예제 |
---|---|---|---|
Browser-based DAST |
예 | 문자열 |
HIGH , MEDIUM , LOW , INFO
|
API 보안 테스트
GitLab 분석기 | 심각도 수준 출력? | 기본 심각도 수준 유형 | 기본 심각도 수준 예제 |
---|---|---|---|
API security testing |
예 | 문자열 |
HIGH , MEDIUM , LOW
|
의존성 스캐닝
GitLab 분석기 | 심각도 수준 출력? | 기본 심각도 수준 유형 | 기본 심각도 수준 예제 |
---|---|---|---|
gemnasium |
예 | CVSS v2.0 등급 및 CVSS v3.1 정성적 심각도 등급 1 |
(AV:N/AC:L/Au:S/C:P/I:P/A:N) , CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
|
CVSS v3.1 등급이 심각도 수준을 계산하는 데 사용됩니다. 사용 가능하지 않으면 대신 CVSS v2.0 등급이 사용됩니다.
퍼즈 테스트
모든 퍼즈 테스트 결과는 ‘Unknown’으로 보고됩니다. 이들은 수동으로 검토되고 분류되어 수정을 우선시할 수 있는 취약점을 찾아야 합니다.
SAST
GitLab 분석기 | 심각도 수준 출력? | 기본 심각도 수준 유형 | 기본 심각도 수준 예제 |
---|---|---|---|
sobelow |
예 | 해당 없음 | 모든 심각도 수준을 Unknown 으로 하드코딩 |
SpotBugs |
예 | 정수 |
1 , 2 , 3 , 11 , 12 , 18
|
pmd-apex |
예 | 정수 |
1 , 2 , 3 , 4 , 5
|
kubesec |
예 | 문자열 |
CriticalSeverity , InfoSeverity
|
semgrep |
예 | 문자열 |
error , warning , note , none
|
IaC 스캐닝
GitLab 분석기 | 출력 심각도 수준? | 네이티브 심각도 수준 유형 | 네이티브 심각도 수준 예시 |
---|---|---|---|
kics |
예 | 문자열 |
error , warning , note , none (버전 3.7.0 및 이후에서 info 로 매핑됩니다. 분석기 버전 3.7.0 및 이후) |
비밀 탐지
GitLab의 secrets
분석기는 모든 심각도 수준을 Critical
로 하드코딩합니다.
Epic 10320는 더 세분화된 심각도 등급을 채택할 것을 제안합니다.