IPinfo

개요

Panther는 IPinfoarrow-up-right와(과) 협력하여 IP 주소 데이터의 신뢰할 수 있는 출처로서 Panther 고객에게 통합된 IP 관련 보강 기능을 제공합니다.

Panther 탐지에서 IPinfo 보강 데이터를 사용하여 오탐 경보를 줄이십시오:

  • 의심스러운 사용자의 현재 IP 지리정보 세부사항을 교차 검토하여 프로필 정보의 불일치를 발견하고 차단합니다.

  • 고위험 위치 또는 네트워크에서 오는 트래픽을 미리 식별하고 차단하여 도달하기 전에 방지합니다.

  • 대상과 관련된 보안 위험을 초래할 수 있는 다른 엔터티를 정확하고 신뢰성 있게 식별합니다.

IPinfo 데이터 세트는 추가 비용 없이 모든 Panther 계정에서 사용할 수 있으며 기본적으로 비활성화되어 있습니다. 방법을 알아보십시오 저장된 보강 데이터를 여는 방법은 여기에서볼 수 있으며, 또한 보강 데이터가 포함된 로그 이벤트를 보는 방법은 여기에서.

IPinfo 작동 방식

경보 이벤트는 p_enrichment JSON 이벤트의 필드 내에서 IPinfo 데이터로 자동 보강됩니다.

IPinfo 데이터는 다음을 사용한 탐지에서 액세스할 수 있습니다 사전 구축된 Python 도우미 (및 deep_get).

IPinfo 데이터 세트 은(는) 대량 보강 테이블로 저장되므로 탐지 논리나 경보에서 이 보강을 활용하기 위해 API 호출을 할 필요가 없습니다.

IPinfo의 데이터는 하루에 한 번 업데이트됩니다.

IPinfo 데이터 세트

IP 주소에 대한 컨텍스트 정보를 추가하는 IPinfo의 세 가지 데이터 유형이 있습니다:

IPinfo 데이터 세트 활성화 방법

CI/CD 워크플로를 사용하는 경우, 다음을 참조하십시오 아래의 CI/CD 사용자 섹션 추가 고려사항에 대해 알아보세요.

circle-info

Analyst 역할이 Panther 콘솔에서 IPinfo 패키지를 보고 관리하도록 허용하려면 다음 권한이 할당되어야 합니다. 조회 보기(View Lookups)조회 관리(Manage Lookups) 권한.

IPinfo 보강을 활성화하려면:

  1. Panther 콘솔의 왼쪽 탐색 바에서 다음을 클릭합니다 탐지(Detections).

  2. 알림 요약 보기 팩(Packs) 클릭하세요.

    • 이 페이지에서는 IPinfo에 사용할 수 있는 내장 팩을 확인할 수 있습니다.

  3. 활성화하려는 IPInfo 타일의 오른쪽에 있는 토글을 클릭하여 팩을 활성화하십시오.

  4. 클릭 계속 표시되는 대화상자에서.

  5. IPinfo 데이터 세트가 활성화되었는지 확인하려면 왼쪽 사이드바 메뉴에서 구성 > 보강 공급자(Enrichment Providers)

    • 를 클릭하십시오. 이 페이지에서 모든 보강 소스, 각 소스의 현재 활성화/비활성화 상태 및 소스 데이터가 마지막으로 새로고침된 시기를 확인할 수 있습니다.

    • 6개의 IPinfo 소스 테이블과 마지막으로 새로고침된 시간이 표시됩니다. 비활성화된 데이터 세트는 새로고침되지 않습니다.

      • 를 입력하세요 ipinfo_asn ,ipinfo_locationipinfo_privacy 테이블은 탐지 엔진의 실시간 조회에 사용됩니다.

      • 를 입력하세요 ipinfo_asn_datalake , ipinfo_location_datalakeipinfo_privacy_datalake 테이블은 데이터레이크에서 IPinfo 데이터에 대해 쿼리하고 조인하는 데 사용됩니다.

CI/CD 사용자

CLI 워크플로에서 IPinfo 보강을 활성화하려면 Panther Analysis Tool로 보강 관리(Managing Enrichments with the Panther Analysis Tool) 가이드를 참조하십시오.

다음 사항을 참고하십시오:

  • CI/CD 사용자는 IPinfo 테이블을 얻기 위해 탐지 팩을 사용할 필요가 없습니다. 최신 릴리스를 가져와 panther-analysisarrow-up-right 사용하고 panther_analysis_tool 개인 액세스 토큰(PAT)을 사용하여 IPinfo 보강을 업로드할 수 있습니다.

    • 다음 저장소를 사용하여 IPinfo 테이블을 활성화하려면 panther-analysisarrow-up-right 각 해당 YAML 구성 파일을 열고 enabled: true.

  • 로 설정했는지 확인하십시오.

    • CI/CD 사용자가 PAT를 사용하여 IPinfo 테이블을 사용자 정의하지 않는 한 탐지 팩을 통해 IPinfo 보강을 활성화할 수 있습니다.

  • Panther 콘솔에서 IPinfo를 활성화한 후 PAT로 관리를 선택하는 경우 먼저 Panther 콘솔에서 탐지 팩을 비활성화해야 합니다. Panther 콘솔과 PAT를 동시에 사용하여 IPinfo를 관리하는 것은 지원되지 않습니다. IPinfo 보강을 관리하는 방법에 대한 자세한 내용은arrow-up-right.

Panther의 GitHub 저장소에 있는 IPinfo 파일

데이터레이크에서 IPinfo 데이터 쿼리 방법

IPinfo의 프라이버시 감지(Privacy Detection) API 문서 위의 각 테이블에 대해 변경 사항을 모두 기록하는 <table>_history

테이블도 있습니다. 조인 키(joinkey) 사용

