> 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/greynoise.md).

# GreyNoise

## 개요

[GreyNoise](https://www.greynoise.io) GreyNoise는 인터넷 전반의 스캔 및 공격 활동에 대한 실시간 인텔리전스를 제공합니다. GreyNoise는 대규모 스캔을 수행하는 IP를 식별하고 라벨링하여 보안 팀이 배경 잡음을 걸러내고, 더 빠르고 정확한 위협 디택션을 가능하게 합니다.

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

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

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

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

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

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

### 로그 이벤트와 GreyNoise 간 일치가 만들어지는 방식

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

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

아래에서 전체 GreyNoise.API.V3 스키마를 확인하세요.

## GreyNoise 엔리치먼트 설정

### 1단계: GreyNoise에서 API 키 만들기

* 다음을 따르세요. [GreyNoise 문서](https://docs.greynoise.io/docs/using-the-greynoise-api) 에서 Panther에서 사용할 API 키를 생성하세요.

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

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

1. Panther Console의 왼쪽 탐색 모음에서 **보강**.
2. 오른쪽 상단에서 다음을 클릭하세요: **새로 만들기**.
3. 클릭합니다 **GreyNoise**.
4. 다음 **엔리치먼트 설정** 양식에서 다음 필드의 값을 입력하세요:
   * **이름**: 통합에 대한 설명적인 이름을 입력하세요.
   * **API 키**: 1단계에서 생성한 API 키를 입력하세요.
   * **새로 고침 주기(분)**: Panther가 GreyNoise 데이터를 얼마나 자주 새로 고칠지 구성하세요. 기본 새로 고침 주기는 360분이며 최소 새로 고침 주기는 60분입니다.
5. 클릭합니다 **설정**.
   * 새 GreyNoise 구성은 다음에서 표시됩니다. **보강** 페이지.

{% hint style="info" %}
GreyNoise 엔리치먼트를 추가한 후, 들어오는 로그 데이터가 엔리치되기 시작하기까지 최대 45분의 지연이 있을 수 있습니다. 이는 초기 데이터 동기화를 완료할 시간을 확보하기 위함입니다.
{% endhint %}

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

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

특정 로그 유형에 대해 GreyNoise 엔리치먼트를 비활성화(또는 나중에 다시 활성화)하거나, 로그 유형의 Selectors를 변경하려면:

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

## GreyNoise 분류 이해하기

GreyNoise는 IP 주소를 다음 범주로 분류합니다:

* **무해**: 일반적인 인터넷 행위를 보이지만 악성은 아닌 IP
* **악성**: 알려진 악성 의도가 있는 IP
* **미확인**: GreyNoise가 관찰했지만 아직 분류되지 않은 IP

## 디택션에서 GreyNoise 태그를 사용하는 예시

GreyNoise는 스캐닝 행위에 대한 자세한 태그를 제공합니다.  `recommend_block` 필드는 GreyNoise가 해당 IP 주소의 트래픽 차단을 권장하는지 여부를 나타냅니다. 이는 특히 디택션 로직에서 유용할 수 있습니다:

```python
def 룰(event):
    enrichment = event.get('p_enrichment', {})
    greynoise_data = enrichment.get('greynoise_your_integration_name', {})

    if not greynoise_data:
        return False

    # 태그 중 차단을 권장하는 항목이 있는지 확인
    tags = greynoise_data.get('internet_scanner_intelligence', {}).get('tags', [])
    for tag in tags:
        if tag.get('recommend_block'):
            return True

    return False
```

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

아래는 Panther가 정규화한 GreyNoise API 응답 예시로, 무해한 스캐닝 행위를 보이는 알려진 CDN 서비스의 일부로 식별된 IP 주소를 보여줍니다:

```json
{
  "business_service_intelligence": {
    "category": "CDN",
    "description": "콘텐츠 전송 네트워크 서비스",
    "explanation": "이 IP는 알려진 CDN 인프라의 일부입니다",
    "found": true,
    "last_updated": "2023-09-15T10:30:00Z",
    "name": "Cloudflare",
    "reference": "https://www.cloudflare.com",
    "trust_level": 3
  },
  "internet_scanner_intelligence": {
    "actor": "unknown",
    "bot": true,
    "classification": "benign",
    "cves": [],
    "first_seen": "2023-01-15",
    "found": true,
    "last_seen": "2023-09-20",
    "last_seen_timestamp": "2023-09-20 14:25:30",
    "metadata": {
      "asn": "AS13335",
      "category": "hosting",
      "datacenter": "Cloudflare",
      "destination_countries": ["US", "GB", "DE"],
      "domain": "cloudflare.com",
      "latitude": 37.7749,
      "longitude": -122.4194,
      "mobile": false,
      "organization": "Cloudflare, Inc.",
      "os": "Linux 3.11+",
      "rdns": "one.one.one.one",
      "rdns_validated": true,
      "region": "California",
      "sensor_count": 150,
      "sensor_hits": 2500,
      "single_destination": false,
      "source_city": "San Francisco",
      "source_country": "United States",
      "source_country_code": "US"
    },
    "spoofable": false,
    "태그": [
      {
        "category": "tool",
        "created": "2023-01-15",
        "cves": [],
        "description": "HTTP 스캐너 동작이 감지되었습니다",
        "id": "web_scanner_http",
        "intention": "benign",
        "name": "Web Scanner (HTTP)",
        "recommend_block": false,
        "references": [],
        "slug": "web-scanner-http",
        "updated_at": "2023-09-01T12:00:00Z"
      }
    ],
    "tor": false,
    "vpn": false,
    "vpn_service": ""
  },
  "ip": "198.51.100.42"
}
```

## GreyNoise 데이터 구조

<details>

<summary>비즈니스 서비스 인텔리전스</summary>

비즈니스 서비스 인텔리전스는 IP 주소가 알려진 비즈니스 서비스(CDN, 클라우드 제공업체 또는 기타 상용 서비스 등)에 속하는지 식별하는 데 도움이 됩니다. 이 정보는 오탐을 걸러내고 네트워크 트래픽의 맥락을 이해하는 데 매우 중요할 수 있습니다.

* `found`: IP가 GreyNoise의 비즈니스 서비스 데이터베이스에서 발견되었는지 여부
* `category`: 비즈니스 서비스의 유형(예: CDN, 호스팅, 클라우드 제공업체)
* `name`: 비즈니스 서비스의 이름(예: Cloudflare, AWS, Google)
* `description`: 비즈니스 서비스에 대한 설명
* `explanation`: 이 IP가 해당 서비스와 연관된 이유에 대한 추가 맥락
* `last_updated`: 이 비즈니스 서비스 정보가 마지막으로 업데이트된 시각
* `reference`: 서비스에 대한 추가 정보를 제공하는 URL 참조
* `trust_level`: 서비스의 신뢰도를 나타내는 숫자 신뢰 수준(값이 높을수록 더 신뢰할 수 있는 서비스임)

</details>

<details>

<summary>인터넷 스캐너 인텔리전스</summary>

인터넷 스캐너 인텔리전스는 인터넷 전반의 스캐닝 또는 공격 활동을 수행하는 것으로 관찰된 IP에 대한 자세한 정보를 제공합니다. 이는 GreyNoise의 핵심 위협 인텔리전스 데이터입니다.

* `found`: 해당 IP에 대해 인터넷 스캐너 인텔리전스 데이터가 발견되었는지 여부
* `first_seen`: 이 IP가 GreyNoise에 의해 처음 관찰된 날짜
* `last_seen`: 이 IP가 GreyNoise에 의해 마지막으로 관찰된 날짜
* `last_seen_timestamp`: 마지막 관찰의 상세 시각
* `actor`: 스캐닝 활동과 관련된 위협 행위자 또는 엔터티
* `spoofable`: 관찰된 트래픽이 쉽게 스푸핑될 수 있는지 여부
* `classification`: IP의 분류(무해, 악성 또는 미확인)
* `cves`: 이 IP의 스캐닝 활동과 관련된 CVE 식별자의 배열
* `bot`: IP가 봇으로 식별되었는지 여부
* `vpn`: IP가 VPN 서비스와 연관되어 있는지 여부
* `vpn_service`: 식별된 경우 VPN 서비스의 이름
* `tor`: IP가 알려진 Tor 종료 노드인지 여부
* `tags`: 스캐닝 활동을 설명하는 행동 태그의 배열(디택션에서 GreyNoise 태그 사용 참조)
* `메타데이터`: ASN, 지리 위치, 조직, 스캐닝 패턴을 포함한 IP의 상세 메타데이터

</details>

<details>

<summary>메타데이터</summary>

Internet Scanner Intelligence 내의 메타데이터 객체는 스캐닝 IP에 대한 자세한 맥락을 제공합니다:

* `asn`: Autonomous System Number
* `carrier`: 해당되는 경우 모바일 통신사
* `category`: IP 범주(예: hosting, business, isp)
* `datacenter`: 해당되는 경우 데이터센터 제공업체
* `destination_asns`: 이 IP가 스캔 대상으로 삼은 ASN 배열
* `destination_cities`: 이 IP가 스캔 대상으로 삼은 도시 배열
* `destination_countries`: 이 IP가 스캔 대상으로 삼은 국가 배열
* `destination_country_codes`: 이 IP가 스캔 대상으로 삼은 국가 코드 배열
* `domain`: IP와 연관된 도메인
* `latitude` / `longitude`: 지리 좌표
* `mobile`: IP가 모바일 네트워크와 연관되어 있는지 여부
* `organization`: IP를 소유한 조직
* `os`: 감지된 운영 체제
* `rdns`: 역방향 DNS 조회 결과
* `rdns_parent`: 역방향 DNS의 상위 도메인
* `rdns_validated`: 역방향 DNS가 검증되었는지 여부
* `region`: 지리적 지역
* `sensor_count`: 이 IP를 관찰한 GreyNoise 센서 수
* `sensor_hits`: 모든 센서에서 이 IP가 관찰된 총 횟수
* `single_destination`: 이 IP가 단일 대상만 노리는지 여부
* `source_city` / `source_country` / `source_country_code`: 소스 위치 정보

</details>

<details>

<summary>태그</summary>

Internet Scanner Intelligence의 태그는 GreyNoise가 식별한 특정 행동 패턴을 나타냅니다:

* `id`: 태그의 고유 식별자
* `name`: 태그의 표시 이름
* `slug`: URL 친화적인 식별자
* `category`: 태그 범주(예: activity, tool, worm)
* `description`: 이 태그가 나타내는 바에 대한 자세한 설명
* `intention`: 의도 분류(무해, 악성 또는 미확인)
* `recommend_block`: GreyNoise가 이 태그가 있는 IP의 트래픽 차단을 권장하는지 여부
* `created`: 이 태그가 생성된 날짜
* `updated_at`: 이 태그의 마지막 업데이트 시각
* `cves`: 이 태그와 관련된 CVE 식별자의 배열
* `references`: 이 태그와 관련된 외부 참조 또는 인용

</details>

### `GreyNoise.API.V3` 스키마

다음은 Panther 관리형 `GreyNoise.API.V3` 스키마로, GreyNoise 인텔리전스 데이터가 Panther에 저장되는 방식을 나타냅니다. 위에서 이 스키마로 파싱된 이벤트를 확인하세요.

```yaml
스키마: GreyNoise.API.V3
설명: GreyNoise Intelligence는 가장 크고 정교한 인터넷 센서 네트워크의 지원을 받아 대량 스캐닝을 수행하는 IP를 식별하고 라벨링함으로써 보안 팀이 인터넷 전반의 스캔 및 공격 노이즈를 걸러내고 더 빠르고 정확한 위협 디택션을 수행하도록 돕습니다. 우리는 실시간으로 검증 가능한 위협 인텔리전스를 제공합니다.
참조 URL: https://docs.greynoise.io/docs/api-v3-response
필드:
  - name: business_service_intelligence
    설명: 범주, 설명, 해설, 신뢰 수준, 그리고 IP 주소와 연관된 비즈니스 서비스에 대한 메타데이터를 포함한 IP의 비즈니스 서비스 인텔리전스 데이터
    유형: object
    필드:
      - 이름: category
        설명: 비즈니스 서비스의 범주 분류
        유형: string
      - 이름: description
        설명: 비즈니스 서비스 설명
        유형: string
      - name: explanation
        설명: 비즈니스 서비스 인텔리전스에 대한 자세한 해설
        유형: string
      - name: found
        설명: 해당 IP에 대한 비즈니스 서비스 인텔리전스 데이터가 발견되었는지 여부를 나타냄
        유형: boolean
      - name: last_updated
        설명: 비즈니스 서비스 인텔리전스 데이터가 마지막으로 업데이트된 시각
        유형: timestamp
        시간 형식:
          - rfc3339
      - 이름: name
        설명: 비즈니스 서비스의 이름
        유형: string
      - 이름: reference
        설명: 비즈니스 서비스에 대한 참조 URL 또는 식별자
        유형: string
      - name: trust_level
        설명: 비즈니스 서비스의 신뢰 수준 점수
        유형: bigint
  - name: internet_scanner_intelligence
    설명: IP에 대한 인터넷 스캐너 인텔리전스 데이터로, 행위자 정보, 봇 디텍션, 분류, CVE, 태그, VPN/Tor 상태, 그리고 IP의 스캐닝 행동 및 특성에 대한 메타데이터를 포함합니다
    유형: object
    필드:
      - name: actor
        설명: 스캐닝 활동과 연관된 행위자 또는 조직
        유형: string
      - name: bot
        설명: IP가 봇으로 식별되었는지 여부를 나타냄
        유형: boolean
      - 이름: classification
        설명: IP의 스캐닝 행동 분류
        유형: string
      - name: cves
        설명: IP와 연관된 Common Vulnerabilities and Exposures(CVE) 목록
        유형: array
        요소:
          유형: string
          지표:
            - cve
      - name: first_seen
        설명: GreyNoise 센서가 이 IP를 처음 본 날짜
        유형: timestamp
        시간 형식:
          - '%Y-%m-%d'
      - name: found
        설명: 해당 IP에 대해 인터넷 스캐너 인텔리전스 데이터가 발견되었는지 여부를 나타냄
        유형: boolean
      - name: last_seen
        설명: GreyNoise 센서가 이 IP를 마지막으로 본 날짜
        유형: timestamp
        시간 형식:
          - '%Y-%m-%d'
      - name: last_seen_timestamp
        설명: GreyNoise 센서가 이 IP를 마지막으로 본 시각
        유형: timestamp
        시간 형식:
          - '%Y-%m-%d %H:%M:%S'
        이벤트 시간 여부: true
      - 이름: metadata
        설명: IP 주소에 대한 지리적 및 네트워크 메타데이터
        유형: object
        필드:
          - name: asn
            설명: IP와 연관된 Autonomous System Number(ASN)
            유형: string
          - name: carrier
            설명: IP와 연관된 통신사 또는 ISP 이름
            유형: string
          - 이름: category
            설명: IP의 범주 분류
            유형: string
          - name: datacenter
            설명: IP가 데이터센터에 호스팅된 경우의 데이터센터 이름
            유형: string
          - name: destination_asns
            설명: 이 IP가 스캔 대상으로 관찰된 대상 ASN 목록
            유형: array
            요소:
              유형: string
          - name: destination_cities
            설명: 이 IP가 스캔 대상으로 관찰된 대상 도시 목록
            유형: array
            요소:
              유형: string
          - name: destination_countries
            설명: 이 IP가 스캔 대상으로 관찰된 대상 국가 목록
            유형: array
            요소:
              유형: string
          - name: destination_country_codes
            설명: 이 IP가 스캔 대상으로 관찰된 대상 국가 코드 목록
            유형: array
            요소:
              유형: string
          - name: domain
            설명: IP와 연관된 도메인 이름
            유형: string
            지표:
              - domain
          - name: latitude
            설명: IP 주소의 지리적 위도
            유형: float
          - name: longitude
            설명: IP 주소의 지리적 경도
            유형: float
          - name: mobile
            설명: IP가 모바일 통신사와 연관되어 있는지 여부를 나타냄
            유형: boolean
          - 이름: organization
            설명: IP와 연관된 조직 이름
            유형: string
          - 이름: os
            설명: IP에서 감지된 운영 체제
            유형: string
          - 이름: rdns
            설명: IP 주소의 역방향 DNS(PTR) 레코드
            유형: string
          - 이름: rdns_parent
            설명: 역방향 DNS 레코드의 상위 도메인
            유형: string
          - 이름: rdns_validated
            설명: 역방향 DNS 레코드가 검증되었는지 여부를 나타냄
            유형: boolean
          - 이름: region
            설명: IP 주소의 지리적 지역
            유형: string
          - 이름: sensor_count
            설명: 해당 IP를 관찰한 GreyNoise 센서 수
            유형: bigint
          - 이름: sensor_hits
            설명: GreyNoise 센서가 해당 IP를 관찰한 총 횟수
            유형: bigint
          - 이름: single_destination
            설명: IP가 단일 대상지를 지정하는지 여부를 나타냄
            유형: boolean
          - 이름: source_city
            설명: IP가 위치한 도시
            유형: string
          - 이름: source_country
            설명: IP가 위치한 국가
            유형: string
          - 이름: source_country_code
            설명: IP가 위치한 ISO 국가 코드
            유형: string
      - 이름: spoofable
        설명: IP 주소를 스푸핑할 수 있는지 여부를 나타냄
        유형: boolean
      - 이름: tags
        설명: IP의 동작과 특성을 설명하는 태그 목록
        유형: array
        요소:
          유형: object
          필드:
            - 이름: category
              설명: 태그의 범주 분류
              유형: string
            - 이름: created
              설명: 태그가 생성된 날짜
              유형: timestamp
              시간 형식:
                - '%Y-%m-%d'
            - name: cves
              설명: 태그와 관련된 공통 취약점 및 노출(CVE) 목록
              유형: array
              요소:
                유형: string
                지표:
                  - cve
            - 이름: description
              설명: 태그 설명
              유형: string
            - 이름: id
              설명: 태그의 고유 식별자
              유형: string
            - 이름: intention
              설명: 태그의 의도 분류(예: 악성, 의심스러운, 알 수 없음)
              유형: string
            - 이름: name
              설명: 태그 이름
              유형: string
            - 이름: recommend_block
              설명: 이 태그가 있는 IP에 대해 차단이 권장되는지 여부를 나타냄
              유형: boolean
            - 이름: references
              설명: 태그와 관련된 참고 URL 또는 호스트명 목록
              유형: array
              요소:
                유형: string
                지표:
                  - 호스트 이름
            - 이름: slug
              설명: 태그의 URL 친화적 식별자(slug)
              유형: string
            - 이름: 업데이트 시각
              설명: 태그가 마지막으로 업데이트된 타임스탬프
              유형: timestamp
              시간 형식:
                - rfc3339
      - 이름: tor
        설명: IP가 Tor 네트워크와 연관되어 있는지 여부를 나타냄
        유형: boolean
      - 이름: vpn
        설명: IP가 VPN 서비스와 연관되어 있는지 여부를 나타냄
        유형: boolean
      - 이름: vpn_service
        설명: IP가 VPN과 연관된 경우 VPN 서비스 이름
        유형: string
  - 이름: ip
    필수: true
    설명: GreyNoise가 분석 중인 IP 주소
    유형: string
    지표:
      - ip
```


---

# 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/greynoise.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.
