Last Updated on 1월 18th, 2024, By
 In AppSealing News, 앱실링 블로그

소프트웨어에 존재하는 취약점을 악용하는 사이버공격이 급증하는 가운데 취약점 관리의 중요성도 높아지고 있습니다. 기존 취약점의 중요성을 정확히 이해하지 못하면 큰 문제가 일어날 수 있습니다. 소송과 금전 및 브랜드 평판에 대한 피해까지 입을 수 있습니다. 적절한 취약점 관리 프로그램을 준비해야 최근의 사이버보안 문제에 대응할 수 있습니다. 소프트웨어의 취약점은 그 중대성과 영향을 정확히 파악해야 적절한 보안 조치로 대응할 수 있습니다.

CVSS는 취약점의 심각도를 파악하는 표준화된 방법입니다. 취약점에 점수를 부여하여 대응의 우선순위를 결정합니다. 이 문서를 읽고 CVSS의 버전, 여러 메트릭 그룹, 점수계산법에 대해 자세히 확인하실 수 있습니다.

CVSS

CVSS는 “공통 취약점 등급 시스템(Common Vulnerability Scoring System)”을 의미합니다. 소프트웨어 취약점의 특성과 심각도를 파악하는 데 도움이 되는 개방형 프레임워크입니다. 벤더 자체적인 등급 시스템을 이용하는 경우 취약점에 대한 대응이 복잡해질 수 있습니다. CVSS를 이용하면 조직은 통일된 등급 방식으로 여러 소프트웨어에 걸친 IT 취약점의 심각도를 평가할 수 있습니다. CVSS 점수를 통해 즉시 개선이 필요한 취약점의 우선순위를 결정할 수 있습니다.

CVSS는 2005년에 NIAC에서 최초로 소개한 개념입니다. 현재는 국제 사고대응 및 보안팀 협회(FIRST)에서 관리합니다. FIRST의 CVSS 이해당사자 그룹(SIG)이 CVSS 프레임워크의 최초 설계와 신규 버전의 공식을 다듬는 작업을 맡았습니다. CVSS SIG는 다양한 산업 분야의 대표들로 구성됩니다.

CVSS Versions

CVSS는 도입 후 여러 수정이 있었습니다. 지금까지 총 3가지 버전이 발표되었습니다. 이를 각각 살펴보겠습니다.

CVSS v1

CVSS v1은 2005년에 미국 국가 인프라 자문위원회(NIAP)에서 발표했습니다. 이는 소프트웨어 내 취약점의 심각도에 대한 표준을 제정하는 것이 목적이었습니다.

CVSS v2

CVSS v1의 단점을 개선하여 v2가 제정되었습니다. 2007년에 발표된 CVSS v2는 v1보다 크게 발전한 버전입니다. 비일관성을 줄이고 IT 취약점의 실제적 특성을 반영하면서 세부적 측면을 강화했습니다.

CVSS v3

다만 v2 역시 문제가 많아 2015년에 v3이 공개되었습니다. CVSS v3은 취약점 악용에 필요한 권한 및 해커가 취약점 악용 후 시스템에 진입할 기회와 같은 우려를 다룹니다. 이를 개선한 CVSS v3.1이 2019년에 발표되었습니다.

CVSS 메트릭 그룹

CVSS 점수는 기초, 시간, 환경 등 3가지 메트릭 그룹으로 구성됩니다. 아래에서 각 그룹에 대해 알아보겠습니다.

기초 메트릭

