요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

2023년 5월 9일 기준 서울의 미세먼지 농도(㎍/m³)는 54, 초미세먼지 농도는 29로 ‘보통’수준으로 나타났다. 대기오염 지수나 신불 위험도, 식중독 지수와 같이 우리 주변의 상당수는 숫자를 통해서 위험도를 제공하는 경우가 많다. 이처럼 수치화를 통해 사이버 보안의 위험도를 식별할 수 있다면 위험을 미리 인지하는 데 도움이 될 것이다. 오늘은 사이버 보안 위험도를 측정할 수 있는 지표 ‘CVSS(Common Vulnerability Scoring System)’에 대해 살펴보고자 한다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

사이버 보안 위험: 숫자로 표현하는 ‘CVSS’

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인
CVSS(Common Vulnerability Scoring System)
<출처: flaticon>

 

2023년 5월 9일 기준 서울의 미세먼지 농도(㎍/m³)는 54, 초미세먼지 농도는 29로 ‘보통’수준으로 나타났다. 대기오염 지수나 신불 위험도, 식중독 지수와 같이 우리 주변의 상당수는 숫자를 통해서 위험도를 제공하는 경우가 많다. 이처럼 수치화를 통해 사이버 보안의 위험도를 식별할 수 있다면 위험을 미리 인지하는 데 도움이 될 것이다. 오늘은 사이버 보안 위험도를 측정할 수 있는 지표 ‘CVSS(Common Vulnerability Scoring System)’에 대해 살펴보고자 한다.

 

CVSS 개요와 발전 현황

CVSS는 사이버 보안에 미치는 취약점의 위험성을 나타내는 수치로, 공통 취약점 등급 시스템(Common Vulnerability Scoring System)을 뜻한다. CVSS는 미국 국립표준기술연구소(NIST)가 지원하는 MITRE의 보안 취약점 관리 체계 ‘CVE(Common Vulnerabilities and Exposure)’ 요소 중 하나로 기밀성, 무결성, 가용성, 취약점의 접근 경로 및 복잡도, 인증 여부, 복잡성 등을 반영하여, 소프트웨어 보안 취약점을 평가하는 지표로 사용되고 있다.

 

공격자가 소프트웨어 취약점을 악용해 미칠 수 있는 영향도를 수치로 표현하여, 보안 위험의 기본적인 평가 지표로 활용할 수 있으며 취약점 우선순위 결정에 영향을 미친다. 위험을 식별할 수 있는 지표로는 CVSS 이외에도 CWSS(Common Weakness Scoring System), CWE(Common Weakness Enumeration), CCE(common configuration enumeration) 등을 활용해 위협 모델링(Threat Modeling)이나 위험 평가 지표로 활용하고 있다.

 

CVSS(Common Vulnerability Scoring System)

 

2005년 미국 국가 인프라 자문위원회(NIAP)가 소프트웨어 취약점에서 발생하는 심각도 표준 제정을 목적으로 만들었다. 그리고 2007년 CVSS V2 발표 이후 불충분한 세분성, 모호한 가이드라인, 점수 인증의 어려움, 접근 복잡성(Access Complexity)의 함정, 접근 벡터(Access Vector) 분류의 한계 등 취약점 점수 산정을 위한 고려사항의 한계점이 드러났다. 이를 보완하기 위해 2015년 CVSS V3가 발표되었다.

 

CVSS(Common Vulnerability Scoring System)

 

또한 CVSS V3로 변화하면서 점수 산정 방식도 변경됐는데, CVSS V2에서는 심각도를 낮음, 중간, 높음까지 3단계로 구분했다면 CVSS V3에서는 5단계로 분류하고 있다.

 

 

CVSS 구성요소 및 활용방안

1) CVSS V3.1 상세 구성요소

2015년 CVSS V3.0이 공개된 이후, 2019년 최신 버전인 CVSS V3.1이 공개되었는데 오늘은 V3.1의 구성요소를 살펴보고자 한다. CVSS V3.1은 크게 기본 점수 지표(Base Score Metrics), 임시 점수 지표(Temporal Score Metrics), 환경 점수 지표(Environmental Score Metrics)의 3가지 지표로 구성되어 있다.

 

CVSS(Common Vulnerability Scoring System)

 

