6.4

6.4 보안과 취약점 관리 메트릭

개요 및 동기

이 주제는 이 부가 구축해 온 것과 같은 신뢰성 규율, 즉 목표 설정, 가드레일 짝짓기, 정직한 인시던트 보고를 구별되지만 밀접하게 관련된 위험으로 확장함으로써 6부를 마무리한다: 시스템이 스스로 실패하는지가 아니라, 누군가가 그것을 고의로 실패하게 만들거나 악용하는지다. 취약점 관리 메트릭은 조직이 보안 약점이 악용되기 전에 얼마나 잘 찾고 고치는지 측정한다: 얼마나 많은 취약점이 존재하는지, 그것들이 얼마나 심각한지, 그리고 결정적으로, 발견된 후 얼마나 빨리 교정되는지다. 알려져 있지만 패치되지 않은 취약점은 조직이 의도적으로든 방치를 통해서든 짊어지기로 선택한 지속적이고 정량화 가능한 위험이기 때문이다.

이 주제의 핵심 관심사는 주제 4.4의 정적 분석 발견 취급을 직접 반영한다: 원시 취약점 수는 사소한 문제와 중대한 문제를 뒤섞는 나쁜 메트릭이며, 주제 1.2가 일반적으로 기술하는 정확히 같은 게임화 위험(정의 좁히기, 억제, 임계값 게임화)에 노출된다. 보안 메트릭이 요구하는 특정한 추가 사항은 심각도에 맞서 추적되는 교정까지의 시간이다. 몇 달 동안 패치되지 않은 채로 있는 중대한 취약점은 하루 이내에 발견되고 고쳐진 같은 취약점과 근본적으로 다른 위험을 나타내며, 이는 단순한 숫자만으로는 전달할 수 없는 정보다.

대규모 팀에게 보안 메트릭은 즉각적인 기술적 위험을 넘어서는 결과를 수반한다: 엔터프라이즈 조직은 침해로부터 계약적이고 평판적인 노출에 직면하고, 정부 조직은 보안 메트릭을 단순한 내부 엔지니어링 관심사가 아니라 진정한 공공의 관심사로 만드는 국가 안보, 법적, 공공 신뢰 결과에 직면한다. 이 주제는 이 책이 내내 적용하는 것과 같은 엄격함과 같은 가드레일 짝짓기 규율로 취약점 관리를 다룬다. 보안 메트릭은 이 책이 기술하는 모든 게임화 위험에 노출되며, 그 게임화가 성공했을 때 상응하게 더 높은 위험을 수반하기 때문이다.

핵심 원칙

  • 심각도별 교정까지의 시간이 원시 취약점 수보다 더 중요하다. 몇 달 동안 패치되지 않은 중대한 문제는 빨리 발견되고 고쳐진 같은 문제와 근본적으로 다른 위험이다.
  • 보안 메트릭은 정적 분석 발견(주제 4.4)과 같은 게임화 위험에 노출되며, 게임화가 성공했을 때 더 높은 위험을 수반한다.
  • 심각도 분류는 가능한 한 외부의 표준화된 기준이 필요하다, 관대함으로 표류할 수 있는 순전히 내부적인 판단이 아니다.
  • 빠르게 공개되고 고쳐진 취약점은 숨길 실패가 아니라 건강한 절차의 신호다. 공개를 처벌하는 것은 이 전체 시스템이 의존하는 보고를 저해한다.
  • 보안 부채는 기술 부채의 한 범주이며(주제 4.5) 같은 명시적이고 정량화된 기준으로 우선순위를 둔 교정 역량을 두고 경쟁해야 한다.

권장 사항

심각도별 교정까지의 시간을 주요 메트릭으로 추적하라

