# Sigma 룰 변환하기

## 개요

다음을 사용하세요 [`sigma-cli`](https://github.com/SigmaHQ/sigma-cli) 변환 도구 [Sigma 룰](https://sigmahq.io/docs/basics/rules.html) 다음으로 [심플 디텍션](https://docs.panther.com/ko/detections#simple-detections) 이전에 생성한 Snowflake 사용자 이름, 예를 들면 [Python 디텍션](https://docs.panther.com/ko/detections/rules/python).

보안 및 위협 인텔리전스 커뮤니티에서 Sigma 룰은 공급업체에 구애받지 않는 형식으로 디텍션 로직을 공유하는 일반적인 방법입니다. 이 변환기는 수천 개의 Sigma 룰을 Panther에서 사용할 수 있도록 합니다. 또한 다른 SIEM에서 Panther로 마이그레이션하는 것을 더 쉽게 만들 수 있습니다.

현재는 [특정 Panther 로그 소스](#supported-conversions) 에 대한 룰만 변환을 지원합니다.

## 도구 설치

도구를 설치하려면:

1. 설치 `sigma-cli`:
   * MacOS에서는 Homebrew를 사용하여 설치할 수 있습니다:\
     `brew install sigma-cli`
   * 다른 플랫폼에서는 다음을 따르세요 [이 설치 안내서](https://github.com/SigmaHQ/sigma-cli#installation).
2. 다음 명령을 실행하여 Panther 백엔드와 파이프라인을 설치하세요:

   ```bash
   sigma plugin install panther
   ```

## 도구 업그레이드

1. 업그레이드 `sigma-cli`:
   * MacOS에서는 다음을 실행하세요 `brew upgrade`.
   * 다른 플랫폼에서는 설치 명령을 다시 실행하세요 [이 설치 안내서](https://github.com/SigmaHQ/sigma-cli#installation).
2. 설치 명령을 다시 실행하여 플러그인을 업그레이드하세요:

   ```bash
   sigma plugin install panther
   ```

## 도구 사용

변환 도구를 사용하려면:

1. 로컬 Sigma 룰 디렉터리로 이동하세요.
2. 변환 명령을 실행하세요:

   ```bash
   sigma convert -s -t panther -f <format> -p <processing pipeline> path/to/rules -O output_dir=output/directory
   ```

   * processing pipeline 플래그(`-p`)의 값은 소스가 [클라우드](#cloud-log-sources) 이전에 생성한 Snowflake 사용자 이름, 예를 들면 [엔드포인트 탐지 및 대응(EDR)](#edr-log-sources) 소스인지에 따라 다릅니다.
     * 클라우드 로그 소스: 사용 `panther` (기본값)
     * EDR 소스: 옵션은 다음 [`sigma convert` 플래그](#sigma-convert-flags) 표를 참고하세요
   * format 플래그(`-f`)의 값은 다음 중 하나일 수 있습니다:
     * `python` (기본값): 생성 [Python 디텍션](https://docs.panther.com/ko/detections/rules/python)
     * `sdyaml`: 생성 [심플 디텍션](https://docs.panther.com/ko/detections/rules/writing-simple-detections)
   * 추가 명령 옵션에 대해서는 [`sigma convert` 플래그](#sigma-convert-flags) 테이블, 아래. 참조 [사용법 섹션 `sigma-cli` `README`](https://github.com/SigmaHQ/sigma-cli/tree/main#usage) 추가 사용 지침은.
3. 변환된 룰을 Panther에 업로드하려면 [프로그램 방식으로 업로드할 수 있습니다](https://docs.panther.com/ko/panther/detections-repo/pat) 헤더 행에서 Search 결과 테이블에서 열 제거 [대량 업로더](https://docs.panther.com/panther-developer-workflows/ci-cd/deployment-workflows/pat/pat-commands#uploading-content-in-the-panther-console).

## 지원되는 변환

### 클라우드 로그 소스

모든 클라우드 소스는 동일한 변환 명령을 사용합니다:

```bash
sigma convert -s -t panther path/to/rules -O output_dir=output/directory
```

<table><thead><tr><th width="201">소스 이름</th><th width="594">지원되는 Panther 스키마(들)</th></tr></thead><tbody><tr><td>AWS CloudTrail</td><td><a href="../../data-onboarding/supported-logs/aws/cloudtrail#aws.cloudtrail"><code>AWS.CloudTrail</code></a></td></tr><tr><td>GCP 감사지</td><td><a href="https://docs.panther.com/data-onboarding/supported-logs/gcp"><code>GCP.AuditLog</code></a></td></tr><tr><td>GitHub</td><td><a href="../data-onboarding/supported-logs/github"><code>GitHub.Audit</code></a></td></tr><tr><td>Okta</td><td><a href="../../data-onboarding/supported-logs/okta#okta.systemlog"><code>Okta.SystemLog</code></a></td></tr></tbody></table>

### EDR 로그 소스

이 도구는 특정 EDR 소스의 엔드포인트 이벤트에 대한 디텍션을 변환할 수 있습니다. 이러한 디텍션은 Windows, Mac 및 Linux 시스템에서 생성된 로그에 적용됩니다.

현재 다음 Sigma 로그 소스 카테고리가 지원됩니다:

* `process_creation`
* `file_event`
* `network_connection`

EDR 소스의 경우 처리 파이프라인 플래그(의 값은`-p`) 각 소스마다 고유합니다.

<table><thead><tr><th width="161">소스 이름</th><th width="287.728271484375">지원되는 Panther 스키마(들)</th><th width="328.6197509765625">-p 플래그 값</th></tr></thead><tbody><tr><td>CrowdStrike</td><td><a href="../../data-onboarding/supported-logs/crowdstrike/falcon-data-replicator#crowdstrike.fdrevent"><code>Crowdstrike.FDREvent</code></a></td><td><code>crowdstrike_panther</code></td></tr><tr><td>Carbon Black</td><td><a href="../../data-onboarding/supported-logs/carbon-black#carbonblack.endpointevent"><code>CarbonBlack.EndpointEvent</code></a></td><td><code>carbon_black_panther</code></td></tr><tr><td>SentinelOne</td><td><a href="https://docs.panther.com/data-onboarding/supported-logs/sentinel-one"><code>SentinelOne.DeepVisibilityV2</code></a></td><td><code>sentinelone_panther</code></td></tr><tr><td>Windows 이벤트</td><td><a href="../../data-onboarding/supported-logs/windows-event-logs#windows.eventlogs"><code>Windows.EventLogs</code></a></td><td>Windows 보안 로그의 경우: <code>windows_audit_panther</code><br><br>Sysmon 로그의 경우: <code>sysmon_panther</code><br><br>PowerShell과 같은 다른 Windows 로그 유형의 경우:<br><code>windows_logsource_panther</code></td></tr></tbody></table>

#### CrowdStrike 예시 변환 명령

```bash
sigma convert -s -t panther -p crowdstrike_panther path/to/rules -O output_dir=output/directory
```

## `sigma convert` 플래그

<table><thead><tr><th width="210">긴 이름</th><th width="108">짧은 플래그</th><th width="234">옵션</th><th>설명</th></tr></thead><tbody><tr><td><code>--target</code></td><td><code>-t</code></td><td><code>panther</code></td><td>사용할 Sigma 백엔드</td></tr><tr><td><code>--pipeline</code></td><td><code>-p</code></td><td><code>panther</code> (기본값): for <a href="#cloud-log-sources">클라우드 로그 소스</a><br><code>crowdstrike_panther</code><br><code>carbon_black_panther</code><br><code>sentinelone_panther</code></td><td>사용할 로그 소스 파이프라인</td></tr><tr><td><code>--format</code></td><td><code>-f</code></td><td><code>python</code> (기본값)<br><code>sdyaml</code></td><td>변환된 룰의 출력 형식</td></tr><tr><td><code>--skip-unsupported</code></td><td><code>-s</code></td><td>는 선택적</td><td>룰을 대량으로 변환할 때 이 플래그 사용을 권장합니다</td></tr><tr><td><code>--backend-option</code></td><td><code>-O</code></td><td><code>output_dir=...</code></td><td>변환된 룰을 저장할 디렉터리</td></tr><tr><td><code>--help</code></td><td>는 선택적</td><td>는 선택적</td><td>도움말 문서 보기</td></tr></tbody></table>
