이벤트 변수와 함께 N OF 구문 사용

다음에서 지원:

이 문서에서는 N OF 구문을 사용하여 쿼리의 condition 섹션 내에서 유연한 조건부 로직을 작성하는 방법을 설명합니다.

N OF 구문을 사용하면 여러 조건을 결합하여 쿼리 구문의 전체 복잡성을 줄일 수 있습니다.

  • 지정된 목록에서 최소 개수의 불리언 표현식이 true로 평가되어야 함을 지정하는 방법을 제공합니다.
  • 가능한 모든 조합을 지정할 필요가 없어 오류와 노력을 줄일 수 있습니다.

N OF 구문

N OF 문의 문법은 다음과 같이 표현된 불리언 표현식의 쉼표로 구분된 목록입니다.

[expr1, expr2, … , exprN] 조건을 충족하는 [expr1, expr2, … , exprN]

다음 섹션에서는 N OF 구문의 몇 가지 변형을 보여줍니다.

다음 중 하나

다음 예에서는 목록의 표현식 중 하나 이상이 참인지 확인합니다. 이는 모든 표현식을 or로 결합하는 것과 같습니다.

condition:
  ANY OF [$e1, #e2 > 5, $outcome1 = "FAILED"]

전체

다음 목록의 모든 표현식이 참이면 예시가 참입니다. 이는 모든 표현식을 and로 결합하는 것과 같습니다.

condition:
  ALL OF [$e1, $e2, $outcome1 = "SUCCESS"]

X의 N

목록에서 N개 이상의 표현식이 true이면 true로 평가됩니다.

condition:
  2 of [$e1, $e2 > 0, $e3, arrays.contains($outcome_ips, "1.2.3.4")]

규칙 예: 민감한 파일 액세스에 플래그 지정

다음 규칙은 사용자가 로그인에 성공하면 ($e1) 플래그를 지정합니다. 그런 다음 세션이 민감한 파일에 액세스 ($e2)하거나 액세스한 고유한 민감한 파일의 총수가 3를 초과하는 두 가지 기준 중 하나를 충족하는지 확인합니다.

rule MultiEventNOf {
  meta:
    author = "google-secops"
    description = "Detects user login followed by sensitive file access or multiple sensitive files."
  events:
    $e1.principal.user.userid = $user
    $e1.metadata.event_type = "USER_LOGIN"

    $e2.principal.user.userid = $user
    $e2.metadata.event_type = "FILE_OPEN"
    re.regex($e2.target.file.full_path, `^/cns/sensitive/`)

  match:
    $user over 1h
  outcome:
    $sensitive_file_count = count_distinct($e2.target.file.full_path)
  condition:
    $e1 and ANY OF [$e2, $sensitive_file_count > 3]
  }

검색 예: 민감한 파일 액세스에 플래그 지정

다음 예는 예시 규칙을 검색어로 다시 포맷하는 방법을 보여줍니다.

$e1.principal.user.userid = $user
$e1.metadata.event_type = "USER_LOGIN"
$e2.principal.user.userid = $user
$e2.metadata.event_type = "FILE_OPEN"
re.regex($e2.target.file.full_path, `^/cns/sensitive/`)

match:
  $user over 1h
outcome:
  $sensitive_file_count = count_distinct($e2.target.file.full_path)
condition:
  $e1 and ANY OF [$e2, $sensitive_file_count > 3]

알려진 제한사항

  • 필수 이벤트 존재: N OF 구문은 무한대로 지정할 수 없습니다. 절이 참이 되려면 이벤트가 있어야 합니다 (예: $e1 또는 #e1 > 0).

  • 변수 유형 혼합: 동일한 N OF 목록 내에서 비UDM 변수를 UDM 이벤트 변수와 결합할 수 없습니다.

  • 창 제한: N OF 구문과 함께 텀블링 윈도우를 사용할 수 없습니다.

다음 단계

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.