Consultar descobertas no console do Google Cloud

Nesta página, descrevemos como criar e editar consultas de descobertas do Security Command Center usando o painel Editor de consultas na página Descobertas no console do Google Cloud.

Use consultas para recuperar descobertas específicas e filtrar aquelas exibidas no painel Resultados da consulta de descobertas.

Editar consultas de descoberta

No painel Editor de consultas, adicione e edite filtros nas suas consultas para selecionar descobertas com base nos respectivos valores das propriedades ou atributos. É possível filtrar por itens como a presença de valores, a ausência de valores ou a correspondência de uma string parcial.

Conforme você edita uma consulta, o editor destaca os erros na consulta para que você possa corrigi-los antes de enviar a consulta.

Para editar a consulta usando o painel Editor de consultas, siga as etapas abaixo:

  1. Acesse a página Descobertas no console do Google Cloud:

    Acesse Descobertas

  2. Se necessário, selecione o projeto ou a organização do Google Cloud.

    Seletor de projetos

    A página Descobertas é carregada com a consulta padrão exibida no campo Visualização da consulta.

  3. À direita da seção Visualização da consulta, clique em Editar consulta ou no ícone do painel de expansão para abrir o painel Editor de consultas.

  4. Selecione Adicionar filtro para navegar, pesquisar e adicionar filtros de atributos predefinidos à consulta.

    A caixa de diálogo Selecionar filtro permite escolher os atributos e valores de descoberta suportados. Caixa de diálogo do filtro de consulta

    1. Selecione um atributo de descoberta ou digite um nome na caixa Pesquisar atributos de descoberta. Uma lista dos subatributos disponíveis será exibida.
    2. Selecione um subatributo. Um campo de seleção para as opções de avaliação é exibido acima de uma lista dos valores de subatributos encontrados nas descobertas do painel Resultados da consulta de descobertas.
    3. Selecione uma opção de avaliação para os valores do subatributo selecionado. Para mais informações sobre as opções de avaliação e os operadores e funções que elas usam, consulte Operadores de consulta no menu "Adicionar filtros".
    4. Selecione Apply.

      A caixa de diálogo será fechada, e a consulta será atualizada.

    5. Repita até que a consulta de descobertas contenha todos os atributos que você quer.

Como alternativa, é possível formar manualmente uma consulta de descobertas da mesma forma que você cria um filtro de descobertas usando a API Security Command Center. Conforme você digita a consulta, um menu de preenchimento automático é exibido, onde é possível selecionar nomes e funções de filtro.

Ao trabalhar no criador de consultas na página Descobertas, a seção Filtros rápidos é desativada para evitar conflitos entre os dois.

Operadores de consulta

As instruções de consulta para descobertas do Security Command Center são compatíveis com os operadores que a maioria das APIs do Google Cloud aceitam.

A lista a seguir mostra o uso de vários operadores:

  • state="ACTIVE" AND NOT mute="MUTED"
  • create_time>"2023-08-15T19:05:32.428Z"
  • resource.parent_name:"prod"
  • severity="CRITICAL" OR severity="HIGH"

A lista a seguir mostra todos os operadores e funções compatíveis com as instruções de consulta para descobertas:

  • Para strings:
    • = para igualdade total
    • : para correspondência parcial de string
  • Para números:
    • <, >, <=, >= para desigualdades
    • =, != fpara igualdade
  • Para booleanos:
    • = para igualdade
  • Para relações lógicas:
    • AND
    • OR
    • NOT ou -
  • Para expressões de agrupamento:
    • (, ) (parênteses)
  • Para matrizes:
    • contains(), uma função para consultar descobertas com um campo de matriz que contém pelo menos um elemento que corresponde ao filtro especificado.
    • containsOnly(), uma função para consultar as descobertas com um campo de matriz que contém apenas elementos que correspondem ao filtro especificado.
  • Para endereços IP:
    • inIpRange(), uma função para consultar endereços IP dentro de um intervalo CIDR especificado.

Operadores de consulta no menu "Adicionar filtros"

