위험 분석 규칙 만들기
이 문서에서는 위험 분석에 대한 새로운 YARA-L 구문 기능의 주요 요소에 대해 설명합니다. YARA-L에 대한 자세한 내용은 YARA-L 2.0 언어 구문을 참조하세요.
YARA-L 측정항목 함수
Google Security Operations에서는 대량의 과거 데이터를 집계할 수 있는 여러 측정항목 함수를 지원합니다.
측정항목 함수는 결과 섹션에서만 사용할 수 있습니다. 모든 함수 호출 예시는 멀티 이벤트 규칙에서 사용된다고 가정합니다.
측정항목 함수를 사용하는 모든 규칙은 멀티 이벤트 규칙으로 자동으로 분류되며 이는 일치 섹션이 없고 하나의 이벤트 변수만 사용하더라도 동일합니다. 즉, 다중 이벤트 규칙 할당량에 포함됩니다.
함수 매개변수
측정항목 함수는 항목 동작 분석을 수행하는 규칙에 사용할 수 있습니다.
예를 들어 다음 규칙은 특정 IP 주소가 이전 1개월 동안 전송한 최대 일별 바이트 수를 알려줍니다.
$max_bytes_per_day = max(metrics.network_bytes_outbound(
period:1d, window:30d,
metric:value_sum,
agg:max,
principal.asset.ip:$ip
))
이러한 함수에 사용되는 많은 수의 인수로 인해 여기에는 임의 순서로 지정할 수 있는 이름 지정된 매개변수가 사용됩니다. 매개변수는 다음과 같습니다.
기간
개별 로그 이벤트가 단일 관측에 조합되는 기간입니다. 허용되는 유일한 값은 1h
및 1d
입니다.
기간
개별 관측이 평균 및 최댓값과 같은 단일 값으로 집계되는 기간입니다. window
에 허용되는 값은 측정항목의 기간을 기준으로 합니다. 유효한 매핑은 다음과 같습니다.
period:1h
: window:today
period:1d
: window:30d
예를 들어 다음 규칙은 이전 30일을 기준으로 특정 일자에 특정 사용자(Alice)에 대해 확인된 실패한 인증 시도의 최대 횟수를 알려줍니다.
$user = "alice"
$max_fail = max(metrics.auth_attempts_fail(
period:1d, window:30d,
metric:event_count_sum,
agg:max,
target.user.userid:$user
))
시간 및 일별 측정항목 조합을 first-seen
유형의 감지에 사용할 수 있습니다. 예를 들어 다음 규칙은 사용자가 이 애플리케이션에 로그인한 것이 처음인지 여부를 알려줍니다.
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)
측정항목
각 기간 내에 각 관측에는 많은 수의 측정항목이 연결됩니다.
전체 기간에 대한 집계를 위해 이러한 측정항목 중 하나를 선택해야 합니다. 5가지 metric
유형이 지원됩니다.
event_count_sum
- 각 기간 내의 고유한 로그 이벤트 수입니다.
first_seen
- 각 기간 내의 일치하는 로그 이벤트가 처음 표시된 타임스탬프입니다.
last_seen
- 각 기간 내의 일치하는 로그 이벤트가 마지막으로 표시된 타임스탬프입니다.
value_sum
- 기간 내에 조합된 모든 로그 이벤트의 바이트 수 합계를 나타냅니다. 이름에 bytes
가 있는 측정항목 함수에만 이 값을 사용할 수 있습니다.
num_unique_filter_values
—Google Security Operations에서 사전 계산되지 않지만, 대신 규칙 실행 중에 계산할 수 있는 측정항목입니다. 자세한 내용과 요구사항은 고유 측정항목 수 계산을 참조하세요.
집계
측정항목에 적용되는 집계입니다. 집계는 전체 기간에 걸쳐서 적용됩니다(예: 이전 30일 동안 가장 높은 일별 값). 허용되는 값은 다음과 같습니다.
avg
- 기간별 평균 값입니다. 이는 0 값을 포함하지 않는 통계적 평균입니다.
max
- 기간별로 가장 큰 값입니다.
min
- 기간별로 가장 작은 값입니다.
num_metric_periods
- 측정항목 값이 0이 아닌 기간 범위 내의 기간 수입니다.
stddev
- 기간별 값의 표준 편차입니다. 이는 0 값을 포함하지 않는 통계적 표준 편차입니다.
sum
- 전체 기간 범위에서 기간별 각 값의 합계입니다.
예를 들어 다음 규칙은 이전 30일을 기준으로 특정 일자에 특정 사용자(Alice)에 대해 확인된 실패한 인증 시도의 평균 횟수를 알려줍니다.
$user = "alice"
$avg_fail = max(metrics.auth_attempts_fail(
period:1d, window:30d,
metric:event_count_sum,
agg:avg,
target.user.userid:$user
))
다음 규칙은 이전 30일 동안 특정 사용자가 수행한 성공한 인증 횟수를 알려줍니다.
$total_success = max(metrics.auth_attempts_success(
period:1d, window:30d,
metric:event_count_sum,
agg:sum,
target.user.userid:$user
))
다음 규칙은 이전 30일 동안 특정 사용자가 최소한 한 번 이상 성공적으로 로그인했는지 여부를 알려줍니다.
$days_success = max(metrics.auth_attempts_success(
period:1d, window:30d,
metric:event_count_sum,
agg:num_metric_periods,
target.user.userid:$user
))
다음 규칙은 특정 사용자가 성공적으로 로그인한 처음 시간 또는 마지막 시간을 알려줍니다.
$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
))
다음 규칙은 이전 30일 동안 특정 일에 사용자가 전송한 최대 바이트 수를 알려줍니다.
$max_daily_bytes = max(metrics.network_bytes_outbound(
period:1d, window:30d,
metric:value_sum,
agg:max,
target.user.userid:$user
))
필터
필터를 사용하면 사전 계산된 측정항목의 값으로 집계하기 전 측정항목을 필터링할 수 있습니다(측정항목의 값 참조). 필터는 이벤트 필드 또는 자리 표시자를 포함하지 않는 모든 유효한 이벤트 표현식(이벤트 섹션의 단일 줄)일 수 있습니다. 이 조건에 포함할 수 있는 유일한 변수는 측정항목 유형입니다.
다음 규칙에는 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
))
유효한 필터 예시
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
잘못된 필터 예시
// 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)
UDM 필드
측정항목은 함수에 따라 1, 2, 3 UDM 필드로 필터링됩니다. 자세한 내용은 함수를 참조하세요.
측정항목 함수에는 다음 유형의 UDM 필드가 사용됩니다.
- 정의 - (필수) 이 문서에서는 여러 다른 조합을 보여줍니다. 기본값(문자열의 경우
""
및 int의 경우0
)을 사용하여 측정항목을 조인할 수는 없습니다. - 네임스페이스 - (선택사항) 측정기준에 지정하는 항목에 대해서만 네임스페이스를 사용할 수 있습니다. 예를 들어
principal.asset.hostname filter
를 사용하는 경우principal.namespace filter
도 사용할 수 있습니다. 네임스페이스 필터를 포함하지 않으면 모든 네임스페이스의 데이터가 함께 집계됩니다. 기본값을 네임스페이스 필터로 사용할 수 있습니다.
기간 계산
Google Security Operations는 일일 또는 시간별 측정항목 기간을 사용하여 측정항목을 계산합니다.
일별 기간
30d
와 같은 모든 일별 기간은 동일한 방식으로 결정됩니다.
Google Security Operations에는 규칙 시간 범위와 겹치지 않고 생성된 최신 사용 가능한 측정항목 데이터가 사용됩니다. 일별 측정항목의 계산은 완료되는 데 최대 6시간까지 걸릴 수 있으며 해당 일의 마지막 시간(UTC 기준)까지 시작되지 않습니다. 전날의 측정항목 데이터는 매일 오전 6시(UTC 기준) 또는 그 이전에 제공됩니다.
예를 들어 2023년 10월 31일 오전 4시(UTC)부터 2023년 10월 31일 오전 7시(UTC)까지 이벤트 데이터에 대해 실행되는 규칙의 경우, 2023년 10월 31일의 일별 측정항목이 생성되었을 것이므로 측정항목 계산에 2023년 10월 1일부터 2023년 10월 30일(포함)까지의 데이터가 사용됩니다. 반면에 2023년 10월 31일 오전 1시(UTC)부터 2023년 10월 31일 오전 3시(UTC)까지의 이벤트 데이터로 실행되는 규칙의 경우에는 2023년 10월 30일의 일별 측정항목이 생성되지 않았을 것이므로 측정항목 계산에 2023년 9월 30일부터 2023년 10월 29일(포함)까지의 데이터가 사용됩니다.
시간별 today
기간
시간별 측정항목 기간은 일별 측정항목의 기간과 매우 다르게 계산됩니다. today
의 시간별 측정항목 기간은 일별 측정항목의 30d
기간과 같은 정적 크기가 아닙니다. 시간별 측정항목 기간 today
는 일별 기간의 종료 시점과 규칙 시간 기간의 시작 시점 사이에 가능한 한 많은 데이터를 채웁니다.
예를 들어 2023년 10월 31일 오전 4시(UTC)부터 2023년 10월 31일 오전 7시(UTC)까지의 이벤트 데이터로 실행되는 규칙의 경우 일별 측정항목 계산에 2023년 10월 1일부터 2023년 10월 30일(포함)까지의 데이터 사용되며 시간별 측정항목 기간에는 2023년 10월 31일 자정(UTC)부터 2023년 10월 31일 오전 4시(UTC)까지의 데이터가 사용됩니다.
고유 측정항목 수 계산
num_unique_filter_values
라는 특별한 유형의 측정항목은 Google Security Operations에서 사전 계산되지 않으며, 대신 규칙 실행 중에 계산됩니다. 이 작업은 사전 계산된 측정항목의 기존 측정기준에 따른 집계를 통해 수행됩니다. 예를 들어 daily total count of distinct countries that a user attempted to authenticate
측정항목은 target.user.userid
및 principal.ip_geo_artifact.location.country_or_region
측정기준에서 후자에 해당하는 측정기준에 따라 고유 집계 수 계산을 수행하여 사전 계산된 auth_attempts_total
측정항목에서 파생될 수 있습니다.
다음 예시 규칙은 고유 측정항목 수를 계산합니다.
$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: *
))
이 기능에는 다음과 같은 한계가 있습니다.
- 고유 측정항목 수 계산은 1개의 필터 측정기준에 대해서만 집계할 수 있습니다. 이는 와일드 카드 토큰
*
를 필터 값으로 사용하여 표시됩니다.
함수
이 섹션에서는 Google Security Operations에서 지원되는 특정 측정항목 함수에 대해 설명합니다.
인증 시도
metrics.auth_attempts_total
은 USER_LOGIN
이벤트 유형의 UDM 이벤트에 대해 이전 값을 사전 계산합니다.
metrics.auth_attempts_success
는 이벤트에 ALLOW
의 SecurityResult.Action이 하나 이상 있어야 합니다.
metrics.auth_attempts_fail
에는 대신 SecurityResult.Actions가 ALLOW
가 아니어야 합니다.
필터로 사용 가능한 UDM 필드 전체 목록
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
에 필터로 사용 가능한 추가 UDM 필드 포함
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
에 필터로 사용 가능한 추가 UDM 필드 포함
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
DNS 바이트 아웃바운드
metrics.dns_bytes_outbound
는 network.sent_bytes > 0
이 있는 UDM 이벤트의 이전 값을 사전 계산합니다. 대상 포트는 53/udp
, 53/tcp
, 3000/tcp
입니다.
network.sent_bytes
는 value_sum
으로 제공됩니다.
필터로 사용 가능한 UDM 필드 전체 목록
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
DNS 쿼리
metrics.dns_queries_total
은 network.dns.id
에 값이 있는 UDM 이벤트의 이전 값을 사전 계산합니다.
또한 metrics.dns_queries_success
에는 network.dns.response_code
가 0
(NoError
)이어야 합니다.
metrics.dns_queries_fail
은 network.dns.response_code
가 0
보다 큰 이벤트만 고려합니다.
필터로 사용 가능한 UDM 필드 전체 목록
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
파일 실행
metrics.file_executions_total
은 PROCESS_LAUNCH
이벤트 유형의 UDM 이벤트에 대해 이전 값을 사전 계산합니다.
metrics.file_executions_success
는 이벤트에 ALLOW
의 SecurityResult.Action이 하나 이상 있어야 합니다.
metrics.file_executions_fail
에는 대신 SecurityResult.Actions가 ALLOW
가 아니어야 합니다.
필터로 사용 가능한 UDM 필드 전체 목록
metadata.event_type
,principal.process.file.sha256
metadata.event_type
,principal.asset.asset_id
,principal.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
,principal.process.file.sha256
HTTP 쿼리
metrics.http_queries_total
은 network.http.method
에 값이 있는 UDM 이벤트의 이전 값을 사전 계산합니다.
metrics.http_queries_success
에는 network.http.response_code < 400
이 필요합니다.
metrics.http_queries_fail
은 network가 있는 이벤트만 고려합니다.http.response_code >= 400
필터로 사용 가능한 UDM 필드 전체 목록
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
네트워크 바이트
metrics.network_bytes_inbound
는 network.received_bytes
의 값이 0이 아닌 UDM 이벤트의 이전 값을 사전 계산하고 해당 필드를 value_sum
으로 제공합니다.
metrics.network_bytes_outbound
는 network.sent_bytes
에 대해 0이 아닌 값이 필요하고 해당 필드를 value_sum
으로 제공합니다.
metrics.network_bytes_total
은 network.received_bytes
또는 network.sent_bytes
(또는 둘 다)에 대해 값이 0이 아닌 이벤트를 고려하고 두 필드의 합계를 value_sum
으로 제공합니다.
필터로 사용 가능한 UDM 필드 전체 목록
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
리소스 만들기
metrics.resource_creation_total
은 RESOURCE_CREATION
이벤트 유형의 UDM 이벤트에 대해 이전 값을 사전 계산합니다.
metrics.resource_creation_success
는 이벤트에 ALLOW
의 SecurityResult.Action이 하나 이상 있어야 합니다.
필터로 사용 가능한 UDM 필드 전체 목록
target.user
,metadata.vendor_name
,metadata.product_name
principal.user
,metadata.vendor_name
,metadata.product_name
principal.user
,principal.ip
,metadata.vendor_name
,metadata.product_name
principal.user
,target.application
,metadata.vendor_name
,metadata.product_name
target.resource.name
,metadata.vendor_name
,metadata.product_name
principal.user
,target.resource.name
,metadata.vendor_name
,metadata.product_name
principal.user
,target.location.name
,metadata.vendor_name
,metadata.product_name
리소스 삭제
metrics.resource_deletion_success
는 RESOURCE_DELETION
이벤트 유형으로 UDM 이벤트의 이전 값을 사전 계산하며, 이벤트에는 하나 이상의 ALLOW
SecurityResult.Actions가 필요합니다.
필터로 사용 가능한 UDM 필드 전체 목록
target.user
,metadata.vendor_name
,metadata.product_name
principal.user
,metadata.vendor_name
,metadata.product_name
principal.user
,principal.ip
,metadata.vendor_name
,metadata.product_name
principal.user
,target.application
,metadata.vendor_name
,metadata.product_name
target.resource.name
,metadata.vendor_name
,metadata.product_name
principal.user
,target.resource.name
,metadata.vendor_name
,metadata.product_name
principal.user
,target.location.name
,metadata.vendor_name
,metadata.product_name
리소스 읽기
metrics.resource_read_success
는 RESOURCE_READ
이벤트 유형으로 UDM 이벤트의 이전 값을 사전 계산하며, 이벤트에는 하나 이상의 ALLOW
SecurityResult.Action가 필요합니다.
metrics.resource_read_fail
에는 대신 SecurityResult.Actions가 ALLOW
가 아니어야 합니다.
필터로 사용 가능한 UDM 필드 전체 목록
target.user
,metadata.vendor_name
,metadata.product_name
principal.user
,metadata.vendor_name
,metadata.product_name
principal.user
,principal.ip
,metadata.vendor_name
,metadata.product_name
principal.user
,target.application
,metadata.vendor_name
,metadata.product_name
target.resource.name
,metadata.vendor_name
,metadata.product_name
principal.user
,target.resource.name
,metadata.vendor_name
,metadata.product_name
principal.user
,target.location.name
,metadata.vendor_name
,metadata.product_name
제한사항
측정항목으로 YARA-L 규칙을 만들 때는 다음 제한사항에 유의하세요.
- 기본값(문자열의 경우
""
및 int의 경우0
)을 사용하여 측정항목을 조인할 수는 없습니다. - 기본값:
- 이벤트에 해당하는 측정항목 데이터가 없으면 측정항목 함수에서 반환되는 값이 0입니다.
- 감사에 측정항목 데이터가 없는 이벤트가 있을 경우 함수에 대한 집계를 위해
min
을 사용할 경우 0을 반환할 수 있습니다. - 이벤트에 대해 데이터가 있는지 여부를 확인하려면 동일한 필터를 사용해서 동일한 이벤트에 대해 측정항목
num_metric_periods
집계를 사용할 수 있습니다.
- 측정항목 함수는 결과 섹션에서만 사용할 수 있습니다.
- 측정항목 함수는 결과 섹션에서만 사용되므로 일치 섹션의 규칙에 있는 다른 값과 같이 집계되어야 합니다.