Utiliser des fonctions de métriques pour les règles d'analyse des risques
Utiliser des fonctions de métriques pour les règles d'analyse des risquesCe document décrit les principaux éléments des fonctionnalités de syntaxe YARA-L 2.0, spécialement conçues pour l'analyse des risques. Il fournit un aperçu détaillé de l'utilisation de fonctions de métriques spécialisées pour agréger de grandes quantités de données historiques, ce qui permet une détection et une évaluation des risques plus sophistiquées. Pour en savoir plus sur YARA-L, consultez Présentation de YARA-L 2.0.
Google Security Operations est compatible avec un certain nombre de fonctions de métriques, qui peuvent agréger de grandes quantités de données historiques. Toutes les règles qui utilisent la fonction de métrique sont automatiquement classées comme règles multi-événements, même si elles ne comportent pas de section match et n'utilisent qu'une seule variable d'événement. Cela signifie qu'elles sont comptabilisées dans le quota de règles multi-événements.
Paramètres de fonction de métrique
Vous pouvez utiliser les fonctions de métrique pour les règles qui effectuent des analyses comportementales des entités.
Exemple : Calculer le nombre maximal d'octets sortants quotidiens par adresse IP
L'exemple suivant illustre une règle qui calcule le nombre maximal d'octets quotidiens envoyés par une adresse IP spécifique au cours du mois dernier. Dans cet exemple, l'adresse IP est représentée par la variable d'espace réservé ($ip). En savoir plus sur les variables d'espace réservé
$max_bytes_per_day = max(metrics.network_bytes_outbound(
period:1d, window:30d,
metric:value_sum,
agg:max,
principal.asset.ip:$ip
))
En raison du grand nombre d'arguments utilisés dans ces fonctions, l'exemple utilise des paramètres nommés, qui peuvent être spécifiés dans n'importe quel ordre. Les paramètres sont les suivants :
Période
Durée pendant laquelle les événements de journaux individuels sont combinés dans une même observation. Les seules valeurs autorisées sont 1h et 1d.
Window
Durée pendant laquelle les observations individuelles sont agrégées dans une même valeur, par exemple la moyenne et le maximum. Les valeurs autorisées pour window dépendent de la période de la métrique. Le mappage valide est le suivant :
period:1h : window:today
period:1d : window:30d
Exemple : Identifier le pic quotidien d'échecs d'authentification pour un utilisateur spécifique
Exemple : Identifier le nombre maximal d'échecs d'authentification quotidiens pour un utilisateur spécifique
L'exemple suivant illustre une règle qui identifie le plus grand nombre de tentatives d'authentification ayant échoué (max(metrics.auth_attempts_fail) enregistrées pour un utilisateur spécifique (alice) au cours d'une même journée (1d), calculé sur une période d'analyse de 30 jours (30d) :
$user = "alice"
$max_fail = max(metrics.auth_attempts_fail(
period:1d, window:30d,
metric:event_count_sum,
agg:max,
target.user.userid:$user
))
Exemple : Détecter les premières connexions des utilisateurs à l'aide de métriques horaires et quotidiennes
L'exemple suivant montre comment combiner des fonctions de métriques horaires et quotidiennes pour identifier les comportements "première vue". Cette règle détermine si un utilisateur se connecte à une application spécifique pour la première fois en vérifiant à la fois les incréments horaires du jour en cours et une fenêtre historique plus large de 30 jours.
events:
$e.metadata.event_type = "USER_LOGIN"
$e.security_result.action = "ALLOW"
$userid = $e.target.user.userid
$app = $e.target.application
match:
// find events from now - 4h ago, which is the recommended look-back period
$userid, $app over 4h
outcome:
// check hourly analytics until daily analytics are available
$first_seen_today = max(metrics.auth_attempts_success(
period:1h, window:today, metric:first_seen, agg:max,
target.user.userid:$userid, target.application:$app))
$first_seen_monthly = max(metrics.auth_attempts_success(
period:1d, window:30d, metric:first_seen, agg:max,
target.user.userid:$userid, target.application:$app))
condition:
$e and ($first_seen_today = 0) and ($first_seen_monthly = 0)
Métrique
Dans chaque période, chaque observation possède un certain nombre de métriques qui lui est associé.
Vous devez en sélectionner une pour l'agrégation sur l'intégralité de la fenêtre. Cinq types de metric sont acceptés :
event_count_sum: nombre d'événements de journaux uniques au cours de chaque période.first_seen: code temporel de la première occurrence d'un événement de journal correspondant dans chaque période.last_seen: code temporel de la dernière occurrence d'un événement de journal correspondant dans chaque période.value_sum: représente la somme du nombre d'octets dans tous les événements de journaux combinés au cours de la période. Vous ne pouvez utiliser cette valeur que pour une fonction de métrique dont le nom contientbytes.num_unique_filter_values: métrique qui n'est pas précalculée par Google SecOps, mais qui peut l'être lors de l'exécution des règles. Pour en savoir plus, consultez Métriques "Nombre unique".
Agg
Agrégation appliquée à la métrique. Les agrégations sont appliquées sur l'intégralité de la fenêtre (par exemple, la valeur quotidienne la plus élevée au cours des 30 derniers jours). Les valeurs autorisées sont les suivantes :
avg : valeur moyenne par période. Il s'agit d'une moyenne statistique qui n'inclut pas les valeurs nulles.
max : valeur la plus élevée par période.
min : valeur la plus faible par période.
num_metric_periods : nombre de périodes au cours de la période où la valeur de la métrique était non nulle.
stddev : écart type de la valeur par période. Il s'agit d'un écart-type statistique qui n'inclut pas les valeurs nulles.
sum : somme de chaque valeur par période, sur l'ensemble de la période.
Par exemple, la règle suivante indique le nombre moyen de tentatives d'authentification ayant échoué pour un utilisateur spécifique (Alice) au cours des 30 derniers jours :
$user = "alice"
$avg_fail = max(metrics.auth_attempts_fail(
period:1d, window:30d,
metric:event_count_sum,
agg:avg,
target.user.userid:$user
))
La règle suivante indique le nombre d'authentifications réussies d'un utilisateur spécifique au cours des 30 derniers jours :
$total_success = max(metrics.auth_attempts_success(
period:1d, window:30d,
metric:event_count_sum,
agg:sum,
target.user.userid:$user
))
La règle suivante vous indique si un utilisateur spécifique s'est connecté au moins une fois au cours des 30 derniers jours :
$days_success = max(metrics.auth_attempts_success(
period:1d, window:30d,
metric:event_count_sum,
agg:num_metric_periods,
target.user.userid:$user
))
La règle suivante vous indique la première ou la dernière fois qu'un utilisateur spécifique s'est connecté avec succès :
$first_seen = max(metrics.auth_attempts_success(
period:1d, window:30d,
metric:first_seen,
agg:min,
target.user.userid:$user
))
$last_seen = max(metrics.auth_attempts_success(
period:1d, window:30d,
metric:last_seen,
agg:max,
target.user.userid:$user
))
La règle suivante indique le nombre maximal d'octets envoyés par un utilisateur au cours d'un jour donné au cours des 30 derniers jours :
$max_daily_bytes = max(metrics.network_bytes_outbound(
period:1d, window:30d,
metric:value_sum,
agg:max,
target.user.userid:$user
))
Filtre
Les filtres permettent de filtrer une métrique avant l'agrégation en fonction d'une valeur dans la métrique précalculée (voir les valeurs dans Métrique). Les filtres peuvent être n'importe quelle expression d'événement valide (une seule ligne dans la section "Événement") qui ne contient aucun champ ni espace réservé d'événement. Les seuls types de variables pouvant être inclus dans cette condition sont les types de métriques.
La règle suivante n'inclut que les métriques où value_sum > 10 AND
event_count_sum > 2 :
$max_bytes_per_day = max(metrics.network_bytes_outbound(
period:1d, window:30d,
metric:value_sum,
agg:max,
principal.asset.ip:$ip
filter:value_sum > 10 AND event_count_sum > 2
))
Exemples de filtres valides
filter:value_sum > 10 AND event_count_sum != 5
filter:event_count_sum = 100 OR event_count_sum > 1000
filter:timestamp.get_day_of_week(first_seen) = 3
Exemples de filtres non valides
// No placeholders in filter expressions.
filter:value_sum > $ph
// No event fields in filter expressions.
filter:event_count_sum + $e.field > 10
// No event fields in filter expressions.
filter:timestamp.subtract(first_seen, $e.metadata.timestamp)
Champs UDM
Une métrique est filtrée par un, deux ou trois champs UDM, selon la fonction. Pour en savoir plus, consultez Fonctions.
Les types de champs UDM suivants sont utilisés pour les fonctions de métrique :
- Dimensions : (obligatoire) différentes combinaisons sont listées dans cette documentation. Vous ne pouvez pas joindre une métrique avec une valeur par défaut (
""pour la chaîne et0pour l'entier). - Espaces de noms : (facultatif) vous ne pouvez utiliser des espaces de noms que pour les entités que vous spécifiez dans les dimensions. Par exemple, si vous utilisez
principal.asset.hostname filter, vous pouvez également utiliserprincipal.namespace filter. Si vous n'incluez pas de filtre d'espace de noms, les données de tous les espaces de noms sont agrégées. Vous pouvez utiliser une valeur par défaut comme filtre d'espace de noms.
Calculs de fenêtres
Google Security Operations calcule les métriques à l'aide d'une fenêtre de métriques quotidienne ou horaire.
Périodes quotidiennes
Toutes les fenêtres quotidiennes, comme 30d, sont déterminées de la même manière.
Google Security Operations utilise les dernières données de métriques disponibles qui ont été générées et qui ne chevauchent pas la plage de temps de la règle. Le calcul des métriques quotidiennes peut prendre jusqu'à six heures et ne commence qu'à la fin de la journée en UTC. Les données de métriques de la veille seront disponibles à 6h00 (UTC) ou avant chaque jour.
Par exemple, pour une règle qui s'exécute sur des données d'événement du 31/10/2023 à 4h00 UTC au 31/10/2023 à 7h00 UTC, les métriques quotidiennes du 31/10/2023 auront probablement été générées. Le calcul des métriques utilisera donc les données du 01/10/2023 au 30/10/2023 (inclus). En revanche, pour une règle qui s'exécute sur des données d'événement du 31/10/2023 1:00 UTC au 31/10/2023 3:00 UTC, les métriques quotidiennes du 30/10/2023 n'auront probablement pas été générées. Le calcul des métriques utilisera donc les données du 30/09/2023 au 29/10/2023 (inclus).
Période de today heures
La période de la métrique horaire est calculée différemment de celle des métriques quotidiennes. La période de métrique horaire de today n'est pas une taille statique comme la période 30d pour les métriques quotidiennes. La fenêtre de métriques horaires today remplit autant de données que possible entre la fin de la fenêtre quotidienne et le début de la fenêtre temporelle de la règle.
Par exemple, pour une règle qui s'exécute sur des données d'événement du 31/10/2023 à 4h00 UTC au 31/10/2023 à 7h00 UTC, le calcul des métriques quotidiennes utilisera les données du 01/10/2023 au 30/10/2023 (inclus), et la fenêtre de métriques horaires utilisera les données du 31/10/2023 à 0h00 UTC au 31/10/2023 à 4h00 UTC.
Métriques de nombre unique
Il existe un type spécial de métrique num_unique_filter_values qui n'est pas précalculé par Google SecOps, mais qui est calculé lors de l'exécution d'une règle. Pour ce faire, il faut agréger une dimension existante dans une métrique précalculée. Par exemple, la métrique daily total count of distinct countries that a user attempted to authenticate peut être dérivée de la métrique précalculée auth_attempts_total sur les dimensions target.user.userid et principal.ip_geo_artifact.location.country_or_region en effectuant une agrégation "Nombre unique" sur la dernière dimension.
L'exemple de règle suivant comptabilise les métriques uniques :
$outcome_variable = max(metrics.auth_attempts_total(
period: 1d,
window: 30d,
// This metric type indicates any filter with a wildcard value should be
// aggregated over each day to produce a new metric on-the-fly.
metric: num_unique_filter_values,
agg: max,
target.user.userid: $userid,
// Filter whose value should be counted over each day to produce the
// num_unique_filter_values metric.
principal.ip_geo_artifact.location.country_or_region: *
))
Fonctions
Cette section inclut la documentation sur les fonctions de métriques spécifiques compatibles avec Google Security Operations.
Événements d'alerte
metrics.alert_event_name_count précalcule les valeurs historiques des événements UDM pour lesquels des alertes ont été générées par Carbon Black, CrowdStrike Falcon, les alertes de l'API Microsoft Graph ou Microsoft Sentinel.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_id, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.full_path, principal.user.employee_id, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.full_path, principal.user.userid, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.full_path, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.sha256, principal.user.employee_id, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.sha256, principal.user.userid, security_result.rule_nameprincipal.asset.asset_id, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_nameprincipal.asset.asset_id, security_result.rule_nameprincipal.asset.hostname, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_nameprincipal.asset.hostname, principal.process.file.full_path, principal.user.employee_id, security_result.rule_nameprincipal.asset.hostname, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_nameprincipal.asset.hostname, principal.process.file.full_path, principal.user.userid, security_result.rule_nameprincipal.asset.hostname, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_nameprincipal.asset.hostname, principal.process.file.full_path, security_result.rule_nameprincipal.asset.hostname, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_nameprincipal.asset.hostname, principal.process.file.sha256, principal.user.employee_id, security_result.rule_nameprincipal.asset.hostname, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_nameprincipal.asset.hostname, principal.process.file.sha256, principal.user.userid, security_result.rule_nameprincipal.asset.hostname, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_nameprincipal.asset.hostname, security_result.rule_nameprincipal.asset.ip, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_nameprincipal.asset.ip, principal.process.file.full_path, principal.user.employee_id, security_result.rule_nameprincipal.asset.ip, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_nameprincipal.asset.ip, principal.process.file.full_path, principal.user.userid, security_result.rule_nameprincipal.asset.ip, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_nameprincipal.asset.ip, principal.process.file.full_path, security_result.rule_nameprincipal.asset.ip, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_nameprincipal.asset.ip, principal.process.file.sha256, principal.user.employee_id, security_result.rule_nameprincipal.asset.ip, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_nameprincipal.asset.ip, principal.process.file.sha256, principal.user.userid, security_result.rule_nameprincipal.asset.ip, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_nameprincipal.asset.ip, security_result.rule_nameprincipal.asset.mac, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_nameprincipal.asset.mac, principal.process.file.full_path, principal.user.employee_id, security_result.rule_nameprincipal.asset.mac, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_nameprincipal.asset.mac, principal.process.file.full_path, principal.user.userid, security_result.rule_nameprincipal.asset.mac, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_nameprincipal.asset.mac, principal.process.file.full_path, security_result.rule_nameprincipal.asset.mac, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_nameprincipal.asset.mac, principal.process.file.sha256, principal.user.employee_id, security_result.rule_nameprincipal.asset.mac, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_nameprincipal.asset.mac, principal.process.file.sha256, principal.user.userid, security_result.rule_nameprincipal.asset.mac, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_nameprincipal.asset.mac, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.full_path, principal.user.employee_id, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.full_path, principal.user.userid, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.full_path, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.sha256, principal.user.employee_id, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.sha256, principal.user.userid, security_result.rule_nameprincipal.asset.product_object_id, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_nameprincipal.asset.product_object_id, security_result.rule_name
Tentatives d'authentification
metrics.auth_attempts_total précalcule les valeurs historiques des événements UDM avec un USER_LOGIN event
type.
metrics.auth_attempts_success exige également que l'événement ait eu au moins un SecurityResult.Action de ALLOW.
metrics.auth_attempts_fail exige plutôt qu'aucun des SecurityResult.Actions n'ait été ALLOW.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_idprincipal.asset.asset_id,target.asset.asset_idprincipal.asset.asset_id,target.asset.hostnameprincipal.asset.asset_id,target.asset.ipprincipal.asset.asset_id,target.asset.macprincipal.asset.asset_id,target.asset.product_object_idprincipal.asset.hostnameprincipal.asset.hostname,target.asset.asset_idprincipal.asset.hostname,target.asset.hostnameprincipal.asset.hostname,target.asset.ipprincipal.asset.hostname,target.asset.macprincipal.asset.hostname,target.asset.product_object_idprincipal.asset.ipprincipal.asset.ip,target.asset.asset_idprincipal.asset.ip,target.asset.hostnameprincipal.asset.ip,target.asset.ipprincipal.asset.ip,target.asset.macprincipal.asset.ip,target.asset.product_object_idprincipal.asset.macprincipal.asset.mac,target.asset.asset_idprincipal.asset.mac,target.asset.hostnameprincipal.asset.mac,target.asset.ipprincipal.asset.mac,target.asset.macprincipal.asset.mac,target.asset.product_object_idprincipal.asset.product_object_idprincipal.asset.product_object_id,target.asset.asset_idprincipal.asset.product_object_id,target.asset.hostnameprincipal.asset.product_object_id,target.asset.ipprincipal.asset.product_object_id,target.asset.macprincipal.asset.product_object_id,target.asset.product_object_idprincipal.user.email_addressesprincipal.user.email_addresses,target.asset.asset_idprincipal.user.email_addresses,target.asset.hostnameprincipal.user.email_addresses,target.asset.ipprincipal.user.email_addresses,target.asset.macprincipal.user.email_addresses,target.asset.product_object_idprincipal.user.employee_idprincipal.user.employee_id,target.asset.asset_idprincipal.user.employee_id,target.asset.hostnameprincipal.user.employee_id,target.asset.ipprincipal.user.employee_id,target.asset.macprincipal.user.employee_id,target.asset.product_object_idprincipal.user.product_object_idprincipal.user.product_object_id,target.asset.asset_idprincipal.user.product_object_id,target.asset.hostnameprincipal.user.product_object_id,target.asset.ipprincipal.user.product_object_id,target.asset.macprincipal.user.product_object_id,target.asset.product_object_idprincipal.user.useridprincipal.user.userid,target.asset.asset_idprincipal.user.userid,target.asset.hostnameprincipal.user.userid,target.asset.ipprincipal.user.userid,target.asset.macprincipal.user.userid,target.asset.product_object_idprincipal.user.windows_sidprincipal.user.windows_sid,target.asset.asset_idprincipal.user.windows_sid,target.asset.hostnameprincipal.user.windows_sid,target.asset.ipprincipal.user.windows_sid,target.asset.macprincipal.user.windows_sid,target.asset.product_object_idtarget.applicationtarget.user.email_addressestarget.user.email_addresses,network.tls.client.certificate.sha256target.user.email_addresses,principal.ip_geo_artifact.location.country_or_regiontarget.user.email_addresses,principal.ip_geo_artifact.network.organization_nametarget.user.email_addresses,target.applicationtarget.user.employee_idtarget.user.employee_id,network.tls.client.certificate.sha256target.user.employee_id,principal.ip_geo_artifact.location.country_or_regiontarget.user.employee_id,principal.ip_geo_artifact.network.organization_nametarget.user.employee_id,target.applicationtarget.user.product_object_idtarget.user.product_object_id,network.tls.client.certificate.sha256target.user.product_object_id,principal.ip_geo_artifact.location.country_or_regiontarget.user.product_object_id,principal.ip_geo_artifact.network.organization_nametarget.user.product_object_id,target.applicationtarget.user.useridtarget.user.userid,network.tls.client.certificate.sha256target.user.userid,principal.ip_geo_artifact.location.country_or_regiontarget.user.userid,principal.ip_geo_artifact.network.organization_nametarget.user.userid,target.applicationtarget.user.windows_sidtarget.user.windows_sid,network.tls.client.certificate.sha256target.user.windows_sid,principal.ip_geo_artifact.location.country_or_regiontarget.user.windows_sid,principal.ip_geo_artifact.network.organization_nametarget.user.windows_sid,target.application
metrics.auth_attempts_total comporte des champs UDM supplémentaires disponibles en tant que filtres.
target.application,target.asset.asset_idtarget.application,target.asset.hostnametarget.application,target.asset.iptarget.application,target.asset.mactarget.application,target.asset.product_object_id
metrics.auth_attempts_success comporte des champs UDM supplémentaires disponibles en tant que filtres.
network.http.user_agentprincipal.asset.asset_id,metadata.event_typeprincipal.asset.hostname,metadata.event_typeprincipal.asset.ip,metadata.event_typeprincipal.asset.mac,metadata.event_typeprincipal.asset.product_object_id,metadata.event_type
Octets DNS sortants
metrics.dns_bytes_outbound précalcule les valeurs historiques pour les événements UDM où network.sent_bytes est supérieur à 0 et où le port cible est 53/udp, 53/tcp ou 3000/tcp.
network.sent_bytes est disponible en tant que value_sum.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_idprincipal.asset.asset_id,target.ipprincipal.asset.hostnameprincipal.asset.hostname,target.ipprincipal.asset.ipprincipal.asset.ip,target.ipprincipal.asset.macprincipal.asset.mac,target.ipprincipal.asset.product_object_idprincipal.asset.product_object_id,target.ipprincipal.user.email_addressesprincipal.user.email_addresses,target.ipprincipal.user.employee_idprincipal.user.employee_id,target.ipprincipal.user.product_object_idprincipal.user.product_object_id,target.ipprincipal.user.useridprincipal.user.userid,target.ipprincipal.user.windows_sidprincipal.user.windows_sid,target.iptarget.ip
Requêtes DNS
metrics.dns_queries_total précalcule les valeurs historiques des événements UDM qui ont une valeur dans network.dns.id.
metrics.dns_queries_success exige également que network.dns.response_code
était 0 (NoError).
metrics.dns_queries_fail ne prend en compte que les événements avec un network.dns.response_code
supérieur à 0.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_idprincipal.asset.asset_id,network.dns_domainprincipal.asset.asset_id,network.dns.questions.typeprincipal.asset.hostnameprincipal.asset.hostname,network.dns_domainprincipal.asset.hostname,network.dns.questions.typeprincipal.asset.ipprincipal.asset.ip,network.dns_domainprincipal.asset.ip,network.dns.questions.typeprincipal.asset.macprincipal.asset.mac,network.dns_domainprincipal.asset.mac,network.dns.questions.typeprincipal.asset.product_object_idprincipal.asset.product_object_id,network.dns_domainprincipal.asset.product_object_id,network.dns.questions.typeprincipal.user.email_addressesprincipal.user.email_addresses,network.dns_domainprincipal.user.email_addresses,network.dns.questions.typeprincipal.user.employee_idprincipal.user.employee_id,network.dns_domainprincipal.user.employee_id,network.dns.questions.typeprincipal.user.product_object_idprincipal.user.product_object_id,network.dns_domainprincipal.user.product_object_id,network.dns.questions.typeprincipal.user.useridprincipal.user.userid,network.dns_domainprincipal.user.userid,network.dns.questions.typeprincipal.user.windows_sidprincipal.user.windows_sid,network.dns_domainprincipal.user.windows_sid,network.dns.questions.type
Exécutions de fichiers
metrics.file_executions_total précalcule les valeurs historiques des événements UDM avec un PROCESS_LAUNCH event
type.
metrics.file_executions_success exige également que l'événement ait au moins un SecurityResult.Action de ALLOW.
metrics.file_executions_fail exige qu'aucun des SecurityResult.Actions n'ait été ALLOW.
Liste complète des champs UDM disponibles en tant que filtres
metadata.event_type,principal.process.file.sha256metadata.event_type,principal.asset.asset_id,principal.process.file.sha256metadata.event_type,principal.asset.hostname,principal.process.file.sha256metadata.event_type,principal.asset.ip,principal.process.file.sha256metadata.event_type,principal.asset.mac,principal.process.file.sha256metadata.event_type,principal.asset.product_object_id,principal.process.file.sha256metadata.event_type,principal.user.email_addresses,principal.process.file.sha256metadata.event_type,principal.user.employee_id,principal.process.file.sha256metadata.event_type,principal.user.product_object_id,principal.process.file.sha256metadata.event_type,principal.user.userid,principal.process.file.sha256metadata.event_type,principal.user.windows_sid,principal.process.file.sha256
Requêtes HTTP
metrics.http_queries_total précalcule les valeurs historiques des événements UDM qui ont une valeur dans network.http.method.
metrics.http_queries_success exige également que network.http.response_code est inférieur à 400.
metrics.http_queries_fail ne prend en compte que les événements avec un network.http.response_code est supérieur ou égal à 400.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_idprincipal.asset.asset_id,network.http.user_agentprincipal.asset.hostnameprincipal.asset.hostname,network.http.user_agentprincipal.asset.ipprincipal.asset.ip,network.http.user_agentprincipal.asset.macprincipal.asset.mac,network.http.user_agentprincipal.asset.product_object_idprincipal.asset.product_object_id,network.http.user_agentprincipal.user.email_addressesprincipal.user.email_addresses,network.http.user_agentprincipal.user.employee_idprincipal.user.employee_id,network.http.user_agentprincipal.user.product_object_idprincipal.user.product_object_id,network.http.user_agentprincipal.user.useridprincipal.user.userid,network.http.user_agentprincipal.user.windows_sidprincipal.user.windows_sid,network.http.user_agent
Octets réseau
metrics.network_bytes_inbound précalcule les valeurs historiques des événements UDM dont la valeur network est non nulle.received_bytes,
et rend ce champ disponible sous la forme value_sum.
metrics.network_bytes_outbound nécessite une valeur non nulle pour network.sent_bytes et rend ce champ disponible sous la forme value_sum.
metrics.network_bytes_total prend en compte les événements dont la valeur est non nulle pour network.received_bytes ou network.sent_bytes (ou les deux), et met la somme de ces deux champs à disposition sous la forme value_sum.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_idprincipal.asset.asset_id,principal.ip_geo_artifact.location.country_or_regionprincipal.asset.asset_id,security_result.categoryprincipal.asset.asset_id,target.ip_geo_artifact.network.organization_nameprincipal.asset.hostnameprincipal.asset.hostname,principal.ip_geo_artifact.location.country_or_regionprincipal.asset.hostname,security_result.categoryprincipal.asset.hostname,target.ip_geo_artifact.network.organization_nameprincipal.asset.ipprincipal.asset.ip,principal.ip_geo_artifact.location.country_or_regionprincipal.asset.ip,security_result.categoryprincipal.asset.ip,target.ip_geo_artifact.network.organization_nameprincipal.asset.macprincipal.asset.mac,principal.ip_geo_artifact.location.country_or_regionprincipal.asset.mac,security_result.categoryprincipal.asset.mac,target.ip_geo_artifact.network.organization_nameprincipal.asset.product_object_idprincipal.asset.product_object_id,principal.ip_geo_artifact.location.country_or_regionprincipal.asset.product_object_id,security_result.categoryprincipal.asset.product_object_id,target.ip_geo_artifact.network.organization_nameprincipal.user.email_addressesprincipal.user.email_addresses,principal.ip_geo_artifact.location.country_or_regionprincipal.user.email_addresses,security_result.categoryprincipal.user.email_addresses,target.ip_geo_artifact.network.organization_nameprincipal.user.employee_idprincipal.user.employee_id,principal.ip_geo_artifact.location.country_or_regionprincipal.user.employee_id,security_result.categoryprincipal.user.employee_id,target.ip_geo_artifact.network.organization_nameprincipal.user.product_object_idprincipal.user.product_object_id,principal.ip_geo_artifact.location.country_or_regionprincipal.user.product_object_id,security_result.categoryprincipal.user.product_object_id,target.ip_geo_artifact.network.organization_nameprincipal.user.useridprincipal.user.userid,principal.ip_geo_artifact.location.country_or_regionprincipal.user.userid,security_result.categoryprincipal.user.userid,target.ip_geo_artifact.network.organization_nameprincipal.user.windows_sidprincipal.user.windows_sid,principal.ip_geo_artifact.location.country_or_regionprincipal.user.windows_sid,security_result.categoryprincipal.user.windows_sid,target.ip_geo_artifact.network.organization_name
Création de ressources
metrics.resource_creation_total précalcule les valeurs historiques des événements UDM avec une RESOURCE_CREATION event
type ou une USER_RESOURCE_CREATION event
type.
Pour obtenir la liste des types d'événements équivalents, consultez Types d'événements de métadonnées.
metrics.resource_creation_success exige également que l'événement comporte au moins un SecurityResult.Action de ALLOW.
Liste complète des champs UDM disponibles en tant que filtres
principal.user.email_addresses,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,metadata.vendor_name,metadata.product_nameprincipal.user.userid,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.userid,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.userid,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.employee_id,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.product_object_id,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.userid,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.windows_sid,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.email_addresses,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.userid,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.employee_id,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.product_object_id,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.userid,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.windows_sid,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nametarget.user.email_addresses,metadata.vendor_name,metadata.product_nametarget.user.employee_id,metadata.vendor_name,metadata.product_nametarget.user.product_object_id,metadata.vendor_name,metadata.product_nametarget.user.userid,metadata.vendor_name,metadata.product_nametarget.user.windows_sid,metadata.vendor_name,metadata.product_name
Suppression de ressources
metrics.resource_deletion_success précalcule les valeurs historiques des événements UDM avec un RESOURCE_DELETION event
type et exige en outre que l'événement comporte au moins un SecurityResult.Actions de ALLOW.
Liste complète des champs UDM disponibles en tant que filtres
principal.user.email_addresses,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,metadata.vendor_name,metadata.product_nameprincipal.user.userid,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.userid,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.userid,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.employee_id,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.product_object_id,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.userid,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.windows_sid,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.email_addresses,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.userid,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.employee_id,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.product_object_id,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.userid,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.windows_sid,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nametarget.user.email_addresses,metadata.vendor_name,metadata.product_nametarget.user.employee_id,metadata.vendor_name,metadata.product_nametarget.user.product_object_id,metadata.vendor_name,metadata.product_nametarget.user.userid,metadata.vendor_name,metadata.product_nametarget.user.windows_sid,metadata.vendor_name,metadata.product_name
Lecture de ressources
metrics.resource_read_success précalcule les valeurs historiques des événements UDM avec un RESOURCE_READ event
type et exige en outre que l'événement comporte au moins un SecurityResult.Action de ALLOW.
metrics.resource_read_fail exige qu'aucun des SecurityResult.Actions ne soit ALLOW.
Liste complète des champs UDM disponibles en tant que filtres
principal.user.email_addresses,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,metadata.vendor_name,metadata.product_nameprincipal.user.userid,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.userid,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,principal.ip,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.userid,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,target.application,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.employee_id,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.product_object_id,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.userid,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.windows_sid,target.application,target.location.name,metadata.vendor_nameetmetadata.product_nameprincipal.user.email_addresses,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.employee_id,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.product_object_id,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.userid,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.windows_sid,target.resource.name,metadata.vendor_name,metadata.product_nameprincipal.user.email_addresses,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.employee_id,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.product_object_id,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.userid,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nameprincipal.user.windows_sid,target.resource.name,target.resource_type,metadata.vendor_nameetmetadata.product_nametarget.user.email_addresses,metadata.vendor_name,metadata.product_nametarget.user.employee_id,metadata.vendor_name,metadata.product_nametarget.user.product_object_id,metadata.vendor_name,metadata.product_nametarget.user.userid,metadata.vendor_name,metadata.product_nametarget.user.windows_sid,metadata.vendor_name,metadata.product_name
Limites applicables aux métriques
Lorsque vous créez des règles YARA-L avec des métriques, tenez compte des limites suivantes :
- Vous ne pouvez pas joindre une métrique avec une valeur par défaut (
""pour les chaînes et0pour les entiers). - Valeurs par défaut :
- Si aucune donnée de métrique ne correspond à un événement, la valeur renvoyée par la fonction de métrique est 0.
- Si un événement de la détection ne comporte aucune donnée de métrique, l'utilisation de
minpour agréger la fonction peut renvoyer 0. - Pour vérifier si des données sont disponibles pour un événement, vous pouvez utiliser l'agrégation de métriques
num_metric_periodssur ce même événement avec les mêmes filtres.
- Les fonctions de métrique ne peuvent être utilisées que dans la section "Résultat".
- Étant donné que les fonctions de métrique ne sont utilisées que dans la section "Résultat", elles doivent être agrégées comme n'importe quelle autre valeur dans les règles comportant une section "Correspondance".
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.