표준 필드

Panther의 로그 분석은 모든 로그 레코드에 정규화 필드를 적용합니다

Panther의 로그 분석은 모든 로그 레코드에 정규화 필드(예: IP, 도메인 등)를 적용합니다. 이러한 필드는 모든 데이터 소스에 걸쳐 속성의 표준 이름을 제공하여 빠르고 손쉬운 데이터 상관을 가능하게 합니다.

예를 들어 각 데이터 소스에는 이벤트가 발생한 시간이 있지만, 각 데이터 소스가 해당 속성에 동일한 이름을 사용하지 않을 수 있으며 관련된 시간이 다른 데이터 소스와 일관된 타임존을 가질 것이라고 보장되지 않습니다.

버튼을 클릭하십시오. p_event_time 속성은 각 데이터 소스의 해당 이벤트 시간에 매핑되고 UTC로 정규화됩니다 . 즉, 여러 데이터 소스를 쿼리할 때 p_event_time을 기준으로 조인하고 정렬할 수 있습니다, 각 데이터 소스의 이질적인 스키마에도 불구하고.

circle-info

모든 추가된 표준 필드는 p_.로 시작합니다

필수 필드

아래 필드들은 모든 로그 레코드에 추가됩니다:

필드 이름

유형

설명

p_log_type

문자열

로그의 유형입니다.

p_row_id

문자열

행의 고유 id(UUID)입니다.

p_event_time

타임스탬프

로그 유형에 연관된 이벤트 시간이 여기로 복사되어 UTC로 정규화됩니다. 형식: YYYY-MM-DD HH:MM:SS.fff

p_parse_time

타임스탬프

이벤트가 파싱된 현재 시간으로 UTC로 정규화됩니다. 형식: YYYY-MM-DD HH:MM:SS.fff

p_schema_version

정수

이 행에 사용된 스키마의 버전입니다.

p_source_id

문자열

소스 통합에 대해 Panther가 생성한 내부 id입니다.

p_source_label

문자열

소스 통합에 대해 사용자가 제공한 라벨(편집 시 변경될 수 있음)입니다.

p_source_file

object인 필드가

S3 소스에만 제공되며, 이 필드는 해당 이벤트가 발생한 파일의 메타데이터(버킷 이름 및 객체 키 등)를 포함합니다.

circle-info

이벤트에 타임스탬프가 없는 경우, p_event_time 는 다음으로 설정됩니다 p_parse_time, 이는 이벤트가 파싱된 시간입니다.

사용자를 사용할 것이며, p_source_idp_source_label 필드는 데이터가 어디에서 유래했는지를 나타냅니다. 예를 들어 Panther에 여러 개의 CloudTrail 소스를 등록했고 각 소스에 고유한 이름(예: "Dev Accounts", "Production Accounts", "HR Accounts" 등)을 부여했을 수 있습니다. 이러한 필드는 Panther에서 디텍션을 구성할 때 유용하도록 소스별로 데이터를 분리할 수 있게 합니다.

또한 아래 필드들은 값으로 설정하십시오. 데이터베이스의 모든 테이블 로그 레코드에 추가됩니다:

panther_rule_matches의 필드 이름

유형

설명

p_alert_id

문자열

행과 관련된 알러트의 Id입니다.

p_alert_creation_time

타임스탬프

행과 관련된 알러트 생성 시간입니다.

p_alert_context

object인 필드가

룰의 alert_context() 함수에서 반환된 JSON 객체입니다.

p_alert_severity

문자열

알러트 시점의 룰 심각도 수준입니다. 이는 동적으로 설정될 수 있으므로 기본 심각도와 다를 수 있습니다.

p_alert_update_time

타임스탬프

행과 관련된 마지막 알러트 업데이트 시간입니다.

p_rule_id

문자열

알러트를 생성한 룰의 id입니다.

p_rule_error

문자열

