매년 보안·기술 기업들은 수천 건의 취약점 정보를 공개하고, 언론은 그중 가장 위험한 사례를 집중 조명하며 사용자들에게 안전 수칙을 안내합니다.
하지만 이렇게 발표된 수천 개의 취약점 중 실제로 해커들이 적극적으로 악용하는 경우는 생각보다 훨씬 드물다는 사실을 알고 계셨나요?
그렇다면 보안 취약점은 정확히 몇 개나 되며, 보안 기업들은 어떤 기준으로 취약점의 심각성을 판단할까요?
보안 취약점은 얼마나 많이 발견될까?
케나 시큐리티(Kenna Security)의 'Prioritization to Prediction' 리포트 시리즈에 따르면, 2019년에만 보안 업계에서 18,000건이 넘는 CVE(공통 취약점 및 노출 항목)를 발표했습니다.
숫자만 보면 상당히 많아 보이지만, 흥미로운 점은 이 중 실제로 '광범위하게 악용(widespread exploitation)'된 취약점은 단 473건, 즉 전체의 약 2%에 불과했다는 것입니다. 물론 해당 취약점들이 인터넷 전반에서 악용되긴 했지만, 세계 모든 해커와 공격자가 동시에 활용했다는 의미는 아닙니다.
또 하나 주목할 만한 통계는, CVE 목록에 등재되는 시점에 이미 50% 이상의 취약점에 대해 익스플로잇(공격 코드)이 존재했다는 사실입니다. 겉으로 들으면 위험해 보이지만, 이는 곧 보안 연구자들이 이미 해당 문제의 패치 작업에 착수했음을 의미하기도 합니다.
일반적으로 기업들은 취약점이 공개된 후 30일 이내에 패치를 완료하는 것을 목표로 삼습니다. 항상 지켜지지는 않지만, 대부분의 기술 기업이 지향하는 표준입니다.
아래 차트는 보고된 CVE의 수와 실제 악용된 취약점의 수 사이의 격차를 잘 보여줍니다.

전체 CVE의 약 75%는 11,000개 조직 중 1개 미만의 조직에서만 탐지되었고, 100개 조직 중 1개 수준으로 탐지된 CVE는 5.9%에 불과했습니다. 상당히 큰 편차죠. 참고로 이 차트는 전체 18,000여 건이 아니라, 실제 악용된 473개 취약점을 기준으로 한 데이터입니다.
위 데이터는 'Prioritization to Prediction Volume 6: The Attacker-Defender Divide' 보고서에서 확인할 수 있습니다.
CVE는 누가 부여할까?
CVE 번호를 누구나 마음대로 부여할 수 있는 것은 아닙니다. 현재 25개국 153개 기관만이 CVE를 할당할 권한을 갖고 있습니다.
이것이 전 세계 보안 연구를 오직 이들 기관만이 담당한다는 뜻은 결코 아닙니다. 다만 이 153개 기관(CVE 번호 부여 기관, CNA)이 취약점을 공개 도메인에 발표할 때 합의된 표준을 준수한다는 의미일 뿐입니다.
CNA 참여는 자발적입니다. 참여 기관은 '사전 공개 없이 취약점 정보의 공개를 통제할 수 있는 능력'을 입증해야 하며, 취약점 관련 정보를 요청하는 다른 연구자들과 협력해야 하는 의무도 있습니다.
CNA 체계의 최상단에는 세 개의 루트(Root) CNA가 있습니다:
- MITRE 코퍼레이션
- 사이버보안 및 인프라 보안국(CISA) 산업 제어 시스템(ICS)
- JPCERT/CC
나머지 모든 CNA는 이 세 최상위 기관 중 하나에 소속되어 보고합니다. 하위 CNA는 대부분 마이크로소프트, AMD, 인텔, 시스코, 애플, 퀄컴처럼 이름이 알려진 기술 기업과 하드웨어 개발사·판매사입니다. 전체 CNA 목록은 MITRE 웹사이트에서 확인할 수 있습니다.
취약점 신고는 어떻게 이루어질까?
취약점 신고 방식은 발견된 소프트웨어의 종류와 플랫폼, 그리고 누가 먼저 발견했는지에 따라 달라집니다.
예를 들어 보안 연구자가 특정 상용 소프트웨어에서 취약점을 발견하면 일반적으로 해당 벤더(개발사)에게 직접 보고합니다. 반면 오픈소스 프로그램에서 발견했다면 프로젝트의 이슈 페이지에 새로운 이슈를 등록하는 방식을 택할 수 있습니다.
그러나 악의적인 의도를 가진 사람이 취약점을 먼저 발견하면 상황은 달라집니다. 이 경우 해당 벤더나 보안 연구자들은 취약점이 제로데이(zero-day) 공격으로 실제 악용되기 전까지는 그 존재조차 알지 못할 수 있습니다.
보안 기업은 CVE를 어떻게 평가할까?
보안 연구자가 새로 발견한 취약점에 점수를 매길 때 감으로 아무 숫자나 정하는 것이 아닙니다. 취약점 평가를 안내하는 표준화된 프레임워크, 바로 CVSS(공통 취약점 평가 시스템)가 존재합니다.
CVSS 등급 구분은 다음과 같습니다:
| 심각도 | 기본 점수 |
|---|---|
| 없음(None) | 0 |
| 낮음(Low) | 0.1~3.9 |
| 중간(Medium) | 4.0~6.9 |
| 높음(High) | 7.0~8.9 |
| 심각(Critical) | 9.0~10.0 |
취약점의 CVSS 값을 산출하기 위해 연구자들은 기본 점수 메트릭(Base Score Metrics), 시간 경과 메트릭(Temporal Score Metrics), 환경 메트릭(Environmental Score Metrics)에 걸친 여러 변수를 분석합니다.
- 기본 점수 메트릭: 취약점의 악용 가능성, 공격 난이도, 필요한 권한 수준, 취약점의 영향 범위 등을 다룹니다.
- 시간 경과 메트릭: 익스플로잇 코드의 성숙도, 해당 취약점에 대한 완화책(패치) 존재 여부, 취약점 보고의 신뢰도 등을 평가합니다.
- 환경 메트릭: 여러 하위 영역으로 구성됩니다.
- 악용 가능성 메트릭: 공격 벡터, 공격 복잡도, 권한 요구 사항, 사용자 상호작용 필요 여부, 영향 범위를 포함합니다.
- 영향 메트릭: 기밀성, 무결성, 가용성에 미치는 영향을 평가합니다.
- 영향 서브스코어: 영향 메트릭을 더욱 구체화하며, 기밀성·무결성·가용성에 대한 요구 수준을 반영합니다.
다소 복잡하게 느껴질 수 있지만 두 가지만 기억하면 됩니다. 첫째, 현재의 CVSS는 세 번째 개정판이라는 점입니다. 처음에는 기본 점수만 존재했고, 이후 개정 과정에서 나머지 메트릭이 추가되었습니다. 현재 버전은 CVSS 3.1입니다.
둘째, CVSS가 점수를 어떻게 산정하는지 더 깊이 이해하고 싶다면 국가 취약점 데이터베이스(NVD)의 CVSS 계산기를 활용해 보세요. 각 메트릭이 어떻게 상호작용하는지 직접 확인할 수 있습니다.

