490. CVSS (Common Vulnerability Scoring System) - 취약점 위험도 평가 점수 (0~10)
핵심 인사이트 (3줄 요약)
- 본질: CVSS(공통 취약점 점수 체계)는 세상에 튀어나온 수만 개의 해킹 구멍(CVE)들을 보고 개발자가 패닉에 빠지지 않도록, 이 구멍이 "해킹하기 얼마나 쉬운가?"와 "터졌을 때 피해가 얼마나 끔찍한가?"를 8가지의 절대적인 수학적 공식에 대입하여 0.0점부터 10.0점까지 소수점 단위로 차갑게 랭킹을 매겨주는 글로벌 표준 심판관이다.
- 가치: "우리 회사의 모든 보안 결함을 다 고치겠다"는 멍청하고 불가능한 결벽증을 타파한다. 한정된 개발팀의 야근 시간(리소스)을 오직 CVSS 7.0점 이상(High/Critical)의 '회사 명줄이 달린 폭탄'에만 핀셋으로 집중 투자하게 만들어주는 데브옵스(DevOps) 백로그 트리아지(Triage, 우선순위 분류)의 절대 잣대다.
- 융합: 보안 팀의 직감(뇌피셜)을 배제한 기계적인 공식화 모델로서 앞장의 DREAD 모델을 완전히 역사 속으로 퇴역시켰으며, 취약점 스캐너(SCA/SAST)의 알람 임계치(Threshold) 룰과 융합되어 "CVSS 8점 이상 발견 시 젠킨스 빌드(CI) 자동 강제 폭파"라는 릴리즈 자동화 통제 아키텍처의 핵심 스위치로 동작한다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: CVE가 "Log4j 라이브러리에서 원격 코드가 실행되는 해킹 구멍이 났다(
CVE-2021-44228)"라고 사건의 '이름표'만 던져주고 가는 기자(Reporter)라면, CVSS는 뒤이어 나타나 돋보기를 들이대고 "이거 인터넷망에서 쌩으로 뚫리고(Network), 로그인 아이디조차 필요 없고(No Privilege), 서버 통째로 털리니까(High Impact) 이건 **10.0점 만점짜리 재앙(Critical)**이야!"라고 평가표를 때려 박아주는 정밀 채점표(Scorecard)다. -
필요성: 보안 스캐너(SCA)를 돌렸더니 우리 회사 서버에 1,000개의 취약점 경고가 시뻘겋게 쏟아졌다. 다음 주가 앱 출시인데 1,000개를 언제 다 고치나? 팀장이 "이 중에서 해커가 우리 서버 콘센트에 직접 USB를 꽂아야만 해킹 가능한 거(현실성 0%, CVSS 2점) 빼고, 비밀번호 없이 와이파이 밖에서 랜섬웨어 쏠 수 있는 거(현실성 100%, CVSS 9점)만 추려와!"라고 지시한다. 수천 개의 공포 속에서 10개의 '진짜 치명상'을 도려내어 당장 수술대에 올리기 위한 생존의 분류(Triage) 도구가 절대적으로 필요했고, 이것이 전 세계 모든 스캐너가 CVSS를 도입한 이유다.
-
💡 비유: CVSS는 태풍의 **'풍속 계급표(예: 카테고리 1~5등급)'**와 같습니다. 뉴스에서 "태풍 힌남노 북상 중!"(CVE 발급)이라고 하면 사람들은 무서워하지만 얼마나 대비해야 할지 모릅니다. 이때 기상청이 **"이번 태풍은 중심 기압 초강력, 반경 500km, 피해 예상 규모 최악을 계산하여 '카테고리 5등급(CVSS 10점)'입니다!"**라고 숫자를 때려줍니다. 그러면 사람들은 창문에 테이프를 붙이는 수준을 넘어, 아예 집을 버리고 고지대로 대피하는(서버 즉각 셧다운 및 밤샘 패치) 정확하고 비례적인 생존 행동을 결단할 수 있습니다.
-
등장 배경 및 발전 과정:
- 주관적 평가의 춘추전국시대: 과거 각 보안 업체(시만텍, 안랩)마다 위험을 부르는 기준이 "매우 높음", "치명적", "위험 3단계" 등으로 다 달라서 고객들이 헷갈려 죽으려고 했다. (DREAD의 한계)
- FIRST 재단의 대통일 (2005): "주관적 감정을 싹 빼고 객관적 수학 공식으로 통일하자!"며 CVSS v1을 발표했다.
- 클라우드와 MSA의 반영 (v3.1 ~ v4.0 현재): 초창기엔 단순했지만, 지금은 "이 해킹이 터졌을 때, 우리 샌드박스를 뚫고 옆 서버(컨테이너)까지 연쇄 폭발을 일으키는가?(Scope Changed)" 같은 클라우드 도메인의 디테일까지 완벽히 반영한 v3.1과 v4.0으로 극도로 정교화되어 글로벌 단일 법전으로 굳어졌다.
-
📢 섹션 요약 비유: CVSS는 의사들의 **'응급실 환자 중증도 분류법'**입니다. 환자(취약점)가 100명 쏟아져 들어올 때, 의사(개발자)는 먼저 온 순서대로 치료하지 않습니다. 피를 철철 흘리는 환자(CVSS 9.8점)는 심폐소생술 방(즉각 패치)으로 밀어 넣고, 손가락 살짝 까진 환자(CVSS 2.0점)는 대기실 의자에 앉혀놓고 하루 종일 기다리게(무시/Risk Accept) 만드는 가장 효율적이고 차가운 생명 관리의 기하학입니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
1. CVSS 3대 점수 그룹 (Metric Groups)
점수가 하늘에서 떨어지는 게 아니다. 3단계의 채점 레이어를 합쳐 최종 점수가 나온다.
- 기본 점수 (Base Score) 💥 (가장 많이 쓰임, 불변의 진리)
- 취약점 그 자체가 태생적으로 얼마나 썩었는지 평가한다. (예: Log4j는 태어날 때부터 10점 만점)
- 전 세계 어디서 쓰든 절대 변하지 않는 절대 평가 점수다. NVD(미국 보안 포털)에서 뿌려주는 점수가 바로 이거다.
- 시간 점수 (Temporal Score)
- 시간이 지나면서 위협이 변하는 걸 깎아준다.
- "이거 10점짜리 폭탄인데, 어제 벤더사(Apache)가 공식 패치 코드를 뿌렸네? 그럼 이제 방어하기 쉬워졌으니 10점을 8점으로 좀 깎아줄게!" (패치 여부에 따라 유동적 변동)
- 환경 점수 (Environmental Score) 💥 (아키텍트의 무기)
- 우리 회사의 비즈니스 특수성을 곱해주는 맞춤형 상대 평가다.
- "이거 10점짜리 무서운 폭탄인데... 우리 회사는 이 취약한 서버를 아예 인터넷 선을 뽑아버린 사내 페쇄망(DMZ 내부)에 숨겨놨어! 해커가 절대 밖에서 못 찔러! 그러니까 우리 회사 한정으로 이 폭탄은 3점(Low)으로 깎아!!" (아키텍트가 뇌피셜의 공포를 팩트로 눌러버리는 과정)
2. 기본 점수(Base Score)를 결정하는 8대 수학적 팩터 (v3.1 기준)
아키텍트는 점수가 왜 10점이 나왔는지, 이 팩터를 까보고 이해해야 한다. 크게 **'공격 가능성(Exploitability)'**과 **'피해 영향도(Impact)'**로 나뉜다.
| 팩터 분류 | 항목 (Metric) | 해커 입장에서 최고점(최악)을 받는 기준 |
|---|---|---|
| 공격 가능성 (뚫기 얼마나 쉽냐?) | Attack Vector (AV) | 옆에서 USB 꽂아야 됨(낮음) ➡ 인터넷 밖에서 집구석에 앉아 원격으로 찌름 (Network - 최고점 💥) |
| Attack Complexity (AC) | 비 오는 날 특정 행동 3번 해야 됨 ➡ 그냥 URL만 복붙하면 됨 (Low - 최고점) | |
| Privileges Required (PR) | 관리자 아이디 로그인해야 함 ➡ 로그인 없이 비회원(None)도 때릴 수 있음 (최고점 💥) | |
| User Interaction (UI) | 피해자가 메일을 클릭해 줘야 함 ➡ 피해자가 가만히 숨만 쉬고 있어도 내가 털어버림 (None - 최고점) | |
| 피해 영향도 (뚫렸을 때 얼마나 끔찍한가? C.I.A) | Confidentiality (기밀성) | DB 안에 있는 주민등록번호 100만 개 평문으로 다 까발려짐 (High - 최고점) |
| Integrity (무결성) | 해커가 우리 회사 결제 대금 10만 원을 10원으로 맘대로 고칠 수 있음 (High - 최고점) | |
| Availability (가용성) | 해커가 서버 CPU 100% 만들어서 우리 앱이 아예 셧다운(뻗음) 됨 (High - 최고점) | |
| 스코프 (Scope) | Scope Changed (S) | 웹 서버 하나 턴 걸 넘어서, 하이퍼바이저나 옆 컨테이너로 뚫고 나감 (Changed - 최고점) |
- 📢 섹션 요약 비유: 이 채점표는 **'도둑질 난이도와 피해액 계산기'**입니다. "도둑이 1) 담을 넘지 않고 길거리(Network)에서, 2) 열쇠도 없이(None), 3) 집주인이 자고 있는데(No User Interaction) 그냥 문을 쓱 열고 들어와, 4) 금고의 100억을 다 태워버렸다(Availability High)." 이 모든 조건이 충족되면 심사위원은 주저 없이 '10.0 만점(Critical)'의 폭탄 딱지를 시스템에 붙여버립니다.
Ⅲ. 융합 비교 및 다각도 분석
1. 주관적 DREAD 모델 vs 객관적 CVSS 모델
이 둘의 세대교체(Paradigm Shift)는 소프트웨어 공학의 객관성 확보의 역사다. (이전 장 476번 연계)
| 척도 | DREAD (마이크로소프트의 옛날 방식) | CVSS (글로벌 표준 현재 방식) |
|---|---|---|
| 채점 주체 | 우리 회사 개발팀원 3명이 회의실에 모여서 뇌피셜로 매김 | 미국 NVD(정부 기관)의 보안 전문가가 수학 공식에 넣어 글로벌 1개의 점수로 딱 찍어서 발표함 |
| 평가 기준 | "이거 해킹당하면 우리 회사 10억 날아가나(Damage)? 5억 날아가나?" (극히 주관적이고 비즈니스 의존적) | "해커가 네트워크로 들어오는가? 로그인이 필요한가?" (철저히 기계적이고 기술적인 하드웨어/네트워크 조건) |
| 결과물의 성격 | 브레인스토밍을 통한 위협 예측 도구 | 발생한 사건에 대한 기계적이고 차가운 팩트 심사표 |
| 자동화 여부 | 인간이 회의해야 하므로 파이프라인(CI/CD) 기계에 물릴 수 없음. | 스캐너(SonarQube) 봇이 점수표(JSON)를 1초 만에 긁어와서 "9점 넘었네! 빌드 중단!" 100% 자동화 연동. |
과목 융합 관점
-
데브옵스 (파이프라인 퀄리티 게이트, Quality Gate): CVSS의 가장 위대한 가치는 **'기계와의 융합'**이다. 애자일 조직은 하루에 배포(Release)를 10번 한다. 사람이 일일이 점검할 수 없다. 젠킨스(Jenkins)에
Snyk나Dependabot플러그인을 달아두면, 소스코드 안에 포함된 오픈소스 라이브러리 명세서(pom.xml)를 1초 만에 읽고 NVD에서 CVSS 점수를 긁어온다. 아키텍트가 세팅한Fail Build if CVSS >= 7.0 (High)라는 한 줄의 룰셋(Rule-set) 때문에, 7점짜리 폭탄을 품은 코드는 인간의 승인 없이도 운영 서버(CD)로 넘어가는 문(Gate)이 0.1초 만에 박살(Fail)나며 통제된다. 감정이 배제된 가장 완벽한 보안 독재다. -
클라우드 / 컨테이너 보안 (Trivy 스캐닝): K8s 시대에는 자바 코드(Jar)뿐만 아니라 베이스 OS(우분투 이미지) 자체를 도커 허브에서 다운받아 통째로 배포한다. 컨테이너 내부의 리눅스 패키지(apt-get)에도 CVSS 9점짜리
glibc취약점이 숨어있다. 클라우드 아키텍처는 ECR(Elastic Container Registry)에 도커 이미지가 Push되는 찰나의 순간, 트리비(Trivy) 스캐너가 컨테이너 알맹이를 분해하여 CVSS 점수를 합산하고, "Critical 1건 발견, 컨테이너 부팅 거부!"를 선언하는 인프라 레벨의 융합 방어막을 전개한다. -
📢 섹션 요약 비유: DREAD가 심사위원 3명이 모여 "저 가수 노래 감동적이니까 9점 주자!" 하는 **오디션 프로그램(주관적)**이라면, CVSS는 달리기 선수가 결승선 센서를 통과할 때 기계가 **"9초 58! 세계 신기록!"이라고 0.01초 단위로 소수점까지 딱 찍어내어 아무도 반박할 수 없는 올림픽 전광판(객관성)**입니다. 기계적인 숫자만이 자동화 파이프라인(기계)과 완벽하게 대화할 수 있습니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오
-
시나리오 — 보안 스캐너의 알람 지옥과 CVSS 점수 신앙의 파멸: 보안팀이 새로 도입한 스캐너가 우리 회사 웹 서버 코드를 쭉 돌더니 "CVSS 9.8점짜리 초고위험(Critical) 취약점 500개 발견! 당장 서버 내리고 패치하세요!"라고 슬랙(Slack)을 시뻘겋게 도배했다. 개발팀 전원이 3일 밤을 새워서 500개를 패치하려다 프로젝트가 마비됐다. 나중에 아키텍트가 까보니, 500개 중 490개는 사내 개발자들만 VPN을 타고 들어와서 쓰는 '백오피스 통계 엑셀 다운로드용 닫힌 서버'에서 발견된 것이었다.
- 아키텍트의 해결책: CVSS 기본 점수(Base Score) 맹신의 전형적인 오탐(False Positive) 헛발질이다. CVSS 9.8점은 "인터넷(Network)에 쌩으로 오픈되어 있을 때"라는 최악의 가정을 한 절대 점수다. 아키텍트는 이 멍청한 로봇의 알람을 그대로 믿으면 안 된다. 아키텍트는 **'환경 점수(Environmental Score)'**를 들이밀어 기계를 닥치게 해야 한다. "이 서버는 외부 인터넷망에서 물리적으로 끊긴 사내 VPN 망(Adjacent Network)에 숨어있고, 방화벽(WAF)이 2중으로 쳐져 있다! 그러므로 우리 회사 한정으로 이 9.8점짜리 취약점은 실효성(Exploitability)이 떡락하여 3.2점(Low)으로 깎인다! 패치 당장 중단하고 신기능 개발로 돌아가라!" 이것이 숫자에 휘둘리지 않고 맥락(Context)을 지휘하는 아키텍트의 칼질(Triage)이다.
-
시나리오 — "업데이트하면 내 코드가 다 깨지는데요?" (Dependency Hell): 스캐너가
Spring-web v4.1에 CVSS 8.5점짜리 구멍이 났다며v5.0으로 올리라고 빌드를 터뜨렸다. 주니어 개발자가pom.xml을 5.0으로 올리고 돌리자, 내부에 짜놓은 구형 자바 함수 100개가 "지원하지 않는 메서드(Deprecated)"라며 와르르 깨져서 컴파일 자체가 박살 났다. 개발자는 "아! 버전 올리면 서비스 아예 뻗어요! 그냥 낡은 버전 쓰고 배포할래요!"라고 우긴다.- 아키텍트의 해결책: 기술 부채(Technical Debt)의 폭발과 Risk Acceptance(위험 수용)의 딜레마다. 당장 1시간 뒤가 런칭인데 100개의 함수를 리팩토링할 수는 없다. 아키텍트는 쿨하게 '임시 예외 처리(Suppress / Accept Risk)' 결단을 내려야 한다. "좋다. 젠킨스 룰에서 이 CVSS 8.5건을 1달 동안만 강제로 '무시(Ignore)' 버튼을 눌러서 배포 길을 열어주마. 대신, 이 구멍을 해커가 못 찌르게 웹 방화벽(AWS WAF)에 임시로 악성 패킷 차단 룰(Virtual Patching)을 수동으로 박아라. 그리고 다음 달 첫 번째 스프린트(Sprint)의 1순위 백로그(Jira)는 무조건 이 코드 100개를 리팩토링해서 5.0으로 버전을 끌어올리는 기술 부채 탕환에 몰빵한다." 통제된 일탈만이 시스템 붕괴를 막는다.
도입 체크리스트
- 기술적: 스캐너의 차단 임계치(Threshold)를 예술적으로 설정했는가? 젠킨스 파이프라인에 "CVSS 0.1점이라도 나오면 무조건 빌드 Fail 시킨다"라고 완벽주의자처럼 세팅해 놓으면, 하루에 빌드가 100번 터져서 개발자들이 스캐너를 증오하고 플러그인을 몰래 삭제해버린다. 초기 3달은
Critical (9.0~10.0)만 강제 차단(Fail)시키고,High (7.0~8.9)는 경고 메일만 쏘며 점진적으로 개발자들을 적응시키는 소프트 랜딩(Soft-landing) 정책 적용이 도입 성공의 99%를 좌우한다. - 조직적: 점수에 매몰된 '알맹이 없는 패치'를 하고 있지 않은가? CVSS 점수만 보고 맹목적으로 오픈소스 라이브러리 버전을 1.0에서 2.0으로 덮어치기(Bump-up)만 하는 팀이 있다. 이 라이브러리가 우리 회사 앱의 결제 로직에 어떤 영향을 미치는지 회귀 테스트(Regression Test)가 수반되지 않으면, 해킹을 막으려다 결제 버튼이 안 눌리는 100억 원짜리 자폭 에러를 런타임에 터뜨린다. "보안 패치는 곧 기능 변경이다." 무조건 단위 테스트(TDD) 커버리지가 뒷받침된 상태에서 버전을 올려야 한다.
안티패턴
-
스캐너 맹신주의와 분석 마비 (Analysis Paralysis): NVD나 스캐너가 던져준 Base Score(기본 점수) 엑셀 표를 멍하니 쳐다보며, "10점짜리가 50개니까 언제 다 고치지..." 하고 한 달 내내 엑셀 색깔만 예쁘게 칠하고(보고용) 정작 코드는 한 줄도 안 고치는 전형적인 행정주의 안티패턴. 아키텍트는 엑셀을 덮고, 이 취약점들이 **"실제로 외부망에서 우리 DB로 접근 가능한 놈들인가(Attack Path)?"**를 도면(아키텍처)에 대입하여 실제 뚫릴 진짜 구멍 딱 3개만 도려내어 당일 오후에 패치를 끝내버리는 실행력을 꽂아 넣어야 한다.
-
📢 섹션 요약 비유: CVSS 기본 점수를 무지성으로 믿는 것은, **'독사의 맹독 지수(Base Score)'**만 보고 패닉에 빠지는 것과 같습니다. "저 독사에 물리면 3초 만에 즉사(10점 만점)합니다!"라고 TV에서 떠듭니다. 개발자는 벌벌 떱니다. 하지만 진짜 아키텍트(환경 점수)는 묻습니다. "그 독사가 우리 회사 앞마당에 있나? 아니요, 아마존 밀림에 있는데요. 그럼 냅둬! 우리는 아마존 안 가니까 우리한테 이 독사의 위협 점수는 0점이야!" 독의 강함(기본 점수)과 나에게 올 확률(환경 점수)을 분리하는 차가운 지성이 당신의 야근을 막아줍니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | 모든 취약점을 동일하게 취급하여 닥치는 대로 고침 (AS-IS) | CVSS 점수 기반의 치명도 분류(Triage) 및 차단 (TO-BE) | 개선 효과 |
|---|---|---|---|
| 정량 | 1,000개의 잡다한 경고 수정하느라 릴리즈 1달 연기 | CVSS 8.0 이상 상위 3%만 핀셋 패치 후 1일 내 릴리즈 | 보안 패치로 인한 배포 지연 및 인건비 오버헤드 95% 단축 |
| 정량 | 인간의 판단 지연으로 제로데이 대응에 평균 3일 소요 | 스캐너가 Critical 발견 즉시 빌드 자동차단 및 알람 1분 | 치명적 서드파티(공급망) 위협 노출 골든타임(MTTR) 극강 압축 |
| 정성 | "이거 위험한 거 맞아?" 개발팀과 보안팀의 감정싸움 | "NVD CVSS 9.5점이니까 잔말 말고 당장 패치해" 논리 압살 | 보안 우선순위 결정에 대한 객관적이고 차가운 절대 법전 확립 |
미래 전망
- EPSS (Exploit Prediction Scoring System)의 권력 교체: CVSS의 최대 단점은 "이론적으로 이 구멍은 치명적이다(10점)"라고 매길 뿐, "그래서 지금 실제 해커들이 이 구멍을 진짜로 찌르고 다니는가?"라는 현장감은 제로라는 점이다. 이에 대한 완벽한 보완재로, AI가 전 세계 해킹 게시판과 다크웹을 매일 크롤링하여 **"이 CVSS 8점짜리 구멍은 이론일 뿐이고, 저기 CVSS 6점짜리 구멍을 해커들이 자동화 툴로 미친 듯이 쏘고 있으니 이게 진짜 1순위 폭탄이야!"**라고 공격 확률(Probability)을 실시간으로 예언해 주는 EPSS 스코어가 차세대 데브옵스 트리아지(Triage)의 절대 왕좌로 CVSS를 덮어쓰고 있다.
- Kev (Known Exploited Vulnerabilities) 카탈로그 강제화: 미국 정부(CISA)가 CVSS 점수에 얽매여 뻘짓하는 기업들을 보다 못해, "점수고 나발이고, 지금 해커들이 이 구멍으로 미국 은행 실제로 털어먹고 있으니까, 이 KEV 명단에 뜬 취약점은 니들 회사에 있으면 무조건 2주일 내에 법적으로 패치해!"라고 아예 강제 살생부를 돌려버리는 '실전(Exploited) 중심 패치' 패러다임이 전 세계 법규로 확산 중이다.
참고 표준
- CVSS (Common Vulnerability Scoring System): 미국 침해사고 대응팀(FIRST)이 만든, 취약점의 파괴력을 Base(기본), Temporal(시간), Environmental(환경) 3단계 수학 공식으로 갈아 넣어 0.0에서 10.0의 숫자로 토해내는 우주 절대 1위 보안 측정 규격 (현재 v4.0).
- NVD (National Vulnerability Database): 미국 정부(NIST)가 운영하는, 세상의 모든 해킹 구멍(CVE) 목록 옆에 이 CVSS 10점 만점 성적표를 예쁘게 빨간 딱지로 붙여서 전 세계 스캐너 기계들에게 무료로 데이터를 쏴주는 글로벌 보안 정보 관제탑.
CVSS(취약점 점수 체계)는 개발팀을 향한 '보안팀의 무차별적인 잔소리'를 종식시킨 **소프트웨어 공학의 '차가운 숫자(Math) 혁명'**이다. 우리는 과거에 취약점 스캐너가 뱉어내는 수천 줄의 붉은 텍스트(공포) 앞에서 이성을 잃고 삽질을 해댔다. 기술사는 무지성으로 "모든 구멍을 완벽하게 틀어막겠다"는 결벽증적 아마추어 마인드를 혐오해야 한다. 아키텍트의 진정한 위대함은 수백 개의 4점짜리 자잘한 에러(Low Risk)를 쳐다보지도 않고 과감하게 쓰레기통에 버릴 수 있는 차가운 배짱(Risk Acceptance)과, 회사 시스템을 관통하는 단 1개의 9.8점짜리 치명상(Critical)을 잡아내어 100명의 개발팀을 셧다운 시켜서라도 그날 밤 패치 코드를 짜내게 만드는 비정한 결단력(Triage)에 있다. 공포에 지배당하지 마라. 숫자의 맥락(Context)을 지휘하라.
- 📢 섹션 요약 비유: CVSS 점수는 침몰하는 배의 **'구명조끼 배분 명단'**과 같습니다. 배(시스템)에 물이 샐 때, 짐칸에 고인 물 한 바가지(CVSS 2점)를 퍼내겠다고 선원 10명을 보내면 배는 결국 엔진실이 터져 가라앉습니다. 냉혹한 선장(아키텍트)은 수십 개의 물새는 구멍을 버려두고, "엔진실 외벽 균열(CVSS 10점)! 전 선원 투입해서 막아라!"라고 가장 치명적인 구멍 딱 하나에 회사의 모든 생존 자원(인건비)을 핀셋으로 몰아넣는 위대한 생존 최적화 게임의 룰입니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| CVE (취약점 식별 번호) | CVSS의 영혼의 짝궁. CVE가 "2021년 44228번째 로그포제이 살인사건"이라는 경찰청 '사건 파일 껍데기'라면, CVSS는 그 서류 안에 적힌 "범인의 전투력 10.0 만점"이라는 '위험도 성적표'다. (이전 장 489번) |
| SCA (소프트웨어 구성 분석) | 젠킨스(CI/CD) 파이프라인에서 돌아가는 미친 사냥개 봇. 이 사냥개가 짖는(빌드 Fail) 유일한 기준 잣대가 바로 "주인님! 방금 다운로드한 오픈소스가 CVSS 7.0점을 넘겼어요!"라는 점수 임계치(Threshold)다. (이전 장 483번) |
| 위험 수용 (Risk Acceptance) | CVSS 4점 이하의 짜잘한 취약점들을 발견했을 때, "이거 고칠 시간에 신기능 개발해서 돈 버는 게 훨씬 이득이야!"라며 의도적으로 빵꾸를 덮어두고 넘어가는 고도의 아키텍트적 경영 판단. |
| EPSS (공략 예측 점수 체계) | "CVSS 10점이라고 벌벌 떨지 마, 해커들은 그거 안 써!" CVSS(이론적 파괴력)의 단점을 부수고 등장한 차세대 점수표. "지금 해커들이 이 구멍을 실제로 찌를 확률 90%"를 AI가 예측해 주는 실전 랭킹. |
| DREAD 모델 | 마이크로소프트가 만들었던 과거의 점수표. 주관적이고 사람(회의)의 감정에 의존했던 터라 기계화(CI/CD) 파이프라인에 융합되지 못하고, 절대적인 수학 공식인 CVSS에게 글로벌 왕좌를 넘겨준 옛날 버전. (이전 장 476번) |
👶 어린이를 위한 3줄 비유 설명
- 집에 구멍이 100개나 뚫렸다고 경보기가 막 울렸어요! 당장 오늘 밤에 아빠 혼자서 구멍 100개를 다 막을 수는 없어서 멘붕에 빠졌죠.
- 그래서 똑똑한 인공지능 선생님을 불러서 **"이 구멍은 모기장 구멍(2점)이니까 내버려 둬, 이 구멍은 호랑이가 들어올 수 있는 대문 구멍(10점)이니까 당장 벽돌로 막아!"**라고 0점부터 10점까지 모든 구멍에 점수표 딱지를 붙이게 했어요.
- 이렇게 100개를 다 고치는 대신, 점수표(10점 만점)를 보고 우리 집이 가장 크게 망할 수 있는 '진짜 위험한 폭탄 1~2개'부터 먼저 쏙쏙 뽑아서 고치게 도와주는 똑똑한 채점표를 **'CVSS'**라고 부른답니다!