이번 글에서는 현업에서 가장 많이 쓰이는 Splunk, Elastic, IBM QRadar, ArcSight를 중심으로 Sigma 생태계를 이해하는 데 초점을 맞춰보겠습니다.
"SIEM 분석 룰 규칙을 언제 배우고 새로 만들지"라는 고민 대신, 하나의 Sigma 규칙으로 모든 환경을 커버하는 공략을 실무 중심으로 정리해드리겠습니다.
SigmaHQ 공식 백엔드 문서에 따르면, 위에 제시한 4가지 플랫폼을 포함한 다양한 SIEM 분석 룰을 pySigma 백엔드를 통해 변환이 지원되며, sigma-cli로 간단히 쿼리를 생성할 수 있습니다.
◎ 다양한 SIEM 분석 룰 형식의 딜레마와 Sigma의 역할
- Splunk의 강력한 SPL 검색, Elastic의 Elasticsearch 속도, IBM QRadar의 AQL 통합 분석, ArcSight의 ESM 등등 상관 분석 룰을 만들기 위한 규칙을 배우고 룰을 만드는 것에 대한 고민이 생깁니다.
- 각 제품의 쿼리 언어가 완전히 다르기 때문에, 탐지 규칙을 작성할 때마다 문법을 다시 배워야 하고, 팀 간 공유도 어렵죠.
- Sigma는 이 문제를 YAML 규칙 → 백엔드 변환으로 해결합니다.
- SigmaHQ의 Backends 섹션에서 Splunk, Elasticsearch, QRadar-AQL, ArcSight 등 다양한 SIEM에 대한 지원을 확인할 수 있으며, IBM의 pySigma-backend-QRadar-AQL 저장소처럼 각 벤더별 공식 백엔드가 활발히 유지됩니다.
- 결과적으로 한 번의 규칙 작성으로 다양한 플랫폼에 대한 상관분석 룰을 뽑아낼 수 있어, 환경 전환 비용을 70% 이상 줄일 수 있습니다.
◎ Sigma 생태계 개요: CLI와 백엔드 플러그인
- Sigma 생태계의 핵심은 sigma-cli (pySigma 기반)입니다.
- 설치 후 sigma plugin install splunk elasticsearch qradar arcsight 명령으로 백엔드를 추가하고, sigma convert rule.yml --target splunk처럼 변환합니다.
- 주요 구성:
- Rules: SigmaHQ GitHub 3,000+ 규칙 모음.
- Pipelines: 로그소스/필드 매핑 (winlogbeat, sysmon 등).
- Backends: 30+ SIEM 지원 (Splunk SPL, Elastic EQL, QRadar AQL, ArcSight ESM).
- Outputs: 검색 쿼리, Saved Search, NDJSON 등.
- 이 구조로 Detection as Code를 구현하면 GitHub Actions에서 자동 변환·배포가 가능합니다.
◎ Splunk 백엔드: SPL 변환의 강자
- Splunk는 시장 점유율 1위 SIEM으로, Sigma 백엔드가 SPL과 savedsearches.conf를 완벽 지원합니다.
- Windows 이벤트로그 파이프라인으로 EventCode 필드를 자동 처리하며, tstats 최적화도 포함됩니다.
- 실전 예시 (PowerShell LOLBIN 탐지):
| # Sigma Rule (powershell_via_cmd.yml) title: PowerShell via CMD logsource: category: process_creation product: windows detection: selection: Image|endswith: '\powershell.exe' ParentImage|endswith: '\cmd.exe' condition: selection |
- 변환 명령:
| sigma convert powershell_via_cmd.yml --target splunk-windows |
- 출력 SPL:
| index=* sourcetype=WinEventLog:Security EventCode="4688" New_Process_Name="powershell.exe" Parent_Process_Name="*cmd.exe*" |
- Splunk 환경에서는 Sigma가 기존 SPL 룰을 YAML로 리팩토링하는 데 특히 유용합니다.
◎ Elastic 백엔드: 다중 쿼리 형식 지원
Elastic은 ES|QL, EQL, Lucene, Kibana NDJSON을 지원하는 강력한 백엔드를 가집니다
Winlogbeat/Elastic Agent 파이프라인으로 필드 매핑이 자동화됩니다.
- 같은 규칙 변환:
| sigma convert powershell_via_cmd.yml --target elasticsearch |
- 출력 EQL:
| process where event.code == "4688" and process.name : "powershell.exe" and process.parent.name : "cmd.exe" |
- Elastic의 시각화와 연동이 쉬워, Kibana Detection Engine에 바로 임포트 가능합니다.
◎ IBM QRadar 백엔드: AQL 전문 변환
- IBM QRadar는 공공/금융권에서 강세를 보이며, IBM 공식 pySigma-backend-QRadar-AQL이 AQL 쿼리를 생성합니다.
- qradar-aql-fields 파이프라인으로 이벤트 필드 매핑, payload 기반 변환도 지원합니다.
- 변환:
| sigma plugin install ibm-qradar-aql sigma convert powershell_via_cmd.yml --target qradar-aql |
- 출력 AQL:
| SELECT * FROM events WHERE eventname="4688" AND process_name ENDSWITH "powershell.exe" AND parent_process ENDSWITH "cmd.exe" |
- QRadar의 룰 테스트와 통합이 우수합니다.
◎ ArcSight 백엔드: ESM 상관 분석 호환
- ArcSight는 레거시 강자지만, Sigma legacy-sigmatools와 SOC Prime 가이드로 ESM 쿼리 변환을 지원합니다.
- Active List와 상관 규칙 연계가 핵심입니다.
- 변환 예 (legacy-sigmatools 사용):
| sigmac -t arcsight powershell_via_cmd.yml |
- 출력 ESM:
| (filter[EventId = 4688] AND (CommandLine CONTAINS "powershell.exe") AND (ParentProcess CONTAINS "cmd.exe")) |
- 기존 ArcSight 룰과 병행 운영에 적합합니다.
◎ 네 플랫폼 비교 테이블
| 플랫폼 | 백엔드 | 주요 출력 | 강점 | 약점 |
| Splunk | splunk | SPL, savedsearches | 운영 경험 풍부 | 비용 높음 |
| Elastic | elasticsearch | EQL, Lucene, NDJSON | 속도/시각화 | 학습 곡선 |
| QRadar | qradar-aql | AQL | 통합 분석 | 커스터마이징 제한 |
| ArcSight | arcsight | ESM Filter | 상관 분석 | 레거시 |
- Sigma로 모든 플랫폼의 공통 탐지 로직을 유지하세요.
◎ 실전 공략: 30분 안에 네 쿼리 생성
- 설치:
| pip install pysigma pysigma-backend-splunk pysigma-backend-elasticsearch pysigma-backend-qradar sigma plugin install splunk elasticsearch ibm-qradar-aql |
- SigmaHQ 규칙 클론:
| git clone https://github.com/SigmaHQ/sigma rules/ |
- 변환 테스트:
| sigma convert rules/windows/process_creation/proc_creation_win_system32_susp_activity.yml --target splunk --config winlogbeat sigma convert ... --target elasticsearch sigma convert ... --target qradar-aql |
- CI/CD 예시 (GitHub Actions):
| jobs: convert: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - run: sigma convert *.yml --target splunk > splunk_rules/ |
◎ 마무르기: 환경 초월의 탐지 표준
- Splunk vs Elastic vs QRadar vs ArcSight 고민은 이제 그만입니다.
- Sigma 생태계는 네 플랫폼을 하나의 YAML로 묶어줍니다.
반응형
'IT > Sigma Rule' 카테고리의 다른 글
| [Sigma Rule] 제5화: "And? Or?" 탐지 로직의 뼈대, Selection과 Condition 완벽 가이드 (0) | 2026.04.26 |
|---|---|
| [Sigma Rule] 제4화: 로그 소스(Logsource) 정의하기: 윈도우 이벤트부터 클라우드 로그, 네트워크 장비까지 (0) | 2026.04.25 |
| [Sigma Rule] 제3화: 5분 만에 배우는 Sigma Rule 기본 구조 (YAML 기초 필드 해부) (0) | 2026.04.24 |
| [Sigma Rule] 제1화: SIEM의 구원자, 왜 지금 Sigma Rule인가? (표준화의 중요성) (0) | 2026.04.22 |
| [Sigma Rule] Sigma Rule 탐지규칙 소개 (0) | 2026.04.21 |
