flawopen.com/CWE와 CVE
CWE와 CVE: 무엇이 다른가
CWE는 약점의 유형을 나타내고, CVE는 취약점 기록을 식별합니다. 하나의 약점 유형이 여러 CVE에 나타날 수 있고, 하나의 CVE가 서로 연결된 약점을 포함할 수도 있습니다. CWE 매핑이 없는 CVE 기록도 있습니다.
구체적으로 생각하는 방법
CWE는 약점을 분류하고 CVE ID는 특정 취약점 기록을 식별합니다. 둘은 일대일 관계가 아닙니다. 하나의 약점이 여러 CVE의 원인이 될 수 있고, 하나의 CVE에 약점 체인이 포함될 수도 있습니다. MITRE의 CWE-126 항목은 Heartbleed(CVE-2014-0160)를 사례로 듭니다. 길이를 일관되게 처리하지 않은 문제(CWE-130)가 버퍼 범위를 벗어난 읽기(CWE-126)를 가능하게 했습니다. CVE는 하나의 취약점 기록이며 두 CWE는 실패 체인의 서로 다른 단계를 나타냅니다.
이 사이트에서 둘의 관계
취약점 클래스 × 언어 매트릭스(Python의 SQL 인젝션, Java의 XSS 등)는 CWE 범주를 중심으로 구성됩니다. 특정 제품의 이력이 아니라 일반적인 패턴과 그 회피 방법을 다룹니다.
특정 CVE가 다룰 만큼 충분히 중요하고 폭넓게 관련될 때는 자체 해설이 마련되어 해당 CWE 클래스로 다시 연결됩니다. 하지만 모든 CVE가 그렇지는 않습니다. 대부분은 단일 제품/버전에 국한되기 때문입니다.
FAQ
MITRE는 CWE 목록을 유지 관리합니다. CWE와 CVE는 상호 보완적인 역할을 하는 별도 프로그램이며, CVE 기록은 CVE Numbering Authority(CNA)가 작성합니다. NVD는 CVE 데이터를 사용하고 자체 CWE 매핑 등 보강 정보를 추가할 수 있는 NIST의 별도 프로그램입니다. NVD 매핑이 CNA의 원래 분류와 같다고 단정할 수 없습니다.
아니요. CVE 기록에 구체적인 CWE 매핑이 없을 수 있습니다. 예를 들어 CVE-2021-27823에 대해 NVD는 NVD-CWE-noinfo(“정보 부족”)를 표시합니다. NVD는 CNA가 제공한 CWE 정보와 자체 보강 정보를 함께 표시할 수 있습니다. CWE 라벨은 분류 메타데이터로 봐야 하며, 기록이 근본 원인이나 체인 전체를 설명한다는 증거는 아닙니다.