발견된 모든 취약점에 대해 그 심각도를 기록하고(해당되는 경우 공통 취약점 점수 시스템(CVSS) 같은 표준화된 척도를 사용), 발견부터 진정한 교정까지의 시간을 추적하라. 티켓이 닫히거나 수정이 병합되었지만 아직 배포되지 않은 시점까지가 아니다. 심각도별로 명시적인 교정 시간 목표(일반적으로 중대한 문제는 일 단위로, 낮은 심각도의 문제는 주 단위로 측정됨)를 설정하고, 원시적이고 가중되지 않은 취약점 수가 아니라 그 목표에 맞선 준수를 주요 보안 건강 메트릭으로 추적하라.

순전히 내부 판단이 아니라 표준화된 심각도 점수를 사용하라

CVSS 같은 표준화된 외부 점수 시스템이 이용 가능한 경우, 전적으로 내부적이고 잠재적으로 일관성 없는 판단에 의존하기보다 그것을 심각도 분류의 주요 근거로 사용하라. 이것은 주제 5.1의 누락된 결함 분류 규율과 주제 6.2의 인시던트 분류 규율을 반영하며, 여기서는 구체적으로 보안에 적용되고, 그 주제들이 경고하는 것과 같은 관대한 표류 위험을 물리친다. 외부에 고정된 점수는 순전히 내부적인 점수보다 조용히 아래로 재정의하기 더 어렵기 때문이다.

진정으로 비처벌적인 취약점 공개와 내부 보고 문화를 구축하라

주제 6.2의 비난 없는 포스트모템 원칙을 보안에 직접 적용하라: 자신이 도입한 취약점을 발견하고 보고하는 엔지니어나 외부에서 발견한 취약점을 책임감 있게 공개하는 연구자는 실패를 고백하는 것이 아니라 가치 있는 서비스를 제공하는 것으로 취급되어야 한다. 내부적으로든 외부 연구자로부터든 공개를 처벌하는 것은 전체 취약점 관리 시스템이 의존하는 바로 그 보고를 꾸준히 저해하며, 실제 위험을 관리된 교정 절차가 아니라 지하로 몰아넣는다.

보안 부채를 기술 부채 백로그 내의 한 범주로 취급하라

경쟁하는 우선순위로 인해 의도적으로 아직 교정되지 않은, 알려져 있고 위험이 받아들여진 취약점을 주제 4.5에서 기술된 것과 같은 가시적이고 정량화된 기술 부채 백로그로, 같은 수정 비용 대 보유 비용 프레이밍과 함께 접어 넣어라. 이것은 보안 위험이 보이지 않고 문서화되지 않은 “우리는 그것을 알고 있다”는 상태로 사라지거나 그 우선순위에 대한 명시적이고 정량화된 사례 없이 기능 작업에 맞서 불공정하게 경쟁하는 것을 막는다.

취약점 메트릭을 노출과 악용 가능성 맥락과 결합하라

같은 명목상 심각도 점수를 가진 모든 취약점이 같은 실제 위험을 수반하는 것은 아니다: 외부 네트워크 노출이 없는 내부 도구의 중대한 취약점은 고객 데이터를 다루는 인터넷에 노출된 서비스의 같은 명목상 심각도와 다른 위험이다. 가능한 경우, 심각도 점수만이 아니라 실제 노출과 악용 가능성 맥락으로 우선순위를 가중하여, 교정 역량이 먼저 진정으로 가장 위험이 높은 항목에 집중되도록 하라.

트레이드오프: 장단점

접근법장점단점
원시 취약점 수보고하기 단순함사소한 문제와 중대한 문제를 뒤섞음; 억제를 통해 쉽게 게임화됨
심각도 가중 교정까지의 시간 추적시간에 따른 실제 위험 노출을 반영함규율 있고 일관된 분류와 추적이 필요함
순전히 내부적인 심각도 판단유연하고 맥락에 맞춰짐관대한 표류와 팀 간 일관성 없음에 취약함
표준화된 외부 점수(예: CVSS)에 맥락 가중을 더한 것일관되고 외부에 고정되어 있으며 게임화에 저항함진정으로 정확한 우선순위 지정을 위해 추가적인 맥락 분석이 필요함

