Chronicle이 이벤트 및 항목 데이터를 보강하는 방법

이 문서에서는 Chronicle에서 데이터를 보강하는 방법과 데이터가 저장되는 통합 데이터 모델(UDM) 필드를 설명합니다.

보안 조사를 위해 Chronicle은 다양한 소스의 문맥 데이터를 수집하고 데이터에 대한 분석을 수행하며 고객 환경의 아티팩트에 대한 추가적인 정보를 제공합니다. 애널리스트는 Detection Engine 규칙, 조사 검색 또는 보고서에서 컨텍스트가 풍부한 데이터를 사용할 수 있습니다.

Chronicle은 다음 유형의 보강을 수행합니다.

  • 항목 그래프를 사용하고 병합하여 항목을 보강합니다.
  • 환경에서의 인기도를 나타내는 보급 통계를 사용하여 각 항목을 계산하고 보강합니다.
  • 환경에서 특정 항목 유형이 처음 확인된 시간 또는 최근 시간을 계산합니다.
  • 세이프 브라우징 위협 목록의 정보를 사용하여 항목을 보강합니다.
  • 위치정보 데이터로 이벤트를 보강할 수 있습니다.
  • WHOIS 데이터로 항목을 보강합니다.
  • VirusTotal 파일 메타데이터로 이벤트를 보강합니다.
  • VirusTotal 관계 데이터로 항목을 보강합니다.
  • Google Cloud 위협 인텔리전스 데이터 수집 및 저장

WHOIS, 세이프 브라우징, GCTI 위협 인텔리전스, VirusTotal 메타데이터, VirusTotal 관계의 보강 데이터는 event_type, product_name, vendor_name으로 식별됩니다. 이 보강된 데이터를 사용하는 규칙을 만들 때는 포함할 특정 보강 유형을 식별하는 필터를 규칙에 포함하는 것이 좋습니다. 이 필터는 규칙의 성능을 개선하는 데 도움이 됩니다. 예를 들어 WHOIS 데이터를 조인하는 규칙의 events 섹션에 다음 필터 필드를 포함합니다.

$enrichment.graph.metadata.entity_type = "DOMAIN_NAME"
$enrichment.graph.metadata.product_name = "WHOISXMLAPI Simple Whois"
$enrichment.graph.metadata.vendor_name = "WHOIS"

항목 그래프를 사용하고 병합하여 항목 보강

항목 그래프는 환경의 항목과 리소스 간의 관계를 식별합니다. 다른 소스의 항목이 Chronicle에 수집되면 항목 그래프는 항목 간의 관계를 기반으로 인접 목록을 유지합니다. 항목 그래프는 중복 삭제 및 병합을 수행하여 컨텍스트 보강을 수행합니다.

중복 삭제 중 중복 데이터가 제거되고 공통 항목을 만들도록 간격이 형성됩니다. 예를 들어 t1t2 타임스탬프가 각각 있는 두 항목 e1e2가 있다고 가정해 보겠습니다. 항목 e1e2는 중복 삭제되고 다른 타임스탬프는 중복 삭제 중에 사용되지 않습니다. 다음 필드는 중복 삭제 중에 사용되지 않습니다.

  • collected_timestamp
  • creation_timestamp
  • interval

병합하는 동안 항목 간 관계는 하루 시간의 시간 간격으로 구성됩니다. 예를 들어 Cloud Storage 버킷에 액세스할 수 있는 user A의 항목 레코드가 있다고 가정해 보겠습니다. 기기를 소유한 user A의 다른 항목 레코드가 있습니다. 병합 후 이러한 두 항목은 관계가 두 개 있는 단일 항목 user A가 됩니다. 한 관계는 user A가 Cloud Storage 버킷에 액세스할 수 있고 다른 관계는 user A가 기기를 소유한다는 것입니다. Chronicle은 항목 컨텍스트 데이터를 만들 때 5일 간 확인 작업을 수행합니다. 이는 늦게 도착하는 데이터를 처리하고 항목 컨텍스트 데이터에 대한 암시적 TTL(수명)을 만듭니다.

Chronicle은 별칭을 사용하여 원격 분석 데이터를 보강하고 항목 그래프를 사용하여 항목을 보강합니다. 감지 엔진 규칙은 병합된 항목을 보강된 원격 분석 데이터에 조인하여 컨텍스트 인식 분석을 제공합니다.

항목 명사가 포함된 이벤트는 항목으로 간주됩니다. 다음은 몇 가지 이벤트 유형과 해당 항목 유형입니다.

  • ASSET_CONTEXTASSET에 해당합니다.
  • RESOURCE_CONTEXTRESOURCE에 해당합니다.
  • USER_CONTEXTUSER에 해당합니다.
  • GROUP_CONTEXTGROUP에 해당합니다.

항목 그래프는 위협 정보를 사용하여 문맥 데이터와 침해 지표(IOC)를 구분합니다.

