> 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/google-threat-intelligence.md).

# Google 위협 인텔리전스 (Beta)

## 개요

{% hint style="info" %}
Google Threat Intelligence enrichment는 Panther 버전 1.123부터 오픈 베타이며, 모든 고객에게 제공됩니다. 버그 보고 및 기능 요청은 Panther 지원팀과 공유해 주세요.
{% endhint %}

[Google Threat Intelligence](https://www.virustotal.com/) 포괄적인 위협 인텔리전스 데이터를 제공합니다. 이 통합은 다음을 사용합니다. [Google Threat Intelligence IoC Stream API](https://gtidocs.virustotal.com/docs/ioc-stream-guide) 팔로우 중인 Google Threat Intelligence 컬렉션에서 거의 실시간에 가까운 침해 지표(Indicators of Compromise, IoCs) 피드를 수집하고, 이를 Panther로 수집된 로그 이벤트와 매칭하여 고신뢰도 경고를 생성합니다.

{% hint style="warning" %}
Panther의 Google Threat Intelligence enrichment에는 다음이 필요합니다. [Premium API key](https://virustotal.readme.io/reference/public-vs-premium-api) 그리고 Google Threat Intelligence 계정에서 활성 IoC 스트림 구독이 필요합니다.

IoC 스트림은 Google Threat Intelligence 사용자와 연결됩니다. API key 소유자가 팔로우하는 컬렉션의 IoC만 수신됩니다. Panther에 제공하는 API key가 수집하려는 컬렉션을 구독한 동일한 Google Threat Intelligence 사용자에게 속하는지 확인하세요.
{% endhint %}

## Panther에서 Google Threat Intelligence enrichment가 작동하는 방식

기본적으로 Google Threat Intelligence는 Panther 환경의 모든 로그 소스([에 대해 실행되도록 구성되어 있지만, 원하는 경우 로그 유형별로 비활성화할 수 있습니다](#enabling-disabling-or-modifying-google-threat-intelligence-enrichment-for-a-log-type)). Panther는 모든 로그 유형에 걸쳐 들어오는 각 로그 이벤트를 디택션 엔진을 통과하기 전에 Google Threat Intelligence의 Panther 관리 enrichment와 매칭하려고 시도합니다.

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

Panther는 구독 중인 Google Threat Intelligence 컬렉션에서 매시간 새 IoC를 가져옵니다. 각 가져오기는 마지막 성공 실행 이후 스트림에 추가된 IoC만 가져오며, 이전에 가져온 IoC는 조회 테이블에 유지됩니다(IoC로 중복 제거 `id`). 구성된 최대 기간보다 오래된 IoC는 새로 고침 시 자동으로 필터링됩니다.

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

### 로그 이벤트와 Google Threat Intelligence 간 일치가 이루어지는 방식

로그 이벤트는 Google Threat Intelligence의 Panther 관리 enrichment 데이터로 보강됩니다( `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).
* 다음의 값은 `match` key in a Google Threat Intelligence table entry in Panther.
  * `match` Google Threat Intelligence 테이블의 기본 키이며, 지표 값(IP 주소, 도메인, 파일 해시, URL 등)을 포함합니다.
  * 다음의 예를 보세요 `match` 다음의 [Google Threat Intelligence 테이블 항목 예시](#example-google-threat-intelligence-enrichment-table-entry) 아래.

## Google Threat Intelligence enrichment 설정

### 1단계: Google Threat Intelligence IoC 컬렉션 구성

Panther에서 Google Threat Intelligence enrichment를 설정하기 전에, Panther가 위협 인텔리전스 데이터를 가져올 수 있도록 Google Threat Intelligence 계정에서 IoC 스트림 구독을 구성해야 합니다.

1. 다음에 로그인하세요 [Google Threat Intelligence](https://www.virustotal.com/).
2. 다음으로 이동하세요: **IoC 컬렉션** 대시보드의 섹션.

<figure><img src="/files/7ecfeade4ca72b284a2ccd64eef0993e6a50d6da" alt="Google Threat Intelligence IoC Collections page showing available collections"><figcaption></figcaption></figure>

3. 관심 있는 컬렉션을 찾아 클릭하세요.

<figure><img src="/files/823245ee2f733578bd68d7f976411a34dce5c262" alt="Google Threat Intelligence collection detail page with Follow button"><figcaption></figcaption></figure>

4. 모니터링하려는 각 컬렉션에 대해:
   * 다음을 클릭합니다: **다음을 따르세요**.
   * 토글을 켜서 스트림에서 새 IoC를 받으세요.
   * 다음을 클릭합니다: **설정 저장**.

<figure><img src="/files/8e550bacf53e7c28f7fc1670e0a935145e223331" alt="Follow dropdown with IoC stream toggle enabled"><figcaption></figcaption></figure>

5. 구독하려는 모든 컬렉션에 대해 반복하세요.

{% hint style="info" %}
IoC 스트림에 대한 자세한 안내는 다음을 참조하세요. [Google Threat Intelligence IoC 스트림 가이드](https://gtidocs.virustotal.com/docs/ioc-stream-guide).
{% endhint %}

### 2단계: Panther에서 Google Threat Intelligence enrichment 만들기

Panther에서 Google Threat Intelligence enrichment를 구성하려면:

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **보강**.
2. 오른쪽 상단에서 다음을 클릭합니다: **새로 만들기**.
3. 다음을 클릭합니다: **Google Threat Intelligence**.

<figure><img src="/files/26aebfc7ebff07dd99adfbc9e4e47ed2ccc962ab" alt="Panther enrichment sources page with Google Threat Intelligence card"><figcaption></figcaption></figure>

4. 다음에서 **구성** 탭의 **설정** 양식에서 다음 필드의 값을 입력합니다:
   * **Enrichment 이름**: 통합에 대한 설명적인 이름을 입력하세요.
   * **API 토큰**: Google Threat Intelligence API key를 입력하세요.
   * **지표 TTL(일)**: enrichment 테이블에 유지할 IoC의 최대 보관 기간(일)을 구성하세요. 이 기준보다 오래된 IoC는 각 새로 고침 시 자동으로 필터링되며 영구적으로 제거됩니다.

<figure><img src="/files/89c66a7b7b1a801577881991bcfe8b580be187ea" alt="Google Threat Intelligence Settings form"><figcaption></figcaption></figure>

5. 다음을 클릭합니다: **설정**.
6. 다음에서 **검증** 탭에서 통합이 성공적으로 생성되었는지 확인한 다음, **Enrichments 보기**.
   * 새 Google Threat Intelligence 구성이 **구성** > **보강** 페이지를 참조하세요.

<figure><img src="/files/e4cbcd559d08606a5e27fde157906802b25cbb2c" alt="Google Threat Intelligence Verification page confirming setup is complete"><figcaption></figcaption></figure>

{% hint style="info" %}
Google Threat Intelligence enrichment를 추가한 후, 들어오는 로그 데이터가 보강되기까지 지연(몇 분)이 있을 수 있습니다. 이는 초기 데이터 동기화가 완료될 시간을 주기 위한 것입니다.
{% endhint %}

## 로그 유형에 대한 Google Threat Intelligence enrichment 활성화, 비활성화 또는 수정

Google Threat Intelligence enrichment는 Panther 인스턴스의 각 로그 유형에 기본적으로 활성화되어 있습니다.

특정 로그 유형에 대한 Google Threat Intelligence enrichment를 비활성화(또는 나중에 활성화)하거나 로그 유형의 셀렉터를 변경하려면:

1. Panther Console의 왼쪽 탐색 모음에서 다음을 클릭합니다 **구성** > **보강**.
2. Enrichments 목록에서 수정하려는 Google Threat Intelligence 소스를 찾아 이름을 클릭하세요.
3. 다음을 클릭합니다 **보강된 로그 유형** 탭.
4. 오른쪽에서 다음을 클릭합니다 **로그 유형 편집**.
   * 이 보강을 새 로그 유형에 활성화하려면 다음을 클릭합니다 **로그 유형 추가**.
     * 새로 표시되는 행에서 다음을 선택합니다 **로그 유형** 그리고 다음의 **Selectors** 필드에서 최소 하나의 이벤트 필드를 선택합니다.
   * 로그 유형에 대해 이 보강을 비활성화하려면 해당 로그 유형의 행을 찾아 휴지통 아이콘을 클릭합니다.
     * 로그 유형이 목록에 보이지 않으면 다음 옆의 드롭다운 화살표를 클릭합니다 **자동 매핑된 로그 유형**. 로그 유형의 행을 찾아 편집 아이콘을 클릭합니다.
   * 로그 유형의 Selector를 변경하려면 다음에 클릭합니다 **Selectors** 필드에서 이벤트 필드 선택을 추가하거나 제거합니다.
5. 오른쪽 상단에서 다음을 클릭합니다: **저장**.

## Google Threat Intelligence enrichment 테이블 항목 예시

아래는 Panther에 의해 정규화된 Google Threat Intelligence IoC 항목의 예시입니다. 구독한 컬렉션의 각 IoC는 자체 행을 만들며, 지표 값은 다음에 저장됩니다. `match` 필드에 붙여넣습니다.

```json
{
  "match": ["198.51.100.42"],
  "type": "ip_address",
  "id": "198.51.100.42",
  "gti_url": "https://www.virustotal.com/gui/ip-address/198.51.100.42",
  "last_analysis_date": "2025-03-10T14:30:00Z",
  "tags": ["악성코드", "c2"],
  "country": "US",
  "as_owner": "예시 ISP",
  "asn": 12345,
  "network": "198.51.100.0/24",
  "continent": "NA",
  "regional_internet_registry": "ARIN",
  "reputation": -15,
  "last_analysis_stats": {
    "malicious": 12,
    "suspicious": 3,
    "undetected": 55,
    "harmless": 2,
    "timeout": 0
  },
  "p_event_time": "2025-03-10T14:30:00Z",
  "p_log_type": "GTI.IoCStream",
  "p_parse_time": "2025-03-10T15:00:00Z",
  "p_row_id": "abc123def456ghi789",
  "p_schema_version": 0
}
```

### `GTI.IoCStream` 스키마

다음은 Panther가 관리하는 `GTI.IoCStream` 스키마로, Google Threat Intelligence IoC 데이터가 Panther에 저장되는 방식을 나타냅니다. 구독한 컬렉션의 각 지표는 자체 행이 됩니다.

```yaml
schema: GTI.IoCStream
description: GTI IoC Stream API의 Google Threat Intelligence(GTI) 침해 지표(IoC)로, 파일, IP, 도메인, URL을 포함합니다
referenceURL: https://gtidocs.virustotal.com/reference/ioc-collection-object
fields:
  - 이름: match
    required: true
    description: 지표 값(예: 파일 해시, IP 주소, 도메인, URL).
    type: array
    element:
      type: string
      표시자:
        - ip
        - domain
        - md5
        - sha1
        - sha256
        - url
  - 이름: type
    required: true
    description: '지표 유형: file, ip_address, domain 또는 url.'
    type: string
  - name: gti_url
    description: Google Threat Intelligence에서 이 지표로 바로 연결되는 링크.
    type: string
  - 이름: id
    description: 침해 지표의 고유 식별자.
    type: string
  - name: last_analysis_date
    description: 지표가 마지막으로 검사된 시점을 나타내는 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
    isEventTime: true
  - name: tags
    description: 이 지표와 관련된 대표 속성 목록.
    type: array
    element:
      type: string
  - name: last_modified_date
    description: 지표 정보가 마지막으로 업데이트된 시점을 나타내는 UTC 타임스탬프(file/domain/url 유형).
    type: timestamp
    timeFormats:
      - unix
  - name: last_modification_date
    description: 지표 정보가 마지막으로 업데이트된 시점을 나타내는 UTC 타임스탬프(ip_address 유형).
    type: timestamp
    timeFormats:
      - unix
  - name: first_seen_itw_date
    description: 지표가 실세계에서 처음 관찰된 시점을 나타내는 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: last_seen_itw_date
    description: 지표가 실세계에서 가장 최근에 관찰된 시점을 나타내는 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: creation_date
    description: 가능하면 파일 메타데이터 또는 도메인 WHOIS 데이터에서 추출한 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: last_submission_date
    description: 지표가 Google Threat Intelligence에 마지막으로 게시된 날짜의 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: type_tags
    description: 특정 파일 유형과 관련된 더 넓은 범주의 태그.
    type: array
    element:
      type: string
  - name: threat_severity
    description: 심각도 수준과 세부 정보(심각도 수준 SEVERITY_NONE, LOW, MEDIUM, HIGH 또는 UNKNOWN, 그리고 계산된 시점 포함).
    유형: json
  - name: meaningful_name
    description: 파일에 있는 모든 이름 중 가장 의미 있는 이름.
    type: string
  - name: type_description
    description: 파일 유형을 설명합니다(예: PE32 실행 파일, PDF 문서).
    type: string
  - name: country
    description: IP 주소가 지리적으로 위치한 곳을 나타내는 ISO-3166 국가 코드.
    type: string
  - name: as_owner
    description: IP가 속한 Autonomous System의 소유자.
    type: string
  - 이름: asn
    description: IP가 속한 Autonomous System Number.
    type: bigint
  - name: network
    description: IP가 속한 IPv4 네트워크 범위.
    type: string
    표시자:
      - net_addr
  - name: categories
    description: 분류 서비스와 도메인 또는 URL에 할당된 카테고리를 매핑하는 사전.
    유형: json
  - name: whois
    description: 관련 whois 서버에서 반환된 WHOIS 정보.
    type: string
  - 이름: url
    description: 검사된 원본 URL.
    type: string
    표시자:
      - url
  - name: last_final_url
    description: 원본 URL이 리디렉션되는 경우 최종 도착 URL.
    type: string
    표시자:
      - url
  - 이름: md5
    description: 파일의 MD5 해시.
    type: string
    표시자:
      - md5
  - name: sha1
    description: 파일의 SHA-1 해시.
    type: string
    표시자:
      - sha1
  - name: sha256
    description: 파일의 SHA-256 해시.
    type: string
    표시자:
      - sha256
  - name: gti_confidence_score
    description: 악성일 가능성을 나타내는 신뢰도 점수(0-100).
    type: bigint
  - name: reputation
    description: 커뮤니티 투표를 기반으로 계산된 점수.
    type: bigint
  - 이름: size
    description: 파일 크기(바이트).
    type: bigint
  - name: type_extension
    description: 파일 확장자를 지정합니다.
    type: string
  - name: type_tag
    description: 검색에서 필터링할 때 파일 유형을 나타내는 태그.
    type: string
  - name: names
    description: 파일과 관련된 모든 파일 이름.
    type: array
    element:
      type: string
  - name: first_submission_date
    description: 지표가 Google Threat Intelligence에 처음 제출된 시점의 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: times_submitted
    description: 지표가 Google Threat Intelligence에 게시된 횟수.
    type: bigint
  - name: unique_sources
    description: 파일이 게시된 서로 다른 소스의 수.
    type: bigint
  - name: tlsh
    description: 파일의 TLSH 지역성 민감 해시.
    type: string
  - name: permhash
    description: 파일의 Permhash.
    type: string
  - name: vhash
    description: 내부 유사성 클러스터링 알고리즘 값.
    type: string
  - name: capabilities_tags
    description: 파일 기능과 관련된 태그(프리미엄 전용).
    type: array
    element:
      type: string
  - name: downloadable
    description: 파일을 다운로드할 수 있는지 여부(프리미엄 전용).
    유형: boolean
  - name: continent
    description: ISO-3166 형식을 사용하는 지리적 지역 코드.
    type: string
  - name: jarm
    description: TLS 지문 인식을 위한 JARM 해시.
    type: string
  - name: last_https_certificate_date
    description: SSL 인증서가 검색된 시점의 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: regional_internet_registry
    description: RIR 지정(AFRINIC, ARIN, APNIC, LACNIC 또는 RIPE NCC).
    type: string
  - name: whois_date
    description: 마지막 WHOIS 레코드 새로 고침의 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: last_http_response_code
    description: HTTP 응답 상태 코드.
    type: bigint
  - name: last_http_response_content_length
    description: 응답 콘텐츠 크기(바이트).
    type: bigint
  - name: last_http_response_content_sha256
    description: HTTP 응답 본문 콘텐츠의 SHA256 해시.
    type: string
    표시자:
      - sha256
  - name: outgoing_links
    description: 페이지에서 발견된 다른 도메인으로 연결되는 링크.
    type: array
    element:
      type: string
      표시자:
        - url
  - name: redirection_chain
    description: 리디렉션 기록 URL(최종 URL 제외).
    type: array
    element:
      type: string
      표시자:
        - url
  - name: title
    description: 웹페이지 제목.
    type: string
  - name: has_content
    description: URL에 콘텐츠가 포함되어 있는지 여부.
    유형: boolean
  - name: last_dns_records_date
    description: DNS 레코드가 검색된 시점의 UTC 타임스탬프.
    type: timestamp
    timeFormats:
      - unix
  - name: last_update_date
    description: WHOIS에서 업데이트된 날짜(UTC).
    type: timestamp
    timeFormats:
      - unix
  - name: registrar
    description: 도메인을 등록한 회사.
    type: string
  - name: last_analysis_stats
    description: 악성, 의심스러운, 탐지되지 않음, 무해, timeout, confirmed-timeout, failure, type-unsupported 판정 수를 포함한 최신 검사 결과 요약.
    유형: json
  - name: trid
    description: TrID 파일 유형 식별 결과로, 각 결과에는 탐지된 file_type과 그 확률이 포함됩니다.
    type: array
    element:
      유형: json
  - name: available_tools
    description: 파일에 사용할 수 있는 추가 분석 도구 목록(예: sigcheck, exiftool).
    type: array
    element:
      type: string
  - name: detectiteasy
    description: Detect It Easy 파일 유형 식별 결과로, filetype과 type, name, info가 포함된 일치 값 배열을 포함합니다.
    유형: json
  - name: popular_threat_classification
    description: 인기 있는 디택션 이름과 카테고리를 기반으로 한 위협 분류로, suggested_threat_label, popular_threat_name, popular_threat_category를 포함합니다.
    유형: json
  - name: exiftool
    description: ExifTool 유틸리티로 추출된 메타데이터로, 파일 유형, MIME 유형, CPU 아키텍처 및 기타 형식별 메타데이터 필드를 포함합니다.
    유형: json
  - name: crowdsourced_ai_results
    description: 크라우드소싱 AI 분석 결과로, 각 결과에는 자연어 분석 요약, 소스, 카테고리, 판정, 결과 ID가 포함됩니다.
    type: array
    element:
      유형: json
  - name: sources
    description: IoC 항목과 연결된 여러 소스입니다.
    type: array
    element:
      유형: json
```

## 디택션에서 Google Threat Intelligence 데이터를 사용하는 예시

Google Threat Intelligence enrichment 데이터는 알려진 위협을 식별하기 위한 디택션 로직에서 사용할 수 있습니다. 다음 예시는 이벤트가 Google Threat Intelligence 지표와 일치했는지, 그리고 악성으로 표시되었는지를 확인합니다:

```python
def 룰(event):
    enrichment = event.get('p_enrichment', {})
    gti_data = enrichment.get('GTI.IoCStream', {})

    if not gti_data:
        return False

    # 악성 판정을 위한 분석 통계 확인
    stats = gti_data.get('last_analysis_stats', {})
    malicious_count = stats.get('malicious', 0)

    return malicious_count > 0
```

## Google Threat Intelligence enrichment 문제 해결

### 일반적인 문제

* **데이터가 수집되지 않음**: Google Threat Intelligence 계정에서 활성 IoC 컬렉션 구독이 있는지 확인하세요. Panther가 데이터를 받으려면 최소한 하나의 컬렉션을 팔로우하고 활성화해야 합니다. 또한 Panther에 구성된 API key가 해당 컬렉션을 구독한 동일한 Google Threat Intelligence 사용자에게 속하는지 확인하세요. IoC 스트림은 사용자별로 범위가 지정되므로, 다른 사용자의 key를 사용하면 빈 스트림이 반환됩니다.
* **API key 문제**: Google Threat Intelligence API key가 유효하고 다음이며 [Premium API key](https://virustotal.readme.io/reference/public-vs-premium-api)IoC 스트림 액세스에 적절한 권한이 있는지 확인하세요.
* **데이터 최신성**: 다음 설정을 확인하여 **지표 TTL(일)** 사용 사례에 적합한지 확인하세요. 이 기준보다 오래된 IoC는 자동으로 필터링됩니다.

추가 문제 해결이 필요하면 Panther Knowledge Base에서 [enrichment에 관한 문서를 확인하여](https://help.panther.com/Enrichment) 자주 묻는 질문에 대한 답변을 찾고 일반적인 오류와 문제를 해결하세요.


---

# 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:

```
GET https://docs.panther.com/ko/enrichment/google-threat-intelligence.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