기초 메트릭 그룹은 취약점의 특성을 나타냅니다. 이 특성은 여러 사용자 환경에서 동일합니다. 기초 메트릭 그룹은 악용가능성, 범위, 영향 등 3가지 하위 요소로 구성됩니다.

  1. 악용가능성 메트릭

    악용가능성 메트릭은 취약점을 악용하는 데 필요한 기술적 수단과 악용의 용이성을 나타냅니다.
    이 메트릭은 공격 벡터, 공격 복잡성, 필요한 권한, 사용자 상호작용 등 4가지 하위 구성요소로 이루어집니다.

    • 공격 벡터: 공격 벡터는 취약점 악용에 필요한 접근의 수준을 나타냅니다. 원격으로 악용될 수 있는 취약점에 가장 높은 점수가, 물리적으로 접근해야만 악용 가능한 취약점에 가장 낮은 점수가 부여됩니다.
    • 공격 복잡성: 이는 공격자가 성공적으로 취약점을 악용할 수 있는 통제의 범위를 벗어난 요인들에 따라 결정됩니다. 추가적인 노력을 기울여야 악용이 가능한 취약점에 높은 점수가, 그렇지 않은 취약점에는 낮은 점수가 부여됩니다.
    • 필요한 권한: 이 점수는 공격자가 취약점을 악용하는 데 필요한 권한의 수준에 따라 결정됩니다. 공격자가 관리자 권한을 구해야 악용할 수 있는 취약점에 높은 점수가, 그 반대로 권한이 필요없는 취약점에는 최저 점수가 부여됩니다.
    • 사용자 상호작용: 이는 공격자가 다른 사용자의 도움을 받아야 하는지 여부를 나타냅니다. 공격자가 외부 도움 없이 작업을 완료할 수 있을수록 점수는 높아집니다.
  2. 범위

    이는 시스템 내 여러 구성요소들 간에 영향을 주고받으면서 취약점이 발생할 가능성을 말합니다. 한 취약점에 대한 악용이 성공하면서 시스템의 다른 부분에 접근할 수 있는 경우 범위 점수가 높아집니다.

  3. 영향

    영향은 공격의 결과를 가리키는 기초 메트릭입니다. 영향 메트릭의 하위 수치에는 기밀성, 무결성, 가용성이 있습니다.

    • 기밀성 점수는 공격자가 악용 후 접근할 수 있는 데이터의 양에 따라 결정됩니다.
    • 무결성은 공격자가 목표 시스템의 데이터를 조작할 수 있는 범위를 말합니다.
    • 가용성 점수는 공격 후 승인된 사용자에 대한 시스템의 가용성에 따라 결정됩니다. 공격 후 사용자들이 시스템을 이용할 수 없는 경우 점수가 높아집니다.

시간 메트릭

시간 메트릭은 시간에 따라 변화하는 취약점의 특성을 반영합니다. 다만 여러 사용자 환경을 반영하지는 않습니다. 여기서는 현재 악용가능성과 대응 요소의 가용성을 중요하게 다룹니다. 시간 메트릭의 하위 구성요소에는 악용 코드의 성숙도, 대응 수준, 보고 신뢰도가 있습니다.

  • 악용 코드의 성숙도: 취약점은 이를 악용할 방법이 존재하기 전까지 문제가 되지 않습니다. 하지만 악용 코드가 성숙하고 널리 퍼지면서 위험이 높아지고 이 점수도 높아집니다.
  • 대응 수준: 이 점수는 적절한 대응책이 마련되어 해당 취약점을 해소할 수 있게 되면서 높아집니다.
  • 보고 신뢰도: 이는 악용 가능한 실제 취약점의 존재에 대한 신뢰도를 나타냅니다.

환경 메트릭

이 메트릭은 사용자의 환경을 고려한 취약점의 특성을 나타냅니다. 이를 이용하여 보안 요건과 기초 메트릭의 조정에 따라 기초 CVSS 점수를 조정할 수 있습니다.

  • 보안 요건: 기밀성, 무결성, 가용성의 측면에서 IT 자산의 중요성을 고려합니다. 이를테면 고객 데이터와 같은 핵심 자산의 취약점에는 권한이 없는 사용자 워크스테이션의 취약점보다 높은 점수가 부여됩니다.
  • 수정된 기초 메트릭: CVSS 기초 메트릭은 조직이 취하는 완화 노력에 따라 조정할 수 있습니다. 외부 네트워크 연결 해제와 같은 해킹 시도를 막는 취약점 관리 기법을 통해 공격 벡터 메트릭 점수를 낮출 수 있습니다.