핵심 긴장은 일관성 대 맥락이다. 순전히 표준화된 점수 접근법은 일관되고 게임화에 저항력이 있지만 실제 위험을 결정하는 진정한 맥락, 즉 노출과 악용 가능성을 놓칠 수 있다. 순전히 맥락적이고 내부적으로 판단된 접근법은 뉘앙스를 포착하지만 이 책이 다른 모든 분류 의존적 메트릭에 대해 경고하는 것과 같은 관대한 표류 위험에 취약하다. 극단 중 하나만이 아니라 표준화된 점수를 일관된 기준선으로 고정한 다음 그 위에 문서화되고 감사 가능한 맥락 가중을 적용함으로써 긴장을 해결하라.

팀과 논의할 질문

  1. 우리는 심각도별 교정까지의 시간을 추적하는가, 아니면 원시 취약점 수만 추적하는가? 현재 실제 메트릭을 끌어와서 그것이 몇 달 동안 패치되지 않은 채로 있는 중대한 문제를 하루 이내에 고쳐진 문제와 구별하는지 확인하라. 원시 수는 이 매우 다른 위험 상황을 동일하게 취급하기 때문이다.

  2. 우리는 표준화된 외부 심각도 점수 시스템을 사용하는가, 아니면 분류가 순전히 내부적이고 잠재적으로 일관성 없는 판단에 의존하는가? 순전히 내부적이라면, CVSS 같은 표준을 채택하는 것이 현재 분류 관행에 무엇을 바꿀지 논의하라.

  3. 취약점을 도입하고 나서 그것을 보고한 엔지니어는 그렇게 하는 것이 안전하다고 느낄까, 아니면 처벌을 두려워할까? 이것은 주제 6.2의 비난 없는 문화 질문의 보안에 특화된 직접적인 버전이며, 여기서 정직한 답은 당신의 취약점 데이터를 조금이라도 신뢰할 수 있는지에 엄청나게 중요하다.

  4. 우리는 알려져 있고 위험이 받아들여진 취약점의 가시적이고 정량화된 백로그를 가지고 있는가, 아니면 “우리는 그것을 알고 있다”는 상태가 시간이 지나면서 조용히 보이지 않고 다루어지지 않게 되는가? 당신의 보안 부채가 일반적인 기술 부채 백로그(주제 4.5)와 같은 엄격함으로 추적되는지 확인하라.

  5. 우리의 교정 우선순위 지정은 실제 노출과 악용 가능성을 고려하는가, 아니면 맥락과 무관하게 순전히 명목상 심각도 점수에만 의존하는가? 비슷한 명목상 심각도를 가진 두 취약점이 매우 다른 실제 위험을 수반했던 실제 사례를 골라, 현재 절차가 그것들을 올바르게 우선순위 지정했을지 논의하라.

  6. 심각도 분류가 명확한 정당성 없이 시간이 지나면서 아래로 표류한 적이 있는가? 이것은 주제 1.2와 주제 6.2가 둘 다 경고하는 정의 게임화 패턴을 반영한다. 이 특정 위험에 대해 최근 분류 샘플을 감사하라.

분야별 관점

스타트업. 공식적인 취약점 관리 절차는 흔히 매우 초기에는 불필요하지만, 처음부터 기본적인 자동화된 의존성 스캔과 단순하고 정직한 내부 보고 규범을 채택하는 것은 비용이 거의 들지 않으며 팀이 체계적으로 그것을 다룰 역량을 갖추기 전에 보안 부채가 보이지 않게 축적되는 것을 막는다.

중소기업. 대부분의 현대 개발 플랫폼은 의존성에 대한 무료 또는 저비용 자동화된 취약점 스캔을 포함한다. 이것을 일찍 활성화하고 전용 보안 기능이나 정교한 도구 없이도 중대한 것으로 표시된 모든 것에 대해 교정까지의 시간을 추적하라.

엔터프라이즈. 일관되고 표준화된 심각도 점수와 진정으로 비처벌적인 공개 문화는 둘 다 필수적이며 둘 다 규모에서 유지하기 더 어렵다. 수십 개 팀 전반의 일관성 없음과 심각한 인시던트 후 비난 추구 쪽으로의 문화적 표류가 지속적인 위험이기 때문이다. 분류 일관성을 유지하고 공개 문화를 적극적으로 보호할 전용 보안 거버넌스 기능에 투자하라.