데이터레이크에서 IPinfo 데이터를 쿼리할 때 쿼리를 효율적으로 만들기 위해 조인 키(joinkey) 사용 를 사용해야 합니다. 다음의 사용자 정의 함수들은 조인 키(joinkey) 사용 설정을 더 쉽게 만듭니다:

  • PANTHER_LOOKUPS.PUBLIC.IPINFO_RANGE_TO_CIDR

  • PANTHER_LOOKUPS.PUBLIC.IPINFO_TO_INT

  • PANTHER_LOOKUPS.PUBLIC.IPINFO_TO_IP

    • 참고: IPinfo의 TO_IP 코드는 IPv4만 지원합니다.

  • PANTHER_LOOKUPS.PUBLIC.IPINFO_TO_JOIN_KEY

데이터레이크를 쿼리할 때 를 사용하여 쿼리하는 방법을 보여주는 예제를 아래에서 확인하십시오 조인 키(joinkey) 사용 아래.

이 기능은 규칙이 많은 수의 일치 이벤트를 생성하여 위협의 성격을 파악하기 어려울 때 특히 유용합니다. 알림 요약은 각 이벤트를 수동으로 검토하지 않고도 모든 일치 이벤트의 개요를 제공합니다.

예: IPinfo 위치 데이터를 기반으로 한 경보

이 예에서는 예상치 못한 국가에서 AWS 콘솔에 로그인할 때마다 경보를 발생시키는 규칙을 만듭니다.

예: 조인 키를 사용하여 데이터레이크에서 IPinfo 데이터를 쿼리하기 조인 키(joinkey) 사용

IP를 조회하려면 71.114.47.25다음을 지정해야 합니다: 조인 키(joinkey) 사용 와 범위(range).

다른 테이블에 조인하려면 위의 패턴을 따르되 로그 테이블의 IP 주소를 사용하십시오.

IPinfo Python 도우미 함수 사용법 및 메서드

Panther는 실시간 탐지 엔진에서 IPInfo 데이터를 간소화하여 사용할 수 있도록 도우미 함수를 통합했습니다.

Python 규칙에서 IPinfo 객체 생성

데이터 세트에서 관련 데이터를 반환하기 위해 호출할 수 있는 메서드를 가진 객체를 생성하는 도우미 함수가 있습니다.

아래는 이러한 객체를 생성하는 예제 코드 스니펫입니다:

를 입력하세요 AWS.CloudTrail.MFAEnabled 키워드는 해당 객체를 선언한 함수 밖에서 사용하려는 경우에만 필요합니다.

IPinfo 객체에서 메서드 호출하기

IPinfo 데이터 세트의 다양한 구성 요소는 _location_asn 객체의 메서드를 통해 사용할 수 있습니다. 규칙이 처리하는 하나의 이벤트에 여러 필드(예: 네트워크 로그의 IP 주소, 출발지 및 목적지 IP)가 있을 수 있습니다. IPInfo 객체를 호출할 때는 찾고자 하는 필드를 명확히 지정하십시오.

아래 예제는 이전 예제에서 생성한 ipinfo_locationipinfo_asn 객체에서 모든 도우미 메서드를 호출하여 탐지 규칙에서 사용할 수 있는 모든 보강 정보를 얻는 방법을 보여줍니다.

다음 예제는 geoinfo_from_ip() 함수를 사용합니다. 이 함수는 panther_oss_helper.geoinfo_from_ip()와 동일한 형식의 지리 위치 정보를 포함하는 딕셔너리를 반환하지만, hostnameanycast Selectors

result = geoinfo_from_ip(event, "sourceIPAddress")

if country == 'some unusual country':

사용 가능한 메서드

다음 표는 IPinfo 위치(Location), ASN 및 프라이버시(Privacy) 객체에 대한 사용 가능한 메서드, 설명 및 예상 반환 값을 보여줍니다.

나타나는 프롬프트에서 분석할 값을 선택합니다.

모든 메서드는 검색하려는 필드 인수를 받습니다.
위치(Location) 메서드
예제

반환 형식

문자열(String)

city

"San Francisco"

문자열(String)

country

"US"

문자열(String)

"37.7812"

latitude

문자열(String)

"-122.4614"

longitude

문자열(String)

"94118"

region

문자열(String)

postal_code

"California"

문자열(String)

region_code

"CA"

문자열(String)

timezone

"America/Los_Angeles"

객체

context

위의 모든 필드를 대문자로 된 메서드 이름을 키로 하는 딕셔너리로 포함합니다. 예: {

}

값을 선택하면 해당 값이 자동으로 분석되고 사용 가능한 위협 인텔리전스가 반환됩니다:

"City":"San Francisco", ...
위치(Location) 메서드
예제

ASN 메서드

문자열(String)

asn

"AS7018"

문자열(String)

domain

name

문자열(String)

"att.com"

"AT&T Services, Inc."

문자열(String)

"107.128.0.0/12"

유형

문자열(String)

route

"America/Los_Angeles"

객체

context

"isp"

"ASN":"AS7018",

}

"Domain" : "att.com", ...

프라이버시(Privacy)
위치(Location) 메서드
예제

프라이버시 메서드

)을 가진 필드는 스칼라 데이터 유형(즉,

client.ipAddress:

hosting

)을 가진 필드는 스칼라 데이터 유형(즉,

false

proxy

)을 가진 필드는 스칼라 데이터 유형(즉,

client.ipAddress:

tor

)을 가진 필드는 스칼라 데이터 유형(즉,

false

vpn

)을 가진 필드는 스칼라 데이터 유형(즉,

client.ipAddress:

서비스

객체

relay, 리레이(중계) 또는 중계 관련 값으로 해석될 수 있습니다.

Last updated

Was this helpful?