조건 섹션에서 사용
이 문서에서는 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 전문가에게 문의하여 답변을 받으세요.