정부. 여기서 보안 메트릭은 흔히 국가 안보, 규제 준수, 공공 신뢰와 직접 교차하며, 심각하게 잘못 처리된 취약점은 전형적인 민간 부문 침해를 훨씬 넘어서는 결과를 가질 수 있다. 엄격하고 외부에 고정된 심각도 분류를 유지하고, 내부와 외부 공개 문화를 적극적으로 보호하며, 이 주제가 권장하는 투명성과 우선순위 지정 엄격함으로 보안 부채를 다루어라. 공공 인프라의 문서화되지 않고 조용히 받아들여진 중대한 취약점은 진정으로 심각하고 감사 가능한 위험이기 때문이다.

사례

엔터프라이즈. 한 소프트웨어 회사의 보안 팀은 수년 동안 리더십에게 원시 취약점 수만 보고해 왔으며, 그 숫자는 평탄한 추세를 보여 거짓된 안정감을 주었다. 개정된 심각도 가중 교정까지의 시간 분석은 총수는 평탄했지만 중대한 취약점이 평균 90일 이상 교정되는 데 걸리고 있다는 것을 드러냈으며, 이는 어떤 합리적인 목표도 훨씬 넘어서는 것이었다. 전용되고 보호된 역량이 없이 모든 계획 주기에서 기능 작업에 맞서 성공하지 못하고 경쟁하고 있었기 때문이었다. 중대한 취약점에 대해 엄격한 7일 교정 목표를 확립하고, 주제 4.5의 기술 부채 할당 모델을 반영하는 보호된 보안 부채 교정 역량으로 뒷받침한 것은 두 분기 이내에 평균 중대한 교정 시간을 5일 미만으로 낮췄다.

정부. 한 국가 인프라 기관은 외부 보안 감사 후, 내부 엔지니어들이 자신의 코드에서 발견한 취약점을 성과 평가에 나쁘게 반영될 것을 두려워해 비공식적으로 보고를 피해 왔다는 것을 발견했으며, 이는 주제 6.2의 비난 주도 인시던트 과소 보고 패턴과 명확하게 유사했다. 그 기관은 비난 없는 인시던트 대응 관행을 직접 본뜬, 성과 결과로부터 내부 취약점 보고자를 보호하는 명시적이고 공개적으로 전달된 정책을 제정했으며, 이듬해 내부 취약점 보고는 상당히 증가했다. 그 기관의 리더십은 이 결과를 코드 품질 저하의 증거가 아니라 개선된 감지와 정직한 보고의 증거로 올바르게 해석했으며, 숫자가 올라갔으니 상황이 나빠졌음이 틀림없다는 자연스럽지만 잘못된 결론을 피했다.

비즈니스 사례: 동기, ROI, TCO

엄격하고 잘 분류되고 정직하게 보고된 취약점 관리의 수익은 피해진 침해 비용이며, 이는 심각한 보안 인시던트의 경우 흔히 선제적 교정 비용을 여러 배로 압도한다. 또한 피해진 규제, 계약, 평판 손해도 수익이다. 위의 소프트웨어 회사 사례는 특정 메커니즘을 보여 준다: 보안 부채는 주제 4.5가 일반적인 기술 부채에 대해 경고하는 것과 정확히 같은 패턴으로, 보호된 교정 역량이 그것을 직접 고칠 때까지 수년 동안 조용히 기능 작업에 맞선 우선순위 경쟁에서 지고 있었다.

총 소유 비용은 자동화된 스캔 도구, 이 주제가 할당을 권장하는 보호된 교정 역량, 그리고 비처벌적 공개 관행에 대한 지속적인 문화적 투자를 포함한다. 그 비용은 선제적이고 잘 우선순위 지정된 교정이 악용되기 훨씬 전에 포착하고 고쳤을 심각하고 성공적으로 악용된 취약점의 비용에 비하면 적당하다.

