취약점 우선순위는 CVSS 하나로 정하면 늦어진다
CVSS, 실제 악용 여부, 외부 노출, 자산 중요도를 결합해 패치 순서를 정하는 실무 모델을 제안한다. Vulnerability Management·CVSS·Patch 관점에서 공격 경로를 쉬운 예로 풀고 예방, 탐지, 대응 순서로 확인할 항목을 제시한다.
핵심 요약
취약점 우선순위는 CVSS, EPSS, CISA KEV 중 하나를 고르는 문제가 아니다. CVSS는 기술적 심각도, EPSS는 향후 30일간 실제 악용 활동이 관찰될 확률 추정, KEV는 알려진 악용 근거를 제공한다. 여기에 외부 노출, 자산 중요도, 권한, 완화 통제와 패치 가능성을 결합해야 실제 작업 순서가 된다.
스캐너가 수천 개의 “Critical” 취약점을 보여 주면 조직은 모두 긴급하다고 표시하거나, 오래된 항목부터 처리하거나, 점수가 가장 높은 항목만 고른다. 어느 방식이든 공격자가 실제로 도달할 수 있는 시스템과 고객 영향이 큰 자산을 놓칠 수 있다.
우선순위 모델은 복잡한 수학식보다 같은 입력으로 같은 결정을 내릴 수 있어야 한다. CVE가 어느 이미지·서버·제품에 실제 존재하는지 확인하고, 노출과 악용 신호를 붙이며, 패치가 불가능한 경우에는 격리·기능 비활성화·탐지 강화 같은 조치를 추적해야 한다.
세 신호가 답하는 질문이 다르다
| 신호 | 답하는 질문 | 단독 사용의 한계 |
|---|---|---|
| CVSS | 취약점의 기술적 심각도와 공격 조건은 무엇인가 | 우리 자산의 노출·가치와 현재 악용을 모른다 |
| EPSS | 향후 30일에 실제 악용 활동이 관찰될 가능성은 어느 정도인가 | 개별 조직의 자산 영향과 도달성을 반영하지 않는다 |
| CISA KEV | 신뢰 가능한 근거로 실제 악용이 알려졌는가 | 우리 환경에 제품이 있는지, 패치 영향이 무엇인지 모른다 |
| 자산 맥락 | 인터넷 노출, 데이터, 권한, 업무 영향은 무엇인가 | 위협 변화가 없으면 정적 목록이 된다 |
| 완화·탐지 | 패치 전 피해를 얼마나 줄이고 발견할 수 있는가 | 완화가 영구 예외로 남을 수 있다 |
EPSS 확률과 percentile도 구분한다. 확률은 향후 30일의 절대적 추정치이고, percentile은 다른 CVE와 비교한 순위다. “상위 1%”가 곧 99% 악용 확률을 뜻하지 않는다. FIRST는 EPSS가 위협 요소의 한 입력이며 전체 위험 점수가 아니라고 설명한다.
먼저 CVE를 실제 자산에 연결한다
패치 목록에 CVE만 있으면 담당자와 영향이 보이지 않는다. 최소 필드는 다음과 같다.
- 자산·이미지·패키지와 버전
- 인터넷·파트너·내부 네트워크 노출
- 실행 중인지, 취약 기능을 사용하는지
- 서비스 소유자와 고객 영향
- 처리 데이터와 서비스 계정 권한
- CVSS 벡터, EPSS 점수·백분위·조회 날짜
- KEV 포함 여부와 추가 날짜
- 패치·완화 가능 여부와 검증 방법
컨테이너 이미지에 패키지가 있어도 실제 경로에서 로드되지 않을 수 있고, 반대로 스캐너가 보지 못한 어플라이언스와 펌웨어가 인터넷에 노출될 수 있다. SBOM과 런타임 자산 목록을 연결하려면 SBOM 거버넌스 실무 가이드를 참고한다.
우선순위 결정 순서
1. KEV와 현재 공격 증거를 최상위 큐로 분리
KEV에 있고 우리 환경에 존재하며 공격자가 도달 가능한 자산은 즉시 소유자를 배정한다. 동시에 WAF·EDR·인증·프록시 로그에서 취약점 악용 흔적을 찾는다. 패치만 하고 침해 여부를 확인하지 않으면 이미 들어온 공격자를 놓칠 수 있다.
2. 외부 노출과 권한을 결합
인터넷에 직접 노출된 VPN, 메일, 엣지 장비와 인증 전 RCE는 높은 우선순위를 갖는다. 내부 취약점도 도메인 관리자 자격증명, 민감 데이터, 클러스터 제어권에 도달한다면 낮게 볼 수 없다.
3. EPSS로 대기열을 정렬
KEV 밖의 큰 목록에서는 EPSS 확률과 percentile을 함께 표시해 가까운 시기의 악용 가능성이 높은 항목을 먼저 검토한다. 점수는 매일 달라질 수 있으므로 티켓 생성 시각의 값만 고정하지 말고 재평가 작업을 둔다.
4. CVSS 벡터와 업무 영향을 확인
같은 9.8이라도 인증 전 네트워크 공격과 복잡한 로컬 조건은 대응 방식이 다르다. 기본 점수뿐 아니라 공격 경로, 권한, 사용자 상호작용, 영향 항목을 본다. 서비스 중단 비용과 안전 영향도 자산 소유자가 평가한다.
5. 패치·완화·수용 결정을 증거로 남긴다
패치가 있으면 스테이징, 카나리, 롤백을 준비한다. 패치가 없으면 서비스 비활성화, 접근 제한, 가상 패치, 자격증명 회전, 모니터링 강화로 위험을 줄인다. 위험 수용에는 책임자와 만료일이 있어야 한다.
간단한 운영 결정표
아래는 출발점이지 모든 조직에 적용되는 고정 SLA가 아니다.
| 조건 | 기본 처리 | 추가 확인 |
|---|---|---|
| KEV + 노출 자산 | 긴급 큐, 침해 조사 병행 | 공급업체 조치, 로그 보존 |
| 높은 EPSS + 외부 도달 | 빠른 패치 또는 격리 | exploit 전제와 기능 사용 |
| 높은 영향 + 내부 도달 | 우선 패치·권한 축소 | lateral movement 경로 |
| 낮은 EPSS + 강한 격리 | 계획 큐 | 점수·노출 변화 재평가 |
| 패치 불가·EOL | 교체 또는 강한 보완 통제 | 종료 날짜와 사업 책임자 |
임계값은 조직의 패치 용량과 자산 분포로 교정한다. 숫자를 복사하기보다 과거 3~6개월의 패치 처리량, 실제 사고, 노출 자산 수를 보고 긴급 큐가 감당 가능한 크기가 되게 정한다.
데이터 파이프라인의 실패 모드
- EPSS 날짜가 오래됨: 매일 갱신 여부와 모델 버전을 기록한다. EPSS v4처럼 모델 전환 시 점수 분포가 바뀔 수 있으므로 경보 임계값을 다시 검증한다.
- KEV 동기화 중단: 공식 JSON·CSV의 마지막 성공 시각, 레코드 수, 스키마 오류를 모니터링한다.
- CPE·패키지 오매칭: 자동 매칭 결과를 제품·버전·취약 기능으로 검증한다.
- 자산 소유자 없음: 인터넷 노출 자산에 소유자가 없으면 별도 운영 위험으로 상향한다.
- 닫힌 티켓의 재등장: 패치 버전과 실제 배포·재스캔 결과를 연결한다.
- 완화가 영구화: 만료일과 재검증이 없는 네트워크 차단을 완료로 보지 않는다.
패치 후 검증
“배포 성공”은 취약점 제거 증거가 아니다. 버전·설정·기능 상태를 재스캔하고, 로드밸런서 뒤 모든 인스턴스와 오래된 이미지·스냅샷이 정리됐는지 확인한다. KEV 항목은 의심 로그, 웹셸·계정 생성, 비정상 프로세스와 자격증명 사용을 함께 확인한다. 세부 트리아지는 CISA KEV 패치 순서에서 이어진다.
성과 지표
- KEV 자산 발견부터 소유자 배정까지 걸린 시간
- 인터넷 노출 KEV의 미해결 수와 연령
- 긴급·높음 큐의 SLA 준수율
- 패치 후 재스캔 통과율
- 소유자 없는 취약 자산 수
- 만료된 보완 통제 수
- 잘못된 양성으로 되돌아온 비율
- EPSS·KEV 데이터 마지막 갱신 시각
패치 건수만 세면 쉬운 내부 취약점으로 실적을 채울 수 있다. 공격 가능성이 높은 자산의 노출 시간이 줄었는지 보는 편이 낫다.
운영 체크리스트
- CVE를 실제 실행 자산·이미지·소유자에 연결한다.
- CVSS, EPSS 확률·percentile, KEV를 서로 다른 의미로 저장한다.
- EPSS와 KEV 공식 데이터의 갱신 시각·스키마·실패를 모니터링한다.
- 외부 노출, 데이터, 권한, 업무 영향으로 우선순위를 보정한다.
- KEV는 패치와 침해 흔적 조사를 함께 수행한다.
- 패치 불가 항목의 완화에는 만료일과 교체 계획이 있다.
- 배포 뒤 버전·재스캔·모든 인스턴스를 확인한다.
- 처리량보다 고위험 노출 시간을 성과로 본다.
참고 기준
- FIRST EPSS
- FIRST EPSS User Guide
- CISA Known Exploited Vulnerabilities Catalog
- FIRST CVSS v4.0 Specification
취약점 관리의 목표는 가장 높은 숫자를 먼저 닫는 것이 아니다. 공격자가 실제로 닿을 수 있고 피해가 큰 경로를 짧은 시간 안에 줄이며, 점수와 자산 상황이 바뀌면 작업 순서도 다시 계산하는 것이다.
전체 댓글 0개