Enrichir les données d'événements et d'entités avec Google SecOps

Compatible avec :

Ce document décrit comment Google Security Operations enrichit les données et les champs du modèle de données unifié (UDM) dans lesquels les données sont stockées.

Pour permettre une enquête sur la sécurité, Google SecOps ingère des données contextuelles provenant de différentes sources, les analyse et fournit un contexte supplémentaire sur les artefacts dans un environnement client. Les analystes peuvent utiliser des données enrichies contextuellement dans les règles Detection Engine, les recherches d'investigation ou les rapports.

Google SecOps effectue les types d'enrichissement suivants :

Les paramètres entity_type, product_name et vendor_name identifient les données enrichies provenant des sources suivantes :

  • Navigation sécurisée
  • WHOIS
  • Google Cloud Threat Intelligence (GCTI)
  • Métadonnées VirusTotal
  • Données sur les relations VirusTotal

Lorsque vous créez une règle qui utilise ces données enrichies (c'est-à-dire des données enrichies provenant de la navigation sécurisée, de WHOIS, de GCTI Threat Intelligence, des métadonnées VirusTotal et des données sur les relations VirusTotal), nous vous recommandons d'inclure un filtre dans la règle qui identifie le type d'enrichissement spécifique à inclure. Ce filtre permet d'améliorer les performances de la règle. Par exemple, incluez les champs de filtre suivants dans la section events de la règle qui joint les données WHOIS.

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

Enrichir les entités à l'aide du graphique d'entités et de la fusion

Le graphique d'entités identifie les relations entre les entités et les ressources de votre environnement. Lorsque des entités provenant de différentes sources sont ingérées dans Google SecOps, le graphique d'entités conserve une liste d'adjacence basée sur la relation entre les entités. Le graphique d'entités enrichit le contexte en dédupliquant et en fusionnant les entités.

Lors de la déduplication, les données redondantes sont éliminées et des intervalles sont formés pour créer une entité commune. Prenons l'exemple de deux entités e1 et e2 avec les codes temporels t1 et t2 respectivement. Les entités e1 et e2 sont dédupliquées, et les codes temporels différents ne sont pas utilisés lors de la déduplication. Les champs suivants ne sont pas utilisés lors de la déduplication :

  • collected_timestamp
  • creation_timestamp
  • interval

Lors de la fusion, des relations entre les entités sont établies pour un intervalle de temps d'un jour. Par exemple, prenons l'enregistrement d'entité user A qui a accès à un bucket Cloud Storage. Il existe un autre enregistrement d'entité pour user A qui possède un appareil. Après la fusion, ces deux entités deviennent une seule entité user A qui comporte deux relations. Une relation indique que user A a accès au bucket Cloud Storage, tandis que l'autre indique que user A est propriétaire de l'appareil. Google SecOps crée des données de contexte d'entité avec une période d'analyse de cinq jours. Ce processus gère les données tardives et crée une durée de vie implicite pour les données de contexte d'entité.

Google SecOps utilise l'aliasing pour enrichir les données de télémétrie et les graphiques d'entités pour enrichir les entités. Les règles du moteur de détection joignent les entités fusionnées aux données de télémétrie enrichies pour fournir des analyses contextuelles.

Un événement contenant un nom d'entité est considéré comme une entité. Voici quelques types d'événements et les types d'entités correspondants :

  • ASSET_CONTEXT correspond à ASSET.
  • RESOURCE_CONTEXT correspond à RESOURCE.
  • USER_CONTEXT correspond à USER.
  • GROUP_CONTEXT correspond à GROUP.

Le graphique d'entités distingue les données contextuelles des indicateurs de compromission (IOC) à l'aide des informations sur les menaces.

Lorsque vous utilisez des données enrichies contextuellement, tenez compte du comportement suivant du graphique d'entités :

  • N'ajoutez pas d'intervalles dans l'entité. Laissez plutôt le graphique d'entités créer des intervalles. En effet, les intervalles sont générés lors de la déduplication, sauf indication contraire.
  • Si les intervalles sont spécifiés, seuls les mêmes événements sont dédupliqués et l'entité la plus récente est conservée.
  • Pour que les règles en direct et les analyses rétrospectives fonctionnent comme prévu, les entités doivent être ingérées au moins une fois par jour.
  • Si les entités ne sont pas ingérées quotidiennement, mais seulement une fois tous les deux jours ou plus, les règles en direct peuvent fonctionner comme prévu. Toutefois, les recherches rétroactives peuvent perdre le contexte de l'événement.
  • Si des entités sont ingérées plusieurs fois par jour, elles sont dédupliquées en une seule entité.
  • Si les données d'événement sont manquantes pour un jour donné, les données du jour précédent sont utilisées temporairement pour s'assurer que les règles en direct fonctionnent correctement.

Le graphique d'entités fusionne également les événements ayant des identifiants similaires pour obtenir une vue consolidée des données. Cette fusion s'effectue en fonction de la liste d'identifiants suivante :

  • 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

Calculer les statistiques de prévalence

Google SecOps effectue une analyse statistique des données existantes et entrantes, et enrichit les enregistrements de contexte d'entité avec des métriques liées à la prévalence.

La prévalence est une valeur numérique qui indique la popularité d'une entité. La popularité est définie par le nombre de ressources accédant à un artefact, tel qu'un domaine, un hachage de fichier ou une adresse IP. Plus le nombre est élevé, plus l'entité est populaire. Par exemple, google.com présente des valeurs de prévalence élevées, car il est fréquemment consulté. Si un domaine est consulté peu fréquemment, ses valeurs de prévalence seront plus faibles. Les entités les plus populaires sont généralement moins susceptibles d'être malveillantes.

Ces valeurs enrichies sont acceptées pour les domaines, les adresses IP et les fichiers (hachage). Les valeurs sont calculées et stockées dans les champs suivants.

Les statistiques de prévalence pour chaque entité sont mises à jour quotidiennement. Les valeurs sont stockées dans un contexte d'entité distinct qui peut être utilisé par le moteur de détection, mais qui n'est pas affiché dans les vues d'investigation Google SecOps ni dans la recherche UDM.

Les champs suivants peuvent être utilisés lors de la création de règles Detection Engine.

Type d'entité Champs UDM
Domaine 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
Fichier (hachage) entity.file.prevalence.day_count
entity.file.prevalence.day_max
entity.file.prevalence.rolling_max
Adresse IP entity.artifact.prevalence.day_count
entity.artifact.prevalence.day_max
entity.artifact.prevalence.rolling_max

Les valeurs day_max et rolling_max sont calculées différemment. Les champs sont calculés comme suit :

  • day_max est calculé comme le score de prévalence maximal pour l'artefact au cours de la journée, où une journée est définie comme allant de 00h00 à 23h59 UTC.
  • rolling_max est calculé comme le score de prévalence maximal par jour (c'est-à-dire day_max) pour l'artefact au cours des 10 jours précédents.
  • day_count est utilisé pour calculer rolling_max et sa valeur est toujours 10.

Lorsque vous calculez la différence entre day_max et day_max_sub_domains (et entre rolling_max et rolling_max_sub_domains) pour un domaine, voici ce que vous obtenez :

  • rolling_max et day_max représentent le nombre d'adresses IP internes uniques quotidiennes accédant à un domaine donné (à l'exclusion des sous-domaines).
  • rolling_max_sub_domains et day_max_sub_domains représentent le nombre d'adresses IP internes uniques accédant à un domaine donné (y compris les sous-domaines).

Les statistiques de prévalence sont calculées sur les données d'entités nouvellement ingérées. Les calculs ne sont pas effectués de manière rétroactive sur les données ingérées précédemment. Il faut environ 36 heures pour que les statistiques soient calculées et stockées.

Calculer les heures de première et dernière observation des entités

Google SecOps effectue une analyse statistique des données entrantes et enrichit les enregistrements de contexte d'entité avec les heures de première et dernière apparition d'une entité. Le champ first_seen_time stocke la date et l'heure auxquelles l'entité a été vue pour la première fois dans l'environnement client. Le champ last_seen_time stocke la date et l'heure de la dernière observation.

Étant donné que plusieurs indicateurs (champs UDM) peuvent identifier un composant ou un utilisateur, l'heure de première observation correspond à la première fois que l'un des indicateurs identifiant l'utilisateur ou le composant a été observé dans l'environnement client.

Voici tous les champs UDM qui décrivent un élément :

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

Voici tous les champs UDM qui décrivent un utilisateur :

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

Les heures de première et dernière observation permettent à un analyste de corréler certaines activités qui se sont produites après la première observation d'un domaine, d'un fichier (hachage), d'un composant, d'un utilisateur ou d'une adresse IP, ou qui ont cessé de se produire après la dernière observation du domaine, du fichier (hachage) ou de l'adresse IP.

Les champs first_seen_time et last_seen_time sont renseignés avec des entités qui décrivent un domaine, une adresse IP et un fichier (hachage). Pour les entités qui décrivent un utilisateur ou un élément, seul le champ first_seen_time est renseigné. Ces valeurs ne sont pas calculées pour les entités qui décrivent d'autres types, comme un groupe ou une ressource.

Les statistiques sont calculées pour chaque entité dans tous les espaces de noms. Google SecOps ne calcule pas les statistiques pour chaque entité dans les espaces de noms individuels. Ces statistiques ne sont actuellement pas exportées vers le schéma events de Google SecOps dans BigQuery.

Les valeurs enrichies sont calculées et stockées dans les champs UDM suivants :

Type d'entité Champs UDM
Domaine entity.domain.first_seen_time
entity.domain.last_seen_time
Fichier (hachage) entity.file.first_seen_time
entity.file.last_seen_time
Adresse IP entity.artifact.first_seen_time
entity.artifact.last_seen_time
Élément entity.asset.first_seen_time
Utilisateur entity.user.first_seen_time

Enrichir les événements avec des données de géolocalisation

Les données de journaux entrants peuvent inclure des adresses IP externes sans informations de localisation correspondantes. Cela se produit souvent lorsqu'un événement enregistre des informations sur l'activité d'un appareil qui ne se trouve pas sur un réseau d'entreprise. Par exemple, un événement de connexion à un service cloud contient une adresse IP source ou client basée sur l'adresse IP externe d'un appareil renvoyée par le NAT de l'opérateur.

Google SecOps fournit des données enrichies en géolocalisation pour les adresses IP externes afin de permettre des détections de règles plus efficaces et un contexte plus riche pour les investigations. Par exemple, Google SecOps peut utiliser une adresse IP externe pour enrichir l'événement avec des informations sur le pays (comme les États-Unis), un État spécifique (comme l'Alaska) et le réseau auquel appartient l'adresse IP (comme l'ASN et le nom de l'opérateur).

