4단계: 수정 전략 만들기
통합 설정 및 조직 생성, 프로젝트 가져오기가 완료된 후, 비즈니스의 현재 취약점 백로그를 시각화하기 위해 보고서를 확인합니다.
대부분의 경우, 조직과 취약점을 모두 고려하면 많은 문제가 발생할 수 있으며 시작점을 알기 어려울 수 있습니다.
중요한 중점 영역 결정
특정 취약성에 뛰어들기 전에 조직과 저장소(목표 항목)를 고려해 특정 중요 영역을 식별합니다. 단계 1에서 수행한 비즈니스 중요 응용 프로그램의 발견은 이 단계에서 우선순위를 정하는 데 도움이 될 수 있는 정보를 제공할 수 있습니다. 예를 들어, 조직이 다른 제품과 일치하는 경우, 가장 많은 사용자가 있는 조직(제품) 또는 보안이 가장 중요한 곳을 먼저 집중할 수 있습니다.
해당 조직에서 응용 프로그램의 다양한 부분을 구성하는 저장소들을 고려할 수 있습니다. 민감한 데이터를 처리하는 영역 또는 공개 직면한 영역은 더 중요할 수 있으므로, 저장소를 고려함으로써 검토할 프로젝트 초기 목록을 좁히는 또 다른 방법이 될 수 있습니다.
개발팀별 작업 그룹화
우선순위가 정해진 줄어든 프로젝트 세트를 보유한 후, 이를 서로 다른 개발팀에 분할할 수 있습니다. 예를 들어, 오픈 소스 및 1차 코드의 문제를 해결하는 한 개발팀과 컨테이너와 베이스 이미지 취약점을 담당하는 별도의 DevOps 팀이 있을 수 있습니다.
우선순위 메서드에 따라 수정
긴급하게 수정해야 할 문제를 우선순위 지정하는 데 도움이 되는 필터가 있습니다. 다음 검색 기준은 우선순위 계획을 작성할 때 가장 일반적으로 사용되며 결과를 분석하는 과정에서 반복적으로 또는 결합하여 사용할 수 있습니다.
Priority 또는 Risk Score 대 Severity에 기반하여 필터링하려면:
Snyk는 문제에 점수를 할당하기 위해 다양한 정보를 사용합니다. 900+로 필터링하여 첫 번째 라운드로 시작한 후, 800+, 700+ 등으로 계속하여 우선순위 점수별 분류에 대한 작업을 수행할 수 있습니다. Risk Score를 사용하는 경우, 위와 유사한 프로세스로 진행하세요. 또는 자체 메트릭 또는 점수 및 다른 주요 메트릭의 조합에 필터링을 선호하는 경우, 개별적으로 속성에 필터링 작업을 진행할 수 있습니다.
Severity: High 및 Critical로 시작합니다. Critical 심각성으로 필터링하는 것이 일반적이지만, Snyk Code 및 Snyk Open Source를 사용하는 경우:
Snyk Code 문제가 필터링되지 않도록 Critical 및 High로 필터링합니다.
대신, Snyk Open Source의 Critical 심각성으로 필터링한 후, Snyk Code에 대한 severity=high, product=Snyk Code로 필터링하여 각 스캔 유형에 대한 가장 심각한 문제를 식별할 수 있습니다.
처리 단계에서 Open Source에 중점을 둘 경우:
Exploit Maturity 필터를 선택함으로써 오픈소스 결과만을 암묵적으로 필터링할 수 있습니다. Exploit Maturity는 성숙 또는 Concept 증명이 있는 문제를 다루어 더 중요하게 평가합니다.
수정 가능 필터를 선택하여 패키지 업그레이드를 통해 수정할 수 있는 문제를 찾을 수 있습니다. 이렇게 하면 업그레이드 없이 수정하는 것보다 빠른 수정이 가능합니다.
오픈 소스 취약점을 위한 CVSS 점수를 선택할 수 있습니다.
Priority Score로 필터링할 때, CVSS 점수는 계산에 포함됩니다. 한 가지 전략은 점수가 900-1000인 취약점을 제거하고, 800-900, 그리고 이어가는 취약점으로 이동하는 것입니다.
AppRisk를 사용하고 AppRisk Insights를 적용한 경우, Classification 및 Public IP/OS Condition과 같은 필터를 사용하여 High Importance를 가지거나 처음 triage 단계에서 공개적으로 노출된 애플리케이션을 더 자세히 파악할 수 있습니다.
수정 전략을 계획할 때 특정 타임라인에 사용할 메트릭을 결정하세요. 예를 들어, 심각성에 따라 수정을 선택하는 경우 각 심각성 당 취약점 해결에 걸리는 시간을 추정하세요. 수정 전략을 구체적으로 결정하는 것이 권장됩니다.
문제 유형에 따라 수정
또 다른 방법으로 문제 유형에 기반하여 수정할 수 있습니다. 특정 문제 유형에 초점을 맞추는 것이 흔히 있는데, 예를 들어 오픈 소스 취약점을 처음으로 해결하면 다른 프로젝트 간 문제를 보다 쉽게 비교할 수 있습니다.
다른 유형의 팀이 주도하는 수정 예시를 살펴봅니다.
예시: 개발자 주도의 우선순위
라이선스 위험 최소화를 위한 이사로부터 지시를 받은 개발자 주도의 실행은 다음과 같습니다:
Snyk Open Source에서 식별된 모든 라이선스 문제 해결.
Snyk Open Source에서 수정 가능한 Critical 또는 High 취약성 해결.
High 심각도 문제부터 시작하여 Snyk Code를 사용한 코드 분석 프로젝트에 대해 작업을 시작합니다.
응용 프로그램 및 환경을 실행하는 데 사용되는 컨테이너 및 IaC 파일을 스캔합니다.
예시: DevSecOps 주도의 우선순위
사용자 지정 이미지 및 환경의 보안에 중점을 둔 DevSecOps 주도의 실행은 다음과 같습니다:
개발팀이 가져온 사용자 지정 기본 이미지를 스캔하고 보호합니다.
컨테이너 레지스트리와 통합하여 개발팀에 제공하는 이미지를 스캔합니다.
일반적인 내부 도구 및 이미지 매개 변수를 표준화한 후 선택하고 구축한 이미지를 스캔합니다.
개발자가 자신들의 사용자 지정 도구 및 패키지를 추가한 후 컨테이너를 배포하기 전에 컨테이너를 스캔하여 보안을 유지할 수 있습니다. 이 스캔은 또한 응용 프로그램 취약점을 감지할 수 있습니다.
컨테이너를 안전하게 한 후 보안 위반에 이르는 잘못된 구성을 스캔하려고 IaC 파일 및 클라우드 환경을 능동적으로 스캔합니다.
개발팀에 Snyk를 도입하여 오픈 소스 및 코드를 스캔하여 애플리케이션 취약점을 감소합니다.
대상 취약점 캠페인
개발 프로세스에서 보안 테스트를 운영할 때, 취약점 유형을 제거하기 위한 수정 전략으로 캠페인을 진행할 수 있습니다. 예를 들어 SQL Injection과 같은 취약점 유형을 제거하는 캠페인을 갖는 것이 가능합니다. CWE 필터를 사용하면 문제 식별과 로깅에 도움이 될 수 있습니다.
타임라인 업데이트
수정 전략을 작성한 후 Phase 7: Triage, ignores, and fixes의 타임라인을 업데이트하세요.
Last updated