이 페이지에서는 Google Cloud 콘솔 및 보안 운영 콘솔의 발견 항목 페이지에서 쿼리 편집기 패널을 사용하여 Security Command Center 발견 항목 쿼리를 만들고 수정하는 방법을 설명합니다.
쿼리를 사용하여 특정 발견 항목을 검색하고 발견 항목 쿼리 결과에 표시되는 발견 항목을 필터링합니다.
Security Command Center Enterprise 콘솔에서 발견 항목 작업
Security Command Center Enterprise 고객은 두 콘솔에서 발견 항목으로 작업할 수 있습니다.
- Google Cloud 콘솔: 모든 서비스 등급에서 사용 가능
- Security Operations 콘솔: Enterprise 등급에서만 사용 가능
자세한 내용은 Security Command Center Enterprise 콘솔을 참조하세요.
발견 항목 쿼리 수정
쿼리 편집기 패널에서 쿼리에 필터를 추가하여 속성 또는 속성 값을 기준으로 발견 항목을 선택할 수 있습니다. 값의 존재 여부, 값 없음, 부분 문자열 일치와 같은 항목을 필터링할 수 있습니다.
발견 항목 쿼리를 수정하는 방법은 사용 중인 콘솔의 탭을 클릭합니다.
Google Cloud 콘솔
- Google Cloud 콘솔에서 Security Command Center의 발견 항목 페이지로 이동합니다.
- Google Cloud 프로젝트 또는 조직을 선택합니다. 발견 항목 페이지에 쿼리 미리보기 필드에 표시된 기본 쿼리가 로드됩니다.
- 쿼리 미리보기 섹션의 오른쪽에서 edit 쿼리 수정을 클릭하여 쿼리 편집기 패널을 엽니다.
- 필터 추가를 선택하여 사전 정의된 속성 필터를 탐색, 검색하고 쿼리에 추가합니다.
- 발견 항목 속성 검색 상자에서 발견 항목 속성을 선택하거나 해당 이름을 입력합니다. 사용 가능한 하위 속성 목록이 표시됩니다.
- 하위 속성을 선택합니다. 선택한 하위 속성, 쿼리 연산자, 하나 이상의 하위 속성 값을 사용하여 쿼리 문을 작성할 수 있는 선택 필드가 표시됩니다.
- 패널에서 연산자와 하나 이상의 하위 속성 값을 선택합니다. 쿼리 연산자와 연산자가 사용하는 함수에 대한 자세한 내용은 필터 추가 메뉴의 쿼리 연산자를 참고하세요.
- 적용을 클릭합니다.
대화상자가 닫히고 쿼리가 업데이트됩니다.
- 발견 항목 쿼리에 원하는 모든 속성이 포함될 때까지 반복합니다.
필터 선택 대화상자에서는 지원되는 발견 항목 속성 및 값을 선택할 수 있습니다.
발견 항목 페이지의 쿼리 빌더에서 작업하는 경우 둘 간의 충돌을 방지하기 위해 빠른 필터 섹션이 비활성화됩니다.
Security Operations 콘솔
-
Security Operations 콘솔에서 발견 항목 페이지로 이동합니다.
https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
CUSTOMER_SUBDOMAIN
을 고객별 식별자로 바꿉니다. - 쿼리 편집기 패널에서 필터 추가를 클릭합니다. 필터 추가 대화상자가 표시됩니다. 이 대화상자에서 지원되는 발견 항목 속성 및 값을 선택할 수 있습니다.
- 카테고리 상자에서 발견 항목 속성을 선택하거나 입력합니다.
- 속성 이름 상자에서 하위 속성을 선택하거나 입력합니다.
- 연산자 상자에서 선택한 하위 속성의 값에 대한 평가 옵션을 선택합니다. 사용할 수 있는 평가 옵션과 연산자에 대한 자세한 내용은 필터 추가 메뉴의 쿼리 연산자를 참조하세요.
- 적용을 선택합니다.
대화상자가 닫히고 쿼리가 업데이트됩니다.
- 필터링하려는 모든 속성이 발견 항목 쿼리에 포함될 때까지 이 프로세스를 반복합니다.
필터를 삭제하려면 재설정을 클릭합니다.
또는 Security Command Center API를 사용하여 발견 항목 필터를 구성하는 것과 동일한 방식으로 발견 항목 쿼리를 수동으로 구성할 수 있습니다. 쿼리를 입력하면 필터 이름, 함수, 값을 선택할 수 있는 자동 완성 메뉴가 나타납니다. 자동 완성 메뉴를 수동으로 열려면 Control 키 + 스페이스바를 누릅니다.
쿼리를 수정할 때 쿼리를 제출하기 전에 오류를 수정할 수 있도록 편집기에서 쿼리의 오류를 강조 표시해 줍니다.
쿼리 연산자
Security Command Center 발견 항목의 쿼리 문은 대부분의 Google Cloud API에서 지원하는 연산자를 지원합니다.
다음 목록은 다양한 연산자의 사용을 보여줍니다.
state="ACTIVE" AND NOT mute="MUTED"
create_time>"2023-08-15T19:05:32.428Z"
resource.parent_name:"prod"
severity="CRITICAL" OR severity="HIGH"
다음 목록은 발견 항목의 쿼리 문에서 지원되는 모든 연산자와 함수를 보여줍니다.
- 문자열:
- 전체 같음:
=
- 부분 문자열 일치:
:
- 전체 같음:
- 숫자:
- 같지 않음:
<
,>
,<=
,>=
- 같음:
=
,!=
- 같지 않음:
- 불리언:
- 같음:
=
- 같음:
- 논리적 관계:
AND
OR
NOT
또는-
- 그룹화 표현식:
(
,)
(괄호)
- 배열:
contains()
- 지정된 필터와 일치하는 요소가 최소 하나 이상 포함된 배열 필드가 있는 발견 항목을 쿼리하는 함수입니다.containsOnly()
- 지정된 필터와 일치하는 요소만 포함된 배열 필드가 있는 발견 항목을 쿼리하는 함수입니다.
- IP 주소:
inIpRange()
- 지정된 CIDR 범위 내의 IP 주소를 쿼리하는 함수
필터 추가 메뉴의 쿼리 연산자
필터 추가 메뉴에서 사용되는 쿼리 연산자에 대한 자세한 내용을 보려면 사용 중인 콘솔에서 해당 탭을 클릭합니다.
Google Cloud 콘솔
Google Cloud 콘솔 쿼리 편집기의 필터 추가 메뉴에서 쿼리 연산자 및 함수는 다음과 같이 단어나 구문으로 표현됩니다.
- 같음: 이 정확한 속성 값과 일치하는 발견 항목을 찾습니다.
- 같지 않음: 이 정확한 속성 값이 없는 발견 항목을 찾습니다.
- 이후: 지정된 시간 후의 생성 또는 업데이트 시간과 일치하는 발견 항목을 찾습니다.
- 이전: 지정된 시간 이전의 생성 또는 업데이트 시간과 일치하는 발견 항목을 찾습니다.
- 보유: 키워드 필드에 입력한 텍스트가 포함된 속성 값을 사용하여 발견 항목을 찾습니다.
- 제외: 키워드 필드에 입력한 텍스트가 포함되지 않은 속성 값을 사용하여 발견 항목을 찾습니다.
- 배열이 포함된 속성을 찾는 경우:
- 다음을 포함하는 것 전부: 키워드 필드에 입력한 텍스트 하나라도 포함하는 배열 값이 있는 발견 항목을 찾습니다.
- 모두 포함: 키워드 필드에 입력한 모든 텍스트를 포함하는 배열 값이 있는 발견 항목을 찾습니다.
- 아무것도 포함하지 않음: 키워드 필드에 입력한 텍스트가 포함된 배열 값이 없는 발견 항목을 찾습니다.
- 다음 항목만 포함: 키워드 필드에 입력한 값만 포함하고 다른 값은 없는 배열 속성이 있는 발견 항목을 찾습니다.
- IP 주소:
- IP 범위 내의 모든 항목: 지정된 CIDR 범위의 IP 주소가 있는 발견 항목을 찾습니다.
- IP 범위 내에 항목 없음: 지정된 CIDR 범위에 속하지 않는 IP 주소가 있는 발견 항목을 찾습니다.
보안 운영 콘솔
보안 운영 콘솔에서 쿼리 편집기의 쿼리 연산자와 함수는 다음과 같이 표시됩니다.
필터 추가 메뉴에서- 같음: 이 정확한 속성 값과 일치하는 발견 항목을 찾습니다.
- 같지 않음: 이 정확한 속성 값이 없는 발견 항목을 찾습니다.
- 이후: 지정된 시간 후의 생성 또는 업데이트 시간과 일치하는 발견 항목을 찾습니다.
- 이전: 지정된 시간 이전의 생성 또는 업데이트 시간과 일치하는 발견 항목을 찾습니다.
- 보유: 키워드 필드에 입력한 텍스트가 포함된 속성 값을 사용하여 발견 항목을 찾습니다.
- 제외: 키워드 필드에 입력한 텍스트가 포함되지 않은 속성 값을 사용하여 발견 항목을 찾습니다.
- 보다 큼: 지정된 값보다 큰 속성 값을 사용하여 발견 항목을 찾습니다.
- 보다 작음: 지정된 값보다 작은 속성 값을 사용하여 발견 항목을 찾습니다.
- IP 범위 내의 모든 항목: 지정된 CIDR 범위의 IP 주소가 있는 발견 항목을 찾습니다.
- IP 범위 내에 항목 없음: 지정된 CIDR 범위에 속하지 않는 IP 주소가 있는 발견 항목을 찾습니다.
쿼리 함수
쿼리 함수는 일반 쿼리 연산자보다 속성 값에 대해 더 복잡한 평가를 제공합니다.
contains
함수
contains
함수를 사용하여 같은 발견 항목에 여러 번 나타날 수 있는 속성 또는 속성 하위 필드를 평가합니다.
내부적으로 이러한 속성 또는 속성 하위 필드는 배열 데이터 구조의 요소에 저장되므로 배열 유형 속성이라고 합니다.
예를 들어 특정 발견 항목은 여러 네트워크 연결을 참조할 수 있으므로 connections
속성은 배열 유형 속성입니다.
마찬가지로 특정 위협 발견 항목은 여러 IP 주소를 침해 지표로 참조할 수 있으므로 indicator
속성의 ip_addresses
하위 필드는 배열 유형 속성입니다.
contains
함수는 다음 구문을 사용합니다.
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
다음을 바꿉니다.
ARRAY_ATTRIBUTE_NAME
: 배열에 저장된 배열 유형 속성의 이름입니다. 배열 유형 속성이 다른 속성의 하위 필드인 경우 속성 이름과 하위 필드 이름을 점으로 구분합니다.다음 예시에서는 배열 유형 속성
ip_addresses
가indicator
의 하위 필드이므로 둘 다ARRAY_ATTRIBUTE_NAME
위치에 지정됩니다.contains(indicator.ip_addresses, elem="192.0.2.80")
SUBFILTER
: 배열 유형 속성의 각 인스턴스를 평가하는 방법을 정의하는 표현식입니다. 표준 Security Command Center 쿼리 연산자 및 평가 문이 지원됩니다.확인할 값이 배열 유형 속성의 하위 필드에 있으면 표현식의 왼쪽에 하위 필드 이름을 지정합니다. 다음
contains
함수는 하위 필드가 포함된 배열 유형 속성인connections
배열의 각 요소를 평가합니다. 쿼리되는 값은 배열 유형 필드가 아닌destination_ip
하위 필드에 있습니다. 쿼리할 값은elem
매개변수 대신 하위 필드 이름destination_ip
로 지정됩니다.contains(connections, destination_ip="192.0.2.80")
하위 필드가 배열 유형 속성인 경우 표현식의 왼쪽에 상위 요소와 함께 배열 유형 속성을 지정하고 표현식 오른쪽에 있는
elem
매개변수를 사용하여 검색할 값을 지정합니다. 예를 들어 다음contains
함수는indicator
속성의 하위 필드인ip_addresses
배열의 각 요소를 평가합니다.indicator
속성은 배열 유형 필드가 아닙니다.contains(indicator.ip_addresses, elem="192.0.2.80")
필터 추가 메뉴의 contains
함수
필터 추가 메뉴에서 평가 중인 발견 항목 속성에 따라 contains
함수가 명시적으로 나열되거나 이를 필요로 하는 다른 필터 옵션을 선택할 때 자동으로 포함됩니다.
예를 들어 표시기 속성의 IP 주소 하위 필드에 다음 필터 옵션을 선택할 수 있습니다.
- 다음을 포함하는 것 전부
- 모두 포함
- 아무것도 포함하지 않음
반대로 연결 속성의 대상 IP 하위 필드를 필터링하고 IP 범위 내의 모든 항목을 선택하면 다음 예시와 같이 contains
함수는 쿼리 문에 자동으로 추가됩니다.
contains(connections, inIpRange(destination_ip, "2001:db8::/32"))
contains
함수에 대한 자세한 내용은 배열 유형 필드를 기준으로 필터링을 참조하세요.
containsOnly
함수
containsOnly
함수를 사용하면 하위 필터에 지정된 값만 포함하고 다른 값은 포함하지 않는 하위 필드 또는 배열 유형의 속성에 대한 발견 항목을 쿼리할 수 있습니다.
containsOnly
함수는 다음 구문을 사용합니다.
containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)
다음을 바꿉니다.
ARRAY_ATTRIBUTE_NAME
: 배열 유형 속성의 이름입니다. 배열 유형 속성이 다른 속성의 하위 필드인 경우 속성 이름과 하위 필드 이름을 점으로 구분합니다. Google Cloud 콘솔을 사용하여 쿼리를 실행하는 경우 이 함수는iam_bindings.member
및iam_bindings.role
배열 속성만 지원합니다.SUBFILTER
: 배열 유형 속성의 각 요소를 평가하는 방법을 정의하는 표현식입니다. 표준 Security Command Center 쿼리 연산자 및 평가 문이 지원됩니다.
필터 추가 메뉴에서 다음 필터 옵션은 containsOnly
함수를 사용합니다.
IAM 바인딩 > 구성원: 지정된 사용자, 서비스 계정 또는 그룹이 포함된 발견 항목만 선택합니다.
IAM 바인딩 > 역할: 지정된 역할이 포함된 발견 항목만 선택합니다.
다음 예시에서는 Google Cloud 콘솔에서 example-group
그룹의 사용자에 대해 숨기기 취소된 활성 발견 항목을 반환하는 발견 항목 쿼리를 보여줍니다.
state="ACTIVE" AND NOT mute="MUTED" AND containsOnly(iam_bindings,member="group:example-group@example.com")
inIpRange
함수
inIpRange
함수는 선택한 발견 항목 속성의 IP 주소가 CIDR 표기법(CIDR 범위)을 사용하여 지정한 IP 주소 범위 내에 있는지 확인합니다. 다음은 inIpRange
함수의 구문을 보여줍니다.
inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")
필터 추가 메뉴에서 다음 필터 옵션은 inIpRange
함수를 사용합니다.
- IP 범위 내의 모든 항목: 지정된 범위 내의 IP 주소가 포함된 발견 항목만 선택합니다.
- IP 범위 내에 항목 없음: 지정된 범위 내의 IP 주소가 포함되지 않는 발견 항목만 선택합니다.
다음 예시에서는 Google Cloud 콘솔에서 access
객체의 caller_ip
하위 필드에 CIDR 범위 2001:db8::/32
의 IPv6 주소가 포함된 숨기기 취소된 활성 발견 항목을 반환하는 발견 항목 쿼리를 보여줍니다.
state="ACTIVE" AND NOT mute="MUTED" AND inIpRange(access.caller_ip, "2001:db8::/32")
다음 예시에서는 access
객체의 caller_ip
하위 필드에 CIDR 범위 192.0.2.0/24
의 IPv4 주소가 포함되지 않은 숨기기 취소된 활성 발견 항목을 반환하는 발견 항목 쿼리를 보여줍니다.
state="ACTIVE" AND NOT mute="MUTED" AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")
IP 주소가 발견 항목에 여러 번 나타날 수 있는 속성에 있는 경우 contains
함수를 inIpRange
함수와 함께 사용하여 IP 주소의 각 속성 인스턴스를 확인합니다. 예를 들면 다음과 같습니다.
contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
contains()
함수에 대한 자세한 내용은 contains
함수를 참조하세요.
쿼리의 발견 항목 속성
Security Command Center는 저장된 각 발견 항목의 속성을 사용자가 쿼리에 지정한 속성 필터와 비교 평가하여 표시할 발견 항목을 선택합니다.
대부분의 발견 항목 속성을 쿼리할 수 있습니다. 일부 속성은 모든 발견 항목에 공통적입니다. 다른 속성은 특정 보안 문제, 발견 항목 카테고리, 감지 서비스에만 적용될 수 있습니다.
쿼리 편집기 패널의 필터 추가 메뉴에서 속성 필터에 적용할 수 있는 옵션은 선택한 속성 유형 및 속성에 하위 필드 또는 값 배열이 있는지 여부에 따라 다릅니다
필터 추가 메뉴에서 다음 최상위 속성을 클릭하여 발견 항목 쿼리에 사용할 수 있는 하위 속성과 값을 표시합니다.
- 발견 항목
- 리소스
- 액세스(
access
) - 공격 노출 점수
- 백업 재해 복구
- 규정 준수(
compliances[]
) - 연결(
connections[]
) - 연락처
- 컨테이너
- 데이터베이스
- 유출(
exfiltration
) - 파일
- IAM 바인딩(
iamBindings[]
) - 표시기
- 커널 루트키트
- Kubernetes
- MITRE ATT&CK(
mitreAttack
) - 프로세스(
processes[]
) - 보안 상황
- Sensitive Data Protection
- 취약점