표준 필드

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 소스에서만 사용 가능하며, 이 필드는 이벤트가 발생한 파일의 메타데이터(버킷 이름 및 객체 키 포함)를 포함합니다.

circle-info

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

다음 p_source_idp_source_label 필드는 데이터가 어디에서 유래했는지를 나타냅니다. 예를 들어 Panther에 여러 CloudTrail 소스를 등록하고 각 소스에 고유한 이름(예: "개발 계정", "프로덕션 계정", "인사 계정" 등)을 부여할 수 있습니다. 이러한 필드는 소스 기반으로 데이터를 분리할 수 있게 하여 Panther에서 탐지를 구성할 때 유용합니다.

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

panther_rule_matches의 필드 이름

유형

설명

p_alert_id

문자열

행과 관련된 경고의 ID입니다.

p_alert_creation_time

타임스탬프

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

p_alert_context

객체

규칙의 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의 검색 도구는 다양한 로그 소스의 데이터를 가로질러 검색하여 답을 찾을 수 있게 해줍니다.

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

사용자 정의 스키마를 구성할 때 아래 표의 인디케이터 이름 열에 있는 값을 스키마의 인디케이터 필드에 사용할 수 있습니다. 각 행(다음 제외 hostname, net_addrurl)은 검색.

의 "Panther 필드" 옵션에 해당합니다. 표 아래의 필드에 없는 필드 이름/값 쌍은 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가 포함된 경우 해당 계정 ID를 추출하여 p_any_aws_account_ids에 추가합니다. ARN에 EC2 인스턴스 ID가 포함된 경우 해당 인스턴스 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에 값을 추가합니다. 값에서 @ 앞부분은 p_any_usernames에도 채워집니다

hostname

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_mitre_attack_techniques

다음 정규식과 일치하는 값을 추출하여 \b[Tt]\d{4}(?:\.\d{3})?\b 을 추출하여 p_any_mitre_attack_techniques에 추가합니다. 예를 들어 필드 값이 "Technique: T1234"인 경우 p_any_mitre_attack_techniques에는 ["T1234"]

net_addr

p_any_domain_names, p_any_ip_addresses

형식의 값에서 추출합니다 <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_domain_names, p_any_ip_addresses

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

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

username

p_any_usernames

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

보강(인리치먼트) 필드

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

인리치먼트 필드 이름
유형
인리치먼트 필드 설명

p_enrichment

객체

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

p_match

문자열

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

"all_logs" 뷰

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

이를 통해 " 로그들 중 어떤 활동이 있었나요 어떤-악성-아이피가 있었는지, 있었다면 어디에 있었는지?"와 같은 질문에 답할 수 있습니다.

아래 쿼리는 IP 주소와 관련된 로그 유형별 레코드 수를 보여줍니다 95.123.145.92:

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

탐지에서의 표준 필드

Panther 표준 필드는 탐지에서 사용할 수 있습니다.

예를 들어, 아래의 Python 규칙은 GuardDuty 경고가 Critical:

Last updated

Was this helpful?