먼저 ‘기본 점수 지표’는 취약점이 발생하는 본질적인 원인을 매핑한 지표로 시간 흐름에도 크게 변화되지 않는다. 반면 ‘임시 점수 지표’는 시간 흐름에 따라 취약점의 악용 가능성 및 보안패치 현황 등에 변화가 발생하는 것에 대한 수치다. 마지막으로 ‘환경 점수 지표’는 조직 내에 구축된 인프라 구성 현황 및 요소에 따라 미치는 기밀성, 무결성, 가용성의 영향도를 의미한다. 동일한 취약점이라도 취약점의 영향도는 상이하게 나타날 수 있다.

 

우선 취약점이 미치는 기본적인 영향도를 파악하기 위해 기본 점수 지표를 구성하는 공격 벡터(Attack Vector), 공격 복잡성(Attack Complexity), 권한 필요 여부(Privileges Required), 사용자 상호작용(User Interaction), 범위(Scope)를 살펴본다. 이에 따라 공격에 사용되는 접점이 네트워크인지, 로컬 환경인지 등을 파악할 수 있으며 취약점으로 인해 미치는 영향도를 확인할 수 있다.

 

2) CVE를 이용한 CVSS 활용방안

다음으로 마이크로소프트 아웃룩의 취약점인 ‘CVE-2023-23397’을 통해 CVSS 활용방법에 대해서 살펴보고자 한다. CVE-2023-23397은 아웃룩의 권한 상승 취약점으로, 공격자가 공격 대상에게 메시지를 발송하면 메일을 열람하지 않아도 권한상승(EoP, Elevation of Privilege)이 발생하여 고위험도에 속하는 취약점이다. NIST에서 관리하는 국가 취약점 데이터베이스(NVD, National Vulnerability Database)의 CVSS 점수를 보면, CVE-2023-23397의 경우 9.8점으로 심각도는 위험에 달한다.

 

CVSS(Common Vulnerability Scoring System)

 

CVSS V3.1 수치를 통해 고위험 취약점임을 알았지만, 구체적으로 9.8이라는 점수가 산정된 과정에 대해 알아보자. NVD에서는 취약점 관리 이외에도 CVSS 점수를 계산할 수 있는 계산기를 제공한다. 이 계산기를 이용해 CVE-2023-23397 취약점을 살펴보면, 기본 점수 지표 영역에서 기밀성, 무결성, 가용성에 미치는 영향이 모두 높은 것을 알 수 있다. 하지만 해당 정보만 가지고 CVSS의 영향도를 직관적으로  이해하기 어렵다.

 

CVSS(Common Vulnerability Scoring System)

 

따라서 개발자 찬단(Chandan)이 만든 ‘CVSS Calculator’를 사용하면 보다 직관적으로 취약점이 미치는 영향도를 확인할 수 있다. 앞서 NVD 계산기를 사용한 내용과 동일한 결과지만, CVSS에 사용된 요소별로 보다 상세한 영향도를 확인할 수 있다. 공격 벡터는 네트워크를 통해 공격이 가능하다는 점과 공격 복잡도가 낮아서 취약점을 쉽게 악용할 수 있다는 것을 알 수 있다.

 

CVSS(Common Vulnerability Scoring System)

 

 

CVSS의 한계와 사용 시 주의사항

1) CVSS 버전에 따른 심각도 변화

CVSS는 위협 모델링 및 모의 침투 등 공격 벡터 식별이나, 위험도 우선순위 산정에 활용할 수 있지만 적용 범위와 환경요소 등에 따라 버전별 위험도가 다르게 나타날 수 있다.

 

CVSS V2와 V3의 점수 산정방식을 비교해보면, V2보다 V3의 점수가 양극화되는 것을 알 수 있다. CVSS V2에서 심각도가 낮음과 중간에 해당하던 취약점이 V3에서는 점수가 낮아졌고, V2에서 높음에 해당하던 취약점은 V3에서 더 높은 점수를 받았다.

 

CVSS(Common Vulnerability Scoring System)

 

Apache Struts2 취약점(CVE-2019-0230)에서 살펴보면, CVSS V2.0으로 산정한 점수는 7.5로 높음(High)에 해당됐는데, CVSS 3.1로 산정한 점수는 9.8로 위험(Critical) 수준이 되었다.

 