문맥적으로 보강된 데이터를 사용할 때는 다음과 같은 항목 그래프 동작을 고려하세요.

  • 항목에 간격을 추가하지 마세요. 대신 항목 그래프를 사용하여 간격을 만들 수 있습니다. 별도로 지정하지 않는 한 중복 삭제 중에 간격이 생성되기 때문입니다.
  • 간격을 지정하면 같은 이벤트만 중복 삭제되고 최신 항목은 보관됩니다.
  • 실시간 규칙 및 RetroHunt가 예상대로 작동하게 하려면 항목이 최소한 하루에 한 번 이상 수집되어야 합니다.
  • 항목이 매일 수집되지 않고 2일 이상에 한 번 수집되면 실시간 규칙이 예상대로 작동할 수 있지만 RetroHunt에서 이벤트 컨텍스트가 손실될 수 있습니다.
  • 항목이 하루에 두 번 이상 수집되면 항목은 단일 항목이 되도록 중복 삭제됩니다.
  • 이벤트 데이터가 하루 동안 누락되면 실시간 규칙이 올바르게 작동하도록 과거 데이터가 일시적으로 사용됩니다.

또한 항목 그래프는 식별자가 유사한 이벤트를 병합하여 통합된 데이터 뷰를 가져옵니다. 이 병합은 다음 식별자 목록을 기반으로 수행됩니다.

  • Asset
    • entity.asset.product_object_id
    • entity.asset.hostname
    • entity.asset.asset_id
    • entity.asset.mac
  • User
    • entity.user.product_object_id
    • entity.user.userid
    • entity.user.windows_sid
    • entity.user.email_addresses
    • entity.user.employee_id
  • Resource
    • entity.resource.product_object_id
    • entity.resource.name
  • Group
    • entity.group.product_object_id
    • entity.group.email_addresses
    • entity.group.windows_sid

발생률 통계 계산

Chronicle은 기존 데이터 및 수신 데이터에 대한 통계 분석을 수행하고 발생률 관련 측정항목으로 항목 컨텍스트 레코드를 보강합니다.

발생률은 항목의 인기도를 나타내는 숫자 값입니다. 인기도는 도메인, 파일 해시 또는 IP 주소와 같은 아티팩트에 액세스하는 애셋 수로 정의됩니다. 숫자가 클수록 항목의 인기도가 높습니다. 예를 들어 google.com은 자주 액세스되므로 발생률 값이 높습니다. 도메인에 자주 액세스하지 않으면 발생률 값이 낮아집니다. 인기 있는 항목은 일반적으로 악성일 가능성이 낮습니다.

이러한 보강된 값은 도메인, IP, 파일(해시)에 지원됩니다. 값이 계산되어 다음 필드에 저장됩니다.

각 항목의 발생률 통계는 매일 업데이트됩니다. 값은 감지 엔진에서 사용할 수 있는 별도의 항목 컨텍스트에 저장되지만 Chronicle 조사 뷰와 UDM 검색에 표시되지 않습니다.

감지 엔진 규칙을 만들 때 다음 필드를 사용할 수 있습니다.

항목 유형 UDM 필드
도메인 entity.domain.prevalence.day_count
entity.domain.prevalence.day_max
entity.domain.prevalence.day_max_sub_domains
entity.domain.prevalence.rolling_max
entity.domain.prevalence.rolling_max_sub_domains
파일(해시) entity.file.prevalence.day_count
entity.file.prevalence.day_max
entity.file.prevalence.rolling_max
IP 주소 entity.artifact.prevalence.day_count
entity.artifact.prevalence.day_max
entity.artifact.prevalence.rolling_max

day_max 및 rolling_max 값은 다르게 계산됩니다. 필드는 다음과 같이 계산됩니다.

  • day_max는 하루 동안 아티팩트의 최대 발생률 점수로 계산되며, 하루는 오전 12:00:00~오후 11:59:59(UTC)로 정의됩니다.
  • rolling_max는 이전 10일 동안의 아티팩트에서 일일 최대 발생률 점수(예: day_max)로 계산됩니다.
  • day_countrolling_max를 계산하는 데 사용되며 값은 항상 10입니다.

도메인에 대해 계산할 때 day_maxday_max_sub_domains(및 rolling_maxrolling_max_sub_domains)의 차이는 다음과 같습니다.

  • rolling_maxday_max는 지정된 도메인에 액세스하는 일일 순 내부 IP 주소 수를 나타냅니다(하위 도메인 제외).
  • rolling_max_sub_domainsday_max_sub_domains는 지정된 도메인(하위 도메인 포함)에 액세스하는 순 내부 IP 주소의 수를 나타냅니다.

발생률 통계는 새로 수집된 항목 데이터에 대해 계산됩니다. 계산은 이전에 수집된 데이터에 대해 소급해서 수행되지 않습니다. 통계를 계산하고 저장하는 데 약 36시간 걸립니다.

항목의 최초 발생 시간 및 최종 발생 시간 계산

Chronicle은 수신 데이터에 대한 통계 분석을 수행하고 항목을 처음 인식한 시간 및 마지막으로 본 시간으로 항목 컨텍스트 레코드를 보강합니다. first_seen_time 필드는 고객 환경에서 항목이 처음 표시된 날짜와 시간을 저장합니다. last_seen_time 필드는 가장 관찰된 날짜 및 시간을 저장합니다.

