단위 4 / 11

취약점 검색 및 우선순위 지정: CVE, CVSS, EPSS 및 컨텍스트를 기준으로 올바르게 정렬

이득:

  • CVSS(심각도), EPSS(남용 가능성), KEV(실제 남용)를 제도적 맥락(노출, 심각도, 보상 통제)과 결합하여 정확한 우선순위 지정 기능
  • NVD/EPSS/KEV 소스에서 인공지능이 생성할 수 있는 CVE 번호와 점수를 검증하고 변경 관리 게이트를 통해 패치 계획을 통과시키는 기능
  • 높은 CVSS만으로는 우선순위를 의미하지 않지만 실제 위험은 상황에 따라 결정된다는 점을 이해하십시오.

모든 조직에는 공격자가 악용할 수 있는 소프트웨어의 취약점, 잘못된 구성 또는 오래된 구성 요소 등 수천 가지의 취약점이 있습니다. 시스템을 검사하고 알려진 취약점을 나열하는 도구인 취약점 스캐너는 중간 규모 조직에서 쉽게 10,000~50,000개의 결과를 산출합니다. 문제는 그것들을 찾는 것이 아닙니다. 동시에 모두 닫을 수 없는 더미에서는 어느 것을 먼저 패치할지 결정하는 것이 중요합니다. 잘못된 우선순위 지정은 두 가지 방식으로 피해를 입힙니다. 정말 위험한 일을 지연시키거나 수천 개의 중요하지 않은 발견으로 인해 팀과 비즈니스 연속성을 소진시킵니다.

인공지능은 이러한 우선순위를 정하는 데 강력한 도움이 됩니다. 수천 줄의 스캔 출력을 그룹화하고, 중복 항목을 결합하고, 각 결과를 인간의 언어로 번역하고, "이것이 중요한 이유"를 설명하고 우선 순위 개요를 제공할 수 있습니다. 그러나 AI는 조직의 어떤 서버가 인터넷에 공개되어 있고 어떤 서버가 중요한 데이터를 보유하고 있는지 알지 못합니다. 가장 위험한 점은 존재하지 않는 취약점 식별(CVE)을 조작할 수 있다는 것입니다. 그래서 AI가 순위 개요를 생성하고 설명하지만, 최종 우선순위 결정은 제도적 맥락과 검증된 데이터를 바탕으로 분석가가 내립니다.

우선순위의 기본 개념

몇 가지 용어를 명확히합시다. CVE(Common Vulnerability and Exposures)는 알려진 각 취약점(예: CVE-2021-44228, 악명 높은 Log4Shell)에 부여되는 고유 ID입니다. CVSS(Common Vulnerability Scoring System)는 취약점의 기술적 심각도를 0에서 10까지 점수를 매기는 표준입니다. 9.0+는 "중요"로 간주됩니다. 하지만 CVSS만으로는 "실제로 남용될 가능성이 얼마나 되는지"가 아니라 "얼마나 심각할 수 있는지"를 말하기 때문에 충분하지 않습니다. 이것이 바로 EPSS(Exploit Prediction Scoring System)가 등장하는 곳입니다. 이는 향후 30일 내에 취약점이 실제로 악용될 가능성을 예측합니다. KEV(Known Exploited Vulnerability) 목록도 있습니다. 실제 공격에 사용되는 것으로 입증된 취약점입니다. 이것들은 절대적인 우선순위입니다.

적절한 우선순위 지정은 이 세 가지와 엔터프라이즈 컨텍스트를 결합합니다. 높은 CVSS + 높은 EPSS + Kev 목록 + 인터넷에 공개된 중요 서버 = 즉시 패치. CVSS는 높지만 EPSS는 낮음 + 내부 네트워크 + 제한된 액세스 = 예약된 패치.

우선순위 요소 표

요인

그게 무슨 말이에요?

소스

혼자서 충분합니까?

CVSS 점수

기술적 심각도(0-10)

NVD / 공급업체

아니요 - 확률은 말하지 않습니다

EPSS 점수

악용될 확률(%)

FIRST.org

아니요 - 문맥상 나와 있지 않습니다

케브 목록

실제로 악용되고 있는 걸까요?

CISA 케브

강력한 신호, 유일한 신호는 아닙니다

자산 중요도

서버의 가치는 얼마나 되나요?

기관 인벤토리

컨텍스트 제공

노출

인터넷에 개방되어 있나요, 아니면 고립되어 있나요?

네트워크 아키텍처

컨텍스트 제공

보상 제어

WAF, 세분화가 있나요?

기관정보

위험 감소

AI는 이 표를 빠르게 채웁니다. 그러나 공식 소스에서 CVSS/EPSS/KEV 값을 확인하고 기관 지식을 통해 자산 중요도 및 노출을 추가하는 것은 귀하의 책임입니다.