CVSS V3.1 =AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS V2.0 = AV:N/AC:L/Au:N/C:P/I:P/A:P

 

사실 CVSS V2에는 위험(Critical)이라는 기준이 없어, CVSS V3에서 상대적으로 위험도가 높은 취약점이 증가할 수밖에 없다. 하지만 동일한 취약점이라도 CVSS 버전에 따라 점수와 위험도가 다르게 나오는 것은 취약점을 조치하는 과정에 영향을 미치게 된다. 점수가 높을수록 위험도가 높다는 것을 의미하기 때문이다. 다른 취약점에 비해 위험도가 높아 먼저 조치했지만, 실제 영향도는 그보다 낮을 수도 있다.

 

2) CVSS 지표가 늘 위험한 것은 아니다

다음으로 고려할 것은 CVSS 수치가 높다고 해서 무조건 위험하진 않다는 점이다. CVSS 점수에는 ‘기본 점수 지표’가 중요한 영향을 끼친다. 문제는 기본 점수 지표에는 시간 흐름에 따라 변화되는 요소가 반영되지 않는다는 점이다. 공격자들이 사용하는 공격 코드의 공개 여부, 보안 업데이트 가능 여부 등은 CVSS 점수에 반영되지 않을 수 있어서, 실제 영향도는 훨씬 낮아질 수 있다.

 

‘환경 점수 지표’도 마찬가지다. CVSS V3.1 기준으로 10점 만점을 받은 ‘CVE-2021-44228 취약점’을 예시로 살펴보면, 해당 취약점은 log4j-core이 적용된 환경에서만 취약점이 발현되기 때문에 log4j-core가 없는 환경에서는 취약점의 영향도가 없다. 하지만 취약점이 발생하는 조건인 log4j-core 사용 여부를 확인하지 않고, CVSS 수치만 보고 취약점의 우선순위를 선정한다면 불필요한 리소스만 사용하게 되는 것이다.

 

 

위험 측정을 위한 이정표

"측정할 수 없다면 관리할 수 없고, 관리할 수 없으면 개선할 수도 없다."

 

경영관리에서 측정의 중요성을 역설한 경영학자 피터 드러커의 명언이다. 우리가 시간과 비용의 현실적인 한계를 극복하고, 보안 위험을 관리하기 위해서는 CVSS를 통한 위험 가시화와 우선순위 반영이 필요하다. 다만 피터 드러커의 명언에 숨어 있는 본질을 간과해서는 안 된다. 인과관계가 명확하지 않거나 시간 변화에 따른 영향도 변화가 반영되지 않는다면, CVSS라는 측정지표는 새로운 딜레마를 야기할 수도 있다.

 

또한 CVSS를 활용하며 고민해야 할 점은 CVSS 지표가 절대적인 지표는 아니라는 것이다. 소프트웨어 취약점의 위험도를 식별할 수 있는 가시적인 수치이지만, 익스플로잇 킷(Exploit Kit) 공개 여부, 사이버 공격자 활용 현황, 보안패치, 완화 방안 존재 여부 등 사이버 보안에 미치는 영향도는 다양하다는 점을 생각해야 한다.

 

완벽한 보안은 현실적으로 불가능하다. CVSS 역시 보안 위험을 최소화하기 위한 위험 측정지표 중 하나로, 위험 지표를 완벽하게 제시하는 것은 현실적으로 어렵다. 다만 CVSS를 통해 정량적인 사이버 보안 위험 지표를 확인하고, 취약점이 미치는 영향을 고려한다면 보다 안전한 IT 생태계를 만들어 나갈 수 있을 것이다.

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 0
정보관리기술사 보안전문가
27
명 알림 받는 중

작가 홈

정보관리기술사 보안전문가
27
명 알림 받는 중
정보관리기술사로서 보안전문가로 일하고 있습니다.
다양한 방면의 보안지식 공유를 통해 즐거움을 느낍니다.

좋아요

댓글

스크랩

공유

공유

요즘IT가 PICK한 뉴스레터를 매주 목요일에 만나보세요

요즘IT가 PICK한 뉴스레터를
매주 목요일에 만나보세요

뉴스레터를 구독하려면 동의가 필요합니다.
https://auth.wishket.com/login