피드로 돌아가기
Testing Sigma Rules Against Local Logs Without a SIEM
Dev.toDev.to
Security

SIEM 없이 로컬 로그 검증으로 룰 수정 주기 4분에서 2초로 단축

Testing Sigma Rules Against Local Logs Without a SIEM

Jude Hilgendorf2026년 5월 6일5intermediate

Context

Sigma 룰 검증을 위해 Wazuh 등 SIEM 인프라를 구축하고 로그를 전송하는 과도한 오버헤드 발생. 단순한 Regex 매칭 확인을 위해 VM 구동부터 로그 테일링까지 이어지는 복잡한 파이프라인으로 인한 느린 피드백 루프가 병목 지점으로 작용.

Technical Solution

  • 단순 Regex 매칭의 한계를 극복하기 위해 Detection Block을 Callable 객체로 변환하는 Expression Tree 구조 설계
  • selection, filter, condition 키를 파싱하여 Boolean 연산 및 와일드카드 처리가 가능한 전용 Matcher 구현
  • 로그 소스마다 상이한 필드명 문제를 해결하기 위해 field_aliases.yml 기반의 Event Normalization 레이어 도입
  • compile_selection 함수를 통해 룰 로드 시점에 컴파일을 완료하고 이벤트 처리 시에는 평가만 수행하는 최적화 적용
  • pySigma 라이브러리 미도입으로 인한 파서의 한계를 극복하고자 Expression Tree 기반의 자체 컴파일러 구축

Impact

  • 룰 수정 후 검증까지의 Round Trip 시간 4분에서 2초로 99% 이상 단축
  • 4,823개의 Sysmon 이벤트 덤프 스캔 시 처리 시간 1초 미만 달성

1. 도메인 특화 언어(DSL) 파싱 시 단순 Regex보다 Expression Tree 구조를 통한 컴파일 방식 검토

2. 외부 데이터 소스의 필드명 불일치 해결을 위해 하드코딩 대신 Alias Mapping 설정 파일 운영

3. 반복적인 테스트 루프가 긴 시스템의 경우, 전체 인프라를 모사하는 Mock 스캐너를 구축하여 피드백 주기 단축

4. 초기 설계 단계에서 레퍼런스 라이브러리(pySigma 등) 검토를 통해 중복 구현 비용 최소화

원문 읽기