다중 표시기(UDM 필드)가 애셋 또는 사용자를 식별할 수 있으므로, 최초 발생 시간이란 고객 환경에서 해당 사용자 또는 애셋을 식별하는 표시기가 처음 표시되는 시간입니다.

애셋을 설명하는 모든 UDM 필드는 다음과 같습니다.

  • entity.asset.hostname
  • entity.asset.ip
  • entity.asset.mac
  • entity.asset.asset_id
  • entity.asset.product_object_id

사용자를 설명하는 모든 UDM 필드는 다음과 같습니다.

  • entity.user.windows_sid
  • entity.user.product_object_id
  • entity.user.userid
  • entity.user.employee_id
  • entity.user.email_addresses

최초 발생 시간 및 최종 확인 시간을 통해 애널리스트는 도메인, 파일(해시), 애셋, 사용자 또는 IP 주소가 처음 확인된 후에 발생하거나 도메인, 파일(해시), IP 주소가 마지막으로 확인된 시간 후에 발생이 멈춘 특정 활동들 사이의 상관관계를 파악할 수 있습니다.

first_seen_timelast_seen_time 필드는 도메인, IP 주소, 파일(해시)을 설명하는 항목으로 채워집니다. 사용자 또는 애셋을 설명하는 항목의 경우 first_seen_time 필드만 채워집니다. 이러한 값은 그룹 또는 리소스와 같은 다른 유형을 설명하는 항목의 경우 계산되지 않습니다.

통계는 모든 네임스페이스의 각 항목에 대해 계산됩니다. Chronicle은 개별 네임스페이스 내의 항목마다 통계를 계산하지 않습니다. 이러한 통계를 현재 BigQuery의 Chronicle events 스키마로 내보내지 않습니다.

보강 값은 다음 UDM 필드에 계산되고 저장됩니다.

항목 유형 UDM 필드
도메인 entity.domain.first_seen_time
entity.domain.last_seen_time
파일(해시) entity.file.first_seen_time
entity.file.last_seen_time
IP 주소 entity.artifact.first_seen_time
entity.artifact.last_seen_time
애셋 entity.asset.first_seen_time
사용자 entity.user.first_seen_time

위치정보 데이터로 이벤트 보강

수신 로그 데이터에는 해당 위치 정보 없이 외부 IP 주소가 포함될 수 있습니다. 이는 이벤트가 엔터프라이즈 네트워크에 없는 기기 활동에 대한 정보를 로깅할 때 일반적입니다. 예를 들어 클라우드 서비스에 대한 로그인 이벤트에는 이동통신사 NAT에서 반환한 기기의 외부 IP 주소를 기반으로 하는 소스 또는 클라이언트 IP 주소가 포함됩니다.

Chronicle은 외부 IP 주소에 위치정보가 풍부한 데이터를 제공하여 보다 강력한 규칙 감지와 조사 컨텍스트를 제공합니다. 예를 들어 Chronicle은 외부 IP 주소를 사용하여 국가(예: 미국), 특정 주(예: 알래스카), IP 주소가 있는 네트워크(예: ASN 및 이동통신사 이름)에 대한 정보로 이벤트를 보강할 수 있습니다.

Chronicle은 Google에서 제공하는 위치 데이터를 사용하여 IP 주소에 대한 대략적인 지리적 위치와 네트워크 정보를 제공합니다. 이벤트의 이러한 필드에 대해 감지 엔진 규칙을 작성할 수 있습니다. 보강된 이벤트 데이터는 Chronicle 대시보드 및 보고에서 사용할 수 있는 BigQuery로도 내보내집니다.

다음 IP 주소는 보강되지 않습니다.

  • RFC 1918 비공개 IP 주소 공간. 기업 네트워크 내부에 있기 때문입니다.
  • RFC 5771 멀티캐스트 IP 주소 공간. 멀티캐스트 주소는 단일 위치에 속하지 않기 때문입니다.
  • IPv6 고유 로컬 주소
  • Google Cloud 서비스 IP 주소. 보강된 Google Cloud Compute Engine 외부 IP 주소는 예외입니다.

Chronicle은 위치정보 데이터로 다음 UDM 필드를 보강합니다.

  • principal
  • target
  • src
  • observer
데이터 유형 UDM 필드
위치(예: 미국) ( principal | target | src | observer ).ip_geo_artifact.location.country_or_region
주(예: 뉴욕) ( principal | target | src | observer ).ip_geo_artifact.location.state
경도 ( principal | target | src | observer ).ip_geo_artifact.location.region_coordinates.longitude
위도 ( principal | target | src | observer ).ip_geo_artifact.location.region_coordinates.latitude
ASN(자율 시스템 번호) ( principal | target | src | observer ).ip_geo_artifact.network.asn
이동통신사 이름 ( principal | target | src | observer ).ip_geo_artifact.network.carrier_name
DNS 도메인 ( principal | target | src | observer ).ip_geo_artifact.network.dns_domain
조직 이름 ( principal | target | src | observer ).ip_geo_artifact.network.organization_name

다음 예시에서는 IP 주소가 네덜란드로 태그된 UDM 이벤트에 추가되는 지리 정보 유형을 보여줍니다.