CVSS 점수

CVSS 점수는 0.0~10.0으로 부여합니다. 기초 점수는 악용가능성 점수와 영향 점수를 바탕으로 합니다. 이는 필수 점수이며 시간 및 환경 점수는 선택사항입니다. 다만 기초 점수는 시간 및 환경 메트릭을 통해 조정할 수 있습니다. 이를 통해 특정 환경 내 취약점에 대해 특정 시점의 심각성을 보다 깊이 이해할 수 있습니다.

즉 시간 및 환경 메트릭을 이용하여 보다 정확한 점수를 구할 수 있습니다. 기초 및 시간 메트릭은 취약점의 특성을 가장 정확히 이해하는 애널리스트나 벤더가 제공하는 것이 일반적입니다. 환경 점수는 자신의 컴퓨팅 환경 내 취약점의 영향을 가장 잘 알고 있는 최종 사용자인 조직이 계산합니다.

이 메트릭은 해커가 취약점을 감지했다는 가정 하에 점수를 부여합니다. 감지에 이용한 방법은 고려할 필요가 없습니다. 자세한 취약가능성, 영향, 범위 메트릭 배점 방식은 여기를 클릭해 확인해주세요.

CVSS 점수 계산기

앱 개발자는 CVSS 점수 계산기를 이용하여 취약점 점수를 쉽게 구할 수 있습니다. 이 계산기는 CVSS v3 표준에 명시된 공식을 이용합니다. 해당 취약점에 정확한 메트릭값을 입력해야 정확한 점수를 구할 수 있습니다. 전체 기초 메트릭에 값을 입력해야 합니다. 누락값이 있을 시 결과가 표시되지 않습니다.

이 경우 값을 모두 입력하라는 알림이 표시됩니다.

값들을 입력하며 아래와 같은 벡터 스트링과 함께 CVSS 점수가 표시됩니다. 벡터 스트링은 메트릭 값을 문자로 나타낸 것입니다. 전체 기초 메트릭을 선택하면 URL에 벡터 스트링이 추가됩니다. 기초 메트릭을 수정하면 벡터 스트링도 업데이트됩니다. 이 벡터 스트링으로 URL을 복사하여 나중에 메트릭과 점수를 다시 볼 수 있습니다.

여기를 클릭하면 계산기의 작동 원리와 취약점 점수를 구하는 방법을 볼 수 있습니다.

CVSS 범주

CVSS 점수의 뜻을 정확히 이해할 수 있도록 NVD에서 정성적 심각도 평점을 제공하며 CVSS v2.0 기초 메트릭에 대해 이 점수를 낮음, 중간, 높음으로 분류합니다. CVSS v3.0의 경우 여기에 ‘없음’과 ‘심각’이 추가됩니다.

기초 점수 범위와 CVSS v2.0 및 CVSS v3.0에서 해당하는 범주는 아래와 같습니다.

 

CVSS v2.0 범주

심각도 기초 점수 범위
낮음 0.0 – 3.9
중간 4.0 – 6.9
높음 7.0 – 10.0

CVSS v3.0 범주

심각도 기초 점수 범위
없음 0.0
낮음 0.1 – 3.9
중간 4.0 – 6.9
높음 7.0 – 8.9
심각 9.0 – 10.0

 

CVSS의 한계

CVSS 점수를 이용하면 취약점의 심각도를 파악하는 데 도움이 되지만 위험관리도구로 CVSS를 이용하기에는 몇 가지 문제가 있습니다. 그 중에서도 가장 중요한 문제는 기초 점수와 범주만 공개되며 이는 특정 환경에 취약점이 미치는 영향을 평가하기에 부족하다는 점입니다. CVSS 점수는 악용의 가능성이나 잠재적 영향을 반영하지 않습니다.

