Google Security Operations가 이벤트 및 항목 데이터를 보강하는 방법
이 문서에서는 Google Security Operations에서 데이터를 보강하는 방법과 데이터가 저장되는 통합 데이터 모델(UDM) 필드를 설명합니다.
보안 조사를 사용 설정하기 위해 Google Security Operations는 다양한 소스의 문맥 데이터를 수집하고 데이터를 분석하며 고객 환경의 아티팩트에 대한 추가 컨텍스트를 제공합니다. 애널리스트는 Detection Engine 규칙, 조사 검색 또는 보고서에서 컨텍스트가 풍부한 데이터를 사용할 수 있습니다.
Google Security Operations에서는 다음 유형의 보강을 수행합니다.
- 항목 그래프를 사용하고 병합하여 항목을 보강합니다.
- 환경에서의 인기도를 나타내는 보급 통계를 사용하여 각 항목을 계산하고 보강합니다.
- 환경에서 특정 항목 유형이 처음 표시된 시간 또는 최근 시간을 계산합니다.
- 세이프 브라우징 위협 목록의 정보로 항목을 보강합니다.
- 위치정보 데이터로 이벤트를 보강합니다.
- 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"
항목 그래프를 사용하고 병합하여 항목 보강
항목 그래프는 환경의 항목과 리소스 간의 관계를 식별합니다. 다른 소스의 항목이 Google Security Operations에 수집되면 항목 그래프는 항목 간의 관계를 기반으로 인접 목록을 유지합니다. 항목 그래프는 중복 삭제 및 병합을 수행하여 컨텍스트 보강을 수행합니다.
중복 삭제 중 중복 데이터가 제거되고 공통 항목을 만들도록 간격이 형성됩니다. 예를 들어 t1
및 t2
타임스탬프가 각각 있는 두 항목 e1
및 e2
가 있다고 가정해 보겠습니다. 항목 e1
및 e2
는 중복 삭제되고 다른 타임스탬프는 중복 삭제 중에 사용되지 않습니다. 다음 필드는 중복 삭제 중에 사용되지 않습니다.
collected_timestamp
creation_timestamp
interval
병합하는 동안 항목 간 관계는 하루 시간의 시간 간격으로 구성됩니다. 예를 들어 Cloud Storage 버킷에 액세스할 수 있는 user A
의 항목 레코드가 있다고 가정해 보겠습니다. 기기를 소유한 user A
의 다른 항목 레코드가 있습니다. 병합 후 이러한 두 항목은 관계가 두 개 있는 단일 항목 user A
가 됩니다. 한 관계는 user A
가 Cloud Storage 버킷에 액세스할 수 있고 다른 관계는 user A
가 기기를 소유한다는 것입니다. Google Security Operations는 항목 컨텍스트 데이터를 만들 때 5일 간 확인 작업을 수행합니다. 이는 늦게 도착하는 데이터를 처리하고 항목 컨텍스트 데이터에 대한 암시적 TTL(수명)을 만듭니다.
Google Security Operations에서는 별칭을 사용하여 원격 분석 데이터를 보강하고 항목 그래프를 사용하여 항목을 보강합니다. 감지 엔진 규칙은 병합된 항목을 보강된 원격 분석 데이터에 조인하여 컨텍스트 인식 분석을 제공합니다.
항목 명사가 포함된 이벤트는 항목으로 간주됩니다. 다음은 몇 가지 이벤트 유형과 해당 항목 유형입니다.
ASSET_CONTEXT
는ASSET
에 해당합니다.RESOURCE_CONTEXT
는RESOURCE
에 해당합니다.USER_CONTEXT
는USER
에 해당합니다.GROUP_CONTEXT
는GROUP
에 해당합니다.
항목 그래프는 위협 정보를 사용하여 문맥 데이터와 침해 지표(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
발생률 통계 계산
Google Security Operations는 기존 데이터 및 수신 데이터에 대한 통계 분석을 수행하고 발생률 관련 측정항목으로 항목 컨텍스트 레코드를 보강합니다.
발생률은 항목의 인기도를 나타내는 숫자 값입니다.
인기도는 도메인, 파일 해시 또는 IP 주소와 같은 아티팩트에 액세스하는 애셋 수로 정의됩니다. 숫자가 클수록 항목의 인기도가 높습니다.
예를 들어 google.com
은 자주 액세스되므로 발생률 값이 높습니다. 도메인에 자주 액세스하지 않으면 발생률 값이 낮아집니다. 인기 있는 항목은 일반적으로 악성일 가능성이 낮습니다.
이러한 보강된 값은 도메인, IP, 파일(해시)에 지원됩니다. 값이 계산되어 다음 필드에 저장됩니다.
각 항목의 발생률 통계는 매일 업데이트됩니다. 값은 감지 엔진에서 사용할 수 있는 별도의 항목 컨텍스트에 저장되지만 Google Security Operations 조사 뷰와 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_count
는rolling_max
를 계산하는 데 사용되며 값은 항상 10입니다.
도메인에 대해 계산할 때 day_max
와 day_max_sub_domains
(및 rolling_max
와 rolling_max_sub_domains
)의 차이는 다음과 같습니다.
rolling_max
및day_max
는 지정된 도메인에 액세스하는 일일 순 내부 IP 주소 수를 나타냅니다(하위 도메인 제외).rolling_max_sub_domains
및day_max_sub_domains
는 지정된 도메인(하위 도메인 포함)에 액세스하는 순 내부 IP 주소의 수를 나타냅니다.
발생률 통계는 새로 수집된 항목 데이터에 대해 계산됩니다. 계산은 이전에 수집된 데이터에 대해 소급해서 수행되지 않습니다. 통계를 계산하고 저장하는 데 약 36시간 걸립니다.
항목의 최초 발견 시간 및 최근 발견 시간 계산
Google Security Operations에서는 수신 데이터에 대한 통계 분석을 수행하고 항목의 최초 발견 시간 및 최근 발견 시간으로 항목 컨텍스트 레코드를 보강합니다. 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_time
및 last_seen_time
필드는 도메인, IP 주소, 파일(해시)을 설명하는 항목으로 채워집니다. 사용자 또는 애셋을 설명하는 항목의 경우 first_seen_time
필드만 채워집니다. 이러한 값은 그룹 또는 리소스와 같은 다른 유형을 설명하는 항목의 경우 계산되지 않습니다.
통계는 모든 네임스페이스에서 각 항목에 대해 계산됩니다.
Google Security Operations에서는 개별 네임스페이스 내의 각 항목에 대한 통계를 계산하지 않습니다.
이러한 통계를 현재 BigQuery의 Google Security Operations 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 주소가 포함됩니다.
Google Security Operations에서는 외부 IP 주소에 대한 위치정보가 보강된 데이터를 제공하여 보다 강력한 규칙 감지 및 조사를 위한 더 많은 컨텍스트를 확보할 수 있습니다. 예를 들어 Google Security Operations는 외부 IP 주소를 사용하여 국가(예: 미국), 특정 주(예: 알래스카), IP 주소가 있는 네트워크(예: ASN 및 이동통신사 이름)에 대한 정보로 이벤트를 보강할 수 있습니다.
Google Security Operations에서는 Google에서 제공하는 위치 데이터를 사용하여 IP 주소의 대략적인 지리적 위치와 네트워크 정보를 제공합니다. 이벤트에서 이러한 필드에 대해 감지 엔진 규칙을 작성할 수 있습니다. 또한 보강된 이벤트 데이터는 BigQuery로 내보내져 Google Security Operations 대시보드 및 보고에서 사용할 수 있습니다.
다음 IP 주소는 보강되지 않습니다.
- RFC 1918 비공개 IP 주소 공간. 기업 네트워크 내부에 있기 때문입니다.
- RFC 5771 멀티캐스트 IP 주소 공간. 멀티캐스트 주소는 단일 위치에 속하지 않기 때문입니다.
- IPv6 고유 로컬 주소
- Google Cloud 서비스 IP 주소. 보강된 Google Cloud Compute Engine 외부 IP 주소는 예외입니다.
Google Security Operations는 위치정보 데이터로 다음 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에서 조사하고 해당하는 경우 기록을 수정할 수 있도록 고객 지원 케이스를 제출하세요.
세이프 브라우징 위협 목록의 정보로 항목 보강
Google Security Operations에서는 파일 해시와 관련된 세이프 브라우징의 데이터를 수집합니다. 각 파일의 데이터는 항목으로 저장되고 파일에 대한 추가적인 정보를 제공합니다. 애널리스트는 이 항목 컨텍스트 데이터에 대해 쿼리하는 감지 엔진 규칙을 만들어 문맥 인지 분석을 빌드할 수 있습니다.
다음 정보가 항목 컨텍스트 레코드와 함께 저장됩니다.
UDM 필드 | 설명 |
---|---|
entity.metadata.product_entity_id |
항목의 고유 식별자입니다. |
entity.metadata.entity_type |
이 값은 FILE 이며 항목이 파일을 설명함을 나타냅니다.
|
entity.metadata.collected_timestamp |
항목이 관찰되거나 이벤트가 발생한 날짜 및 시간입니다. |
entity.metadata.interval |
이 데이터가 유효한 시작 시간과 종료 시간을 저장합니다.
위협 목록 콘텐츠는 시간이 지나면서 변경되므로 start_time 및 end_time 은 항목에 대한 데이터가 유효한 시간 간격을 반영합니다. 예를 들어 파일 해시가 start_time 사이에 악성 또는 의심스러운 것으로 관찰되었습니다. |
entity.metadata.threat.category |
Google Security Operations SecurityCategory 입니다. 다음 값 중 하나 이상으로 설정됩니다.
|
entity.metadata.threat.severity |
Google Security Operations ProductSeverity 입니다.
값이 CRITICAL 이면 아티팩트가 악성으로 표시됨을 나타냅니다.
값이 지정되지 않은 경우 아티팩트가 악성임을 나타내는 신뢰도가 충분하지 않습니다.
|
entity.metadata.product_name |
Google Safe Browsing 값을 저장합니다. |
entity.file.sha256 |
파일의 SHA256 해시 값입니다. |
WHOIS 데이터로 항목 보강
Google Security Operations는 WHOIS 데이터를 매일 수집합니다. 들어오는 고객 기기 데이터를 수집하는 동안 Google Security Operations는 고객 데이터의 도메인을 WHOIS 데이터와 비교하여 평가합니다. 일치하는 항목이 있으면 Google Security Operations에서 관련 WHOIS 데이터를 도메인의 항목 레코드와 함께 저장합니다. entity.metadata.entity_type = DOMAIN_NAME
인 각 항목에 대해 Google Security Operations는 WHOIS의 정보로 항목을 보강합니다.
Google Security Operations는 항목 레코드의 다음 필드에 보강된 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 위협 인텔리전스 데이터 수집 및 저장
Google Security Operations는 해당 환경에서 활동을 조사할 때 사용할 수 있는 컨텍스트 정보를 제공하는 Google Cloud 위협 인텔리전스(GCTI) 데이터 소스에서 데이터를 수집합니다. 다음 데이터 소스를 쿼리할 수 있습니다.
- GCTI Tor 종료 노드: 알려진 Tor 종료 노드인 IP 주소입니다.
- GCTI Benign 바이너리: 운영체제 기본 배포의 일부이거나 공식 운영체제 패치에 의해 업데이트된 파일입니다. 상시 공격에 공통된 활동을 통해 공격자가 악용한 일부 공식 운영체제 바이너리는 초기 입력 벡터에 중점을 둔 것과 같이 이 데이터 소스에서 제외됩니다.
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 주소에 대한 데이터
Google Security Operations는 알려진 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 주소를 저장합니다. |
무해한 운영체제 파일에 대한 데이터
Google Security Operations는 GCTI Benign 바이너리 데이터 소스에서 파일 해시를 수집하고 저장합니다. 이 데이터 소스에서 수집된 정보는 다음 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 필드 | 설명 |
---|---|
Google Cloud Threat Intelligence 값을 저장합니다. |
|
GCTI Feed 값을 저장합니다. |
|
Remote Access Tools 값을 저장합니다. |
|
파일의 SHA256 해시 값을 저장합니다. | |
파일의 SHA1 해시 값을 저장합니다. | |
파일의 MD5 해시 값을 저장합니다. |
VirusTotal 파일 메타데이터로 이벤트 보강
Google Security Operations는 파일 해시를 UDM 이벤트로 보강하고 조사 중 추가 컨텍스트를 제공합니다. UDM 이벤트는 고객 환경에서 해시 별칭 지정을 통해 보강됩니다. 해시 별칭은 모든 유형의 파일 해시를 결합하고 검색 중 파일 해시에 대한 정보를 제공합니다.
VirusTotal 파일 메타데이터 및 Google SecOps와의 관계 보강을 통해 악의적인 활동의 패턴을 식별하고 네트워크 전반에서 멀웨어 이동을 추적할 수 있습니다.
원시 로그는 파일에 대한 제한된 정보를 제공합니다. 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 |
서명 정보
|
( principal | target | src | observer).file.signature_info.sigcheck |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.verification_message |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.verified |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.signers |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.signers.name |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.signers.status |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.signers.valid_usage |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.signers.cert_issuer |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.x509 |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.x509.name |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.x509.algorithm |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.x509.thumprint |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.x509.cert_issuer |
서명 정보
|
( principal | target | src | observer ).file.signature_info.sigcheck.x509.serial_number |
서명 정보
|
( principal | target | src | observer ).file.signature_info.codesign |
서명 정보
|
( 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 정보
|
( principal | target | src | observer ).file.pdf_info.js |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.javascript |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.launch_action_count |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.object_stream_count |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.endobj_count |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.header |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.acroform |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.autoaction |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.embedded_file |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.encrypted |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.flash |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.jbig2_compression |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.obj_count |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.endstream_count |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.page_count |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.stream_count |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.openaction |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.startxref |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.suspicious_colors |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.trailer |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.xfa |
PDF 정보
|
( principal | target | src | observer ).file.pdf_info.xref |
PE 파일 메타데이터 | ( principal | target | src | observer ).file.pe_file |
PE 파일 메타데이터
|
( principal | target | src | observer ).file.pe_file.imphash |
PE 파일 메타데이터
|
( principal | target | src | observer ).file.pe_file.entry_point |
PE 파일 메타데이터
|
( principal | target | src | observer ).file.pe_file.entry_point_exiftool |
PE 파일 메타데이터
|
( principal | target | src | observer ).file.pe_file.compilation_time |
PE 파일 메타데이터
|
( 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 파일 메타데이터
|
( 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 파일 메타데이터
|
( principal | target | src | observer ).file.pe_file.resource.sha256_hex |
PE 파일 메타데이터
|
( principal | target | src | observer ).file.pe_file.resource.filetype_magic |
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을 분석하여 멀웨어 및 기타 침해를 감지하고 발견 항목을 보안 커뮤니티와 공유하는 데 도움이 됩니다. Google Security Operations에서는 VirusTotal 관련 연결에서 데이터를 수집합니다. 이 데이터는 항목으로 저장되며 파일 해시와 파일, 도메인, IP 주소, URL 간의 관계에 대한 정보를 제공합니다.
애널리스트는 이 데이터를 사용하여 다른 소스의 URL 또는 도메인에 대한 정보를 기반으로 파일 해시가 잘못되었는지 확인할 수 있습니다. 이 정보는 컨텍스트 인식 분석을 빌드하기 위해 항목 컨텍스트 데이터를 쿼리하는 감지 엔진 규칙을 만드는 데 사용될 수 있습니다.
이 데이터는 특정 VirusTotal 및 Google Security Operations 라이선스에서만 사용할 수 있습니다. 계정 관리자에게 사용 권한을 확인합니다.
다음 정보가 항목 컨텍스트 레코드와 함께 저장됩니다.
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_type 가 URL 이면 entity.relations.entity.url 이 채워집니다. |
다음 단계
다른 Google Security Operations 기능과 함께 보강된 데이터를 사용하는 방법은 다음을 참조하세요.