UDM 필드 가치
principal.ip_geo_artifact.location.country_or_region Netherlands
principal.ip_geo_artifact.location.region_coordinates.latitude 52.132633
principal.ip_geo_artifact.location.region_coordinates.longitude 5.291266
principal.ip_geo_artifact.network.asn 8455
principal.ip_geo_artifact.network.carrier_name schuberg philis

불일치

Google의 독점적인 IP 위치정보 기술은 네트워킹 데이터와 기타 입력 및 메서드의 조합을 사용하여 사용자에게 IP 주소 위치 및 네트워크 해상도를 제공합니다. 다른 조직에서는 다른 신호나 방법을 사용할 수 있으며, 이로 인해 다른 결과가 발생할 수 있습니다.

Google에서 제공하는 IP 위치정보 결과에 불일치가 발생하는 경우, Google에서 조사하고 해당하는 경우 기록을 수정할 수 있도록 고객 지원 케이스를 제출하세요.

세이프 브라우징 위협 목록의 정보로 항목 보강

Chronicle은 파일 해시와 관련된 세이프 브라우징에서 데이터를 수집합니다. 각 파일의 데이터는 항목으로 저장되고 파일에 대한 추가적인 정보를 제공합니다. 애널리스트는 이 항목 컨텍스트 데이터에 대해 쿼리하는 감지 엔진 규칙을 만들어 문맥 인지 분석을 빌드할 수 있습니다.

다음 정보가 항목 컨텍스트 레코드와 함께 저장됩니다.

UDM 필드 설명
entity.metadata.product_entity_id 항목의 고유 식별자입니다.
entity.metadata.entity_type 이 값은 FILE이며, 항목이 파일을 설명함을 나타냅니다.
entity.metadata.collected_timestamp 항목이 관찰되거나 이벤트가 발생한 날짜 및 시간입니다.
entity.metadata.interval 이 데이터가 유효한 시작 시간과 종료 시간을 저장합니다. 위협 목록 콘텐츠는 시간이 지나면서 변경되므로 start_timeend_time은 항목에 대한 데이터가 유효한 시간 간격을 반영합니다. 예를 들어 파일 해시가 start_time and end_time. 사이에 악성이거나 의심스러운 것으로 관찰되었습니다.
entity.metadata.threat.category Chronicle SecurityCategory입니다. 다음 값 중 하나 이상으로 설정됩니다.
  • SOFTWARE_MALICIOUS: 위협이 멀웨어와 관련이 있음을 나타냅니다.
  • SOFTWARE_PUA: 위협이 원치 않는 소프트웨어와 관련이 있음을 나타냅니다.
entity.metadata.threat.severity Chronicle ProductSeverity입니다. 값이 CRITICAL이면 아티팩트가 악성으로 표시됨을 나타냅니다. 값을 지정하지 않으면 아티팩트가 악성임을 나타내는 신뢰도가 충분하지 않습니다.
entity.metadata.product_name Google Safe Browsing 값을 저장합니다.
entity.file.sha256 파일의 SHA256 해시 값입니다.

WHOIS 데이터로 항목 보강

Chronicle은 매일 WHOIS 데이터를 수집합니다. 들어오는 고객 기기 데이터를 수집하는 동안 Chronicle은 WHOIS 데이터를 기준으로 고객 데이터의 도메인을 평가합니다. 일치 항목이 있으면 Chronicle은 관련 WHOIS 데이터를 도메인의 항목 레코드와 함께 저장합니다. 각 항목(entity.metadata.entity_type = DOMAIN_NAME)에 대해 Chronicle이 WHOIS의 정보로 항목을 보강합니다.

Chronicle은 보강된 WHOIS 데이터를 항목 레코드의 다음 필드에 채웁니다.

  • entity.domain.admin.attribute.labels
  • entity.domain.audit_update_time
  • entity.domain.billing.attribute.labels
  • entity.domain.billing.office_address.country_or_region
  • entity.domain.contact_email
  • entity.domain.creation_time
  • entity.domain.expiration_time
  • entity.domain.iana_registrar_id
  • entity.domain.name_server
  • entity.domain.private_registration
  • entity.domain.registrant.company_name
  • entity.domain.registrant.office_address.state
  • entity.domain.registrant.office_address.country_or_region
  • entity.domain.registrant.email_addresses
  • entity.domain.registrant.user_display_name
  • entity.domain.registrar
  • entity.domain.registry_data_raw_text
  • entity.domain.status
  • entity.domain.tech.attribute.labels
  • entity.domain.update_time
  • entity.domain.whois_record_raw_text
  • entity.domain.whois_server
  • entity.domain.zone

이러한 필드에 대한 설명은 통합 데이터 모델 필드 목록 문서를 참조하세요.

Google Cloud 위협 인텔리전스 데이터 수집 및 저장