룰 실행 중 오류가 발생한 경우의 오류 메시지입니다.

p_rule_reports

map[string]array[string]

행과 관련된 사용자 정의 룰 리포팅 태그 목록입니다.

p_rule_severity

문자열

룰의 기본 심각도입니다.

p_rule_tags

array[string]

행과 관련된 사용자 정의 룰 태그 목록입니다.

지표 필드

일반적인 보안 질문 중 하나는, “어떤 지표가 우리의 로그들 중 에서 한 번이라도 관찰된 적이 있나?”입니다. Panther의 로그 소스가 구성된 후에는 수집된 데이터를 사용하여 검색할 수 있습니다 도구는 다양한 로그 소스의 데이터를 가로질러 검색하여 그 답을 찾을 수 있게 합니다.

로그 이벤트가 수집되면, indicators 필드 해당 스키마에서 어떤 필드의 값이 p_any_ 필드로 추출되어 이벤트에 추가되어 저장되어야 하는지를 식별합니다. 아래 표는 어떤 p_any_ 필드로 데이터가 추출되는지를 지표별로 보여줍니다.모든 p_any_ 필드는 리스트입니다.

사용자 정의 스키마를 구성할 때 아래 표의 Indicator Name 열에 있는 값을 스키마의 indicators 필드에 사용할 수 있습니다. 행들(다음을 제외한 hostname, net_addrurl)은 각각 로그 소스가 구성된 후에는 수집된 데이터를 사용하여 검색할 수 있습니다.

의 "Panther Fields" 옵션에 해당합니다. 표 아래에 있는 필드 이름/값 쌍 이외의 필드들은 Search의 키/값 필터 표현

circle-info

기능으로 검색할 수 있다는 점에 유의하세요 — 그러나 이러한 필드들은 다른 로그 소스의 대응 필드(다른 문법을 가진)로 매핑되어 있지 않기 때문에, 검색한 정확한 필드 이름을 포함하는 로그 소스에서만 일치 항목이 반환됩니다. 문자열.

필드가 스키마에서 지표로 지정되려면, 그 타입이
지표 이름
설명

추출되는 필드

actor_id

p_any_actor_ids

값을 p_any_actor_ids에 추가합니다.

aws_account_id

p_any_aws_account_ids

값이 유효한 AWS 계정 id이면 p_any_aws_account_ids에 추가합니다.

aws_arn

p_any_aws_arns, p_any_aws_instance_ids, p_any_aws_account_ids, p_any_emails

값이 유효한 AWS ARN이면 p_any_aws_arns에 추가합니다. ARN에 AWS 계정 id가 포함되어 있으면 해당 값을 추출하여 p_any_aws_account_ids에 추가합니다. ARN에 EC2 인스턴스 id가 포함되어 있으면 해당 값을 추출하여 p_any_aws_instance_ids에 추가합니다. ARN이 AWS STS Assume Role을 참조하고 이메일 주소를 포함하는 경우 이메일 주소를 추출하여 p_any_emails에 추가합니다.

aws_instance_id

p_any_aws_instance_ids

값이 유효한 AWS 인스턴스 id이면 p_any_aws_instance_ids에 추가합니다.

aws_tag

p_any_aws_tags

값을 p_any_aws_tags에 추가합니다.

cve

p_any_cves 정규식과 일치하는 모든 값을 추출합니다 ^[Cc][Vv][Ee]-\d{4}-\d+$

그리고 p_any_cves에 추가합니다

p_any_domain_names

domain

값을 p_any_domain_names에 추가합니다.

email

p_any_emails @ 값이 유효한 이메일 주소이면 값을 p_any_emails에 추가합니다. 값에서

hostname

앞부분은 또한 p_any_usernames에 채워집니다

p_any_domain_names, p_any_ip_addresses

cidr

p_any_ip_addresses

값을 p_any_domain_names에 추가합니다. 값이 유효한 ipv4 또는 ipv6 주소이면 p_any_ip_addresses에 추가합니다.