Google SecOps utilise les données de localisation fournies par Google pour fournir une position géographique et des informations réseau approximatives pour une adresse IP. Vous pouvez écrire des règles Detection Engine pour ces champs dans les événements. Les données d'événement enrichies sont également exportées vers BigQuery, où elles peuvent être utilisées dans les tableaux de bord et les rapports Google SecOps.

Les adresses IP suivantes ne sont pas enrichies :

  • Les espaces d'adressage IP privés RFC 1918, car ils sont internes au réseau de l'entreprise.
  • Espace d'adresses IP de multidiffusion RFC 5771, car les adresses de multidiffusion n'appartiennent pas à un seul emplacement.
  • Adresses locales uniques IPv6.
  • Adresses IP du serviceGoogle Cloud . Les adresses IP externes Compute Engine sont une exception, car elles sont enrichies. Google Cloud

Google SecOps enrichit les champs UDM suivants avec des données de géolocalisation :

  • principal
  • target
  • src
  • observer
Type de données Champ UDM
Emplacement (par exemple, États-Unis) ( principal | target | src | observer ).ip_geo_artifact.location.country_or_region
État (par exemple, New York) ( principal | target | src | observer ).ip_geo_artifact.location.state
Longitude ( principal | target | src | observer ).ip_geo_artifact.location.region_coordinates.longitude
Latitude ( principal | target | src | observer ).ip_geo_artifact.location.region_coordinates.latitude
ASN (numéro de système autonome) ( principal | target | src | observer ).ip_geo_artifact.network.asn
Nom de l'opérateur ( principal | target | src | observer ).ip_geo_artifact.network.carrier_name
Domaine DNS ( principal | target | src | observer ).ip_geo_artifact.network.dns_domain
Nom de l'organisation ( principal | target | src | observer ).ip_geo_artifact.network.organization_name

