> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/enrichment/otx.md).

# Open Threat Exchange(OTX)

## 개요

[오픈 위협 교환(OTX)](https://otx.alienvault.com/) AlienVault의 커뮤니티 주도 위협 인텔리전스 플랫폼으로, 기여자들이 협력하여 새롭게 등장하는 위협을 식별합니다.

다음 방법을 알아보세요 [저장된 보강 데이터를 여기에서 확인하는 방법](/ko/enrichment.md#viewing-and-managing-enrichments), 그리고 어떻게 [여기에서 엔리치먼트 데이터가 포함된 로그 이벤트를 확인하세요](/ko/enrichment.md#viewing-log-events-with-enrichment-data).

{% hint style="warning" %}
Panther에서 OTX 엔리치먼트를 사용하려면 OTX API 키가 필요합니다.
{% endhint %}

## Panther에서 OTX 엔리치먼트가 작동하는 방식

기본적으로 OTX는 Panther 환경의 모든 로그 소스에 대해 실행되도록 구성됩니다([필요한 경우 로그 유형별로 비활성화할 수도 있습니다](#enabling-disabling-or-modifying-otx-enrichment-for-a-log-type)). Panther는 모든 로그 유형에 걸쳐 들어오는 각 로그 이벤트를 디택션 엔진을 통과하기 전에 OTX의 Panther 관리 엔리치먼트와 일치시키려고 시도합니다.

Panther가 [일치를 식별하면](#how-a-match-between-a-log-event-and-otx-is-made) 들어오는 이벤트와 OTX 항목이 일치하면, OTX 데이터는 최상위 수준의 `p_enrichment` 키 아래에 일치하는 로그 이벤트에 추가됩니다. 이후 디택션 로직과 검색에서 참조할 수 있습니다.

엔리치먼트 소스를 사용한 디택션 작성에 대한 자세한 내용은 다음을 참조하세요. [사용자 지정 엔리치먼트 데이터를 사용한 디택션 작성](/ko/enrichment/custom.md#writing-a-detection-using-custom-enrichment-data).

### 로그 이벤트와 OTX가 일치하는 방식

로그 이벤트는 OTX의 Panther 관리 엔리치먼트 데이터로 보강됩니다( `p_enrichment`) 다음 항목 간에 일치가 발견되면 엔리치됩니다:

* 연결된 각 로그 유형에 대해 구성된 Selector 필드의 값 중 하나라도.
  * 각 로그 유형의 기본 Selectors는 다음과 같습니다. [지표 필드](/ko/search/panther-fields.md#indicator-fields) (다음으로 표시됨 `p_any_*`)는 엔리치먼트 테이블의 기본 키에 있는 indicator field 지정과 연결됩니다(단, Selectors는 구성할 수 있습니다). [여기에서 이 자동 매핑에 대해 자세히 알아보세요](/ko/enrichment/custom.md#option-2-let-log-types-and-selectors-be-automatically-mapped-by-indicator-fields).
* 다음의 값은 `지표` Panther의 OTX 테이블 항목의 키입니다.
  * `지표` OTX 테이블의 기본 키이며 지표 값(IP 주소, 도메인, 파일 해시 등)을 포함합니다.
  * 다음 예시를 보세요. `지표` 에서 [OTX 테이블 항목 예시](#example-otx-enrichment-table-entry) 아래를 참조하세요.

## OTX 엔리치먼트 설정

### 1단계: OTX API 키 가져오기

1. 귀하의 [OTX](https://otx.alienvault.com/) 계정.
2. 오른쪽 상단 모서리에서 사용자 이름을 클릭한 다음 **설정**.\
   ![](/files/fbf7c4ef51700dbf0ef6944dfb99f9f0876e50ef)
3. 다음에서 **OTX 키** 섹션에서, Panther에서 데이터를 가져오는 데 사용할 API 키를 복사합니다.
   * 나중에 API 키를 교체하거나 다시 생성하는 경우 Panther의 구성을 업데이트해야 합니다.

### 2단계: Panther에서 OTX 엔리치먼트 만들기

Panther에서 OTX 엔리치먼트를 구성하려면:

1. Panther Console의 왼쪽 탐색 모음에서 **보강**.
2. 오른쪽 상단에서 다음을 클릭하세요: **새로 만들기**.
3. 클릭합니다 **오픈 위협 교환**.\
   ![](/files/e9ac2e252415a7179d6b67accc83e03196b9a976)
4. 다음 **OTX 엔리치먼트 설정** 양식에서 다음 필드의 값을 입력하세요:
   * **이름**: 통합에 대한 설명적인 이름을 입력하세요.
   * **API 토큰**: 1단계에서 가져온 API 토큰을 입력합니다.
   * **새로 고침 주기(분)**: Panther가 OTX 데이터를 새로 고치는 빈도를 구성합니다. 기본 새로 고침 주기는 360분입니다.
   * **최대 경과 시간(일)**: 조회 테이블에 포함할 pulse의 최대 경과 일수를 구성합니다. 기본값은 365일입니다.
5. 클릭합니다 **설정**.
   * 새 OTX 구성은 다음에 표시됩니다 **보강** 페이지.

{% hint style="info" %}
새 OTX 엔리치먼트는 약 10분 동안 항목이 0개인 정상 상태로 표시됩니다. 이 시간 동안 첫 데이터 가져오기가 수행됩니다.

<img src="/files/1d7e57d4003ab2f9467971e19565f1b832cbd869" alt="" data-size="original">
{% endhint %}

## 로그 유형에 대한 OTX 엔리치먼트 활성화, 비활성화 또는 수정

OTX 엔리치먼트는 Panther 인스턴스의 각 로그 유형에 기본적으로 활성화되어 있습니다.

특정 로그 유형에 대해 OTX 엔리치먼트를 비활성화(또는 나중에 활성화)하거나 로그 유형의 선택기를 변경하려면:

1. Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요. **보강**.
2. 엔리치먼트 목록에서 수정하려는 OTX 소스를 찾아 이름을 클릭합니다.
3. 제공자 세부 정보 페이지에서, 오른쪽의 **엔리치된 로그 유형** 헤더 **편집**.
   * 이 엔리치먼트를 새 로그 유형에 활성화하려면 **로그 유형 추가**.
     * 생성된 새 행에서 **로그 유형** 를 선택하고, **Selectors** 필드에는 최소 하나의 이벤트 필드를 추가하세요.
   * 이 엔리치먼트를 로그 유형에서 비활성화하려면, 해당 로그 유형의 행을 찾아 휴지통 아이콘을 클릭하세요.
   * 로그 유형의 Selectors를 변경하려면, 다음 **Selectors** 필드에서 이벤트 필드 선택 항목을 추가하거나 제거하세요.
4. 오른쪽 상단 모서리에서 **엔리치된 로그 유형** 타일을 클릭하세요: **저장**.

## OTX 엔리치먼트 테이블 항목 예시

아래는 Panther에 의해 정규화된 OTX pulse 응답의 예입니다. 각 `지표` pulse의 항목은 자체 행을 생성합니다.

```json
{
  "id": "507f1f77bcf86cd799439011",
  "name": "악성 도메인 활동",
  "description": "악성 도메인 활동과 관련된 지표",
  "created": "2023-08-15T10:30:00Z",
  "modified": "2023-08-15T10:30:00Z",
  "tags": ["악성코드", "도메인", "c2"],
  "industries": ["금융"],
  "malware_families": ["트로이목마", "백도어"],
  "references": ["https://example.com/threat-report"],
  "attack_ids": ["T1016", "T1059", "T1071"],
  "indicator": "malicious-domain.com",
  "indicator_type": "도메인",
  "indicator_created": "2023-08-15T10:30:00Z",
  "indicator_expiration": "2024-08-15T10:30:00Z",
  "tlp": "화이트",
  "adversary": "APT29",
  "target_countries": ["미국", "영국"],
  "p_event_time": "2023-08-15T10:30:00Z",
  "p_log_type": "OTX.Pulses",
  "p_parse_time": "2023-08-15T11:00:00Z",
  "p_row_id": "abc123def456ghi789",
  "p_schema_version": 0
}
```

## OTX 데이터 구조

<details>

<summary>펄스</summary>

OTX 펄스는 특정 위협 또는 캠페인과 관련된 위협 인텔리전스 지표를 나타냅니다. Panther에서 펄스의 각 지표는 펄스 메타데이터와 결합되어 엔리치먼트의 자체 행이 됩니다. 각 행에는 다음 속성이 포함됩니다:

**펄스 메타데이터(같은 펄스의 모든 지표와 공유됨)**:

* `id`: 펄스의 고유 식별자
* `name`: 펄스의 이름/제목
* `description`: 펄스에 포함된 위협 인텔리전스에 대한 설명
* `created`: 펄스가 처음 생성된 시점을 나타내는 타임스탬프
* `modified`: 펄스가 마지막으로 수정된 시점을 나타내는 선택적 타임스탬프
* `tags`: 펄스에 적용된 분류 태그
* `industries`: 이 펄스의 위협이 영향을 미치는 대상 산업
* `malware_families`: 위협과 관련된 악성코드 계열
* `references`: 위협 인텔리전스와 관련된 외부 참조, URL 또는 인용
* `attack_ids`: 위협에 매핑된 MITRE ATT\&CK 기법 ID
* `tlp`: 정보 공유를 위한 Traffic Light Protocol (TLP) 분류
* `adversary`: 펄스와 관련된 위협 행위자 또는 적대적 그룹
* `target_countries`: 이 펄스의 위협이 표적으로 삼은 국가

**지표별 필드(행마다 고유)**:

* `지표`: 지표 값(IP 주소, 도메인 이름, 파일 해시, URL 등)이며, 기본 키입니다
* `indicator_type`: 지표 유형(예: 'IPv4', 'domain', 'hostname', 'email', 'URL', 'FileHash-MD5', 'FileHash-SHA256')
* `indicator_created`: 지표가 생성된 타임스탬프
* `indicator_expiration`: 지표가 만료되거나 무효화되는 시점을 나타내는 타임스탬프(선택 사항)

완전한 [OTX.Pulses](#otx.pulses-schema) 아래 스키마를 참조하세요.

</details>

### `OTX.Pulses` 스키마

다음은 Panther 관리형 `OTX.Pulses` 스키마이며, Pulses가 Panther에 저장되는 방식을 나타냅니다. pulse의 각 지표는 포함된 pulse 메타데이터와 함께 자체 행이 됩니다.

```yaml
스키마: OTX.Pulses
설명: 위협 인텔리전스 지표와 메타데이터를 포함하는 Open Threat Exchange (OTX) 펄스
referenceURL: https://otx.alienvault.com
필드:
  - 이름: id
    필수: true
    설명: 펄스의 고유 식별자.
    유형: string
  - 이름: name
    필수: true
    설명: 위협을 설명하는 펄스의 제목 또는 이름.
    유형: string
  - 이름: description
    설명: 위협, 캠페인 또는 보안 이벤트에 대한 자세한 설명.
    유형: string
  - 이름: created
    필수: true
    설명: 펄스가 생성된 시점의 타임스탬프.
    유형: timestamp
    시간 형식:
      - '%Y-%m-%dT%H:%M:%S.%N'
      - '%Y-%m-%dT%H:%M:%S'
    이벤트 시간 여부: true
  - name: modified
    설명: 펄스가 마지막으로 수정된 시점의 타임스탬프.
    유형: timestamp
    시간 형식:
      - '%Y-%m-%dT%H:%M:%S.%N'
      - '%Y-%m-%dT%H:%M:%S'
  - 이름: tags
    설명: 분류 및 필터링을 위해 펄스와 연관된 키워드 또는 레이블.
    유형: array
    요소:
      유형: string
  - name: industries
    설명: 펄스에 설명된 위협이 표적으로 삼는 산업 부문.
    유형: array
    요소:
      유형: string
  - name: malware_families
    설명: 펄스에 설명된 위협과 관련된 악성코드 계열.
    유형: array
    요소:
      유형: string
  - 이름: references
    설명: 펄스와 관련된 외부 소스, 보고서 또는 기사 URL.
    유형: array
    요소:
      유형: string
  - name: tlp
    설명: 정보 공유 제한을 나타내는 Traffic Light Protocol 분류.
    유형: string
  - name: adversary
    설명: 펄스와 관련된 위협 행위자, 그룹 또는 적대자의 이름이나 식별자.
    유형: string
  - name: target_countries
    설명: 펄스에 설명된 위협이 표적으로 삼는 국가 또는 지역.
    유형: array
    요소:
      유형: string
  - name: attack_ids
    설명: 위협에 매핑된 MITRE ATT&CK 기법 ID(예: T1016, T1059).
    유형: array
    요소:
      유형: string
      지표:
        - mitre_attack_technique
  - name: indicator
    필수: true
    설명: 실제 지표 값(예: IP 주소, 도메인 이름, 파일 해시, URL).
    유형: string
    지표:
      - ip
      - domain
      - md5
      - sha1
      - sha256
      - email
      - cve
  - name: indicator_type
    설명: 지표 유형(예: 'IPv4', 'domain', 'hostname', 'email', 'URL', 'FileHash-MD5', 'FileHash-SHA256').
    유형: string
  - name: indicator_created
    설명: 지표가 생성된 시점의 타임스탬프.
    유형: timestamp
    시간 형식:
      - '%Y-%m-%dT%H:%M:%S'
  - name: indicator_expiration
    설명: 지표가 만료되거나 무효화되는 시점의 타임스탬프.
    유형: timestamp
    시간 형식:
      - '%Y-%m-%dT%H:%M:%S'
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/enrichment/otx.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