Chronicle은 해당 환경에서 활동을 조사할 때 사용할 수 있는 컨텍스트 정보를 제공하는 Google Cloud 위협 인텔리전스(GCTI) 데이터 소스에서 데이터를 수집합니다. 다음 데이터 소스를 쿼리할 수 있습니다.

  • GCTI Tor 종료 노드: Tor 종료 노드로 알려진 IP 주소
  • GCTI Benign Binaries: 운영체제 원본 배포판 또는 공식 운영체제 패치로 업데이트된 파일입니다. 상시 공격에 공통된 활동을 통해 공격자가 악용한 일부 공식 운영체제 바이너리는 초기 입력 벡터에 중점을 둔 것과 같이 이 데이터 소스에서 제외됩니다.
  • GCTI 원격 액세스 도구: 악의적인 행위자가 자주 사용한 파일입니다. 이러한 도구는 일반적으로 손상된 시스템에 원격으로 연결하기 위해 악용되는 적법한 애플리케이션입니다.

    이 컨텍스트 데이터는 항목으로 전역적으로 저장됩니다. 감지 엔진 규칙을 사용하여 데이터를 쿼리할 수 있습니다. 이러한 전역 항목을 쿼리하려면 규칙에 다음 UDM 필드와 값을 포함합니다.

  • graph.metadata.vendor_name = Google Cloud Threat Intelligence

  • graph.metadata.product_name = GCTI Feed

이 문서에서 자리표시자 <variable_name>은 규칙에서 UDM 레코드를 식별하는 데 사용되는 고유한 변수 이름을 나타냅니다.

시간이 지정된 Google Cloud Threat Intelligence 데이터 소스

Google Cloud Threat Intelligence 데이터 소스는 시간 또는 시간 제한입니다.

시간이 지정된 데이터 소스에는 각 항목과 연결된 시간 범위가 있습니다. 즉, 감지가 1일차에 생성되면 미래의 어떤 날에도 RetroHunt에서 1일 차에 대해 동일한 감지가 생성될 것으로 예상됩니다.

서버리스 데이터 소스에는 연결된 시간 범위가 없습니다. 최신 데이터 세트만 고려해야 하기 때문입니다. 서버리스 데이터 소스는 변경되지 않을 파일 해시와 같은 데이터에 자주 사용됩니다. 1일 차에 감지가 생성되지 않은 경우 새 항목이 추가되었기 때문에 RetroHunt 중에 2일 차에 1일 차에 대한 감지가 생성될 수 있습니다.

Tor 종료 노드 IP 주소 데이터

Chronicle은 Tor 종료 노드로 알려진 IP 주소를 수집하고 저장합니다. Tor 종료 노드는 트래픽이 Tor 네트워크를 나가는 지점입니다. 이 데이터 소스에서 수집된 정보는 다음 UDM 필드에 저장됩니다. 이 소스의 데이터는 시간이 지정되었습니다.

UDM 필드 설명
<variable_name>.graph.metadata.vendor_name Google Cloud Threat Intelligence 값을 저장합니다.
<variable_name>.graph.metadata.product_name GCTI Feed 값을 저장합니다.
<variable_name>.graph.metadata.threat.threat_feed_name Tor Exit Nodes 값을 저장합니다.
<variable_name>.graph.entity.artifact.ip GCTI 데이터 소스에서 수집된 IP 주소를 저장합니다.

정상적인 운영체제 파일에 대한 데이터

Chronicle은 GCTI Benign Binaries 데이터 소스에서 파일 해시를 수집하고 저장합니다. 이 데이터 소스에서 수집된 정보는 다음 UDM 필드에 저장됩니다. 이 소스의 데이터는 시간이 부족합니다.

UDM 필드 설명
<variable_name>.graph.metadata.vendor_name Google Cloud Threat Intelligence 값을 저장합니다.
<variable_name>.graph.metadata.product_name GCTI Feed 값을 저장합니다.
<variable_name>.graph.metadata.threat.threat_feed_name Benign Binaries 값을 저장합니다.
<variable_name>.graph.entity.file.sha256 파일의 SHA256 해시 값을 저장합니다.
<variable_name>.graph.entity.file.sha1 파일의 SHA1 해시 값을 저장합니다.
<variable_name>.graph.entity.file.md5 파일의 MD5 해시 값을 저장합니다.

원격 액세스 도구 데이터

원격 액세스 도구에는 악의적인 행위자가 자주 사용한 VNC 클라이언트와 같은 알려진 원격 액세스 도구의 파일 해시가 포함되어 있습니다. 이러한 도구는 일반적으로 손상된 시스템에 원격으로 연결하기 위해 악용되는 적법한 애플리케이션입니다. 이 데이터 소스에서 수집된 정보는 다음 UDM 필드에 저장됩니다. 이 소스의 데이터는 시간이 부족합니다.

UDM 필드 설명
.graph.metadata.vendor_name Google Cloud Threat Intelligence 값을 저장합니다.
.graph.metadata.product_name GCTI Feed 값을 저장합니다.
.graph.metadata.threat.threat_feed_name Remote Access Tools 값을 저장합니다.
.graph.entity.file.sha256 파일의 SHA256 해시 값을 저장합니다.
.graph.entity.file.sha1 파일의 SHA1 해시 값을 저장합니다.
.graph.entity.file.md5 파일의 MD5 해시 값을 저장합니다.

VirusTotal 파일 메타데이터로 이벤트 보강