CVSS 점수가 높을 시 해당 취약점으로 강한 위험이 발생할 수 있다고 판단하지만 실제 위험의 정도는 상황에 따라 달라집니다. CVSS 점수는 배경상황과 시점을 반영하지 못하므로 특정 조직의 실제 상황도 반영하지 못합니다. 점수가 높은 특정 취약점이라도 특정 조직에는 악용하지 못할 수 있습니다. 반대로 점수가 낮은 취약점이라도 목표물에 따라 엄청난 영향을 미칠 수 있습니다.

즉 배경상황이 중요하며 점수에만 의존하지 않고 우리 조직에 중요한 자산을 모두 보호해야 합니다. 공격자들은 달성하려는 목표를 바탕으로 취약점을 악용합니다. 점수가 낮은 취약점을 악용하는 것이 해커에게 더 많은 이익을 줄 수 있으며 점수가 높은 취약점에만 초점을 맞추면 다른 핵심 데이터를 노출된 상태로 둘 수 있습니다.

보안팀은 이러한 폭넓은 상황을 고려하여 취약점의 우선순위를 부여해야 합니다. 최종 목적은 최고 CVSS 점수를 받은 취약점을 개선하는 데 모든 자원을 투입하는 것이 아니라 실제 상황에서 공격자가 악용할 가능성 있는 모든 취약점을 제거하는 것이어야 합니다.

 

마무리하며

CVSS는 취약점의 심각도를 파악하는 데 중요한 도구입니다. 현재 CVSS는 벤더와 기업들이 취약점의 심각도를 파악, 전달하는 데 이용할 수 있는 일반적인 용어를 제공하는 유용한 도구입니다. 실제 상황의 복잡성과 모든 문제를 반영하지 못하지만 보안 강화에 있어 좋은 출발점입니다.

해커들은 첨단 기법으로 보안 조치를 우회하고 민감성 정보를 탈취합니다. 최근 발표된 한 보고서에 따르면 내부 애플리케이션 취약점 중 거의 절반이 ‘높음’ 또는 ‘심각’ 범주에 속하는 것으로 나타났습니다. CVSS 점수는 단 3가지 기초 메트릭으로 구성되지만 시간 및 환경 요인도 고려해야 완전한 보안을 기할 수 있습니다.

CVSS 점수는 그 한계에도 불구하고 취약점 관리 프로그램에서 중요한 요소입니다. CVSS 점수를 분석하면서 우리 업무에 가장 중요한 위험에 초점을 맞추는 데 도움이 되는 견고한 보안 조치를 실행해야 합니다.

AppSealing은 iOS, Android, 하이브리드 앱의 무단 접근을 방지하는 전문성을 갖춘 가장 신뢰도 높은 모바일 애플리케이션 서비스 입니다. 클라우드에 기반한 제로 코딩 보안 솔루션을 통해 실행 중 애플리케이션을 보호하고 공격을 막아내며 귀사의 명성과 이미지를 지켜드립니다. 지금 바로 문의하시면 실시간으로 위협을 감시하고 데이터에 기반한 의사 결정을 내릴 수 있습니다. 성능에 전혀 영향을 미치지 않고 경쟁력을 갖추면서 핀테크, 게임, 영화 등 다양한 분야의 애플리케이션을 100% 보호하십시오.


appsealing contact

Dustin Hong
Dustin Hong
Dustin은 잉카엔트웍스의 앱실링 비즈니스 개발을 이끌고 있습니다. 그는 사이버 보안, IT, 컨텐츠 및 애플리케이션 보안 분야의 소프트웨어 개발과 혁신에 많은 관심을 가지고 있습니다. 또한 사이버 보안 세계에서 주요 사건의 대상, 이유 및 방법에 대해 다양한 사람들에게 공유하고 토론하는 것을 좋아합니다. 업계 동향 및 모범 사례에 대한 그의 견해는 기사, 백서에 실려있으며, 여러 보안 행사에서 유사 주제로 발표를 하였습니다.
AngularJS Security