L'exemple suivant montre le type d'informations géographiques qui seraient ajoutées à un événement UDM avec une adresse IP associée aux Pays-Bas :

Champ UDM Valeur
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

Incohérences

La technologie de géolocalisation IP propriétaire de Google utilise une combinaison de données réseau et d'autres entrées et méthodes pour fournir à nos utilisateurs la localisation des adresses IP et la résolution du réseau. D'autres organisations peuvent utiliser des signaux ou des méthodes différents, ce qui peut parfois entraîner des résultats différents.

Si vous constatez des incohérences dans les résultats de géolocalisation d'adresses IP fournis par Google, veuillez ouvrir une demande auprès du service client. Nous pourrons ainsi examiner le problème et, le cas échéant, corriger nos données.

Enrichir les entités avec des informations issues des listes de menaces de la navigation sécurisée

Google SecOps ingère les données de navigation sécurisée liées aux hachages de fichiers. Les données de chaque fichier sont stockées sous forme d'entité et fournissent un contexte supplémentaire sur le fichier. Les analystes peuvent créer des règles du moteur de détection qui interrogent ces données de contexte d'entité pour créer des analyses contextuelles.

Les informations suivantes sont stockées dans l'enregistrement du contexte d'entité.

Champ UDM Description
entity.metadata.product_entity_id Identifiant unique de l'entité.
entity.metadata.entity_type Cette valeur est FILE, ce qui indique que l'entité décrit un fichier.
entity.metadata.collected_timestamp Date et heure auxquelles l'entité a été observée ou l'événement s'est produit.
entity.metadata.interval Stocke les heures de début et de fin de validité de ces données. Étant donné que le contenu des listes de menaces change au fil du temps, start_time et end_time reflètent l'intervalle de temps pendant lequel les données sur l'entité sont valides. Par exemple, un hachage de fichier a été identifié comme malveillant ou suspect entre le start_time et le end_time.
entity.metadata.threat.category SecurityCategory Google SecOps Définissez ce paramètre sur une ou plusieurs des valeurs suivantes :
  • SOFTWARE_MALICIOUS : indique que la menace est liée à un logiciel malveillant.
  • SOFTWARE_PUA : indique que la menace est liée à un logiciel indésirable.
