크라우니시큐리티 — 한선씨 완전 전환 + 상시 고도화
개요
크라우니시큐리티 서버를 한선씨 네이티브로 완전 재구현하고, 상시 고도화 엔진을 JS/한선씨 양쪽에 구현 완료.
완료 항목
1. 글로벌 납품 가능 여부 평가
- 결론: MVP 납품 가능 — 29개 API, 영속성(스냅샷), 33개 보안모듈, SIEM 연동, Docker 배포
- 영속성은 이미 구현되어 있었음 (5분 주기 스냅샷 + 종료 시 저장 + 시작 시 복구)
2. 상시 고도화 엔진 (server.js 내 HardeningEngine 클래스)
- 자동 룰 튜닝: 오탐률 50% 이상 → 임계치 1.5배 상향, 오탐률 5% 미만 → 0.8배 하향
- 위협피드 자동 수집: URLhaus + Feodo 6시간 주기 (500 IOC/피드)
- 베이스라인 유지보수: 7일 미활동 기준선 자동 삭제
- 성능 메트릭: 1분 주기 events/min, alerts/min 수집 (60분 롤링)
- 보관 정리: 설정 일수 초과 이벤트 자동 삭제
- Prometheus /metrics: crowny_events_total, crowny_alerts_open 등 10개 메트릭
3. 완전 한선씨 버전 (server/보안서버.한선)
server.js의 전체 핵심 로직을 한선씨 네이티브로 재구현:
- 이벤트 엔진: 수집 → IOC 매칭 → 상관분석 → UEBA 3단 파이프라인
- IOC 관리: ip/domain/url/hash/email 5종, 맵 기반 O(1) 조회
- 상관분석: 시간 윈도우 + 소스 그룹핑 + 임계 기반 규칙 엔진
- UEBA: Welford 온라인 알고리즘, Z-score > 3 이상탐지
- BeyondCorp: 장치/사용자/네트워크/시간 4축 신뢰점수
- ABAC: Bell-LaPadula 5등급 접근제어
- STIX 2.1: IOC → indicator 번들 내보내기
- HTTP 서버: TCP 기반 REST API (파서 + 라우터 + 응답)
- 상시 고도화: 자동 튜닝 엔진
- 컴파일/실행 성공 — CrownyTVM v0.38.0에서 전체 자체 테스트 통과
테스트 결과
IOC 매칭: IP 203.0.113.66 정확히 탐지
신뢰점수: 85점 / high 레벨
ABAC: admin(등급5)→기밀(등급4)=허용, intern(등급1)→기밀(등급4)=거부
STIX: 2개 indicator 번들
고도화: 자동 튜닝 1회 실행
감사로그: 8건 자동 기록
파일 위치
- JS 서버 (고도화 포함):
/Users/ef/crowny-security/server/server.js (1400+ 줄)
- 한선씨 서버:
/Users/ef/crowny-security/server/보안서버.한선 (580+ 줄)
- 한선씨 모듈:
/Users/ef/crowny-security/modules/*.한선 (33개)
제품 전체 현황
| 구성요소 | JS 버전 | 한선씨 버전 | 상태 |
|---|
| REST API 서버 | server.js | 보안서버.한선 | 양쪽 완료 |
| 이벤트 엔진 | SecurityEngine | 이벤트수집() | 양쪽 완료 |
| IOC 매칭 | _matchIOC() | IOC매칭() | 양쪽 완료 |
| 상관분석 | _evaluateRules() | 규칙평가() | 양쪽 완료 |
| UEBA | Welford | Welford | 양쪽 완료 |
| 신뢰점수 | evaluateTrust() | 신뢰평가() | 양쪽 완료 |
| ABAC | evaluateABAC() | 접근평가() | 양쪽 완료 |
| STIX 2.1 | exportSTIX() | STIX내보내기() | 양쪽 완료 |
| 상시 고도화 | HardeningEngine | 자동튜닝() | 양쪽 완료 |
| 대시보드 | index.html | — | JS만 |
| Syslog 수신 | UDP+TCP | — | JS만 |
| WebSocket | ws:// | — | JS만 |
| 위협피드 수집 | HTTP GET | — | JS만 |
| 영속성 | JSON 스냅샷 | — | JS만 |