표준 필드
Panther의 로그 분석은 모든 로그 레코드에 정규화 필드를 적용합니다
Panther의 로그 분석은 모든 로그 레코드에 정규화 필드(예: IP, 도메인 등)를 적용합니다. 이러한 필드는 모든 데이터 소스에 걸쳐 속성의 표준 이름을 제공하여 빠르고 손쉬운 데이터 상관을 가능하게 합니다.
예를 들어 각 데이터 소스에는 이벤트가 발생한 시간이 있지만, 각 데이터 소스가 해당 속성에 동일한 이름을 사용하지 않을 수 있으며 관련된 시간이 다른 데이터 소스와 일관된 타임존을 가질 것이라고 보장되지 않습니다.
버튼을 클릭하십시오. p_event_time 속성은 각 데이터 소스의 해당 이벤트 시간에 매핑되고 UTC로 정규화됩니다 . 즉, 여러 데이터 소스를 쿼리할 때 p_event_time을 기준으로 조인하고 정렬할 수 있습니다, 각 데이터 소스의 이질적인 스키마에도 불구하고.
모든 추가된 표준 필드는 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 소스에만 제공되며, 이 필드는 해당 이벤트가 발생한 파일의 메타데이터(버킷 이름 및 객체 키 등)를 포함합니다.
이벤트에 타임스탬프가 없는 경우, p_event_time 는 다음으로 설정됩니다 p_parse_time, 이는 이벤트가 파싱된 시간입니다.
사용자를 사용할 것이며, p_source_id 와 p_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_addr및 url)은 각각 로그 소스가 구성된 후에는 수집된 데이터를 사용하여 검색할 수 있습니다.
의 "Panther Fields" 옵션에 해당합니다. 표 아래에 있는 필드 이름/값 쌍 이외의 필드들은 Search의 키/값 필터 표현
기능으로 검색할 수 있다는 점에 유의하세요 — 그러나 이러한 필드들은 다른 로그 소스의 대응 필드(다른 문법을 가진)로 매핑되어 있지 않기 때문에, 검색한 정확한 필드 이름을 포함하는 로그 소스에서만 일치 항목이 반환됩니다. 문자열.
추출되는 필드
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에 추가합니다.
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_match 은 p_enrichment내의 각 일치 행의 데이터에 주입됩니다. 그 값은 이벤트에서 일치한 값입니다.
"all_logs" 뷰
Panther는 표준 필드를 가진 모든 데이터 소스에 대한 뷰를 관리합니다.
이를 통해 다음과 같은 질문에 답할 수 있습니다: " 로그들 중 에서의 활동이 있었나요?" 어떤-나쁜-아이피, 그리고 있었다면 어디에서였나요?"
아래 쿼리는 IP 주소와 연관된 레코드가 로그 유형별로 몇 건인지 보여줍니다. 95.123.145.92:
이 결과들로부터 활동이 나타난 특정 로그들로 피벗할 수 있습니다.
디텍션의 표준 필드
Panther 표준 필드는 디텍션에서 사용할 수 있습니다.
예를 들어 아래의 Python 룰은 GuardDuty 알러트가 시스템 시간 및 OS 버전과 같은 민감하지 않은 정보 유출:
마지막 업데이트
도움이 되었나요?