entity.metadata.threat.severity Il s'agit de la ProductSeverity Google SecOps. Si la valeur est CRITICAL, cela indique que l'artefact semble malveillant. Si la valeur n'est pas spécifiée, la confiance n'est pas suffisante pour indiquer que l'artefact est malveillant.
entity.metadata.product_name Stocke la valeur Google Safe Browsing.
entity.file.sha256 Valeur de hachage SHA256 du fichier.

Enrichir les entités avec des données WHOIS

Google SecOps ingère les données WHOIS quotidiennement. Lors de l'ingestion des données entrantes des appareils clients, Google SecOps évalue les domaines dans les données client par rapport aux données WHOIS. En cas de correspondance, Google SecOps stocke les données WHOIS associées dans l'enregistrement d'entité du domaine. Pour chaque entité, où entity.metadata.entity_type = DOMAIN_NAME, Google SecOps enrichit l'entité avec des informations provenant de WHOIS.

Google SecOps renseigne les données WHOIS enrichies dans les champs suivants de l'enregistrement d'entité :

  • 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

Pour obtenir une description de ces champs, consultez le document sur la liste des champs du modèle de données unifié.

Ingérer et stocker les données Google Cloud Threat Intelligence

Google SecOps ingère les données des sources de données Google Cloud Threat Intelligence (GCTI) qui vous fournissent des informations contextuelles que vous pouvez utiliser lorsque vous examinez l'activité dans votre environnement.

Vous pouvez interroger les sources de données suivantes :

  • Nœuds de sortie Tor GCTI : adresses IP connues des nœuds de sortie Tor.
  • Binaires fiables GCTI : fichiers qui font partie de la distribution d'origine du système d'exploitation ou qui ont été mis à jour par un correctif officiel du système d'exploitation. Certains binaires de systèmes d'exploitation officiels qui ont été utilisés de manière abusive par un adversaire par le biais d'une activité courante dans les attaques "living-off-the-land" sont exclus de cette source de données, comme ceux axés sur les vecteurs d'entrée initiale.
  • Outils d'accès à distance GCTI : fichiers fréquemment utilisés par des acteurs malveillants. Il s'agit généralement d'applications légitimes qui sont parfois utilisées de manière abusive pour se connecter à distance à des systèmes piratés.

    Ces données contextuelles sont stockées globalement en tant qu'entités. Vous pouvez interroger les données à l'aide des règles du moteur de détection. Incluez les champs et valeurs UDM suivants dans la règle pour interroger ces entités globales :

  • graph.metadata.vendor_name = Google Cloud Threat Intelligence

  • graph.metadata.product_name = GCTI Feed

Dans ce document, l'espace réservé <variable_name> représente le nom de variable unique utilisé dans une règle pour identifier un enregistrement UDM.

Sources de données Threat Intelligence avec ou sans limite de temps Google Cloud

Google Cloud Les sources de données sur les renseignements sur les menaces sont soit temporisées, soit intemporelles.

Les sources de données temporelles sont associées à une plage de dates pour chaque entrée. Cela signifie que si une détection est générée le premier jour, la même détection devrait être générée pour le premier jour lors d'une recherche rétroactive.

Les sources de données intemporelles n'ont pas de période associée. En effet, seules les données les plus récentes doivent être prises en compte. Les sources de données intemporelles sont fréquemment utilisées pour les données telles que les hachages de fichiers qui ne sont pas censés changer. Si aucune détection n'est générée le premier jour, une détection peut être générée le deuxième jour pour le premier jour lors d'une recherche rétroactive, car une nouvelle entrée a été ajoutée.

