Explainable NIDS · Problem → Solution
네트워크 이상 징후를 ‘근거’와 함께 1분 내 요약 — KOSA·SANS·NIST·ESG 등 공식 수치 기반 KPI·ROI
PCAP/CSV → LightGBM + Temperature Scaling → Unknown 라우팅 → SHAP/FAISS/KB 설명 → 한국어 요약 → PDF/웹 리포트.
※ 모든 KPI/ROI 식·수치는 하단 근거 섹션의 공개 자료를 따릅니다.
작동 방식
PCAP/CSV 인입 → 특징 추출 → LGBM+보정 → Unknown 라우팅 → SHAP/FAISS/KB → 한국어 요약 → 리포트
flowchart LR
A[PCAP/CSV 인입] --> B[특징 추출/정렬]
B --> C[LGBM 추론 + Temp Scaling]
C -->|임계 이하| D[Unknown 큐]
C -->|임계 이상| E[분류 결과]
D --> F[운영자 확인/보강]
E --> G[설명가능성: SHAP/FAISS/KB]
G --> H[한국어 요약]
H --> I[PDF/웹 리포트]
1) PCAP/CSV 인입
파일 또는 파이프라인 입력으로 플로우 단위 수집.
CSVPCAP2) 특징 추출·정렬
스키마 정렬/정규화 → 모델 입력 보장.
SchemaNormalize3) LGBM + 보정
Temperature Scaling으로 calibrated prob. 산출.
LightGBMCalibration4) Unknown 라우팅
임계 이하 확률은 안전한 미지정 큐로 분기.
ThresholdTriage5) SHAP / FAISS / KB
Top-K 중요도·유사 플로우·KB 스니펫으로 “왜” 제시.
SHAPFAISSKB6) 한국어 요약
근거를 한국어로 요약해 운영 가독성 향상.
LLMSummary7) 리포트 (PDF/웹)
원클릭 생성, 로그/근거 포함.
PDFWeb
KPI & ROI — 공식 근거 기반
핵심 KPI (정의·베이스라인·목표·근거)
| 구분 | 정의 / 산식 | 베이스라인(출처) | 1차 목표 |
|---|---|---|---|
| 경보 Triaging 시간/건 | Alert opened→초기 판단까지(분) | 10분/건 (다수 설문 평균 10+분) [6] | ≤4분/건 (자동화로 ‘수분’ 검증) [7] |
| MTTA (Alert Dwell) | 경보 발생→초기 대응 시작(분) | 설문 평균 ~56분 [9] | ≤15분 |
| 주간/월간 보고서 작성시간 | 초안→전달까지(시간) | 수 시간 (few hours+) [3] | ≤1시간 |
| ‘워크 어바웃 워크’ 비율 | 조율/보고/복제 작업 비중 | ~60% (Asana), 정보탐색 8.2h/주 (APQC) [4][5] | -10~15%p 개선 |
| 오탐(FP) 비율 | 무해 경보 비중 | 보고서별 상이(내부 기준 필요) | 분기 -20% 개선(추적 KPI) |
운영 ROI 계산기 (KOSA 단가 59,813원/시간 기반)
가정: triage 10→4분(6분 절감), 보고서 few hours → 1h로 단축. 근거는 하단 링크 참조.
공식: ((기존−도입후)분×일경보×근무일)/60 + (주간절감×52/12) + (월간절감) → 시간 × 시급
시나리오 (공식 값 기반 보수적)
내역: triage 44.0h + 보고 8.67h(2h/주→월 환산)
내역: triage 11.0h + 보고 3.0h(월 1건)
참고: triage 절감이 7분/건이면 A≈3.59M, B≈0.95M원으로 상승(근거 범위 내 가변).
UX 해석: KPI/ROI를 ‘도구 상단 고정 보드 + 계산기’로 제공해, 보안팀장이 즉시 투자대비효과를 현업 단위(경보/보고)로 추정·공유할 수 있게 합니다.
핵심 기능
확률 보정
Temperature Scaling으로 신뢰 확률 제공, 임계 기반 Unknown 라우팅.
설명가능성
SHAP Top-K + FAISS 유사사례 + KB 스니펫으로 “왜”를 제시.
제품형 제공
FastAPI /analyze, Gradio UI, ReportLab PDF 리포트.
API 스케치
POST /analyze (JSON)
curl -X POST http://localhost:8080/analyze \
-H "Content-Type: application/json" \
-d @sample_request.json
입력: 특징/메타 JSON 또는 파일 핸들. 출력: 예측·보정확률·Unknown 여부·SHAP·유사사례·요약 등.
POST /analyze (파일 업로드)
curl -X POST http://localhost:8080/analyze \
-H "Content-Type: multipart/form-data" \
-F "files=@sample.csv"
PCAP/CSV 인입 지원 시 예시.
엔드포인트
GET /POST /analyzeGET /engine_info
앱: FastAPI(title="Packet Chatbot", version="1.0.0")
로컬 실행
# 1) 환경
conda env create -f environment.yml
conda activate packet-chatbot
# 2) API 기동
uvicorn serve.api:app --port 8080
# 3) 분석 호출
curl -X POST http://localhost:8080/analyze \
-H "Content-Type: application/json" \
-d @sample_request.json
모듈 요약
serve/api.py
POST /analyze- 요청 검증 · 리포트 핸들
serve/model.py
- LGBM 로더 + Temperature Scaling
- 보정 확률 산출
serve/router.py
- Unknown 라우팅
- 임계/폴백/캐시
serve/explain.py
- SHAP Top-K · FAISS 유사사례
- KB 스니펫
serve/report.py
- ReportLab PDF 생성
- 웹 리포트
기타
- Gradio UI
- 한국어 요약 LLM
폴더/파일 구조
serve/
├─ api.py # FastAPI 엔드포인트(/analyze)
├─ model.py # LGBM 로더 + 보정
├─ router.py # Unknown 라우팅
├─ explain.py # SHAP/유사사례/KB
└─ report.py # PDF 리포트 생성
분석 데이터 출처
- Gotham Dataset 2025 — zenodo.org
- Flooding-Based-DDoS-Muleticlass-Dataset — data.mendeley.com
ROI & KPI 근거(공식·신뢰 가능한 출처)
- KOSA 2025 적용 SW기술자 평균임금 공표 — sw.or.kr
- NIST SP 800-61r2 — nvlpubs.nist.gov
- SANS CTI Survey 2024 — Bitsight 요약
- Asana Anatomy of Work 2024/2025 — asana.com
- APQC 연구(정보 탐색/재작성 8.2h/주) — apqc.org
- SOC 경보 조사시간(10+분) — Swimlane(SANS 정리)
- ESG 경제검증(Fortinet Automated SOC) — ESG Report PDF
- 피싱 신고 처리 평균 7.7분 — SC Media
- AI in SOC Survey — prophetsecurity.ai
※ 본 페이지의 KPI/ROI 시나리오 수치는 상기 공식 자료의 범위 안에서 보수적으로 산정했습니다. 실제 절감액은 귀사 로그(경보량·보고 빈도)에 따라 변동합니다.