Créer des règles pour l'analyse des risques
Ce document décrit les principaux éléments des nouvelles fonctionnalités de syntaxe YARA-L pour l'analyse des risques. Pour en savoir plus sur YARA-L, consultez la section Syntaxe du langage YARA-L 2.0.
Fonctions de métriques YARA-L
Google Security Operations accepte un certain nombre de fonctions de métriques permettant d'agréger de grandes quantités de données historiques.
La fonction de métriques ne peut être utilisée que dans la section de résultat. Tous les exemples d'appels de fonction supposent une utilisation dans une règle multi-événements.
Toutes les règles qui utilisent la fonction de métriques sont automatiquement catégorisées en tant que règles multi-événements, même si elles n'ont pas de section de correspondance et n'utilisent qu'une seule variable d'événement. Cela signifie qu'elles seront comptabilisées dans le quota de règles pour plusieurs événements.
Paramètres de fonction
Les fonctions de métriques peuvent être utilisées pour des règles qui effectuent une analyse comportementale des entités.
Par exemple, la règle suivante indique le nombre maximal d'octets quotidiens qu'une adresse IP spécifique a envoyés au cours du mois dernier. L'adresse IP spécifique est représentée par une variable d'espace réservé, $ip
dans cet exemple. Pour en savoir plus sur les variables d'espace réservé, consultez Déclarations de variables.
$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, elles utilisent 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 des événements de journaux individuels sont combinés en une seule observation. Les seules valeurs autorisées sont 1h
et 1d
.
Window
Durée pendant laquelle des observations individuelles sont agrégées en une seule valeur, telle que la moyenne et le maximum. Les valeurs autorisées pour window
sont basées sur la période de la métrique. Le mappage valide est le suivant:
period:1h
: window:today
period:1d
: window:30d
Par exemple, la règle suivante indique le nombre maximal de tentatives d'authentification ayant échoué pour un utilisateur spécifique (Alice) au cours des 30 derniers jours:
$user = "alice"
$max_fail = max(metrics.auth_attempts_fail(
period:1d, window:30d,
metric:event_count_sum,
agg:max,
target.user.userid:$user
))
Vous pouvez utiliser une combinaison de métriques horaires et quotidiennes pour les types de détection first-seen
. Par exemple, la règle suivante vous indique si un utilisateur se connecte à cette application pour la première fois:
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
Au cours de chaque période, chaque observation est associée à un certain nombre de métriques.
L'une d'entre elles doit être sélectionnée pour une agrégation sur l'ensemble de la fenêtre. Cinq types d'metric
sont acceptés:
event_count_sum
: nombre d'événements de journaux uniques au cours de chaque période.
first_seen
: horodatage de la première occurrence d'un événement de journal correspondant au cours de chaque période.
last_seen
: horodatage de la dernière occurrence d'un événement de journal correspondant au cours de chaque période.
value_sum
: représente la somme du nombre d'octets de tous les événements de journaux combinés au cours de la période. Vous ne pouvez utiliser cette valeur que pour les fonctions de métriques dont le nom contient bytes
.
num_unique_filter_values
: métrique qui n'est pas précalculée par Google Security Operations, mais qui peut être calculée lors de l'exécution de la règle. Pour en savoir plus et connaître les conditions requises, consultez la section Nombre de métriques uniques.
Agg.
Agrégation appliquée à la métrique. Les agrégations sont appliquées sur toute la période (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
: plus petite valeur par période.
num_metric_periods
: nombre de périodes au sein de la fenêtre temporelle ayant une valeur de métrique 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 fenêtre.
Par exemple, la règle suivante vous 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 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 connexion d'un utilisateur spécifique:
$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 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
))
Filtrer
Les filtres permettent de filtrer les métriques avant l'agrégation en fonction d'une valeur de 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 des événements) qui ne contient aucun champ ni espace réservé d'événement. Les seules variables qui peuvent être incluses dans cette condition sont les types de métriques.
La règle suivante ne comprend que les métriques pour lesquelles 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 valides de filtres
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
Les métriques sont filtrées selon un, deux ou trois champs UDM, selon la fonction. Pour en savoir plus, consultez la page Fonctions.
Les types suivants de champs UDM sont utilisés pour les fonctions de métriques:
- Dimensions (obligatoire) : cette documentation présente différentes combinaisons. Vous ne pouvez pas joindre une métrique à une valeur par défaut (
""
pour la chaîne et0
pour des entiers). - 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 utiliser unprincipal.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.
Fenêtres quotidiennes
Toutes les fenêtres quotidiennes, telles que 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 n'entrent pas en conflit avec la période de la règle. Le calcul des métriques quotidiennes peut prendre jusqu'à six heures et ne commence pas avant la fin de la journée (en heure UTC). Les données de métriques de la veille sont disponibles chaque jour à 6h UTC ou avant.
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 de métriques utilisera donc les données du 01/10/2023 au 31/10/2023 (inclus). En revanche, pour une règle qui s'exécute sur les données d'événement du 31/10/2023 1h00 UTC au 31/10-2023 3h00 UTC, les métriques quotidiennes du 30/10/2023 n'auront probablement pas été générées. Le calcul de métriques utilisera donc les données du 30/09-2023 au 30/09-2023 (2023-09-30-02-02-02.)
Fenêtre de today
par heure
La fenêtre de métrique horaire est calculée très différemment de la fenêtre des métriques quotidiennes. La fenêtre de métrique horaire de today
n'est pas une taille statique, contrairement à la fenêtre de métrique 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 2023-10-31 4:00:00 UTC au 2023-10-31 7:00:00 UTC, le calcul de la métrique quotidienne utilisera les données du 01/10/2023 au 30/10/2023 4:00:00 UTC au 31-10-2023 UTC:0, le calcul de la métrique quotidienne utilisera les données du 01/10/2023 au 30/10/2023 4:00:00 UTC-3 (inclus).
Comptabiliser les métriques uniques
Il existe un type spécial de métrique num_unique_filter_values
qui n'est pas précalculé par Google Security Operations, mais qui est calculé lors de l'exécution d'une règle. Cela se fait en agrégeant 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
dans peut être dérivée des métriques auth_attempts_total
précalculées pour les dimensions target.user.userid
et principal.ip_geo_artifact.location.country_or_region
en effectuant une agrégation de décompte unique sur cette dernière dimension.
L'exemple de règle suivant comptabilise des 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: *
))
Cette fonctionnalité présente les limites suivantes:
- Le calcul du nombre de métriques uniques ne peut être agrégé que sur une dimension de filtre. Pour ce faire, utilisez le jeton générique
*
comme valeur de filtre.
Fonctions
Cette section inclut de la documentation sur les fonctions de métriques spécifiques compatibles avec Google Security Operations.
Événements d'alerte
metics.alert_event_name_count
précalcule les valeurs historiques des événements UDM dont la valeur est différente de zéro pour les alertes avec un certain nombre d'alertes générées dans Google Workspace received_bytes
et rend ce champ disponible en tant que value_sum
.
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_name
principal.asset.asset_id, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
principal.asset.asset_id, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
principal.asset.asset_id, principal.process.file.full_path, principal.user.userid, security_result.rule_name
principal.asset.asset_id, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
principal.asset.asset_id, principal.process.file.full_path, security_result.rule_name
principal.asset.asset_id, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
principal.asset.asset_id, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
principal.asset.asset_id, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
principal.asset.asset_id, principal.process.file.sha256, principal.user.userid, security_result.rule_name
principal.asset.asset_id, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
principal.asset.asset_id, security_result.rule_name
principal.asset.hostname, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
principal.asset.hostname, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
principal.asset.hostname, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
principal.asset.hostname, principal.process.file.full_path, principal.user.userid, security_result.rule_name
principal.asset.hostname, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
principal.asset.hostname, principal.process.file.full_path, security_result.rule_name
principal.asset.hostname, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
principal.asset.hostname, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
principal.asset.hostname, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
principal.asset.hostname, principal.process.file.sha256, principal.user.userid, security_result.rule_name
principal.asset.hostname, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
principal.asset.hostname, security_result.rule_name
principal.asset.ip, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
principal.asset.ip, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
principal.asset.ip, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
principal.asset.ip, principal.process.file.full_path, principal.user.userid, security_result.rule_name
principal.asset.ip, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
principal.asset.ip, principal.process.file.full_path, security_result.rule_name
principal.asset.ip, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
principal.asset.ip, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
principal.asset.ip, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
principal.asset.ip, principal.process.file.sha256, principal.user.userid, security_result.rule_name
principal.asset.ip, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
principal.asset.ip, security_result.rule_name
principal.asset.mac, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
principal.asset.mac, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
principal.asset.mac, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
principal.asset.mac, principal.process.file.full_path, principal.user.userid, security_result.rule_name
principal.asset.mac, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
principal.asset.mac, principal.process.file.full_path, security_result.rule_name
principal.asset.mac, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
principal.asset.mac, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
principal.asset.mac, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
principal.asset.mac, principal.process.file.sha256, principal.user.userid, security_result.rule_name
principal.asset.mac, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
principal.asset.mac, security_result.rule_name
principal.asset.product_object_id, principal.process.file.full_path, principal.user.email_addresses, security_result.rule_name
principal.asset.product_object_id, principal.process.file.full_path, principal.user.employee_id, security_result.rule_name
principal.asset.product_object_id, principal.process.file.full_path, principal.user.product_object_id, security_result.rule_name
principal.asset.product_object_id, principal.process.file.full_path, principal.user.userid, security_result.rule_name
principal.asset.product_object_id, principal.process.file.full_path, principal.user.windows_sid, security_result.rule_name
principal.asset.product_object_id, principal.process.file.full_path, security_result.rule_name
principal.asset.product_object_id, principal.process.file.sha256, principal.user.email_addresses, security_result.rule_name
principal.asset.product_object_id, principal.process.file.sha256, principal.user.employee_id, security_result.rule_name
principal.asset.product_object_id, principal.process.file.sha256, principal.user.product_object_id, security_result.rule_name
principal.asset.product_object_id, principal.process.file.sha256, principal.user.userid, security_result.rule_name
principal.asset.product_object_id, principal.process.file.sha256, principal.user.windows_sid, security_result.rule_name
principal.asset.product_object_id, security_result.rule_name
Tentatives d'authentification
metrics.auth_attempts_total
précalcule les valeurs historiques pour les événements UDM avec un USER_LOGIN
event
type
.
metrics.auth_attempts_success
exige en outre que l'événement ait au moins un élément SecurityResult.Action
de ALLOW
.
metrics.auth_attempts_fail
exige à la place qu'aucun des SecurityResult.Actions
ne soit ALLOW
.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_id
principal.asset.asset_id
,target.asset.asset_id
principal.asset.asset_id
,target.asset.hostname
principal.asset.asset_id
,target.asset.ip
principal.asset.asset_id
,target.asset.mac
principal.asset.asset_id
,target.asset.product_object_id
principal.asset.hostname
principal.asset.hostname
,target.asset.asset_id
principal.asset.hostname
,target.asset.hostname
principal.asset.hostname
,target.asset.ip
principal.asset.hostname
,target.asset.mac
principal.asset.hostname
,target.asset.product_object_id
principal.asset.ip
principal.asset.ip
,target.asset.asset_id
principal.asset.ip
,target.asset.hostname
principal.asset.ip
,target.asset.ip
principal.asset.ip
,target.asset.mac
principal.asset.ip
,target.asset.product_object_id
principal.asset.mac
principal.asset.mac
,target.asset.asset_id
principal.asset.mac
,target.asset.hostname
principal.asset.mac
,target.asset.ip
principal.asset.mac
,target.asset.mac
principal.asset.mac
,target.asset.product_object_id
principal.asset.product_object_id
principal.asset.product_object_id
,target.asset.asset_id
principal.asset.product_object_id
,target.asset.hostname
principal.asset.product_object_id
,target.asset.ip
principal.asset.product_object_id
,target.asset.mac
principal.asset.product_object_id
,target.asset.product_object_id
principal.user.email_addresses
principal.user.email_addresses
,target.asset.asset_id
principal.user.email_addresses
,target.asset.hostname
principal.user.email_addresses
,target.asset.ip
principal.user.email_addresses
,target.asset.mac
principal.user.email_addresses
,target.asset.product_object_id
principal.user.employee_id
principal.user.employee_id
,target.asset.asset_id
principal.user.employee_id
,target.asset.hostname
principal.user.employee_id
,target.asset.ip
principal.user.employee_id
,target.asset.mac
principal.user.employee_id
,target.asset.product_object_id
principal.user.product_object_id
principal.user.product_object_id
,target.asset.asset_id
principal.user.product_object_id
,target.asset.hostname
principal.user.product_object_id
,target.asset.ip
principal.user.product_object_id
,target.asset.mac
principal.user.product_object_id
,target.asset.product_object_id
principal.user.userid
principal.user.userid
,target.asset.asset_id
principal.user.userid
,target.asset.hostname
principal.user.userid
,target.asset.ip
principal.user.userid
,target.asset.mac
principal.user.userid
,target.asset.product_object_id
principal.user.windows_sid
principal.user.windows_sid
,target.asset.asset_id
principal.user.windows_sid
,target.asset.hostname
principal.user.windows_sid
,target.asset.ip
principal.user.windows_sid
,target.asset.mac
principal.user.windows_sid
,target.asset.product_object_id
target.application
target.user.email_addresses
target.user.email_addresses
,network.tls.client.certificate.sha256
target.user.email_addresses
,principal.ip_geo_artifact.location.country_or_region
target.user.email_addresses
,principal.ip_geo_artifact.network.organization_name
target.user.email_addresses
,target.application
target.user.employee_id
target.user.employee_id
,network.tls.client.certificate.sha256
target.user.employee_id
,principal.ip_geo_artifact.location.country_or_region
target.user.employee_id
,principal.ip_geo_artifact.network.organization_name
target.user.employee_id
,target.application
target.user.product_object_id
target.user.product_object_id
,network.tls.client.certificate.sha256
target.user.product_object_id
,principal.ip_geo_artifact.location.country_or_region
target.user.product_object_id
,principal.ip_geo_artifact.network.organization_name
target.user.product_object_id
,target.application
target.user.userid
target.user.userid
,network.tls.client.certificate.sha256
target.user.userid
,principal.ip_geo_artifact.location.country_or_region
target.user.userid
,principal.ip_geo_artifact.network.organization_name
target.user.userid
,target.application
target.user.windows_sid
target.user.windows_sid
,network.tls.client.certificate.sha256
target.user.windows_sid
,principal.ip_geo_artifact.location.country_or_region
target.user.windows_sid
,principal.ip_geo_artifact.network.organization_name
target.user.windows_sid
,target.application
metrics.auth_attempts_total
propose des champs UDM supplémentaires comme filtres
target.application
,target.asset.asset_id
target.application
,target.asset.hostname
target.application
,target.asset.ip
target.application
,target.asset.mac
target.application
,target.asset.product_object_id
metrics.auth_attempts_success
propose des champs UDM supplémentaires comme filtres
network.http.user_agent
principal.asset.asset_id
,metadata.event_type
principal.asset.hostname
,metadata.event_type
principal.asset.ip
,metadata.event_type
principal.asset.mac
,metadata.event_type
principal.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_id
principal.asset.asset_id
,target.ip
principal.asset.hostname
principal.asset.hostname
,target.ip
principal.asset.ip
principal.asset.ip
,target.ip
principal.asset.mac
principal.asset.mac
,target.ip
principal.asset.product_object_id
principal.asset.product_object_id
,target.ip
principal.user.email_addresses
principal.user.email_addresses
,target.ip
principal.user.employee_id
principal.user.employee_id
,target.ip
principal.user.product_object_id
principal.user.product_object_id
,target.ip
principal.user.userid
principal.user.userid
,target.ip
principal.user.windows_sid
principal.user.windows_sid
,target.ip
target.ip
Requêtes DNS
metrics.dns_queries_total
précalcule les valeurs historiques pour les événements UDM dont la valeur est comprise dans network
.dns.id
.
metrics.dns_queries_success
exige en outre que network
.dns.response_code
était 0
(NoError
).
metrics.dns_queries_fail
ne prend en compte que les événements avec network
.dns.response_code
supérieur à 0
.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_id
principal.asset.asset_id
,network.dns_domain
principal.asset.asset_id
,network.dns.questions.type
principal.asset.hostname
principal.asset.hostname
,network.dns_domain
principal.asset.hostname
,network.dns.questions.type
principal.asset.ip
principal.asset.ip
,network.dns_domain
principal.asset.ip
,network.dns.questions.type
principal.asset.mac
principal.asset.mac
,network.dns_domain
principal.asset.mac
,network.dns.questions.type
principal.asset.product_object_id
principal.asset.product_object_id
,network.dns_domain
principal.asset.product_object_id
,network.dns.questions.type
principal.user.email_addresses
principal.user.email_addresses
,network.dns_domain
principal.user.email_addresses
,network.dns.questions.type
principal.user.employee_id
principal.user.employee_id
,network.dns_domain
principal.user.employee_id
,network.dns.questions.type
principal.user.product_object_id
principal.user.product_object_id
,network.dns_domain
principal.user.product_object_id
,network.dns.questions.type
principal.user.userid
principal.user.userid
,network.dns_domain
principal.user.userid
,network.dns.questions.type
principal.user.windows_sid
principal.user.windows_sid
,network.dns_domain
principal.user.windows_sid
,network.dns.questions.type
Exécutions de fichiers
metrics.file_executions_total
précalcule les valeurs historiques pour les événements UDM avec un PROCESS_LAUNCH
event
type
.
metrics.file_executions_success
exige en outre que l'événement comporte au moins un élément SecurityResult.Action
de ALLOW
.
metrics.file_executions_fail
nécessite à la place qu'aucun des SecurityResult.Actions
ne soit ALLOW
.
Liste complète des champs UDM disponibles en tant que filtres
metadata.event_type
,principal.process.file.sha256
metadata.event_type
,principal.asset.asset_id
etprincipal.process.file.sha256
metadata.event_type
,principal.asset.hostname
,principal.process.file.sha256
metadata.event_type
,principal.asset.ip
,principal.process.file.sha256
metadata.event_type
,principal.asset.mac
,principal.process.file.sha256
metadata.event_type
,principal.asset.product_object_id
,principal.process.file.sha256
metadata.event_type
,principal.user.email_addresses
,principal.process.file.sha256
metadata.event_type
,principal.user.employee_id
,principal.process.file.sha256
metadata.event_type
,principal.user.product_object_id
,principal.process.file.sha256
metadata.event_type
,principal.user.userid
,principal.process.file.sha256
metadata.event_type
,principal.user.windows_sid
etprincipal.process.file.sha256
Requêtes HTTP
metrics.http_queries_total
précalcule les valeurs historiques pour les événements UDM dont la valeur est comprise dans network
.http.method
.
metrics.http_queries_success
requiert également que network
.http.response_code
est inférieur à 400.
metrics.http_queries_fail
ne prend en compte que les événements avec network
.http.response_code
est inférieur ou égal à 400.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_id
principal.asset.asset_id
,network.http.user_agent
principal.asset.hostname
principal.asset.hostname
,network.http.user_agent
principal.asset.ip
principal.asset.ip
,network.http.user_agent
principal.asset.mac
principal.asset.mac
,network.http.user_agent
principal.asset.product_object_id
principal.asset.product_object_id
,network.http.user_agent
principal.user.email_addresses
principal.user.email_addresses
,network.http.user_agent
principal.user.employee_id
principal.user.employee_id
,network.http.user_agent
principal.user.product_object_id
principal.user.product_object_id
,network.http.user_agent
principal.user.userid
principal.user.userid
,network.http.user_agent
principal.user.windows_sid
principal.user.windows_sid
,network.http.user_agent
Octets réseau
metrics.network_bytes_inbound
précalcule les valeurs historiques pour les événements UDM qui ont une valeur non nulle pour network
.received_bytes
et rend ce champ disponible en tant que value_sum
.
metrics.network_bytes_outbound
nécessite une valeur non nulle pour network
.sent_bytes
et rend ce champ disponible en tant que value_sum
.
metrics.network_bytes_total
prend en compte les événements qui ont une valeur non nulle pour network
.received_bytes
ou network
.sent_bytes
(ou les deux), et rend la somme de ces deux champs disponible en tant que value_sum
.
Liste complète des champs UDM disponibles en tant que filtres
principal.asset.asset_id
principal.asset.asset_id
,principal.ip_geo_artifact.location.country_or_region
principal.asset.asset_id
,security_result.category
principal.asset.asset_id
,target.ip_geo_artifact.network.organization_name
principal.asset.hostname
principal.asset.hostname
,principal.ip_geo_artifact.location.country_or_region
principal.asset.hostname
,security_result.category
principal.asset.hostname
,target.ip_geo_artifact.network.organization_name
principal.asset.ip
principal.asset.ip
,principal.ip_geo_artifact.location.country_or_region
principal.asset.ip
,security_result.category
principal.asset.ip
,target.ip_geo_artifact.network.organization_name
principal.asset.mac
principal.asset.mac
,principal.ip_geo_artifact.location.country_or_region
principal.asset.mac
,security_result.category
principal.asset.mac
,target.ip_geo_artifact.network.organization_name
principal.asset.product_object_id
principal.asset.product_object_id
,principal.ip_geo_artifact.location.country_or_region
principal.asset.product_object_id
,security_result.category
principal.asset.product_object_id
,target.ip_geo_artifact.network.organization_name
principal.user.email_addresses
principal.user.email_addresses
,principal.ip_geo_artifact.location.country_or_region
principal.user.email_addresses
,security_result.category
principal.user.email_addresses
,target.ip_geo_artifact.network.organization_name
principal.user.employee_id
principal.user.employee_id
,principal.ip_geo_artifact.location.country_or_region
principal.user.employee_id
,security_result.category
principal.user.employee_id
,target.ip_geo_artifact.network.organization_name
principal.user.product_object_id
principal.user.product_object_id
,principal.ip_geo_artifact.location.country_or_region
principal.user.product_object_id
,security_result.category
principal.user.product_object_id
,target.ip_geo_artifact.network.organization_name
principal.user.userid
principal.user.userid
,principal.ip_geo_artifact.location.country_or_region
principal.user.userid
,security_result.category
principal.user.userid
,target.ip_geo_artifact.network.organization_name
principal.user.windows_sid
principal.user.windows_sid
,principal.ip_geo_artifact.location.country_or_region
principal.user.windows_sid
,security_result.category
principal.user.windows_sid
,target.ip_geo_artifact.network.organization_name
Création de ressources
metrics.resource_creation_total
précalcule les valeurs historiques pour les événements UDM avec un RESOURCE_CREATION
event
type
.
metrics.resource_creation_success
exige en outre que l'événement comporte au moins un élément SecurityResult.Action
défini sur ALLOW
.
Liste complète des champs UDM disponibles en tant que filtres
target.user
,metadata.vendor_name
etmetadata.product_name
principal.user
,metadata.vendor_name
etmetadata.product_name
principal.user
,principal.ip
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.application
,metadata.vendor_name
etmetadata.product_name
target.resource.name
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.resource.name
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.location.name
,metadata.vendor_name
etmetadata.product_name
Suppression de ressources
metrics.resource_deletion_success
précalcule les valeurs historiques pour les événements UDM avec un RESOURCE_DELETION
event
type
et nécessite en outre que l'événement comporte au moins un élément SecurityResult.Actions
ALLOW
.
Liste complète des champs UDM disponibles en tant que filtres
target.user
,metadata.vendor_name
etmetadata.product_name
principal.user
,metadata.vendor_name
etmetadata.product_name
principal.user
,principal.ip
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.application
,metadata.vendor_name
etmetadata.product_name
target.resource.name
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.resource.name
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.location.name
,metadata.vendor_name
etmetadata.product_name
Lecture de la ressource
metrics.resource_read_success
précalcule les valeurs historiques pour les événements UDM avec un RESOURCE_READ
event
type
et nécessite en outre que l'événement comporte au moins un élément SecurityResult.Action
ALLOW
.
metrics.resource_read_fail
nécessite à la place qu'aucun des SecurityResult.Actions
ne soit ALLOW
.
Liste complète des champs UDM disponibles en tant que filtres
target.user
,metadata.vendor_name
etmetadata.product_name
principal.user
,metadata.vendor_name
etmetadata.product_name
principal.user
,principal.ip
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.application
,metadata.vendor_name
etmetadata.product_name
target.resource.name
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.resource.name
,metadata.vendor_name
etmetadata.product_name
principal.user
,target.location.name
,metadata.vendor_name
etmetadata.product_name
Limites
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 à une valeur par défaut (
""
pour la chaîne et0
pour un nombre entier). - 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étriques est 0.
- Si la détection comporte un événement sans données de métrique, l'utilisation de
min
pour 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
num_metric_periods
des métriques sur ce même événement avec les mêmes filtres.
- Les fonctions de métriques ne peuvent être utilisées que dans la section des résultats.
- Étant donné que les fonctions de métriques ne sont utilisées que dans la section des résultats, elles doivent être agrégées comme toute autre valeur dans les règles avec une section de correspondance.