Données sur les adresses IP des nœuds de sortie Tor

Google SecOps ingère et stocke les adresses IP qui sont des nœuds de sortie Tor connus. Les nœuds de sortie Tor sont les points au niveau desquels le trafic quitte le réseau Tor. Les informations ingérées à partir de cette source de données sont stockées dans les champs UDM suivants. Les données de cette source sont temporelles.

Champ UDM Description
<variable_name>.graph.metadata.vendor_name Stocke la valeur Google Cloud Threat Intelligence.
<variable_name>.graph.metadata.product_name Stocke la valeur GCTI Feed.
<variable_name>.graph.metadata.threat.threat_feed_name Stocke la valeur Tor Exit Nodes.
<variable_name>.graph.entity.artifact.ip Stocke l'adresse IP ingérée à partir de la source de données GCTI.

Données sur les fichiers de système d'exploitation bénins

Google SecOps ingère et stocke les hachages de fichiers à partir de la source de données "Binaires bénins GCTI". Les informations ingérées à partir de cette source de données sont stockées dans les champs UDM suivants. Les données de cette source sont intemporelles.

Champ UDM Description
<variable_name>.graph.metadata.vendor_name Stocke la valeur Google Cloud Threat Intelligence.
<variable_name>.graph.metadata.product_name Stocke la valeur GCTI Feed.
<variable_name>.graph.metadata.threat.threat_feed_name Stocke la valeur Benign Binaries.
<variable_name>.graph.entity.file.sha256 Stocke la valeur de hachage SHA256 du fichier.
<variable_name>.graph.entity.file.sha1 Stocke la valeur de hachage SHA1 du fichier.
<variable_name>.graph.entity.file.md5 Stocke la valeur de hachage MD5 du fichier.

Données sur les outils d'accès à distance

Les outils d'accès à distance incluent les hachages de fichiers pour les outils d'accès à distance connus, tels que les clients VNC, qui ont souvent été utilisés par des acteurs malveillants. Ces outils sont généralement des applications légitimes qui sont parfois utilisées de manière abusive pour se connecter à distance à des systèmes compromis. Les informations ingérées à partir de cette source de données sont stockées dans les champs UDM suivants. Les données de cette source sont intemporelles.

Champ UDM Description
.graph.metadata.vendor_name Stocke la valeur Google Cloud Threat Intelligence.
.graph.metadata.product_name Stocke la valeur GCTI Feed.
.graph.metadata.threat.threat_feed_name Stocke la valeur Remote Access Tools.
.graph.entity.file.sha256 Stocke la valeur de hachage SHA256 du fichier.
.graph.entity.file.sha1 Stocke la valeur de hachage SHA1 du fichier.
.graph.entity.file.md5 Stocke la valeur de hachage MD5 du fichier.

Enrichir les événements avec les métadonnées de fichiers VirusTotal

Google SecOps enrichit les hachages de fichiers dans les événements UDM et fournit un contexte supplémentaire lors d'une enquête. Les événements UDM sont enrichis par le biais de l'alias de hachage dans un environnement client. L'alias de hachage combine tous les types de hachages de fichiers et fournit des informations sur le hachage d'un fichier lors d'une recherche.

L'intégration des métadonnées de fichiers VirusTotal et de l'enrichissement des relations avec Google SecOps peut être utilisée pour identifier des schémas d'activité malveillante et suivre les mouvements de logiciels malveillants sur un réseau.

Un journal brut fournit des informations limitées sur le fichier. VirusTotal enrichit l'événement avec des métadonnées de fichier pour fournir un dump des hachages incorrects ainsi que des métadonnées sur le fichier incorrect. Les métadonnées incluent des informations telles que les noms de fichiers, les types, les fonctions importées et les tags. Vous pouvez utiliser ces informations dans le moteur de recherche et de détection UDM avec YARA-L pour comprendre les événements de fichiers malveillants et, en général, lors de la chasse aux menaces. Par exemple, vous pouvez détecter toute modification apportée au fichier d'origine, ce qui importerait les métadonnées du fichier pour la détection des menaces.

Les informations suivantes sont stockées avec l'enregistrement. Pour obtenir la liste de tous les champs UDM, consultez Liste des champs UDM (Unified Data Model).

