3.0 KiB
3.0 KiB
title, updated, tags
| title | updated | tags | ||||
|---|---|---|---|---|---|---|
| Netbis Sigmatch — VL 기반 자동 시그니처 생성 + CF 차단 | 2026-04-24 |
|
개요
Netbis NPM 로그(VictoriaLogs)를 실시간 분석해 사람 개입 없이 자동으로 공격 시그니처를 생성하고 CF IP Access Rules에 차단 반영. LAPI·CrowdSec·LLM 모두 사용 안 함 — 통계/ML 기반.
- 저장소: https://gitea.inouter.com/kaffa/netbis-sigmatch
- 로컬 개발:
~/netbis-sigmatch/(Mac) - 배포 예정: jp1 Incus
ai-sigmatch컨테이너 (systemd timer 1분) - 책임자: kappa 직접 개발 (Heimdall 위임 X, 개발 단계)
설계 결정
| 결정 | 값 | 근거 |
|---|---|---|
| 탐지 주기 | 1분 (슬라이딩 윈도우 5분) | 5분 내 방어 개시 목표 |
| 분석 대상 | 5분 요청 100+ IP만 | 통계적 유의성 확보, 노이즈 제거 |
| LLM 사용 | 없음 | 이전 ddos-detect 실패 원인(매 요청 LLM 동기 호출) 교훈 |
| LAPI 경유 | 없음 | Netbis는 로그 파이프라인이 독립, LAPI 중간 레이어 불필요 |
| 차단 저장소 | CF IP Access Rules 직접 | 한도 50k (vs Custom List 10k) |
| Feature | 13종 + 메타 (경로 문자열·UA 문자열 비의존) | 공격 path·UA가 매번 바뀌어도 시그니처 재사용 가능 |
Feature 확정
5분 윈도우, 요청 100+ IP.
| 카테고리 | Feature |
|---|---|
| 볼륨 | reqs, rate_per_min |
| 경로 shape | path_entropy, top_path_ratio, uniq_paths |
| UA | ua_count |
| 응답 | status_2xx_ratio, status_4xx_ratio |
| 간격 | iri_mean, iri_p50, iri_p90, iri_cv |
| 행동 | static_ratio, ref_count, ref_top_ratio, active_sec, has_post |
| 메타 | is_reserved (240/4 플래그) |
제거된 후보
top_path·top_ua문자열 — 공격자가 매번 바꿈. 시그니처가 종속되면 재생성 부담ref_none_ratio,ref_external_ratio— 봇도 referer 세팅, 실측 전부 0- UA 문자열 기반 봇 분류 — 정교한 봇은 정상 Chrome/Safari UA 사용
개발 단계
- Phase 1: feature 추출 파이프라인 (
fetch_features.py) - Phase 2: 24h baseline 수집기 (정상 분포 학습용)
- Phase 3: IsolationForest 기반 anomaly detection
- Phase 4: DBSCAN 클러스터링 → 시그니처 자동 합성
- Phase 5: dry-run (매치 기록만, ban X)
- Phase 6: CF IP Access Rules 호출 (ban + TTL)
- Phase 7: jp1 Incus 배포 (systemd timer)
관찰된 공격 유형 (2026-04-24 실측)
유형 A — 리소스 크롤러: static_ratio > 0.5, iri_p90 < 0.1, uniq_paths > 50, 짧은 active
유형 B — API/HTML 봇: static_ratio < 0.05, iri_p90 58s, path_entropy < 5, top_path_ratio 0.20.3, active 200s+
루프 봇: ref_top_ratio >= 0.9 + reqs >= 100 (단독 ban 기준 후보)
연관 정본
- ../services/netbis — NPM → VL 파이프라인
- ../infra/security/cloudflare#Pseudo IPv4 (Class E 240/4) — 240/4 대역 해석
- ../history/2026-04-24-cf-pseudo-ipv4-discovery — CF Pseudo IPv4 규명