취약점 우선순위 지정 단계

  1. 스캔 결과를 수집하고 익명화합니다. 내부 호스트 이름과 IP를 마스크합니다.
  2. 그룹화하고 반복을 줄입니다. AI가 서로 다른 시스템에서 동일한 취약점의 반복을 결합하여 고유한 CVE 목록을 생성하도록 합니다.
  3. 높이다. 각 CVE에 대한 CVSS, EPSS 및 KEV 상태를 포함하되 공식 소스에서 확인하세요.
  4. 컨텍스트를 추가하세요. 인터넷에 공개된 시스템, 중요한 데이터를 보유하고 있는 시스템, 보상 제어가 존재하는 시스템 등을 추가하면 됩니다.
  5. 정렬 기준. 심각성 + 가능성 + 맥락을 결합한 우선순위 목록을 작성하세요.
  6. 확인하고 결정하세요. 위 조사 결과의 CVE가 진짜인지, 해당 버전이 실제로 기관에 존재하는지 확인하세요. 분석가로서 패치 계획을 승인합니다.

세 개의 미니 케이스

사례 1 — 12,000개의 결과, 40개의 실제 우선순위. 분석가는 익명화된 12,000라인의 스캔 출력을 AI에 제공합니다. AI는 반복을 결합하여 380개의 고유한 CVE로 줄이고 EPSS 및 KEV 데이터로 이를 강화하며 "KEV 목록에 있고 인터넷에 공개된 서버에 있는 40개의 취약점"을 강조합니다. 분석가는 NVD 및 KEV 카탈로그에서 이러한 40개의 CVE를 확인하고 실제로 존재하는 3개의 중요한 취약점을 24시간 이내에 패치합니다. 스택은 12,000개에서 관리 가능한 40개로 축소되었습니다. 분석가가 결정을 내렸습니다.

사례 2 - 가짜 CVE. 또 다른 분석가는 AI를 우선시합니다. AI는 "CVE-2023-88888, CVSS 9.8, 지금 패치됩니다."라고 말합니다. 분석가는 NVD에서 이 번호를 검색합니다. 기록이 없고 모델이 구성되어 있습니다. 확인되지 않았다면 팀은 존재하지 않는 패치를 찾고 있었을 것입니다. 교훈: NVD/공급업체 레지스트리에서 확인될 때까지 모든 CVE 번호가 우선순위를 갖는 것은 아닙니다.

사례 3 - CVSS는 높지만 위험은 낮습니다. 스캐너는 내부 네트워크의 테스트 서버에서 CVSS 9.1 취약점을 찾습니다. AI는 이것을 최우선으로 생각합니다. 그러나 분석가는 맥락을 추가합니다. 서버가 인터넷에 폐쇄되어 있고, 중요한 데이터가 없으며, 그 앞에 네트워크 분할이 있고, EPSS 점수는 0.4%입니다. 동일한 목록에는 CVSS 7.5라는 또 다른 취약점이 있지만 인터넷에 공개되어 있고 KEV에 있습니다. 분석가는 순위를 수정합니다. CVSS가 낮지만 실제로 악용되고 있는 KEV의 취약점이 가장 먼저 나타납니다. 교훈: CVSS만으로는 우선순위가 아닙니다. 맥락이 결정합니다.

약한 프롬프트 / 강한 프롬프트

약한 프롬프트:

가장 위험한 것부터 가장 위험한 것까지 이러한 취약점의 순위를 매기고 CVSS 점수를 작성하십시오. [스캔 출력]

이 주장은 CVSS(확률과 맥락 무시)에만 의존하고 AI가 CVSS/CVE 값에 맞도록 허용하며 대행사 노출을 고려하지 않습니다.

강력한 프롬프트:

귀하의 역할: 보안 분석가의 우선순위 초안 보조자.의사결정; 패치를 주문하지 마십시오. 다음 익명 스캔 출력을 처리합니다.(1) 중복 병합, 고유한 CVE 목록 출력,(2) 각 CVE에 대한 CVSS, EPSS 및 KEV 상태를 채우되 각 값을 "[NVD/EPSS/KEV에서 확인해야 함]"으로 표시합니다. 어떤 가치도 만들어내지 말고 확실하지 않은 경우 "[알 수 없음]"이라고 기재하세요. (3) 제도적 맥락(노출, 자산 중요도, 보상 통제)에 대해 물어봐야 할 3가지 질문을 작성하세요. (4) 기술 데이터만을 기반으로 예비 순위를 제공하고 기업 맥락에서 수정하겠다고 명시하세요. 출력: [익명 스캔 결과]

강력한 프롬프트는 CVSS/EPSS/KEV 트리오를 요청하고 각 값을 검증하도록 남겨두고 기관의 맥락을 파악하여 최종 결정을 제공합니다.

복사 가능한 프롬프트 템플릿

취약점 그룹화 템플릿 다음과 같은 익명 검사 출력을 처리합니다. (1) 여러 컴퓨터에서 동일한 CVE 발생을 결합하고, (2) 고유한 CVE와 영향을 받는 컴퓨터 수를 추출하고, (3) 제품/구성 요소별로 그룹화합니다. CVE 번호를 구성하지 마세요. 소스에 없는 내용은 추가하지 마세요. 출력: [붙여넣기]