No menu Adicionar filtros do Editor de consultas no console do Google Cloud, operadores e funções de consulta são representados por palavras ou frases, como estas:

  • Igual: encontra descobertas com esse valor de filtro exato.
  • Diferente: encontra descobertas que não têm esse valor de filtro exato.
  • Depois: encontra descobertas com um horário de criação ou atualização posterior a um horário especificado.
  • Antes: encontra descobertas com um horário de criação ou atualização anterior a um horário especificado.
  • Com: encontra descobertas com valores de filtro que contêm o texto inserido no campo Palavra-chave.
  • Não tem: encontra descobertas com valores de filtro que não contêm o texto inserido no campo Palavra-chave.
  • Para encontrar atributos que contêm matrizes:
    • Contém qualquer: encontra descobertas com um valor de matriz que contém qualquer texto inserido no campo Palavra-chave.
    • Contém tudo: encontra descobertas com um valor de matriz que contém todo o texto inserido no campo Palavra-chave.
    • Não contém: encontra descobertas que não têm um valor de matriz que contém o texto inserido no campo Palavra-chave.
    • Contém apenas: corresponde a descobertas que têm um atributo de matriz que contém apenas o valor inserido no campo Palavra-chave, e nenhum outro valor.
  • Para endereços IP:
    • Qualquer um no intervalo de IP: encontra descobertas que têm um endereço IP em um intervalo CIDR especificado.
    • Não há nada no intervalo de IP: encontra descobertas que têm um endereço IP que não está em um intervalo CIDR especificado.

Funções de consulta

Uma função de consulta fornece avaliações de valores dos atributos mais complexas do que os operadores de consulta comuns.

A função contains

Use a função contains para avaliar atributos ou subcampos de atributos que podem aparecer várias vezes na mesma descoberta.

Internamente, esses atributos ou subcampos de atributos são armazenados nos elementos de uma estrutura de dados de matriz. Por isso, são chamados de atributos do tipo matriz.

Por exemplo, algumas descobertas podem ter referência a várias conexões de rede. Por isso, o atributo connections é um atributo do tipo matriz. Da mesma forma, algumas descobertas de ameaças podem ter referência a vários endereços IP como indicadores de comprometimento. Por isso, o subcampo ip_addresses do atributo indicator é do tipo matriz.

A função contains usa a seguinte sintaxe:

contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)

Substitua:

  • ARRAY_ATTRIBUTE_NAME: o nome do atributo do tipo matriz armazenado em uma matriz. Se o atributo do tipo matriz for um subcampo de outro atributo, especifique o nome do atributo e o nome do subcampo separado por um ponto.

    No exemplo a seguir, o atributo do tipo matriz, ip_addresses, é um subcampo de indicator. Por isso, ambos são especificados na posição ARRAY_ATTRIBUTE_NAME:

    contains(indicator.ip_addresses, elem="192.0.2.80")
  • SUBFILTER: uma expressão que define como avaliar cada instância do atributo do tipo matriz. Operadores de consulta e instruções de avaliação do Security Command Center Standard são compatíveis.

    Se o valor a ser verificado estiver em um subcampo de um atributo do tipo matriz, especifique o nome do subcampo à esquerda da expressão. A função contains a seguir avalia cada elemento de uma matriz de connections, que é um atributo do tipo matriz que contém subcampos. Os valores sob consulta estão no subcampo destination_ip, que não é um campo do tipo matriz. Os valores a serem consultados são especificados com o nome do subcampo, destination_ip, no lugar do parâmetro elem.

    contains(connections, destination_ip="192.0.2.80")

    Se o subcampo for o atributo de tipo de matriz, especifique o atributo de tipo de matriz à esquerda da expressão com o pai e use o parâmetro elem à direita da expressão para especificar o valor a pesquisar. Por exemplo, a função contains a seguir avalia cada elemento de uma matriz de ip_addresses, que é um subcampo do atributo indicator. O atributo indicator não é um campo do tipo matriz.

    contains(indicator.ip_addresses, elem="192.0.2.80")

A função contains no menu "Adicionar filtro"

No menu Adicionar filtro, dependendo do atributo de descoberta que está sob avaliação, a função contains é listada explicitamente ou incluída automaticamente quando você seleciona outra opção de filtro que precisa dela.

Por exemplo, no subcampo Endereços IP do atributo Indicador, é possível selecionar as seguintes opções de filtro:

  • Contém qualquer
  • Contém todos
  • Não contém nenhum

Por outro lado, se você estiver filtrando pelo subcampo IP de destino do atributo Conexões e selecionar Qualquer um no intervalo de IP, as funções contains serão adicionadas automaticamente à instrução de consulta, conforme mostrado no exemplo a seguir:

contains(connections, inIpRange(destination_ip, "2001:db8::/32"))

Para mais informações sobre a função contains, consulte Como filtrar por campos do tipo matriz.