Type de données Champ UDM
SHA-256 ( principal | target | src | observer ).file.sha256
MD5 ( principal | target | src | observer ).file.md5
SHA-1 ( principal | target | src | observer ).file.sha1
Taille ( 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
Type de fichier ( principal | target | src | observer ).file.file_type
Tags ( principal | target | src | observer ).file.tags
Tags de fonctionnalités ( principal | target | src | observer ).file.capabilities_tags
Noms ( principal | target | src | observer ).file.names
Date et heure de la première observation ( principal | target | src | observer ).file.first_seen_time
Heure de la dernière activité ( principal | target | src | observer ).file.last_seen_time
Date/Heure de la dernière modification ( principal | target | src | observer ).file.last_modification_time
Heure de la dernière analyse ( principal | target | src | observer ).file.last_analysis_time
URL intégrées ( principal | target | src | observer ).file.embedded_urls
Adresses IP intégrées ( principal | target | src | observer ).file.embedded_ips
Domaines intégrés ( principal | target | src | observer ).file.embedded_domains
Informations sur la signature ( principal | target | src | observer ).file.signature_info
Informations sur la signature
  • Sigcheck
( principal | target | src | observer).file.signature_info.sigcheck
Informations sur la signature
  • Sigcheck
    • Message de validation
( principal | target | src | observer ).file.signature_info.sigcheck.verification_message
Informations sur la signature
  • Sigcheck
    • Validé
( principal | target | src | observer ).file.signature_info.sigcheck.verified
Informations sur la signature
  • Sigcheck
    • Signataires
( principal | target | src | observer ).file.signature_info.sigcheck.signers
Informations sur la signature
  • Sigcheck
    • Signataires
      • Nom
( principal | target | src | observer ).file.signature_info.sigcheck.signers.name
Informations sur la signature
  • Sigcheck
    • Signataires
      • État
( principal | target | src | observer ).file.signature_info.sigcheck.signers.status
Informations sur la signature
  • Sigcheck
    • Signataires
      • Utilisation valide du certificat
( principal | target | src | observer ).file.signature_info.sigcheck.signers.valid_usage
Informations sur la signature
  • Sigcheck
    • Signataires
      • Émetteur du certificat
( principal | target | src | observer ).file.signature_info.sigcheck.signers.cert_issuer
Informations sur la signature
  • Sigcheck
    • X509
( principal | target | src | observer ).file.signature_info.sigcheck.x509
Informations sur la signature
  • Sigcheck
    • X509
      • Nom
( principal | target | src | observer ).file.signature_info.sigcheck.x509.name
Informations sur la signature
  • Sigcheck
    • X509
      • Algorithme
( principal | target | src | observer ).file.signature_info.sigcheck.x509.algorithm
Informations sur la signature
  • Sigcheck
    • X509
      • Empreinte
( principal | target | src | observer ).file.signature_info.sigcheck.x509.thumprint
Informations sur la signature
  • Sigcheck
    • X509
      • Émetteur du certificat
( principal | target | src | observer ).file.signature_info.sigcheck.x509.cert_issuer
Informations sur la signature
  • Sigcheck
    • X509
      • Numéro de série
( principal | target | src | observer ).file.signature_info.sigcheck.x509.serial_number
Informations sur la signature
  • Codesign
( principal | target | src | observer ).file.signature_info.codesign
Informations sur la signature
  • Codesign
    • ID
( principal | target | src | observer ).file.signature_info.codesign.id
Informations sur la signature
  • Codesign
    • Format
( principal | target | src | observer ).file.signature_info.codesign.format
Informations sur la signature
  • Codesign
    • Temps de compilation
( principal | target | src | observer ).file.signature_info.codesign.compilation_time
Informations sur Exiftool ( principal | target | src | observer ).file.exif_info
Informations Exiftool
  • Nom du fichier d'origine
( principal | target | src | observer ).file.exif_info.original_file
Informations Exiftool
  • Nom du produit
( principal | target | src | observer ).file.exif_info.product
Informations Exiftool
  • Nom de la société
( principal | target | src | observer ).file.exif_info.company
Informations Exiftool
  • Description du fichier
( principal | target | src | observer ).file.exif_info.file_description
Informations Exiftool
  • Point d'entrée
( principal | target | src | observer ).file.exif_info.entry_point
Informations Exiftool
  • Temps de compilation
( principal | target | src | observer ).file.exif_info.compilation_time
Informations sur le PDF ( principal | target | src | observer ).file.pdf_info
Informations sur le PDF
  • Nombre de tags /JS
( principal | target | src | observer ).file.pdf_info.js
Informations sur le PDF
  • Nombre de tags /JavaScript
( principal | target | src | observer ).file.pdf_info.javascript
Informations sur le PDF
  • Nombre de balises /Launch
( principal | target | src | observer ).file.pdf_info.launch_action_count
Informations sur le PDF
  • Nombre de flux d'objets
( principal | target | src | observer ).file.pdf_info.object_stream_count
Informations sur le PDF
  • Nombre de définitions d'objet (mot clé "endobj")
( principal | target | src | observer ).file.pdf_info.endobj_count
Informations sur le PDF
  • Version PDF
( principal | target | src | observer ).file.pdf_info.header
Informations sur le PDF
  • Nombre de balises /AcroForm
( principal | target | src | observer ).file.pdf_info.acroform
Informations sur le PDF
  • Nombre de balises /AA
( principal | target | src | observer ).file.pdf_info.autoaction
Informations sur le PDF
  • Nombre de balises /EmbeddedFile
( principal | target | src | observer ).file.pdf_info.embedded_file
Informations sur le PDF
  • Tag /Encrypt
( principal | target | src | observer ).file.pdf_info.encrypted
Informations sur le PDF
  • Nombre de tags /RichMedia
( principal | target | src | observer ).file.pdf_info.flash
Informations sur le PDF
  • Nombre de balises /JBIG2Decode
( principal | target | src | observer ).file.pdf_info.jbig2_compression
Informations sur le PDF
  • Nombre de définitions d'objets (mot clé "obj")
( principal | target | src | observer ).file.pdf_info.obj_count
Informations sur le PDF
  • Nombre d'objets de flux définis (mot clé de flux)
( principal | target | src | observer ).file.pdf_info.endstream_count
Informations sur le PDF
  • Nombre de pages du PDF
( principal | target | src | observer ).file.pdf_info.page_count
Informations sur le PDF
  • Nombre d'objets de flux définis (mot clé de flux)
( principal | target | src | observer ).file.pdf_info.stream_count
Informations sur le PDF
  • Nombre de balises /OpenAction
( principal | target | src | observer ).file.pdf_info.openaction
Informations sur le PDF
  • Nombre de mots clés "startxref"
( principal | target | src | observer ).file.pdf_info.startxref
Informations sur le PDF
  • Nombre de couleurs exprimé avec plus de 3 octets (CVE-2009-3459)
( principal | target | src | observer ).file.pdf_info.suspicious_colors
Informations sur le PDF
  • Nombre de mots clés de la bande-annonce
( principal | target | src | observer ).file.pdf_info.trailer
Informations sur le PDF
  • Nombre de balises /XFA trouvées
( principal | target | src | observer ).file.pdf_info.xfa
Informations sur le PDF
  • Nombre de mots clés de référence croisée
( principal | target | src | observer ).file.pdf_info.xref
Métadonnées des fichiers PE ( principal | target | src | observer ).file.pe_file
Métadonnées du fichier PE
  • Imphash
( principal | target | src | observer ).file.pe_file.imphash
Métadonnées du fichier PE
  • Point d'entrée
( principal | target | src | observer ).file.pe_file.entry_point
Métadonnées du fichier PE
  • Point d'entrée exiftool
( principal | target | src | observer ).file.pe_file.entry_point_exiftool
Métadonnées du fichier PE
  • Temps de compilation
( principal | target | src | observer ).file.pe_file.compilation_time
Métadonnées du fichier PE
  • Temps de compilation d'exiftool
( principal | target | src | observer ).file.pe_file.compilation_exiftool_time
Métadonnées du fichier PE
  • Sections
( principal | target | src | observer ).file.pe_file.section
Métadonnées du fichier PE
  • Sections
    • Nom
( principal | target | src | observer ).file.pe_file.section.name
Métadonnées du fichier PE
  • Sections
    • Entropie
( principal | target | src | observer ).file.pe_file.section.entropy
Métadonnées du fichier PE
  • Sections
    • Taille brute en octets
( principal | target | src | observer ).file.pe_file.section.raw_size_bytes
Métadonnées du fichier PE
  • Sections
    • Taille virtuelle en octets
( principal | target | src | observer ).file.pe_file.section.virtual_size_bytes
Métadonnées du fichier PE
  • Sections
    • MD5 hex
( principal | target | src | observer ).file.pe_file.section.md5_hex
Métadonnées du fichier PE
  • Importations
( principal | target | src | observer ).file.pe_file.imports
Métadonnées du fichier PE
  • Importations
    • Bibliothèque
( principal | target | src | observer ).file.pe_file.imports.library
Métadonnées du fichier PE
  • Importations
    • Fonctions
( principal | target | src | observer ).file.pe_file.imports.functions
Métadonnées du fichier PE
  • Informations sur la ressource
( principal | target | src | observer ).file.pe_file.resource
Métadonnées du fichier PE
  • Informations sur la ressource
    • SHA-256 (hexadécimal)
( principal | target | src | observer ).file.pe_file.resource.sha256_hex
Métadonnées du fichier PE
  • Informations sur la ressource
    • Type de ressource identifié par le module Python magic
( principal | target | src | observer ).file.pe_file.resource.filetype_magic
Métadonnées du fichier PE
  • Informations sur la ressource
    • Version lisible des identifiants de langue et de sous-langue, tels que définis dans la spécification Windows PE
( principal | target | src | observer ).file.pe_file.resource_language_code
Métadonnées du fichier PE
  • Informations sur la ressource
    • Entropie
( principal | target | src | observer ).file.pe_file.resource.entropy
Métadonnées du fichier PE
  • Informations sur la ressource
    • Type de fichier
( principal | target | src | observer ).file.pe_file.resource.file_type
Métadonnées du fichier PE
  • Nombre de ressources par type de ressource
( principal | target | src | observer ).file.pe_file.resources_type_count_str
Métadonnées du fichier PE
  • Nombre de ressources par langue
( principal | target | src | observer ).file.pe_file.resources_language_count_str

Enrichir les entités avec les données de relations VirusTotal

VirusTotal permet d'analyser les fichiers, domaines, adresses IP et URL suspects afin de détecter les logiciels malveillants et autres violations, et de partager les résultats avec la communauté de sécurité. Google SecOps ingère les données des connexions associées à VirusTotal. Ces données sont stockées sous forme d'entité et fournissent des informations sur la relation entre les hachages de fichiers et les fichiers, les domaines, les adresses IP et les URL.

Les analystes peuvent utiliser ces données pour déterminer si un hachage de fichier est malveillant en fonction des informations sur l'URL ou le domaine provenant d'autres sources. Ces informations peuvent être utilisées pour créer des règles Detection Engine qui interrogent les données de contexte d'entité afin de créer des analyses contextuelles.

Ces données ne sont disponibles que pour certaines licences VirusTotal et Google SecOps. Vérifiez vos droits d'accès auprès de votre responsable de compte.

Les informations suivantes sont stockées dans l'enregistrement du contexte d'entité :

Champ UDM Description
entity.metadata.product_entity_id Identifiant unique de l'entité
entity.metadata.entity_type Stocke la valeur FILE, indiquant que l'entité décrit un fichier.
entity.metadata.interval start_time fait référence au début de la période et end_time à la fin de la période pour laquelle ces données sont valides.
entity.metadata.source_labels Ce champ stocke une liste de paires clé-valeur source_id et target_id pour cette entité. source_id correspond au hachage du fichier et target_id peut correspondre au hachage ou à la valeur de l'URL, du nom de domaine ou de l'adresse IP auxquels ce fichier est associé. Vous pouvez rechercher l'URL, le nom de domaine, l'adresse IP ou le fichier sur virustotal.com.
entity.metadata.product_name Stocke la valeur "Relations VirusTotal"
entity.metadata.vendor_name Stocke la valeur "VirusTotal"
entity.file.sha256 Stocke la valeur de hachage SHA-256 du fichier.
entity.file.relations Liste des entités enfants auxquelles l'entité fichier parent est associée.
entity.relations.relationship Ce champ explique le type de relation entre les entités parent et enfant. La valeur peut être EXECUTES, DOWNLOADED_FROM ou CONTACTS.
entity.relations.direction Stocke la valeur "UNIDIRECTIONAL" et indique le sens de la relation avec l'entité enfant.
entity.relations.entity.url URL que le fichier de l'entité parente contacte (si la relation entre l'entité parente et l'URL est CONTACTS) ou URL à partir de laquelle le fichier de l'entité parente a été téléchargé (si la relation entre l'entité parente et l'URL est DOWNLOADED_FROM).
entity.relations.entity.ip Liste des adresses IP des contacts du fichier dans l'entité parente ou à partir desquelles le fichier a été téléchargé. Elle ne contient qu'une seule adresse IP.
entity.relations.entity.domain.name Nom de domaine à partir duquel le fichier a été téléchargé ou dans lequel il se trouve dans les contacts de l'entité parente
entity.relations.entity.file.sha256 Stocke la valeur de hachage SHA-256 du fichier dans la relation
entity.relations.entity_type Ce champ contient le type d'entité dans la relation. La valeur peut être URL, DOMAIN_NAME, IP_ADDRESS ou FILE. Ces champs sont renseignés conformément à entity_type. Par exemple, si entity_type est URL, entity.relations.entity.url est renseigné.

Étapes suivantes

Pour savoir comment utiliser les données enrichies avec d'autres fonctionnalités Google SecOps, consultez les pages suivantes :

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.