값이 유효한 ipv4 또는 ipv6 주소이면 p_any_ip_addresses에 추가합니다.

mac

p_any_mac_addresses

값이 유효한 IEEE 802 MAC-48, EUI-48, EUI-64 또는 20옥텟 IP over InfiniBand 링크 계층 주소이면 p_any_mac_addresses에 추가합니다.

p_any_md5_hashes

md5

값이 유효한 md5이면 값을 p_any_md5_hashes에 추가합니다.

mitre_attack_technique

p_any_cves p_any_mitre_attack_techniques \b[Tt]\d{4}(?:\.\d{3})?\b 그리고 p_any_mitre_attack_techniques에 추가합니다. 예를 들어 필드 값이"Technique: T1234" 이면 p_any_mitre_attack_techniques에는 다음 값이 들어갑니다

net_addr

앞부분은 또한 p_any_usernames에 채워집니다

["T1234"] <host>:<port> 형태의 값에서 추출하여 호스트 부분을 p_any_domain_names에 추가합니다. 호스트 부분이 유효한 ipv4 또는 ipv6 주소이면 p_any_ip_addresses에 추가합니다.

serial_number

p_any_serial_numbers

값을 p_any_serial_numbers에 추가합니다.

sha1

p_any_sha1_hashes

값이 유효한 sha1이면 p_any_sha1_hashes에 추가합니다.

sha256

p_any_sha256_hashes

값이 유효한 sha256이면 p_any_sha256_hashes에 추가합니다.

trace_id

p_any_trace_ids

값을 p_any_trace_ids에 추가합니다. 세션 id나 문서 id와 같은 태그 필드는 관련 이벤트들의 전체 활동을 추적하기 위해 다른 로그의 요소들과 연관시키는 데 사용됩니다.

url

앞부분은 또한 p_any_usernames에 채워집니다

"http://" 또는 "https://" 뒤의 호스트 부분을 파싱합니다.

호스트 부분을 p_any_domain_names에 추가합니다. 호스트 부분이 유효한 ipv4 또는 ipv6 주소이면 p_any_ip_addresses에 추가합니다.

username

p_any_usernames

값을 p_any_usernames에 추가합니다. 이 필드는 또한 값을 p_any_domain_names에 추가합니다. 지표로 표시된 값들로 채워집니다. 이메일 값에서 @ 앞부분은 이 필드에 추가됩니다.

보강(Enrichment) 필드

Panther 룰 엔진은 룩업 테이블 에서 조회된 일치 항목을 가져와 키 p_enrichment 를 사용하여 다음 JSON 구조로 이벤트에 해당 데이터를 추가합니다:

보강 필드 이름
유형
보강 필드 설명

p_enrichment

object인 필드가

일치하는 행이 발견된 조회 결과의 사전입니다.

p_match

문자열

p_matchp_enrichment내의 각 일치 행의 데이터에 주입됩니다. 그 값은 이벤트에서 일치한 값입니다.

"all_logs" 뷰

Panther는 표준 필드를 가진 모든 데이터 소스에 대한 뷰를 관리합니다.

이를 통해 다음과 같은 질문에 답할 수 있습니다: " 로그들 중 에서의 활동이 있었나요?" 어떤-나쁜-아이피, 그리고 있었다면 어디에서였나요?"

아래 쿼리는 IP 주소와 연관된 레코드가 로그 유형별로 몇 건인지 보여줍니다. 95.123.145.92:

이 결과들로부터 활동이 나타난 특정 로그들로 피벗할 수 있습니다.

디텍션의 표준 필드

Panther 표준 필드는 디텍션에서 사용할 수 있습니다.

예를 들어 아래의 Python 룰은 GuardDuty 알러트가 시스템 시간 및 OS 버전과 같은 민감하지 않은 정보 유출:

마지막 업데이트

도움이 되었나요?