A função containsOnly

A função containsOnly permite consultar descobertas para atributos do tipo matriz ou subcampos que contêm apenas os valores especificados no subfiltro e nenhum outro.

A função containsOnly usa a seguinte sintaxe:

containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)

Substitua:

  • ARRAY_ATTRIBUTE_NAME: o nome do atributo do tipo matriz. Se o atributo do tipo matriz for um subcampo de outro atributo, especifique o nome do atributo e o nome do subcampo separado por um ponto. Quando você está executando consultas usando o console do Google Cloud, essa função aceita apenas os atributos da matriz iam_bindings.member e iam_bindings.role.

  • SUBFILTER: uma expressão que define como avaliar cada elemento do atributo do tipo matriz. Operadores de consulta e instruções de avaliação do Security Command Center Standard são compatíveis.

No menu Adicionar filtro, as opções de filtro a seguir usam a função containsOnly:

  • Vinculação do IAM > Membro: seleciona apenas descobertas que incluem os usuários, contas de serviço ou grupos especificados.

  • Vinculação do IAM > Papel: seleciona apenas descobertas que incluam os papéis especificados.

O exemplo a seguir mostra uma consulta de descoberta no console do Google Cloud que retorna descobertas ativas e não silenciadas para usuários no grupo example-group:

state="ACTIVE"
  AND NOT mute="MUTED"
  AND containsOnly(iam_bindings,member="group:example-group@example.com")

A função inIpRange

A função inIpRange verifica se o endereço IP em um atributo de descoberta selecionado está dentro de um intervalo de endereços IP que você especifica usando a notação CIDR (um intervalo CIDR). Veja a seguir a sintaxe da função inIpRange:

inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")

No menu Adicionar filtro, as opções de filtro a seguir usam a função inIpRange:

  • Qualquer um no intervalo de IP: seleciona apenas descobertas que contêm endereços IP dentro do intervalo especificado.
  • Não tem nenhum no intervalo de IP: seleciona apenas descobertas que não contêm endereços IP dentro do intervalo especificado.

O exemplo a seguir mostra uma consulta de descoberta no console do Google Cloud que retorna descobertas ativas não desativadas em que o subcampo caller_ip do objeto access contém um endereço IPv6 no intervalo CIDR de 2001:db8::/32:

state="ACTIVE"
AND NOT mute="MUTED"
AND inIpRange(access.caller_ip, "2001:db8::/32")

O exemplo a seguir mostra uma consulta de descoberta que retorna descobertas ativas não desativadas em que o subcampo caller_ip do objeto access não contém um endereço IP no intervalo CIDR IPv4 de 192.0.2.0/24:

state="ACTIVE"
AND NOT mute="MUTED"
AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")

Se um endereço IP estiver em um atributo que pode aparecer várias vezes em uma descoberta, use a função contains com a função inIpRange para verificar cada instância do atributo para o endereço IP. Exemplo:

contains(connections, inIpRange(source_ip, "192.0.2.0/24"))

Para mais informações sobre a função contains(), consulte a função contains.

Como encontrar atributos para consultas

O Security Command Center seleciona as descobertas a serem exibidas avaliando os atributos de cada descoberta armazenada em relação aos filtros de atributo especificados na consulta.

É possível consultar a maioria dos atributos de descoberta. Alguns atributos são comuns a todas as descobertas. Outros atributos podem ser específicos para um determinado problema de segurança, categoria de descoberta ou serviço de detecção.

No menu Adicionar filtro do painel Editor de consultas, as opções que podem ser aplicadas a um filtro de atributos são diferentes dependendo do tipo de atributo selecionado e de sua condição, ou seja, se ele tem subcampos ou uma matriz de valores.

No menu Adicionar filtro, clique em qualquer um dos seguintes atributos de nível superior para exibir os subatributos e valores que você pode usar em uma consulta de descobertas:

  • Localizando
  • Resource
  • Acesso (access)
  • Pontuação de exposição a ataques
  • Recuperação de desastres de backup
  • Conformidades (compliances[])
  • Conexões (connections[])
  • Contatos
  • Contêineres
  • Banco de dados
  • Exfiltração (exfiltration)
  • Arquivos
  • Vinculação do IAM (iamBindings[])
  • Indicador
  • Rootkit do kernel
  • Kubernetes
  • MITRE ATT&CK (mitreAttack)
  • Processos (processes[])
  • Postura de segurança
  • Proteção de dados sensíveis
  • Vulnerabilidade