분석
GitLab v19.5요약
분석은 취약점 관리 수명 주기의 세 번째 단계입니다. 분석은 취약점의 상세 정보를 평가해 해결이 가능한지, 그리고 해결해야 하는지를 판단하는 과정입니다. 분석 단계의 범위는 분류 단계를 거쳐 추가 조치가 필요하다고 확인된 모든 취약점입니다.
분석은 취약점 관리 수명 주기의 세 번째 단계입니다. 수명 주기는 탐지, 분류, 분석, 해결 순으로 진행됩니다.
분석은 취약점의 상세 정보를 평가해 해결이 가능한지, 그리고 해결해야 하는지를 판단하는 과정입니다. 취약점 분류는 일괄로 할 수 있지만 분석은 개별로 해야 합니다. 분석은 위험 관리 프레임워크의 일부로서 자원이 가장 효과적인 곳에 투입되도록 돕습니다. 보안 대시보드와 취약점 리포트에 담긴 데이터를 활용해 심각도와 관련 위험에 따라 취약점 분석의 우선순위를 정합니다.
범위#
분석 단계의 범위는 분류 단계를 거쳐 추가 조치가 필요하다고 확인된 모든 취약점입니다.
분석이 필요한 취약점을 식별하려면 취약점 리포트를 다음과 같이 필터링합니다.
- Status: Confirmed
위험 분석#
취약점 분석은 위험 평가 프레임워크에 따라 수행하는 것이 좋습니다. 아직 위험 평가 프레임워크를 사용하고 있지 않다면 다음을 고려합니다.
사용할 수 있다면 Security Analyst Agent로 취약점 분석 속도를 높입니다. 이 에이전트는 인사이트, 위험 평가, 해결 지침을 제공해 보안 발견 사항을 효율적으로 분류하고 평가하고 해결합니다.
취약점의 위험 점수를 계산하는 기준은 조직마다 다릅니다. 기본적인 위험 점수 공식은 다음과 같습니다.
위험 = 발생 가능성 x 영향도
발생 가능성과 영향도 수치는 모두 취약점과 환경에 따라 달라집니다. 이 수치를 정하고 위험 점수를 계산하려면 GitLab에 없는 정보가 필요할 수 있습니다. 그런 경우에는 조직의 위험 관리 프레임워크에 따라 직접 계산해야 합니다. 계산한 뒤에는 해당 취약점으로 생성한 이슈에 그 값을 기록합니다.
일반적으로 한 취약점에 들이는 시간과 노력은 그 위험에 비례해야 합니다. 예를 들어 위험이 critical과 high 인 취약점만 분석하고 나머지는 해제하도록 선택할 수 있습니다. 이 결정은 취약점에 대한 조직의 위험 허용 기준에 따라 내립니다.
분석 전략#
가장 중요한 취약점부터 집중해서 다루려면 다음 전략을 시도합니다.
가장 높은 심각도의 취약점 우선순위 지정#
가장 높은 심각도의 취약점을 식별하려면 다음을 수행합니다.
-
분류 단계에서 아직 수행하지 않았다면 Vulnerability Prioritizer CI/CD 컴포넌트로 분석할 취약점의 우선순위를 정합니다.
-
그룹별로 취약점 리포트를 필터링해 분석이 필요한 취약점의 우선순위를 정합니다.
- Status: Confirmed
- Activity: Still detected
- Group by: Severity
-
고객에게 배포한 애플리케이션처럼 위험이 가장 높은 프로젝트의 취약점 분석을 우선합니다.
해결책이 있는 취약점 우선순위 지정#
일부 취약점에는 「13.2 버전에서 13.8 버전으로 업그레이드」와 같은 해결책이 제공됩니다. 이 경우 해당 취약점을 분석하고 해결하는 데 걸리는 시간이 줄어듭니다. 일부 해결책은 GitLab Duo가 활성화된 경우에만 제공됩니다.
해결책이 있는 취약점을 식별하려면 취약점 리포트를 필터링합니다.
- SBOM 스캔으로 탐지된 취약점에는 다음 조건을 사용합니다.
- Status: Confirmed
- Activity: Has a solution
- SAST로 탐지된 취약점에는 다음 조건을 사용합니다.
- Status: Confirmed
- Activity: Vulnerability Resolution available
취약점 세부 정보 및 조치#
모든 취약점에는 탐지 시점, 탐지 방식, 심각도 등급, 전체 로그 등 상세 정보가 담긴 취약점 페이지가 있습니다. 취약점을 분석할 때 이 정보를 활용합니다.
다음 팁도 취약점 분석에 도움이 됩니다.
- GitLab Duo 취약점 설명으로 취약점에 대한 설명과 해결 방안을 제안받습니다. SAST로 탐지된 취약점에만 제공됩니다.
- 서드 파티 교육 공급업체가 제공하는 보안 교육으로 특정 취약점의 성격을 이해하는 데 도움을 받습니다.
확인된 취약점을 각각 분석한 뒤에는 다음 중 하나를 수행합니다.
- 해결해야 한다고 판단하면 상태를 Confirmed로 둡니다.
- 해결하지 않아도 된다고 판단하면 상태를 Dismissed로 변경합니다.
취약점을 확인 상태로 두는 경우 다음을 수행합니다.
- 해결 작업을 추적하고 문서화하고 관리할 수 있도록 이슈를 생성합니다.
- 취약점 관리 수명 주기의 해결 단계로 넘어갑니다.
취약점을 해제하는 경우에는 해제 이유를 간단한 댓글로 남겨야 합니다. 해제된 취약점은 다시 탐지되어도 무시됩니다. 취약점 기록은 감사 목적으로 (아카이브될 때까지) 보관됩니다. 필요에 따라 상태를 업데이트해 수명 주기를 관리할 수 있습니다.