> 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)

## 개요

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

방법 알아보기 [저장된 enrichment 데이터를 여기에서 보기](/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 필드의 값 중 하나라도.
  * 각 로그 유형에 대한 기본 Selector는 [지표 필드](/ko/search/panther-fields.md#indicator-fields) (으로 표시되는 `p_any_*`)입니다. 이는 보강 테이블의 기본 키의 indicator 필드 지정과 연관되며(단, Selector는 구성할 수 있습니다). [이 자동 매핑에 대해 자세히 알아보려면 여기를 참조하세요](/ko/enrichment/custom.md#option-2-let-log-types-and-selectors-be-automatically-mapped-by-indicator-fields).
* 다음의 값은 `indicator` Panther의 OTX 테이블 항목에 있는 키입니다.
  * `indicator` OTX 테이블의 기본 키이며 지표 값(IP 주소, 도메인, 파일 해시 등)을 포함합니다.
  * 다음의 예를 보세요 `indicator` 다음의 [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 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **보강**.
2. 오른쪽 상단에서 다음을 클릭합니다: **새로 만들기**.
3. 다음을 클릭합니다: **Open Threat Exchange**.\
   ![](/files/e9ac2e252415a7179d6b67accc83e03196b9a976)
4. 다음의 **OTX 보강 설정** 양식에서 다음 필드의 값을 입력합니다:
   * **이름**: 통합에 대한 설명적인 이름을 입력합니다.
   * **API 토큰**: 1단계에서 가져온 API 토큰을 입력합니다.
   * **새로 고침 주기(분)**: Panther가 OTX 데이터를 새로 고치는 빈도를 구성합니다. 기본 새로 고침 주기는 360분입니다.
   * **최대 기간(일)**: 조회 테이블에 포함할 펄스의 최대 경과 일수를 구성합니다. 기본값은 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** 필드에서 최소 하나의 이벤트 필드를 선택합니다.
   * 로그 유형에 대해 이 보강을 비활성화하려면 해당 로그 유형의 행을 찾아 휴지통 아이콘을 클릭합니다.
   * 로그 유형의 Selector를 변경하려면 다음에 클릭합니다 **Selectors** 필드에서 이벤트 필드 선택을 추가하거나 제거합니다.
4. 오른쪽 상단 모서리에서 **보강된 로그 유형** 타일에서 다음을 클릭합니다: **저장**.

## OTX 보강 테이블 항목 예시

아래는 Panther에 의해 정규화된 OTX 펄스 응답의 예시입니다. 각 `indicator` 펄스의 각 지표는 자체 행을 생성합니다.

```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": ["US", "UK"],
  "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`: 펄스의 고유 식별자
* `이름`: 펄스의 이름/제목
* `설명`: 펄스에 포함된 위협 인텔리전스의 설명
* `created`: 펄스가 원래 생성된 시점의 타임스탬프
* `수정됨`: 펄스가 마지막으로 수정된 시점을 나타내는 선택적 타임스탬프
* `태그`: 펄스에 적용된 분류 태그
* `industries`: 이 펄스의 위협으로 영향을 받는 대상 산업
* `malware_families`: 위협과 관련된 멀웨어 계열
* `references`: 위협 인텔리전스와 관련된 외부 참조, URL 또는 인용
* `attack_ids`: 위협에 매핑된 MITRE ATT\&CK 기법 ID
* `tlp`: 정보 공유 제한을 나타내는 Traffic Light Protocol(TLP) 분류
* `adversary`: 펄스와 관련된 위협 행위자 또는 적대자 그룹
* `target_countries`: 이 펄스의 위협이 대상으로 하는 국가

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

* `indicator`: 지표 값(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` 스키마는 Panther에서 펄스가 저장되는 방식을 나타냅니다. 펄스의 각 지표는 내장된 펄스 메타데이터와 함께 자체 행이 됩니다.

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