조건 섹션에서 사용

다음에서 지원:

이 문서에서는 or 연산자를 사용하여 쿼리의 condition 섹션 내에서 유연하고 간결한 감지 로직을 작성하는 방법을 설명합니다.

이벤트 또는 자리표시자 변수 사이에 or를 사용하면 여러 조건을 결합하여 쿼리 문법의 전체 복잡성을 줄일 수 있습니다.

  • 지정된 변수 중 하나가 있는지 확인합니다. 예를 들어 $e1 or $e2에는 $e1 인스턴스 하나 이상 또는 $e2 인스턴스 하나 이상이 필요합니다.

조건 섹션의 or 구문

변수 사이에 직접 or 키워드를 사용합니다. 다음 예시는 COUNT($e1)>0 or COUNT($e2)>0와 동일합니다.

condition:
  $e1 or $e2  // True if $e1 exists or $e2 exists

규칙 예: 위험한 IP 또는 잘못된 해시 실행

다음 예시 규칙은 위험한 IP 주소에서 프로세스 실행이 감지되거나 알려진 잘못된 해시가 실행되는 경우 위협을 감지합니다.

rule MultiEventOr {
  meta:
    author = "google-secops"
  events:
    $e1.principal.ip = "1.1.1.1"
    $e1.metadata.event_type = "PROCESS_LAUNCH"
    $e2.target.file.sha256 = "badhash..."
    $user = $e1.principal.user.userid
    $user = $e2.principal.user.userid
  match:
    $user over 5m
  condition:
    $e1 or $e2
}

검색 예: 위험한 IP 또는 잘못된 해시 실행

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

$e1.principal.ip = "1.1.1.1"
$e1.metadata.event_type = "PROCESS_LAUNCH"
$e2.target.file.sha256 = "badhash..."
$user = $e1.principal.user.userid
$user = $e2.principal.user.userid

match:
  $user over 5m

condition:
  $e1 or $e2

알려진 제한사항

  • 리소스 소비: 이벤트 변수 사이에 or를 사용하면 and를 사용하는 것보다 더 많은 리소스가 소비되며 쿼리 실행 시간이 길어질 수 있습니다.

  • 이벤트 변수 한도: 검색 및 대시보드의 경우 다중 이벤트 or 구문에서 최대 3개의 이벤트를 사용할 수 있습니다. 규칙의 경우 멀티 이벤트 or 구문에서 최대 2개의 이벤트를 사용할 수 있습니다.

  • 필수 이벤트 존재: or를 사용하는 표현식은 무한할 수 없습니다. 이벤트의 존재는 절이 참이 되기 위한 요구사항이어야 합니다 (예: $e1 또는 #e1 > 0).

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

  • 윈도우 제한: or 구문에서는 텀블링 윈도우를 사용할 수 없습니다.

다음 단계

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