Chronicle은 파일 해시를 UDM 이벤트로 보강하고 조사 중에 추가 컨텍스트를 제공합니다. UDM 이벤트는 고객 환경에서 해시 별칭을 통해 보강됩니다. 해시 별칭은 모든 유형의 파일 해시를 결합하고 검색 중 파일 해시에 대한 정보를 제공합니다.

VirusTotal 파일 메타데이터와 Chronicle의 관계 보강을 통합하면 악의적인 활동 패턴을 식별하고 네트워크 간의 멀웨어 이동을 추적할 수 있습니다.

원시 로그는 파일에 대한 제한된 정보를 제공합니다. VirusTotal은 이벤트를 파일 메타데이터로 보강하여 잘못된 파일에 대한 메타데이터와 함께 잘못된 해시 덤프를 제공합니다. 메타데이터에는 파일 이름, 유형, 가져온 함수, 태그와 같은 정보가 포함됩니다. 이 정보를 YARA-L과 함께 UDM 검색 및 감지 엔진에서 사용하여 일반적으로 위협 감지를 수행하는 동안 잘못된 파일 이벤트를 파악할 수 있습니다. 예시 사용 사례에서는 원본 파일의 수정사항을 감지하고 위협 감지를 위해 파일 메타데이터를 가져옵니다.

다음 정보가 레코드와 함께 저장됩니다. 모든 UDM 필드 목록은 통합 데이터 모델 필드 목록을 참조하세요.

데이터 유형 UDM 필드
SHA-256 ( principal | target | src | observer ).file.sha256
MD5 ( principal | target | src | observer ).file.md5
SHA-1 ( principal | target | src | observer ).file.sha1
크기 ( principal | target | src | observer ).file.size
ssdeep ( principal | target | src | observer ).file.ssdeep
vhash ( principal | target | src | observer ).file.vhash
authentihash ( principal | target | src | observer ).file.authentihash
파일 형식 ( principal | target | src | observer ).file.file_type
태그 ( principal | target | src | observer ).file.tags
기능 태그 ( principal | target | src | observer ).file.capabilities_tags
이름 ( principal | target | src | observer ).file.names
최초 발생 시간 ( principal | target | src | observer ).file.first_seen_time
최종 확인 시간 ( principal | target | src | observer ).file.last_seen_time
최종 수정 시간 ( principal | target | src | observer ).file.last_modification_time
최종 분석 시간 ( principal | target | src | observer ).file.last_analysis_time
임베디드 URL ( principal | target | src | observer ).file.embedded_urls
임베디드 IP ( principal | target | src | observer ).file.embedded_ips
임베디드 도메인 ( principal | target | src | observer ).file.embedded_domains
서명 정보 ( principal | target | src | observer ).file.signature_info
서명 정보
  • Sigcheck
( principal | target | src | observer).file.signature_info.sigcheck
서명 정보
  • Sigcheck
    • 확인 메시지
( principal | target | src | observer ).file.signature_info.sigcheck.verification_message
서명 정보
  • Sigcheck
    • 인증됨
( principal | target | src | observer ).file.signature_info.sigcheck.verified
서명 정보
  • Sigcheck
    • 서명자
( principal | target | src | observer ).file.signature_info.sigcheck.signers
서명 정보
  • Sigcheck
    • 서명자
      • 이름
( principal | target | src | observer ).file.signature_info.sigcheck.signers.name
서명 정보
  • Sigcheck
    • 서명자
      • 상태
( principal | target | src | observer ).file.signature_info.sigcheck.signers.status
서명 정보
  • Sigcheck
    • 서명자
      • 유효한 인증서 사용
( principal | target | src | observer ).file.signature_info.sigcheck.signers.valid_usage
서명 정보
  • Sigcheck
    • 서명자
      • 인증서 발급기관
( principal | target | src | observer ).file.signature_info.sigcheck.signers.cert_issuer
서명 정보
  • Sigcheck
    • X509
( principal | target | src | observer ).file.signature_info.sigcheck.x509
서명 정보
  • Sigcheck
    • X509
      • 이름
( principal | target | src | observer ).file.signature_info.sigcheck.x509.name
서명 정보
  • Sigcheck
    • X509
      • 알고리즘
( principal | target | src | observer ).file.signature_info.sigcheck.x509.algorithm
서명 정보
  • Sigcheck
    • X509
      • 지문
( principal | target | src | observer ).file.signature_info.sigcheck.x509.thumprint
서명 정보
  • Sigcheck
    • X509
      • 인증서 발급기관
( principal | target | src | observer ).file.signature_info.sigcheck.x509.cert_issuer
서명 정보
  • Sigcheck
    • X509
      • 일련번호
( principal | target | src | observer ).file.signature_info.sigcheck.x509.serial_number
서명 정보
  • 코드 서명
( principal | target | src | observer ).file.signature_info.codesign
서명 정보
  • 코드 서명
    • ID
( principal | target | src | observer ).file.signature_info.codesign.id
서명 정보
  • 코드 서명
    • 형식
( principal | target | src | observer ).file.signature_info.codesign.format
서명 정보
  • 코드 서명
    • 컴파일 시간
