이번 글에서는 Sigma Meta Rule과 Correlation Rule을 활용해 단일 로그의 한계를 어떻게 넘어설 수 있는지 정리해드리겠습니다.
SigmaHQ 공식 문서는 Meta Rules를 Sigma detection format의 확장으로 정의하며, 더 정교한 탐지를 위해 correlation과 filter를 사용할 수 있다고 설명합니다.
즉, 하나의 이벤트만 보는 탐지에서 벗어나, 여러 이벤트의 관계와 순서를 해석하는 방식으로 발전시키는 것이 핵심입니다.
◎ 왜 메타 룰이 필요한가
- 단일 로그 기반 탐지는 빠르고 직관적이지만, 실제 공격자는 여러 단계를 나눠서 움직이기 때문에 한 번의 이벤트만으로는 놓치는 경우가 많습니다.
- 예를 들어, 계정 열거, 로그인 실패, 권한 상승, 이후 원격 실행처럼 공격이 이어지면 각각의 개별 이벤트는 정상처럼 보일 수 있습니다.
- 메타 룰은 이런 이벤트들을 하나의 흐름으로 묶어서 보게 해 주므로, 단일 로그 탐지의 구조적 한계를 보완할 수 있습니다.
- Sigma Meta Rules는 바로 이런 목적을 위해 만들어졌고, 기본 Sigma Rule을 조합해 더 정교한 탐지를 구성할 수 있게 해 줍니다.
- 실무적으로는 “개별 알람”보다 “행동 체인”을 잡는 데 훨씬 유리합니다.
◎ 메타 룰의 기본 구조
- 메타 룰은 일반 Sigma Rule과 비슷해 보이지만, detection 대신 correlation 섹션을 쓴다는 점이 다릅니다.
- Sigma correlation specification에 따르면 correlation rule은 다음 요소로 구성됩니다.
- type: event_count, value_count, temporal, temporal_ordered 중 하나입니다.
- rules: 참조할 기본 Sigma Rule 목록입니다.
- group-by: 동일 사용자, 동일 호스트처럼 묶을 필드를 지정합니다.
- timespan: 몇 분/몇 시간 동안 볼지 정합니다.
- condition: 몇 번 이상 발생해야 하는지 정합니다.
- 즉, correlation rule은 “어떤 기본 규칙들이 어떤 관계로 얼마나 자주 발생하면 경보를 낼지”를 기술하는 상위 계층입니다.
◎ event_count로 빈도 보기
- 가장 단순한 correlation은 event_count입니다.
- 특정 이벤트가 일정 시간 동안 몇 번 발생했는지 보는 방식입니다.
- 예를 들어 실패 로그인 10회 이상을 5분 안에 탐지하는 방식이 여기에 해당합니다.
| title: Failed Logon Spike status: stable name: failed_logon logsource: product: windows service: security detection: selection: EventID: 4625 condition: selection --- title: Brute Force Correlation status: test correlation: type: event_count rules: - failed_logon group-by: - TargetUserName - TargetDomainName timespan: 5m condition: gte: 10 level: medium |
- 이 예시는 기본 룰 failed_logon을 참조해서, 같은 사용자 계정 기준으로 5분 동안 10회 이상 실패하면 상관 알람을 내도록 만든 것입니다.
◎ value_count로 다양성 보기
- 두 번째는 value_count입니다.
- 단순히 많이 발생했는지보다, 서로 다른 값이 얼마나 많이 등장했는지를 봅니다.
- 예를 들어 한 계정이 10개의 다른 사용자 그룹을 열거했다면, 그 자체가 이상 징후일 수 있습니다.
| title: High-Privilege Group Enumeration name: privileged_group_enumeration status: stable logsource: product: windows service: security detection: selection: EventID: 4799 CallerProcessId: 0x0 TargetUserName: - Administrators - Remote Desktop Users - Remote Management Users - Distributed COM Users condition: selection --- title: Group Enumeration Correlation status: high correlation: type: value_count rules: - privileged_group_enumeration group-by: - SubjectUserName timespan: 15m field: TargetUserName condition: gte: 4 level: high |
- 이 규칙은 SubjectUserName 기준으로 15분 동안 서로 다른 TargetUserName이 4개 이상이면 경보를 내는 구조입니다.
- 이런 방식은 BloodHound 같은 도구를 활용한 사전 정찰 행동을 찾는 데 적합합니다.
◎ temporal과 temporal_ordered
- 세 번째는 temporal과 temporal_ordered입니다.
- 둘 다 여러 이벤트의 관계를 보지만, 순서 요구 여부가 다릅니다.
- temporal: 정해진 시간 안에 여러 이벤트가 발생하면 됩니다. 순서는 중요하지 않습니다.
- temporal_ordered: 이벤트 발생 순서가 중요합니다. 먼저 A가 나오고 그다음 B가 나와야 합니다.
- 예를 들어 “취약점 스캔 후 로그인 실패, 그 후 권한 상승” 같은 흐름은 temporal 또는 temporal_ordered로 표현할 수 있습니다.
- 공격 체인의 순서가 분명한 경우에는 temporal_ordered가 더 정확합니다.
◎ 필터와 메타 룰의 조합
- Meta rule는 correlation만 있는 것이 아닙니다.
- SigmaHQ 문서는 Meta Rules가 filter도 함께 지원한다고 설명합니다. 필터는 상관분석 전에 정상 행위를 제외하는 데 사용됩니다.
- 예를 들어 관리 툴의 대량 로그인 실패는 brute force가 아니라 배치 작업일 수 있으므로, 먼저 필터 룰로 제거하고 상관분석을 수행하는 방식이 좋습니다.
- 실무에서는 보통 아래 구조가 가장 안정적입니다.
- 기본 Sigma Rule로 개별 이벤트를 잡습니다.
- filter rule로 정상 패턴을 제외합니다.
- correlation rule로 여러 이벤트를 묶습니다.
- 이 순서를 지키면 오탐을 크게 줄이면서도 중요한 행동 패턴은 놓치지 않을 수 있습니다.
◎ 룰 구성 팁
- Meta rule을 작성하실 때는 기본 룰과 correlation 룰을 같은 파일에 두는 편이 좋습니다.
- SigmaHQ 문서도 참조 규칙이 같은 파일에 있으면 공유와 이해가 쉬워진다고 안내합니다.
- 또한 참조는 id나 name으로 할 수 있지만, 배포 환경에서는 name-to-id 매핑이 자동화되어 있어야 합니다.
- 권장하는 작성 방식은 다음과 같습니다.
- 기본 룰에 name을 명확히 줍니다.
- correlation rule에서 그 name을 참조합니다.
- timespan은 너무 짧지도 길지도 않게 조정합니다.
- group-by는 계정, 호스트, IP처럼 의미 있는 기준으로 잡습니다.
◎ 실전 시나리오 예시
- 예를 들어 랜섬웨어 전조를 보신다면 다음과 같은 조합이 가능합니다.
- 먼저, PowerShell 실행 탐지 기본 룰.
- 그다음, 비정상 파일 확장자 대량 변경 탐지 룰.
- 마지막으로, 동일 호스트에서 네트워크 연결 실패가 급증하는 패턴을 correlation rule로 묶습니다.
- 이렇게 하면 각각은 평범해 보여도 전체 흐름은 공격 시나리오가 됩니다. 메타 룰의 진가는 바로 이 지점에 있습니다.
단일 이벤트가 아니라 행동의 연쇄를 탐지하는 것이기 때문입니다.
◎ 자동화와 검증
- Sigma correlation 규칙은 도구와 함께 써야 효과가 큽니다.
- SigmaHQ 문서는 correlation rule의 참조가 올바르지 않으면 변환 시 에러가 발생할 수 있다고 설명합니다.
- 따라서 CI 파이프라인에서 기본 룰과 상관룰을 같이 검증하는 습관이 중요합니다.
- 예를 들어 sigma validate, sigma convert, 또는 ATT&CK 커버리지 도구와 함께 관리하시면 훨씬 안전합니다.
◎ 마무리
- 메타 룰과 상관분석은 Sigma를 “개별 탐지 규칙 모음”에서 “행동 기반 탐지 체계”로 끌어올려 줍니다.
- 단일 로그로는 보이지 않던 공격 흐름을 여러 이벤트 관계로 해석할 수 있게 되기 때문입니다.
- 실무에서는 event_count, value_count, temporal, temporal_ordered를 상황에 맞게 조합하고, filter로 정상 패턴을 먼저 줄이는 방식이 가장 효과적입니다.
'IT > Sigma Rule' 카테고리의 다른 글
| [Sigma Rule] 제16화: 보안 관제의 미래, Detection as Code(DaC) 파이프라인 구축하기 (0) | 2026.05.07 |
|---|---|
| [Sigma Rule] 제15화: 오픈소스 Sigma 레포지토리 200% 활용법 (CTI 연동 전략) (0) | 2026.05.06 |
| [Sigma Rule] 제13화: "알람 지옥에서 탈출하라!" 오탐(False Positive) 튜닝의 기술 (0) | 2026.05.04 |
| [Sigma Rule] 제12화: MITRE ATT&CK와 Sigma Rule 매핑: 체계적인 위협 커버리지 구축 (0) | 2026.05.03 |
| [Sigma Rule] 제11화: ArcSight 환경에서 Sigma 활용하기 (0) | 2026.05.02 |
