Consultar descobertas no console

Nesta página, descrevemos como criar e editar descobertas do Security Command Center consultas usando o painel Editor de consultas na página Descobertas na Console do Google Cloud e do console de operações de segurança.

Use consultas para recuperar descobertas específicas e filtrar aquelas que são exibidas nos resultados da consulta de descobertas.

Como trabalhar com descobertas nos consoles do Security Command Center Enterprise

Se você for cliente do Security Command Center Enterprise, poderá trabalhar com as descobertas em dois consoles:

  • Console do Google Cloud: disponível em todos os níveis de serviço
  • Console de operações de segurança: disponível apenas no nível Enterprise

Para mais informações, consulte Consoles do Security Command Center Enterprise.

Editar consultas de descobertas

No painel Editor de consultas, você pode adicionar filtros às suas consultas. para selecionar descobertas com base nos valores de propriedade ou atributo. É possível filtrar por itens como a presença de valores, a ausência de valores ou a correspondência de uma string parcial.

Para saber como editar uma consulta de descobertas, clique na guia do console que você está usando.

Console do Google Cloud

  1. No console do Google Cloud, acesse a página Descobertas do Security Command Center.

    Acesse Descobertas

  2. Selecione a organização ou o projeto do Google Cloud. A página Descobertas é carregada com a consulta padrão exibida na Visualização da consulta.
  3. À direita da seção Visualização da consulta, clique em Editar consulta para abrir o painel Editor de consultas.
  4. Selecione Adicionar filtro para navegar, pesquisar e adicionar filtros de atributos predefinidos à consulta.
  5. A caixa de diálogo Selecionar filtro permite escolher os atributos e valores de descoberta suportados.

    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 é exibido para que você possa criar a instrução de consulta usando o subatributo selecionado, um operador de consulta e um ou mais valores para o subatributo.
    3. Selecione o operador e um ou mais valores para o subatributo no painel. Para mais informações sobre os operadores de consulta e as funções que eles usam, consulte Consulta no menu "Adicionar filtros".
    4. Clique em Aplicar.

      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.

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

Console de operações de segurança

  1. No console de operações de segurança, acesse a página Descobertas.
    https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
    

    Substitua CUSTOMER_SUBDOMAIN pelo identificador específico do cliente.

  2. No painel Editor de consultas, clique em Adicionar filtro. O botão Add A caixa de diálogo "Filtro" é exibida. Esta caixa de diálogo permite escolher uma descoberta compatível atributos e valores.
  3. Na caixa Categoria, selecione ou insira um atributo de descoberta.
  4. Na caixa Nome do atributo, selecione ou digite um subatributo.
  5. Na caixa Operador, selecione uma opção de avaliação para os valores de no subatributo selecionado. Para mais informações sobre as opções de avaliação e os operadores que você pode usar, consulte Operadores de consulta no menu "Adicionar filtros".
  6. Selecione Aplicar.

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

  7. Repita esse processo até que a consulta de descobertas contenha todos os atributos que você quer filtrar.

    Para limpar os filtros, clique em Redefinir.

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 sua consulta, um menu de preenchimento automático é exibido. Nele, você pode selecionar nomes de filtros, funções e valores. Para abrir o menu de preenchimento automático manualmente, pressione Ctrl + Espaço.

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

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 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 em um intervalo CIDR especificado

Operadores de consulta no menu "Adicionar filtros"

Para informações sobre os operadores de consulta usados no menu Adicionar filtros, clique na guia do console que você está usando.

Console do Google Cloud

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 a: faz a correspondência das descobertas com esse valor de atributo exato.
  • Não é igual a: corresponde a descobertas que não têm exatamente a mesma definição. .
  • 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 atributo que contêm o texto inserido no campo Palavra-chave.
  • Não tem: encontra descobertas com valores de atributo que não contem 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.

Console de operações de segurança

No menu Adicionar filtros do Editor de consultas no console de operações de segurança, os operadores e as funções de consulta são representados da seguinte maneira:

  • Igual: encontra descobertas com esse valor de atributo exato.
  • Não é igual a: corresponde a descobertas que não têm esse atributo exato .
  • Depois: encontra descobertas com um horário de criação ou atualização posterior ao especificado.
  • Antes: associa as descobertas a um horário de criação ou atualização anterior ao seu em um determinado horário.
  • Com: encontra descobertas com valores de atributo que contêm o texto inserido no campo Palavra-chave.
  • Não tem: combina descobertas com valores de atributo que não têm. incluir o texto que você inserir no campo Palavra-chave.
  • Maior que: corresponde a descobertas com valores de atributo maiores do que o valor especificado.
  • Menor que: corresponde a descobertas com valores de atributo menores que o valor especificado.
  • Qualquer dentro do intervalo de IP: corresponde às descobertas que têm um endereço IP em um 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 há nada 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 descobertas que retorna ativas, descobertas ativadas em que o subcampo caller_ip de 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 mostrar os subatributos e valores que podem ser usados em uma consulta de descobertas:

  • Localizando
  • Recurso
  • 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