표준 필드

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

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

예를 들어 각 데이터 소스에는 이벤트가 발생한 시간이 있지만 각 데이터 소스가 속성 이름을 동일하게 지정하지 않을 수 있으며 연결된 시간이 다른 데이터 소스와 일관된 시간대라는 보장이 없습니다.

Panther는 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

객체

S3 소스에서만 사용 가능하며, 이 필드는 이벤트가 생성된 파일의 메타데이터(버킷 이름 및 오브젝트 키 포함)를 포함합니다.

p_header

객체

다음이 활성화된 경우 봉투 메타데이터를 포함합니다 봉투 필드 보존CloudWatch 로그 소스에 대해입니다. 로그 그룹, 로그 스트림, 소유자 계정 및 구독 필터와 같은 정보가 포함됩니다.

circle-info

이벤트에 타임스탬프가 없으면 p_event_timep_parse_time로 설정되며, 이는 이벤트가 파싱된 시간입니다.

다음 p_source_idp_source_label 필드는 데이터가 어디에서 생성되었는지를 나타냅니다. 예를 들어 Panther에 여러 CloudTrail 소스를 등록하고 각 소스에 고유한 이름(예: "Dev Accounts", "Production Accounts", "HR Accounts" 등)을 지정했을 수 있습니다. 이러한 필드는 소스에 따라 데이터를 분리할 수 있게 해주며, Panther에서 디텍션을 구성할 때 유용합니다.

또한 아래 필드는 panther_rule_matches 데이터베이스의 모든 테이블 로그 레코드에 추가됩니다:

panther_rule_matches의 필드 이름

유형

설명

p_alert_id

문자열

행과 관련된 alert의 ID입니다.

p_alert_creation_time

타임스탬프

행과 관련된 alert 생성 시간입니다.

p_alert_context

객체

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

p_alert_severity

문자열

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

p_alert_update_time

타임스탬프

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

p_rule_id

문자열

alert를 생성한 룰의 ID입니다.

p_rule_error

문자열

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

p_rule_reports

map[string]array[string]

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

p_rule_severity

문자열

룰의 기본 심각도입니다.

p_rule_tags

array[string]

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

지표(인디케이터) 필드

일반적인 보안 질문은 “어떤 인디케이터가 언제든 관찰된 적이 있나요”입니다 우리의 어떤 로그에서?” Panther의 검색 도구는 다양한 로그 소스의 데이터를 가로질러 검색하여 그 답을 찾을 수 있게 해줍니다.

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

사용자 정의 스키마를 구성할 때 아래 표의 Indicator Name 열에 있는 값을 스키마의 인디케이터 필드에 사용할 수 있습니다. 아래의 각 행(다음 제외 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에 추가합니다

domain

p_any_domain_names

값을 p_any_domain_names에 추가합니다.

email

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

hostname

앞부분은 p_any_usernames에도 채워집니다

p_any_domain_names, p_any_ip_addresses

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

ip

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에 추가합니다.

md5

p_any_md5_hashes

값이 유효한 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

url

앞부분은 p_any_usernames에도 채워집니다

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

"http://" 또는 "https://" 이후의 호스트 부분을 파싱하여 추출합니다.

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

username

p_any_usernames 값을 p_any_domain_names에 추가합니다. 값을 p_any_usernames에 추가합니다. 이 필드는 또한 @ 인디케이터로 표시된 값으로 채워집니다. 이메일 값에서

앞부분은 이 필드에 추가됩니다.

확장(엔리치먼트) 필드 Panther 룰 엔진은 조회 테이블 에서 조회된 일치 항목을 가져와 키 p_enrichment

<로그에서 일치한 키>: <조회된 일치 행>,
유형
엔리치먼트 필드 이름

에서 조회된 일치 항목을 가져와 키

객체

엔리치먼트 필드 설명

일치하는 행이 발견된 조회 결과의 딕셔너리입니다.

문자열

일치하는 행이 발견된 조회 결과의 딕셔너리입니다. p_match 에서 조회된 일치 항목을 가져와 키

내의 각 일치 행의 데이터에 주입됩니다.

그 값은 이벤트에서 일치한 값입니다.

"all_logs" 뷰 어떤 Panther는 표준 필드가 포함된 모든 데이터 소스에 대한 뷰를 관리합니다. 이를 통해 "어떤 활동이 있었나"와 같은 질문에 답할 수 있습니다, 예를 들어어떤 악성 IP로부터의

활동이 있었는지, 그리고 있었다면 어디에서였는지를 묻는 질문에 답할 수 있습니다. 95.123.145.92:

GROUP BY p_log_type

이 결과에서 활동이 표시된 특정 로그로 피벗할 수 있습니다.

디텍션에서의 표준 필드

Panther의 표준 필드는 디텍션에서 사용할 수 있습니다. 예를 들어 아래의 Python 룰은 GuardDuty 경고가:

마지막 업데이트

도움이 되었나요?