( principal | target | src | observer ).file.signature_info.codesign.compilation_time
Exiftool 정보 ( principal | target | src | observer ).file.exif_info
Exiftool 정보
  • 원본 파일명
( principal | target | src | observer ).file.exif_info.original_file
Exiftool 정보
  • 제품 이름
( principal | target | src | observer ).file.exif_info.product
Exiftool 정보
  • 회사명
( principal | target | src | observer ).file.exif_info.company
Exiftool 정보
  • 파일 설명
( principal | target | src | observer ).file.exif_info.file_description
Exiftool 정보
  • 진입점
( principal | target | src | observer ).file.exif_info.entry_point
Exiftool 정보
  • 컴파일 시간
( principal | target | src | observer ).file.exif_info.compilation_time
PDF 정보 ( principal | target | src | observer ).file.pdf_info
PDF 정보
  • /JS 태그 수
( principal | target | src | observer ).file.pdf_info.js
PDF 정보
  • /자바스크립트 태그 수
( principal | target | src | observer ).file.pdf_info.javascript
PDF 정보
  • /Launch 태그 수
( principal | target | src | observer ).file.pdf_info.launch_action_count
PDF 정보
  • 객체 스트림 수
( principal | target | src | observer ).file.pdf_info.object_stream_count
PDF 정보
  • 객체 정의 수(endobj 키워드)
( principal | target | src | observer ).file.pdf_info.endobj_count
PDF 정보
  • PDF 버전
( principal | target | src | observer ).file.pdf_info.header
PDF 정보
  • /AcroForm 태그 수
( principal | target | src | observer ).file.pdf_info.acroform
PDF 정보
  • /AA 태그 수
( principal | target | src | observer ).file.pdf_info.autoaction
PDF 정보
  • /EmbeddedFile 태그 수
( principal | target | src | observer ).file.pdf_info.embedded_file
PDF 정보
  • /Encrypt 태그
( principal | target | src | observer ).file.pdf_info.encrypted
PDF 정보
  • RichMedia 태그 수
( principal | target | src | observer ).file.pdf_info.flash
PDF 정보
  • /JBIG2Decode 태그 수
( principal | target | src | observer ).file.pdf_info.jbig2_compression
PDF 정보
  • 객체 정의 수(obj 키워드)
( principal | target | src | observer ).file.pdf_info.obj_count
PDF 정보
  • 정의된 스트림 객체 수(stream 키워드)
( principal | target | src | observer ).file.pdf_info.endstream_count
PDF 정보
  • PDF의 페이지 수
( principal | target | src | observer ).file.pdf_info.page_count
PDF 정보
  • 정의된 스트림 객체 수(stream 키워드)
( principal | target | src | observer ).file.pdf_info.stream_count
PDF 정보
  • /OpenAction 태그 수
( principal | target | src | observer ).file.pdf_info.openaction
PDF 정보
  • startxref 키워드 수
( principal | target | src | observer ).file.pdf_info.startxref
PDF 정보
  • 3바이트를 초과하여 표현된 색상 수(CVE-2009-3459)
( principal | target | src | observer ).file.pdf_info.suspicious_colors
PDF 정보
  • trailer 키워드 수
( principal | target | src | observer ).file.pdf_info.trailer
PDF 정보
  • 발견된 /XFA 태그 수
( principal | target | src | observer ).file.pdf_info.xfa
PDF 정보
  • xref 키워드 수
( principal | target | src | observer ).file.pdf_info.xref
PE 파일 메타데이터 ( principal | target | src | observer ).file.pe_file
PE 파일 메타데이터
  • Imphash
( principal | target | src | observer ).file.pe_file.imphash
PE 파일 메타데이터
  • 진입점
( principal | target | src | observer ).file.pe_file.entry_point
PE 파일 메타데이터
  • 진입점 exiftool
( principal | target | src | observer ).file.pe_file.entry_point_exiftool
PE 파일 메타데이터
  • 컴파일 시간
( principal | target | src | observer ).file.pe_file.compilation_time
PE 파일 메타데이터
  • 컴파일 exiftool 시간
( principal | target | src | observer ).file.pe_file.compilation_exiftool_time
PE 파일 메타데이터
  • 섹션
( principal | target | src | observer ).file.pe_file.section
PE 파일 메타데이터
  • 섹션
    • 이름
( principal | target | src | observer ).file.pe_file.section.name
PE 파일 메타데이터
  • 섹션
    • 엔트로피
( principal | target | src | observer ).file.pe_file.section.entropy
PE 파일 메타데이터
  • 섹션
    • 원시 크기(바이트)
( principal | target | src | observer ).file.pe_file.section.raw_size_bytes
PE 파일 메타데이터
  • 섹션
    • 가상 크기(바이트)
( principal | target | src | observer ).file.pe_file.section.virtual_size_bytes
PE 파일 메타데이터
  • 섹션
    • MD5 16진수
( principal | target | src | observer ).file.pe_file.section.md5_hex
PE 파일 메타데이터
  • 가져오기
( principal | target | src | observer ).file.pe_file.imports
PE 파일 메타데이터
  • 가져오기
    • 라이브러리
( principal | target | src | observer ).file.pe_file.imports.library
PE 파일 메타데이터
  • 가져오기
    • 함수
