탐지 경보 정밀도·기저율 계산 쉽게 이해하기 — 개념과 원리
침입 탐지 시스템, 백신, 이상 거래 탐지기의 성능은 흔히 탐지율과 오탐률로 소개됩니다. 숫자만 보면 든든하지만 분석 담당자가 실제로 체감하는 것은 정밀도, 즉 경보 중 진짜 공격의 비율입니다. 이 계산기는 이벤트 수, 공격의 드문 정도, 탐지기의 두 가지 오류율을 합쳐 하루에 경보가 몇 건 울리고 그중 몇 건이 진짜인지 보여 줍니다.
계산 방법
- 악성 이벤트 = 이벤트 수 × 악성 비율입니다.
- 진짜 경보(TP) = 악성 이벤트 × 탐지율(재현율)입니다.
- 오경보(FP) = 정상 이벤트 × 오탐률이며, 정상 이벤트 = 이벤트 수 × (1 − 악성 비율)입니다.
- 하루 경보 수 = TP + FP입니다.
- 정밀도 = TP ÷ (TP + FP) × 100%입니다.
비율은 모두 백분율로 입력합니다.
원리
이는 베이즈 정리를 개수로 계산한 것입니다. 공격이 드물면 정상 이벤트가 압도적으로 많으므로, 아주 작은 오탐률이라도 거대한 정상 이벤트에 곱해지면 소수의 악성 이벤트를 거의 완벽하게 잡아낸 경보보다 많아집니다. 2000년 스테판 악셀손은 이를 침입 탐지의 '기저율 오류'로 설명하며, 실용성을 결정하는 것은 탐지율이 아니라 오탐률이라고 지적했습니다. 정밀도는 기저율에 따라 달라지지만 탐지율과 오탐률은 그렇지 않습니다.
예제 풀이
- 입력값은 하루 이벤트 1,000,000건, 악성 비율 0.01%, 탐지율 99%, 오탐률 0.1%입니다.
- 악성 이벤트 = 1,000,000 × 0.0001 = 100건입니다.
- 진짜 경보 = 100 × 0.99 = 99건입니다.
- 정상 이벤트는 999,900건이고 오경보 = 999,900 × 0.001 = 999.9건입니다.
- 하루 경보 수 = 99 + 999.9 = 1,098.9건입니다.
- 정밀도 = 99 ÷ 1,098.9 = 9.01%로, 경보 열 건 중 아홉 건가량이 오경보입니다.
| 하루 이벤트 수 | 하루 경보 수 |
|---|---|
| 250,000 | 274.725 |
| 500,000 | 549.45 |
| 750,000 | 824.175 |
| 1e+06 | 1,098.9 |
| 1.25e+06 | 1,373.625 |
| 1.5e+06 | 1,648.35 |
| 2e+06 | 2,197.8 |
결과 해석
정밀도 9%는 진짜 공격 하나를 찾으려면 경보를 약 11건 확인해야 한다는 뜻입니다. 이 예에서 오탐률을 0.1%에서 0.01%로 낮추면 오경보가 하루 약 100건으로 줄고 정밀도는 약 50%로 오릅니다. 반면 탐지율을 99%에서 99.9%로 높여도 정밀도는 거의 변하지 않습니다. 정밀도와 함께 팀이 하루에 처리할 수 있는 경보 건수도 살펴야 합니다.
흔한 실수
- 탐지율 하나만 보고 탐지기를 평가합니다.
- 공격과 정상이 반반인 시험 데이터로 평가해 실제 환경의 기저율 효과를 놓칩니다.
- 정밀도가 좋아져도 놓친 1%의 공격(미탐)은 여전히 중요하다는 점을 잊습니다.
자주 묻는 질문
정밀도와 재현율은 어떻게 다릅니까?
재현율은 실제 공격 중 잡아낸 비율이고, 정밀도는 경보 중 실제 공격의 비율입니다.
정밀도는 어떻게 높입니까?
규칙 조정, 허용 목록, 여러 신호의 상관 분석, 경보 전 2차 확인으로 오탐률을 낮춥니다.
출처: S. Axelsson, "The Base-Rate Fallacy and the Difficulty of Intrusion Detection", ACM Transactions on Information and System Security 3(3), 2000 · T. Fawcett, "An Introduction to ROC Analysis", Pattern Recognition Letters 27(8), 2006