취약점을 육안으로 점수 매기는 것은 사실상 불가능에 가깝기 때문에, 이런 계산기가 정확한 점수 산출에 큰 도움이 됩니다.
온라인에서 안전하게 지내는 법
케나 시큐리티의 보고서에 따르면 보고된 취약점 중 심각한 위협이 되는 비율은 소수입니다. 하지만 6%의 악용 가능성은 여전히 결코 낮다고 할 수 없습니다. 좋아하는 의자에 앉을 때마다 100번 중 6번씩 부러질 확률이 있다면 바로 교체하지 않겠습니까?
인터넷은 그런 식으로 대체할 수 없습니다. 하지만 좋아하는 의자를 미리 손보듯, 문제가 커지기 전에 미리 보완하고 보호할 수는 있습니다. 온라인에서 안전을 지키고 멀웨어와 각종 공격을 피하기 위해 반드시 실천해야 할 다섯 가지를 소개합니다.
- 업데이트: 운영체제와 소프트웨어를 항상 최신 상태로 유지하세요. 업데이트는 기업들이 취약점과 결함을 패치해 사용자 컴퓨터를 지키는 가장 강력한 수단입니다.
- 백신 프로그램: "요즘은 백신이 필요 없다"는 글을 볼 수 있지만, 공격 기법이 끊임없이 진화한다 해도 백신이 없는 환경은 훨씬 위험합니다. 운영체제 내장 백신으로 시작해 맬웨어바이트(Malwarebytes) 같은 도구로 보호를 한층 강화하는 것도 좋은 방법입니다.
- 링크 클릭 자제: 목적지를 확실히 알지 못하는 링크는 클릭하지 마세요. 수상한 링크는 브라우저에 내장된 도구로 미리 검사할 수 있습니다.
- 비밀번호 관리: 강력하고 고유한 비밀번호를 설정하고 재사용하지 마세요. 모든 비밀번호를 외우기 어렵다면 비밀번호 관리자 도구를 활용해 계정을 더 안전하게 보호하세요.
- 스캠(사기) 경계: 인터넷에는 수많은 사기가 도사리고 있습니다. 너무 좋아서 믿기 어려운 제안이라면 아마도 거짓일 가능성이 큽니다. 범죄자들은 세련된 웹사이트를 만들어 피해자가 사기임을 눈치채지 못하게 합니다. 온라인의 모든 정보를 맹신하지 마세요.
온라인 보안을 위해 매일같이 보안 업무에 매달릴 필요는 없으며, 컴퓨터를 켤 때마다 불안해할 필요도 없습니다. 몇 가지 기본적인 보안 습관만 들여도 온라인 안전성은 크게 향상됩니다.