
취약점 강화를 수행하는 저장소입니다.
CISA Vulnrichment 프로젝트는 CISA의 ADP(Authorized Data Publisher) 컨테이너를 통해 공개 CVE 레코드를 강화한 CISA의 공개 저장소입니다. 이 프로젝트 단계에서 CISA는 신규 및 최근 CVE를 평가하고 핵심 SSVC 결정 포인트를 추가하고 있습니다. 점수가 매겨지면 일부 고위험 CVE는 가능한 경우 CWE 및/또는 CVSS 데이터 포인트로 강화됩니다.
이 CVE 데이터의 생산자와 소비자는 이미 현재 CVE Record Format에 익숙해야 하며, GitHub API 및 CVE Services API를 포함한 일반적인 방법으로 이 데이터에 접근할 수 있습니다. Vulnrichment의 결과는 최근(2024년) 출시된 ADP Program을 통해 CVE 코퍼스로 다시 푸시되고 있다는 점에 유의하십시오. 다운스트림 소비자가 이미 라이브 CVE 데이터를 소비하고 있다면 이 GitHub 저장소를 포크하여 추적할 필요가 없습니다.
이 프로젝트는 활발히 개발 중이므로 업데이트를 위해 이 README.md를 주시하십시오.
먼저, CISA는 각 CVE를 SSVC 점수 산정 과정을 거치게 합니다.
다음으로, "Total Technical Impact", "Automatable"로 평가되거나 "Exploitation" 값이 "Proof of Concept" 또는 "Active Exploitation"인 CVE에 대해 추가 분석이 수행됩니다. CISA는 특정 CWE 식별자 및/또는 CVSS 점수를 주장할 충분한 정보가 있는지 판단합니다. 경우에 따라 CISA는 이러한 결정 포인트에서 고위험으로 평가되지 않는 취약점에도 이러한 메트릭을 제공합니다.
원래 CNA가 이러한 필드를 아직 채우지 않은 CVE의 경우, CISA는 이를 뒷받침할 충분한 증거가 있을 때 해당 값을 연결된 ADP 컨테이너에 채웁니다. CISA는 CVE 레코드의 원래 CNA 컨테이너에 있는 원래 CNA의 데이터를 절대 덮어쓰지 않습니다.
이 순서도는 Vulnrichment 프로세스를 보여줍니다. 순서도의 세부 사항은 Vulnrichment 프로세스가 개선됨에 따라 변경될 수 있습니다.
CISA ADP에서 기대할 수 있는 각 종류의 vulnrichment에 대한 몇 가지 CVE 레코드를 살펴보겠습니다.
아래 예시로 사용된 모든 CVE는 제시된 기준에 부합하는 것 중에서 무작위로 선택되었습니다.
CISA ADP가 분석한 모든 CVE에는 세 가지 SSVC 결정 포인트가 나열됩니다. 이 예시에서는 CVE-2024-34974, CVE-2024-25522, CVE-2024-35057을 살펴보겠습니다. 또한 저위험 SSVC 점수인 CVE-2024-33666도 살펴보겠습니다.
CVE-2024-25522는 47번째 줄에 Exploit에 대한 "poc" 값을 가지고 있으며, 이는 분석 시점에 공개된 proof-of-concept이 있었음을 나타냅니다:
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
]
CVE-2024-34974는 50번째 줄에 "Automatable"에 대한 "yes" 값을 가지고 있으며, 이는 공격자가 정찰, 무기화, 전달 또는 악용 방지 기술에 대해 걱정할 필요 없이 일반적으로 이 취약점을 마음대로 악용할 수 있음을 나타냅니다.
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
]
CVE-2024-35057은 59번째 줄에 "Technical Impact"에 대한 "total" 값을 가지고 있으며, 이는 이 취약점을 악용하면 일반적으로 공격자가 영향을 받는 소프트웨어에 대한 완전한 제어권을 얻게 됨을 나타냅니다.
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
]
KEV에 있는 CVE의 경우, CISA ADP는 KEV 블록을 추가합니다. 그렇지 않은 경우에는 업데이트가 발생하지 않습니다.
CVE-2024-4947이 그러한 CVE 중 하나이며, 153번째 줄부터 KEV 블록을 포함합니다:
"other": {
"type": "kev",
"content": {
"dateAdded": "2024-05-20",
"reference": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-4947"
}
}
CVE-2024-3477은 원래 CNA가 CWE를 제공하지 않았고 CISA 분석가가 사용 가능한 취약점 정보의 맥락에서 CWE를 판단할 수 있었던 CVE의 예입니다. 해당 메트릭은 problemTypes 노드 아래 49번째 줄에서 시작합니다:
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"type": "CWE",
"cweId": "CWE-352",
"description": "CWE-352 Cross-Site Request Forgery (CSRF)"
}
]
}
]
CVE-2024-0043은 CISA가 CVSS 계산을 추가한 CVE의 예이며, 30번째 줄에서 시작합니다. 다시 말하지만, 이는 분석 시점에 사용 가능한 취약점 정보의 맥락을 기반으로 합니다.
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
}
2024년 12월 10일부로 CISA는 더 이상 강화된 데이터셋에 CPE 문자열을 추가하지 않습니다. 이전에 강화된 데이터에는 여전히 CPE 정보가 포함되어 있을 수 있습니다. CPE 문자열에 관한 여기의 설명은 역사적 목적을 위한 것입니다.
CVE-2024-1347은 CISA가 CPE 문자열을 추가한 CVE의 예이며, 61번째 줄에서 시작합니다.
"cpes": [
"cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*"
]
CVE-2024-2905는 CISA가 SSVC 분류 단계를 수행했을 때 이미 CWE, CVSS, CPE 메트릭을 가지고 있었고(여기 참조) KEV에 없었기 때문에 더 이상 추가할 필요가 없었던 CVE의 예입니다. 잘했습니다, Red Hat CNA!
CISA ADP는 CNA가 올바른 일을 하고 자체 CWE, CVSS, CPE 데이터를 제공하도록 장려하는 데 전념하고 있으므로, CISA ADP가 평가를 수행한 후 CVE 항목이 해당 데이터를 포함하도록 업데이트되면 CISA ADP는 CVE 항목에서 자체 평가를 제거합니다. 이 접근 방식은 CVE 레코드 내의 중복(및 충돌) 데이터를 줄입니다. 원래 CNA가 제공한 CWE, CVSS 또는 CPE 데이터와 CISA ADP가 제공한 데이터가 모두 있는 드문 경우, 이는 CISA ADP 컨테이너의 오류로 간주되어야 하며 원래 CNA의 데이터가 우선해야 합니다.
SSVC 데이터는 데이터를 생성한 결정 트리에 사용된 SSVC 버전의 스키마와 일치하는 방식으로 인코딩됩니다. 현재 CISA는 CISA Coordinator 트리를 사용하고 있습니다.
SSVC 데이터의 version 필드는 major.minor.patch 규칙을 따르며, major.minor는 SSVC 버전을 나타내고 patch는 결정 트리 버전을 나타냅니다. 현재 CISA 결정 트리의 경우 이는 버전 번호 2.0.3이 됩니다: SSVC 버전 2.0, CISA Coordinator 트리 버전 3.
SSVC 업데이트에 맞춰 결정 트리를 업데이트하면 버전 문자열이 변경됩니다. 이 데이터를 소비하는 사용자는 SSVC 점수를 디코딩할 때 버전을 확인하여 JSON 데이터를 검증하고 처리하는 방법을 결정할 것을 권장합니다.
우리는 IT 사이버보안 전문가 커뮤니티 여러분의 Vulnrichment 및 ADP에 대한 의견을 듣고 싶습니다! 무언가 발견하면 Issues에서 자유롭게 알려주시거나, 더 좋은 방법으로 제안하는 수정 사항과 함께 pull request를 열어주십시오. CNA 컨테이너의 데이터에 문제가 있는 경우 책임 CNA와 직접 해당 문제를 논의할 것을 권장합니다.