취약점 심각도 평가 체계(CVSS)와 Base Score 산정 기준 안내
페이지 정보
작성자 최고관리자 작성일26-05-11 13:48 조회68회 댓글0건관련링크
본문
*본 공지는 CVSS v3.1 버전을 기반으로 작성되었습니다.
CVSS(Common Vulnerability Scoring System)란 정보보안 취약점의 심각도(Severity)를 정량적으로 평가하기 위한 국제 표준 체계입니다.
현재는 FIRST(Forum of Incident Response and Security Teams)라는 국제 비영리 보안 협의체 에서 관리하고 있으며,
CVE 취약점의 심각도를 평가하는 사실상의 업계 표준으로 활용되고 있습니다.
대표적으로 다음과 같은 분야에서 사용됩니다.
- NIST의 NVD(National Vulnerability Database)
- Microsoft 보안 공지
- Cisco PSIRT
- VMware 보안 권고
- 취약점 진단 보고서
- ISMS-P / ISO 27001 기반 위험 평가
- 보안 관제 우선순위 결정
CVSS의 점수는 다음과 같은 구조로 구성됩니다.
- Base Score : 취약점 자체의 고정 적인 특성
- Temporal Score : 시간 경과에 따른 변화
- Environmental Score : 조직 환경 별 영향
실무에서는 일반적으로 Base Score를 기준으로 취약점의 기본 심각도를 판단합니다.
다만 CVSS는 취약점 자체의 기술적 심각도를 평가하는 기준이므로, 실제 운영 환경의 자산 중요도, 인터넷 노출 여부, 보안통제 적용 여부 등의 요소는 별도로 고려해야 합니다.
CVSS Calculator는 각 메트릭 값을 입력하면 CVSS Vector String과 최종 점수를 자동으로 계산해주는 도구입니다.
아래 링크를 통해 점수를 직접 산정해보실 수 있습니다.
(FIRST 공식 홈페이지) https://www.first.org/cvss/calculator/3.1
CVSS Vector String을 살펴보면 다음과 같은 형식으로 표현됩니다.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
이번 글에서는 최종 점수가 어떤 기준으로 산정되는지 이해할 수 있도록,
Base Score의 주요 메트릭과 평가 기준을 중심으로 설명 드리겠습니다.
[1] Base Score 지표 설명
1. Attack Vector(AV) - 공격 벡터
공격자가 취약점을 악용하기 위해 접근해야 하는 경로가 무엇인지 나타내는 지표입니다.
공격 가능 범위가 넓고 접근 난이도가 낮을수록 더 높은 위험도로 평가됩니다.
2. Attack Complexity(AC) - 공격 복잡성
취약점을 성공적으로 악용하기 위해 필요한 조건의 복잡도를 의미합니다.
특수 조건 없이 반복적으로 공격 가능한 경우 더 높은 위험도로 평가됩니다.
3. Privileges Required(PR) - 필요한 권한
공격 수행 전에 필요한 권한 수준을 평가합니다.
사전권한이 거의 없거나 불필요한 경우 위험도가 높게 산정됩니다.
4. User Interaction(UI) - 사용자 상호작용
공격 성공을 위해 사용자의 클릭, 실행, 다운로드 등의 행위가 필요한지를 평가합니다.
사용자 개입이 필요하지 않을수록 실제 공격 가능성이 높다고 판단됩니다.
5. Scope(S) - 범위
취약점 악용 시 영향이 동일 보안 영역 내부에 머무르는지, 또는 다른 시스템·권한 영역까지 확장되는지를 나타냅니다.
영향범위가 확장될 경우 보안 영향도가 크게 증가합니다.
6. Confidentiality(C) - 기밀성
민감정보 유출이나 비인가 접근 가능성을 평가합니다.
중요 정보가 광범위하게 노출될 가능성이 높을수록 높은 점수가 부여됩니다.
7. Integrity(I) - 무결성
데이터 변조, 삽입, 삭제 등 무결성 훼손 가능성을 평가합니다.
시스템이나 데이터의 신뢰성이 크게 손상될수록 위험도가 높게 산정됩니다.
8. Availability(A) - 가용성
서비스 중단 또는 시스템 사용 불가 상태로 이어질 가능성을 평가합니다.
서비스 운영에 치명적인 영향을 줄 경우 높은 위험도로 평가됩니다.
[2] 공격벡터 (Attack Vector)
- Network (N)
취약한 구성 요소가 네트워크 스택에 바인딩된 경우, 잠재적 공격자의 범위는 다른 공격 벡터 유형보다 훨씬 넓어지며, 이론적으로 인터넷 전체의 불특정 공격자를 포함합니다.
이러한 유형의 취약점은 일반적으로 "원격 악용 가능(Remotely Exploitable)" 취약점으로 분류되며, 공격자가 동일 네트워크 세그먼트에 위치할 필요 없이 하나 이상의 라우터를 경유하는 네트워크 경로(홉)를 통해 공격을 수행할 수 있습니다.
- Adjacent (A)
취약한 구성 요소가 네트워크 스택에 바인딩되어 있으나, 공격 가능 범위는 프로토콜 수준에서 논리적으로 인접한 네트워크 토폴로지로 제한됩니다. 즉, 공격자는 피해 시스템과 동일한 물리적 네트워크(예: Bluetooth, IEEE 802.11 무선랜) 또는 논리적 네트워크(예: 로컬 IP 서브넷) 내에 위치하거나, MPLS·VPN·관리 네트워크 구역과 같이 보안 또는 행정적으로 통제된 도메인 내부에서만 공격을 시도할 수 있습니다.
인접(Adjacent) 공격 벡터의 대표적 사례로는 ARP 플러딩(IPv4) 또는 이웃 탐색 프로토콜(Neighbor Discovery, IPv6) 플러딩을 통해 로컬 LAN 세그먼트 내에서 서비스 거부(DoS) 상태를 유발하는 공격을 들 수 있습니다.
- Local (L)
취약한 구성 요소는 네트워크 스택에 바인딩되지 않으며, 공격자의 접근 경로는 네트워크가 아닌 해당 시스템에 대한 읽기(Read)·쓰기(Write)·실행(Execute) 권한을 통해 이루어집니다.
- Physical (P)
해당 공격 벡터는 공격자가 취약한 구성 요소에 물리적으로 접촉하거나 직접 조작하는 행위를 전제로 합니다. 물리적 상호작용의 지속 시간은 단기적(예: 악의적 내부자에 의한 이블 메이드 공격, Evil Maid Attack)일 수도 있고, 지속적일 수도 있습니다.
대표적 사례는 다음과 같습니다.
콜드 부트 공격(Cold Boot Attack) : 공격자가 대상 시스템에 물리적으로 접근한 후, 메모리(RAM)에 잔존하는 데이터를 추출하여 디스크 암호화 키를 탈취하는 공격
FireWire/USB DMA 공격 : FireWire 또는 USB 인터페이스를 통한 직접 메모리 접근(Direct Memory Access)을 악용하는 주변 장치 기반 공격
[3] 공격 복잡성 (Attack Complexity)
- Low (L)
공격 성공을 위한 특수한 접근 조건이나 불가피한 상황이 존재하지 않으며, 공격자는 취약한 구성 요소에 대한 공격 시 별도의 전제 조건 없이 반복적이고 안정적인 성공을 기대할 수 있습니다.
- High (H)
공격이 성공하기 위해서는 공격자가 통제할 수 없는 외부 조건이 충족되어야 합니다. 즉, 공격자는 임의의 시점에 공격을 수행할 수 없으며, 성공적인 공격을 실현하기 위해 취약한 구성 요소에 대한 사전 준비 또는 공격 실행 과정에 측정 가능한 수준의 추가적인 노력을 투입해야 합니다.
[4] 필요한 권한 (Privileges Required)
- None (N)
공격자는 공격 수행 전 별도의 인가(Authorization)가 없으며, 취약한 시스템의 설정 파일이나 리소스에 대한 사전 접근 권한 없이도 공격을 수행할 수 있습니다.
- Low (L)
공격자는 일반 사용자 수준의 기본 권한을 필요로 하며, 해당 권한으로는 자신이 소유한 설정 및 파일에 한정된 영향만 미칠 수 있음. 또한 권한이 낮은 공격자는 비민감(Non-sensitive) 리소스에 대한 접근만 가능합니다.
- High (H)
공격자는 취약한 구성 요소에 대한 관리자(Administrator) 수준의 상당한 제어 권한을 필요로 하며, 해당 권한을 통해 구성 요소 전체의 설정 및 파일에 접근할 수 있습니다.
[5] 사용자 참여 정도 (User Interaction)
- None (N)
취약한 시스템은 사용자의 별도 개입 없이 공격에 악용될 수 있습니다.
- Required (R)
해당 취약점의 공격이 성공하기 위해서는 취약점 악용 이전에 사용자의 특정 행위가 선행되어야 합니다.
예를 들어, 시스템 관리자가 애플리케이션을 설치하는 시점에만 공격이 성공할 수 있는 경우가 이에 해당합니다.
[6] 공격범위 (Scope)
- Changed (C)
악용된 취약점은 취약한 구성 요소의 보안 권한 범위를 초과하여 외부 리소스에 영향을 미칠 수 있습니다.
이 경우 취약한 구성 요소와 영향을 받는 구성 요소는 서로 상이하며, 각각 독립된 보안 주체(Security Authority)에 의해 관리됩니다.
- Unchanged (U)
악용된 취약점의 영향은 동일한 보안 주체(Security Authority)가 관리하는 리소스 범위 내로 한정됩니다.
이 경우 취약한 구성 요소와 영향을 받는 구성 요소는 동일하거나, 동일한 보안 주체의 관리 하에 있습니다.
[표7] 기밀성 (Confidentiality)
- High (H)
기밀성이 완전히 손실되어 영향을 받는 구성 요소 내의 모든 리소스가 공격자에게 노출됩니다.
또는 일부 제한된 정보만 접근 가능한 경우라도, 노출된 정보가 직접적이고 심각한 피해를 초래하는 경우 이에 해당합니다.
대표적 사례로는 공격자가 관리자 계정의 패스워드 또는 웹 서버의 개인 암호화 키를 탈취하는 경우를 들 수 있습니다.
- Low (L)
기밀성 손실이 부분적으로 발생하며, 일부 제한된 정보에 대한 접근이 가능한 상태입니다.
단, 공격자는 획득하는 정보의 종류나 범위를 통제할 수 없거나, 손실되는 정보의 양 및 유형이 제한적입니다.
해당 정보의 노출이 영향을 받는 구성 요소에 직접적이고 심각한 피해를 초래하지는 않습니다.
- None (N)
영향을 받은 구성요소 내에서 기밀성 손실이 없습니다.
[8] 무결성 (Integrity)
- High (H)
무결성이 완전히 손실되거나 보호 기능이 전면적으로 상실된 상태입니다.
예를 들어, 공격자가 영향을 받는 구성 요소에 의해 보호되는 파일 전체를 수정할 수 있는 경우가 이에 해당합니다.
또는 일부 파일에 대한 수정만 가능한 경우라도, 해당 악의적 수정이 영향을 받는 구성 요소에 직접적이고 심각한 결과를 초래하는 경우 이에 해당합니다.
- Low (L)
데이터 수정은 가능하나, 공격자가 수정 결과를 통제할 수 없거나 수정 가능한 범위가 제한적입니다.
해당 데이터 수정이 영향을 받는 구성 요소에 직접적이고 심각한 피해를 초래하지는 않습니다.
- None (N)
영향을 받은 구성요소 내에 무결성의 손실이 없습니다.
[표9] 가용성 (Availability)
- High (H)
가용성이 완전히 손실되어 공격자가 영향을 받는 구성 요소의 리소스에 대한 접근을 전면적으로 차단할 수 있습니다.
해당 손실은 공격이 지속되는 동안 유지되거나, 공격 종료 이후에도 상태가 지속되는 영구적 형태로 나타날 수 있습니다.
또는 공격자가 가용성의 일부만 차단 가능한 경우라도, 해당 손실이 영향을 받는 구성 요소에 직접적이고 심각한 결과를 초래하는 경우 이에 해당합니다.
대표적 사례는 다음과 같습니다.
- 공격자가 기존 연결은 차단할 수 없으나 신규 연결 수립을 방해할 수 있는 경우
- 공격 1회당 소량의 메모리 누수(Memory Leak)를 유발하는 취약점을 반복 악용하여, 누적 공격 이후 서비스가 완전히 중단되는 경우
- Low (L)
시스템 성능이 저하되거나 리소스 가용성이 간헐적으로 중단되는 수준의 영향이 발생합니다.
취약점에 대한 반복 공격이 가능한 경우에도, 공격자는 정상 사용자에 대한 서비스를 완전히 차단할 수 있는 능력을 보유하지 않습니다.
영향을 받는 구성 요소의 리소스는 부분적으로 또는 일시적으로만 가용성이 저하되며, 전반적으로 직접적이고 심각한 피해를 초래하지는 않습니다.
- None (N)
영향을 받은 구성요소 내에서 가용성에 영향을 미치지 않습니다.
[10] CVE-2017-0144 적용 예시
과거 전 세계적으로 큰 피해를 일으켰던 WannaCry 랜섬웨어(CVE-2017-0144)를 기준으로 적용 예시를 들어보겠습니다.
- Attack Vector (AV) : Network(N)
SMBv1 서비스가 445/TCP 포트를 통해 네트워크 스택에 바인딩된 상태로 동작하며, 공격자는 인터넷을 통해 원격으로 악성 패킷을 전송하여 공격을 수행할 수 있습니다.
피해 시스템과의 물리적 접근 또는 네트워크 인접성이 불필요합니다.
- Attack Complexity (AC) : Low(L)
대상 시스템에 SMBv1이 활성화되어 있고 MS17-010 패치가 미적용된 상태이면, 공격자가 별도의 특수 조건 준비 없이 반복적으로 공격을 수행할 수 있습니다.
공개된 익스플로잇 코드(Metasploit 등)를 통해 공격 재현이 용이한 수준입니다.
- Privileges Required (PR) : Low(L)
NVD는 SMB 세션 수립 과정에서 최소한의 네트워크 접근 권한이 요구된다고 판단하여 Low로 등록했습니다.
완전한 무인증(None) 공격으로 보는 시각도 존재하나, NVD 공식 등록값 기준으로는 Low가 적용되었습니다.
- User Interaction (UI) : None(N)
피해 시스템의 사용자 개입이 전혀 불필요합니다.
공격자가 네트워크를 통해 악성 SMB 패킷을 전송하는 것만으로 공격이 완결되며, 피해자의 클릭·실행 등 어떠한 행위도 요구되지 않습니다.
- Scope (S) : Unchanged(U)
취약점의 영향이 SMB 서비스 및 해당 시스템 범위 내로 한정됩니다.
취약한 구성 요소(SMB 서비스)와 영향을 받는 구성 요소(해당 시스템)가 동일한 보안 주체 관리 하에 있는 것으로 판단됩니다.
- Confidentiality Impact (C) : High(H)
공격자는 시스템 내 모든 파일 및 데이터에 접근 가능한 SYSTEM 권한을 획득합니다.
이를 통해 암호화 키, 자격증명, 민감 데이터 등 모든 리소스가 노출될 수 있습니다.
- Integrity Impact (I) : High(H)
SYSTEM 권한 획득 이후 공격자는 시스템 내 모든 파일을 수정·삭제·암호화할 수 있습니다.
WannaCry의 경우 랜섬웨어 페이로드가 파일 전체를 암호화하여 무결성을 완전히 훼손합니다.
- Availability Impact (A) : High(H)
랜섬웨어 페이로드 실행으로 인해 시스템 내 파일이 전면 암호화되어 서비스 및 데이터에 대한 접근이 완전히 차단됩니다.
해당 상태는 공격 종료 이후에도 지속되는 영구적 형태의 가용성 손실에 해당합니다.
이를 종합하면 최종적으로 아래와 같은 CVSS Vector String과 점수가 산정됩니다.
High - 8.8
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
이번글에서는 CVSS의 핵심 개념과 Base Score 산정 기준에 대해서 간단히 살펴보았습니다.
본 공지가 CVSS에 대한 이해와 취약점 위험도 해석에 도움이 되었기를 바랍니다.
당사는 기술적 취약점 진단 역량과 관리체계 중심의 보안 컨설팅 노하우를 결합하여
고객사별 최적의 보안 전략을 제시하는 종합 보안 컨설팅 서비스를 제공하고 있습니다.
전문적인 보안 컨설팅 문의 및 상담이 필요하신 경우,
언제든지 SecuMaster 홈페이지의 컨설팅 서비스 또는 한국정보보안원 홈페이지의 카카오톡 챗봇을 통해 문의해주시기 바랍니다.


