# GreyNoise (Beta)

## 개요

{% hint style="info" %}
GreyNoise 강화 기능은 Panther 버전 1.117부터 오픈 베타로 제공되며, 모든 고객에게 사용할 수 있습니다. 버그 보고와 기능 요청은 Panther 지원 팀과 공유해 주세요.
{% endhint %}

[GreyNoise](https://www.greynoise.io) 인터넷 전반의 스캔 및 공격 활동에 대한 실시간 인텔리전스를 제공합니다. 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 필드의 값 중 하나.
  * 각 로그 유형에 대한 기본 Selector는 [인디케이터 필드](/ko/search/panther-fields.md) (로 표시되며 `p_any_*`강화 테이블의 기본 키에 있는 indicator 필드 지정과 연결됩니다(다만 Selector는 구성 가능). [이 자동 매핑에 대해 자세히 알아보려면 여기에서 확인하세요](/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의 왼쪽 탐색 모음에서 다음을 클릭하세요. **구성** > **Enrichments**.
2. 오른쪽 상단에서 다음을 클릭하세요. **새로 만들기**.
3. 다음을 클릭하세요. **GreyNoise**.
4. 다음에서 **강화 설정** 양식에서 다음 필드의 값을 입력하세요:
   * **이름**: 통합에 대한 설명적인 이름을 입력합니다.
   * **API 키**: 1단계에서 생성한 API 키를 입력합니다.
   * **새로 고침 주기(분)**: Panther가 GreyNoise 데이터를 얼마나 자주 새로 고칠지 구성합니다. 기본 새로 고침 주기는 360분이며 최소 새로 고침 주기는 60분입니다.
5. 다음을 클릭하세요. **설정**.
   * 새 GreyNoise 구성은 **구성** > **Enrichments** 페이지.

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

## 로그 유형에 대한 GreyNoise 강화 활성화, 비활성화 또는 수정

GreyNoise 강화는 Panther 인스턴스의 각 로그 유형에 대해 기본적으로 활성화되어 있습니다.

특정 로그 유형에 대한 GreyNoise 강화를 비활성화(또는 나중에 활성화)하거나 로그 유형의 Selector를 변경하려면:

1. Panther Console의 왼쪽 탐색 표시줄에서 **구성** > **Enrichments**.
2. 강화 목록에서 수정하려는 GreyNoise 소스를 찾은 다음 이름을 클릭합니다.
3. 다음을 클릭합니다 **강화된 로그 유형** 탭.
4. 오른쪽에서 다음을 클릭합니다. **로그 유형 편집**.
   * 새 로그 유형에 대해 이 강화를 활성화하려면 **로그 유형 추가**.
     * 새로 표시되는 행에서 **로그 유형** 를 선택하고, **셀렉터** 필드에는 최소 하나의 이벤트 필드를 입력합니다.
   * 로그 유형에 대해 이 강화를 비활성화하려면 해당 로그 유형의 행을 찾아 휴지통 아이콘을 클릭합니다.
     * 목록에 보이는 로그 유형이 없다면 다음 옆의 드롭다운 화살표를 클릭합니다 **자동 매핑된 로그 유형**. 로그 유형의 행을 찾아 편집 아이콘을 클릭합니다.
   * 로그 유형의 Selector를 변경하려면 **셀렉터** 필드를 클릭하고 이벤트 필드 선택을 추가하거나 제거합니다.
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,
    "tags": [
      {
        "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`: GreyNoise가 이 IP를 처음 관찰한 날짜
* `last_seen`: GreyNoise가 이 IP를 마지막으로 관찰한 날짜
* `last_seen_timestamp`: 마지막 관찰의 상세 타임스탬프
* `행위자`: 스캐닝 활동과 연결된 위협 행위자 또는 엔터티
* `spoofable`: 관찰된 트래픽이 쉽게 스푸핑 가능한지 여부
* `classification`: IP의 분류(양호, 악성, 또는 알 수 없음)
* `cves`: 이 IP의 스캐닝 활동과 관련된 CVE 식별자 배열
* `bot`: IP가 봇으로 식별되었는지 여부
* `vpn`: IP가 VPN 서비스와 연결되어 있는지 여부
* `vpn_service`: 식별된 경우 VPN 서비스 이름
* `tor`: IP가 알려진 Tor 출구 노드인지 여부
* `tags`: 스캐닝 활동을 설명하는 행동 태그 배열(GreyNoise 태그를 디텍션에서 사용하기 참조)
* `metadata`: ASN, 지리 정보, 조직, 스캐닝 패턴을 포함한 IP에 대한 상세 메타데이터

</details>

<details>

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

Internet Scanner Intelligence 내의 metadata 객체는 스캐닝 IP에 대한 상세 맥락을 제공합니다:

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

</details>

<details>

<summary>Tags</summary>

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

* `id`: 태그의 고유 식별자
* `name`: 태그의 표시 이름
* `slug`: URL 친화적인 식별자
* `category`: 태그 범주(예: 활동, 도구, 웜)
* `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
fields:
  - 이름: business_service_intelligence
    설명: IP에 대한 비즈니스 서비스 인텔리전스 데이터로, IP 주소와 연결된 비즈니스 서비스의 범주, 설명, 해설, 신뢰 수준, 메타데이터를 포함합니다
    type: object
    fields:
      - 이름: category
        설명: 비즈니스 서비스의 범주 분류
        type: string
      - name: description
        설명: 비즈니스 서비스에 대한 설명
        type: string
      - 이름: explanation
        설명: 비즈니스 서비스 인텔리전스에 대한 상세 설명
        type: string
      - 이름: found
        설명: 해당 IP에 대한 비즈니스 서비스 인텔리전스 데이터가 발견되었는지 여부를 나타냅니다
        type: boolean
      - 이름: last_updated
        설명: 비즈니스 서비스 인텔리전스 데이터가 마지막으로 업데이트된 시각
        type: timestamp
        timeFormats:
          - rfc3339
      - name: name
        설명: 비즈니스 서비스 이름
        type: string
      - 이름: reference
        설명: 비즈니스 서비스에 대한 참조 URL 또는 식별자
        type: string
      - 이름: trust_level
        설명: 비즈니스 서비스의 신뢰 수준 점수
        유형: bigint
  - 이름: internet_scanner_intelligence
    설명: actor 정보, 봇 감지, 분류, CVE, 태그, VPN/Tor 상태, IP의 스캐닝 동작 및 특성에 대한 메타데이터를 포함한 IP에 대한 인터넷 스캐너 인텔리전스 데이터
    type: object
    fields:
      - name: actor
        설명: 스캐닝 활동과 관련된 행위자 또는 조직
        type: string
      - 이름: bot
        설명: IP가 봇으로 식별되었는지 여부를 나타냅니다
        type: boolean
      - 이름: classification
        설명: IP의 스캐닝 동작 분류
        type: string
      - 이름: cves
        설명: IP와 관련된 일반적인 취약점 및 노출(CVE) 목록
        type: array
        element:
          type: string
          indicators:
            - cve
      - 이름: first_seen
        설명: GreyNoise 센서가 IP를 처음 본 날짜
        type: timestamp
        timeFormats:
          - '%Y-%m-%d'
      - 이름: found
        설명: 해당 IP에 대한 인터넷 스캐너 인텔리전스 데이터가 발견되었는지 여부를 나타냅니다
        type: boolean
      - 이름: last_seen
        설명: GreyNoise 센서가 IP를 마지막으로 본 날짜
        type: timestamp
        timeFormats:
          - '%Y-%m-%d'
      - 이름: last_seen_timestamp
        설명: GreyNoise 센서가 IP를 마지막으로 본 시각
        type: timestamp
        timeFormats:
          - '%Y-%m-%d %H:%M:%S'
        isEventTime: true
      - 이름: metadata
        설명: IP 주소에 대한 지리 및 네트워크 메타데이터
        type: object
        fields:
          - 이름: asn
            설명: IP와 연결된 자율 시스템 번호(ASN)
            type: string
          - 이름: carrier
            설명: IP와 연결된 통신사 또는 ISP 이름
            type: string
          - 이름: category
            설명: IP의 범주 분류
            type: string
          - 이름: datacenter
            설명: IP가 데이터센터에 호스팅된 경우 데이터센터 이름
            type: string
          - 이름: destination_asns
            설명: 이 IP가 스캐닝한 것으로 관찰된 대상 ASN 목록
            type: array
            element:
              type: string
          - 이름: destination_cities
            설명: 이 IP가 스캐닝한 것으로 관찰된 대상 도시 목록
            type: array
            element:
              type: string
          - 이름: destination_countries
            설명: 이 IP가 스캐닝한 것으로 관찰된 대상 국가 목록
            type: array
            element:
              type: string
          - 이름: destination_country_codes
            설명: 이 IP가 스캐닝한 것으로 관찰된 대상 국가 코드 목록
            type: array
            element:
              type: string
          - name: domain
            설명: IP와 연결된 도메인 이름
            type: string
            indicators:
              - domain
          - 이름: latitude
            설명: IP 주소의 지리적 위도
            유형: float
          - 이름: longitude
            설명: IP 주소의 지리적 경도
            유형: float
          - 이름: mobile
            설명: IP가 모바일 통신사와 연결되어 있는지 여부를 나타냅니다
            type: boolean
          - name: organization
            설명: IP와 연결된 조직 이름
            type: string
          - 이름: os
            설명: IP에 대해 감지된 운영 체제
            type: string
          - 이름: rdns
            설명: IP 주소에 대한 역방향 DNS(PTR) 레코드
            type: string
          - 이름: rdns_parent
            설명: 역방향 DNS 레코드의 상위 도메인
            type: string
          - 이름: rdns_validated
            설명: 역방향 DNS 레코드가 검증되었는지 여부를 나타냅니다
            type: boolean
          - 이름: region
            설명: IP 주소의 지리적 지역
            type: string
          - 이름: sensor_count
            설명: IP를 관찰한 GreyNoise 센서 수
            유형: bigint
          - 이름: sensor_hits
            설명: GreyNoise 센서가 IP를 관찰한 총 횟수
            유형: bigint
          - 이름: single_destination
            설명: IP가 단일 대상을 겨냥하는지 여부를 나타냅니다
            type: boolean
          - 이름: source_city
            설명: IP가 위치한 도시
            type: string
          - 이름: source_country
            설명: IP가 위치한 국가
            type: string
          - 이름: source_country_code
            설명: IP가 위치한 ISO 국가 코드
            type: string
      - 이름: spoofable
        설명: IP 주소가 스푸핑 가능한지 여부를 나타냅니다
        type: boolean
      - name: tags
        설명: IP의 동작 및 특성을 설명하는 태그 목록
        type: array
        element:
          type: object
          fields:
            - 이름: category
              설명: 태그의 범주 분류
              type: string
            - 이름: created
              설명: 태그가 생성된 날짜
              type: timestamp
              timeFormats:
                - '%Y-%m-%d'
            - 이름: cves
              설명: 태그와 관련된 일반적인 취약점 및 노출(CVE) 목록
              type: array
              element:
                type: string
                indicators:
                  - cve
            - name: description
              설명: 태그에 대한 설명
              type: string
            - name: id
              설명: 태그의 고유 식별자
              type: string
            - 이름: intention
              설명: 태그의 의도 분류(예: 악성, 의심스러운, 알 수 없음)
              type: string
            - name: name
              설명: 태그 이름
              type: string
            - 이름: recommend_block
              설명: 이 태그가 있는 IP에 대해 차단이 권장되는지 여부를 나타냅니다
              type: boolean
            - name: references
              설명: 태그와 관련된 참조 URL 또는 호스트 이름 목록
              type: array
              element:
                type: string
                indicators:
                  - hostname
            - 이름: slug
              설명: 태그의 URL 친화적인 식별자(slug)
              type: string
            - 이름: updated_at
              설명: 태그가 마지막으로 업데이트된 시각
              type: timestamp
              timeFormats:
                - rfc3339
      - 이름: tor
        설명: IP가 Tor 네트워크와 연결되어 있는지 여부를 나타냅니다
        type: boolean
      - 이름: vpn
        설명: IP가 VPN 서비스와 연결되어 있는지 여부를 나타냅니다
        type: boolean
      - 이름: vpn_service
        설명: IP가 VPN과 연결된 경우 VPN 서비스 이름
        type: string
  - name: ip
    required: true
    설명: GreyNoise가 분석 중인 IP 주소
    type: string
    indicators:
      - ip
```


---

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