TRIPLE ENRICHMENT TEMPLATE CVE 목록의 경우 CVSS 기본 점수, EPSS 확률 및 각 줄의 KEVlist에 있는지 여부를 추가합니다. "[verify: source]" 플래그를 사용하여 모든 값을 내보냅니다. 정확한 데이터 제시, 제작. 확실하지 않은 CVE에 대해 "[NVD에서 확인]"을 입력하세요. CVE: [붙여넣기]

컨텍스트 질문 템플릿 다음 우선 순위 취약점에 대해 조직 컨텍스트에 대해 물어봐야 하는 질문을 생성하여 올바르게 순위를 매길 수 있습니다. 노출(인터넷에 공개되어 있는지), 자산 중요도, 데이터 민감도, 보상 제어, 패치 기간. 나는 답을 주겠다. 그 후에만 순위를 업데이트합니다. 취약점: [붙여넣기]

패치 계획 초안 템플릿 작성 검증된 우선순위 목록과 내가 제공하는 컨텍스트를 기반으로 한 패치 계획: 즉시(24시간), 단기(7일), 계획된(30일) 버킷; 각 취약성과 잠재적인 비즈니스 영향/중단 위험에 대한 정당성. 이것은 초안입니다. 승인 및 구현은 분석가와 변경 관리에 속합니다. 데이터: [붙여넣기]

일반적인 실수

  • CVSS만 봐도 알 수 있죠. CVSS가 높으면 실제 위험이 낮다는 의미일 수 있습니다. EPSS(확률), KEV(실제 공격) 및 컨텍스트를 함께 고려합니다.
  • CVE를 확인하지 않습니다. 비AI가 CVE 번호와 ​​점수를 구성할 수 있습니다. NVD/딜러 등록을 통해 각각 확인하세요.
  • 제도적 맥락을 우회합니다. 인터넷에 공개되어 있는지, 중요한 데이터가 있는지, 보상 통제가 있는지 등이 순위를 완전히 바꿉니다.
  • 버전 일치를 가정합니다. 브라우저가 잘못된 버전을 읽는 경우가 있습니다. 취약점이 실제로 조직에 존재하는지 확인합니다(오탐지 검색).
  • 비즈니스에 영향을 주지 않고 패치 계획만 구현합니다. 중요한 패치로 인해 비즈니스가 중단될 수 있습니다. 변경 관리 및 테스트는 필수적입니다.
팁: 우선순위의 황금 조합은 "KEV 등록 + 인터넷 개방 + 높은 EPSS"입니다. 이 세 가지가 교차하는 경우 해당 취약점은 CVSS에 관계없이 목록의 맨 위에 표시됩니다.
주의: 취약점을 "심각"으로 선언하고 즉시 패치하는 것도 위험할 수 있습니다. 테스트되지 않은 패치로 인해 프로덕션이 중단될 수 있습니다. AI가 제시하는 계획은 청사진이다. 구현은 변경 관리 프로세스와 테스트 게이트를 거칩니다.

요약하면

취약점 관리의 어려운 부분은 취약점을 찾는 것이 아니라 수천 개의 결과 중에서 올바른 것을 강조 표시하는 것입니다. AI는 스캔 출력물을 그룹화해 반복을 줄이고 이를 인간의 언어로 번역해 순위 개요를 제공한다. 그러나 적절한 우선순위는 단일 숫자에서 나오는 것이 아닙니다. CVSS(심각도), EPSS(가능성), KEV(실제 악용) 및 제도적 맥락(노출, 심각도, 보상 통제)이 함께 평가됩니다. AI의 가장 위험한 실수는 CVE가 아닌 점수 조작입니다. 따라서 각 값은 NVD/EPSS/KEV에서 검증되고, 엔터프라이즈 컨텍스트가 추가되며, 패치 계획은 변경 관리 게이트를 통과합니다.

응용과제

샘플 스캔 출력을 가져옵니다(자신 또는 샘플 데이터에서 익명 처리됨). "취약점 그룹화" 및 "3중 강화" 템플릿을 사용하여 AI에서 고유한 CVE 목록 및 CVSS/EPSS/KEV 개요를 추출합니다. NVD 및 CISA KEV 카탈로그에서 상위 5개 CVE를 직접 확인하세요. 허위 또는 잘못된 값을 하나 이상 찾아보세요. 그런 다음 해당 환경에 대한 "컨텍스트 질문" 템플릿의 질문에 답하고 순서가 어떻게 변경되는지 확인합니다.

체크리스트

  • [ ] 스캔 출력을 익명화했습니다. 호스트와 IP는 마스킹됩니다.
  • [ ] 중복 항목을 결합하여 고유한 CVE 목록을 얻었습니다.
  • [ ] 공식 소스에서 각 CVE 및 CVSS/EPSS/KEV 값을 확인했습니다.
  • [ ] 허위이거나 잘못된 CVE/점수일 수 있음을 알고 확인했습니다.
  • [ ] 순위에 제도적 맥락(노출, 중요성, 보상 통제)을 포함했습니다.
  • [ ] CVSS 뿐만이 아닙니다. EPSS와 KEV도 살펴봤습니다.
  • [ ] 나는 패치 계획을 초안으로 간주했습니다. 테스트 및 변경 관리 문을 추가했습니다.