( principal | target | src | observer ).file.pe_file.imports.functions
PE 파일 메타데이터
  • 리소스 정보
( principal | target | src | observer ).file.pe_file.resource
PE 파일 메타데이터
  • 리소스 정보
    • SHA-256 16진수
( principal | target | src | observer ).file.pe_file.resource.sha256_hex
PE 파일 메타데이터
  • 리소스 정보
    • 매직 Python 모듈로 식별된 리소스 유형
( principal | target | src | observer ).file.pe_file.resource.filetype_magic
PE 파일 메타데이터
  • 리소스 정보
    • Windows PE 사양의 정의에 따라 사람이 읽을 수 있는 언어 및 하위 언어 식별자 버전입니다.
( principal | target | src | observer ).file.pe_file.resource_language_code
PE 파일 메타데이터
  • 리소스 정보
    • 엔트로피
( principal | target | src | observer ).file.pe_file.resource.entropy
PE 파일 메타데이터
  • 리소스 정보
    • 파일 형식
( principal | target | src | observer ).file.pe_file.resource.file_type
PE 파일 메타데이터
  • 리소스 유형별 리소스 수
( principal | target | src | observer ).file.pe_file.resources_type_count_str
PE 파일 메타데이터
  • 언어별 리소스 수
( principal | target | src | observer ).file.pe_file.resources_language_count_str

VirusTotal 관계 데이터로 항목 보강

VirusTotal은 의심스러운 파일, 도메인, IP 주소, URL을 분석하여 멀웨어 및 기타 위반을 감지하고 발견 항목을 보안 커뮤니티와 공유합니다. Chronicle은 VirusTotal 관련 연결에서 데이터를 수집합니다. 이 데이터는 항목으로 저장되고 파일 해시와 파일, 도메인, IP 주소, URL 간의 관계에 대한 정보를 제공합니다.

애널리스트는 이 데이터를 사용하여 다른 소스의 URL 또는 도메인에 대한 정보를 기반으로 파일 해시가 잘못되었는지 확인할 수 있습니다. 이 정보는 컨텍스트 인식 분석을 빌드하기 위해 항목 컨텍스트 데이터를 쿼리하는 감지 엔진 규칙을 만드는 데 사용될 수 있습니다.

이 데이터는 특정 VirusTotal 및 Chronicle 라이선스에서만 사용할 수 있습니다. 계정 관리자에게 사용 권한을 확인합니다.

다음 정보가 항목 컨텍스트 레코드와 함께 저장됩니다.

UDM 필드 설명
entity.metadata.product_entity_id 항목의 고유 식별자
entity.metadata.entity_type 항목이 파일을 설명함을 나타내는 FILE 값을 저장합니다.
entity.metadata.interval start_time은 시작 시간을 나타내고 end_time은 이 데이터가 유효한 기간의 종료 시간입니다.
entity.metadata.source_labels 이 필드는 이 항목의 source_id-target_id 키-값 쌍 목록을 저장합니다. source_id는 파일 해시이며 target_id는 이 파일과 관련된 URL, 도메인 이름 또는 IP 주소의 해시 또는 값일 수 있습니다. virustotal.com에서 URL, 도메인 이름, IP 주소, 파일을 검색할 수 있습니다.
entity.metadata.product_name 'VirusTotal 관계' 값을 저장합니다.
entity.metadata.vendor_name 'VirusTotal' 값을 저장합니다.
entity.file.sha256 파일의 SHA-256 해시 값을 저장합니다.
entity.file.relations 상위 파일 항목과 관련된 하위 항목 목록
entity.relations.relationship 이 필드는 상위 항목과 하위 항목 간의 관계 유형을 설명합니다. 값은 EXECUTES, DOWNLOADED_FROM, CONTACTS일 수 있습니다.
entity.relations.direction 'UNIDIRECTIONAL' 값을 저장하고 하위 항목과의 관계 방향을 나타냅니다.
entity.relations.entity.url 상위 항목의 파일이 연결하는 URL(상위 항목과 URL 간의 관계가 CONTACTS인 경우) 또는 상위 항목의 파일이 다운로드된 URL(상위 항목과 URL의 관계가 DOWNLOADED_FROM인 경우).
entity.relations.entity.ip 상위 항목의 파일과 연결된 IP 주소 목록이거나 파일이 다운로드된 IP 주소 목록에는 하나의 IP 주소만 포함됩니다.
entity.relations.entity.domain.name 상위 항목의 파일이 연결되거나 다운로드된 도메인 이름
entity.relations.entity.file.sha256 관계에서 파일의 SHA-256 해시 값을 저장합니다.
entity.relations.entity_type 이 필드에는 관계의 항목 유형이 포함됩니다. 값은 URL, DOMAIN_NAME, IP_ADDRESS, 또는 FILE일 수 있습니다. 이러한 필드는 entity_type에 따라 채워집니다. 예를 들어 entity_typeURL이면 entity.relations.entity.url이 채워집니다.

다음 단계

보강된 데이터를 다른 Chronicle 기능과 함께 사용하는 방법은 다음 항목을 참조하세요.