안티패턴과 함정

  • 원시 취약점 수만 추적하기: 사소한 문제와 중대한 문제를 뒤섞고 실제 위험과 무관하게 거짓된 안정감이나 위기감을 준다.
  • 순전히 내부적이고 표준화되지 않은 심각도 분류: 팀 간 관대한 표류와 일관성 없음에 취약하다.
  • 내부든 외부든 취약점 공개를 처벌하기: 실제 위험을 관리된 교정 절차가 아니라 지하로 몰아넣는다.
  • 가시적이고 정량화된 백로그가 없는 보안 부채: 기본적으로 기능 작업에 맞선 우선순위 경쟁에서 진다.
  • 노출과 악용 가능성 맥락을 무시하고 명목상 심각도 점수로만 우선순위 지정하기: 제한된 교정 역량을 잘못 지시한다.
  • 보고 자체가 개선되었는지 확인하지 않고 상승하는 취약점 보고 수를 품질 저하의 증거로 해석하기: 주제 1.6의 교란 변수 함정의 특정 사례다.

성숙도 모델

  • 1단계, 시작: 취약점이 추적된다 해도 심각도 가중, 교정 시간 추적, 비처벌적 공개 문화 없이 원시 수로만 추적된다.
  • 2단계, 개발: 일부 심각도 분류가 존재하지만, 기준이 일관성 없고 교정 시간이 명시적인 목표에 맞서 추적되지 않는다.
  • 3단계, 표준화: 표준화되고 외부에 고정된 심각도 점수와 심각도별 명시적인 교정 시간 목표가 진정으로 비처벌적인 공개 문화와 함께 일관되게 적용된다.
  • 4단계, 관리: 보안 부채가 보호된 교정 역량을 가진 가시적이고 정량화된 백로그로 추적된다. 우선순위 지정은 심각도만이 아니라 노출과 악용 가능성 맥락을 고려한다.
  • 5단계, 조율: 조직은 중대한 교정 시간의 구체적이고 측정 가능한 감소를 지적할 수 있으며 정직하고 포괄적인 취약점 데이터를 만들어 내는 지속적이고 신뢰받는 공개 문화를 입증할 수 있다.

논의를 위한 아이디어

  1. 중대한 취약점에 대한 우리의 현재 평균 교정까지의 시간은 얼마이며, 그것은 명시적인 목표를 충족하는가?
  2. 취약점을 도입한 엔지니어가 그것을 스스로 보고하는 것이 안전하다고 느낄까?
  3. 우리는 알려져 있고 위험이 받아들여진 보안 부채의 가시적이고 정량화된 백로그를 가지고 있는가?
  4. 우리의 교정 우선순위 지정은 실제 노출을 고려하는가, 아니면 명목상 심각도만 고려하는가?
  5. 심각도 분류가 명확한 정당성 없이 시간이 지나면서 아래로 표류한 적이 있는가?

핵심 요약

  • 원시 취약점 수가 아니라 심각도별 교정까지의 시간을 주요 보안 건강 메트릭으로 추적하라.
  • 순전히 내부적인 판단이 초대하는 관대한 표류 위험에 저항하는 일관된 기준선으로 표준화된 외부 심각도 점수(CVSS 같은)를 사용하라.
  • 진정으로 비처벌적인 공개 문화를 구축하라. 보고를 처벌하는 것은 실제 위험을 지하로 몰아넣는다.
  • 보안 부채를 기술 부채의 한 범주로(주제 4.5) 취급하여, 보호된 교정 역량을 두고 공정하게 경쟁하게 하라.
  • 심각도 점수만이 아니라 실제 노출과 악용 가능성으로 우선순위를 가중하라.

참고 문헌 및 추가 자료

  • FIRST.org’s Common Vulnerability Scoring System (CVSS) specification.
  • OWASP Foundation resources on vulnerability management and secure software development lifecycle practice.
  • Site Reliability Engineering: How Google Runs Production Systems, by Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy, eds.
  • NIST Special Publication 800-40, Guide to Enterprise Patch Management Planning.