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 e no console da Segurança Operacional.
Use consultas para recuperar descobertas específicas e filtrar aquelas exibidas nos resultados da consulta.
Trabalhar com as 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, adicione filtros às consultas para selecionar descobertas com base nos 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.
Para saber como editar uma consulta de descobertas, clique na guia do console que você está usando.
Console do Google Cloud
- No console do Google Cloud, acesse a página Descobertas do Security Command Center.
- Selecione a organização ou o projeto do Google Cloud. A página Descobertas é carregada com a consulta padrão exibida no campo Visualização da consulta.
- À direita da seção Visualização da consulta, clique em edit Editar consulta para abrir o painel Editor de consultas.
- Selecione Adicionar filtro para navegar, pesquisar e adicionar filtros de atributos predefinidos à consulta.
- Selecione um atributo de descoberta ou digite um nome na caixa Pesquisar atributos de descoberta. Uma lista dos subatributos disponíveis será exibida.
- 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.
- Selecione o operador e um ou mais valores para o subatributo no painel. Para mais informações sobre os operadores e as funções de consulta que eles usam, consulte Operadores de consulta no menu "Adicionar filtros".
- Clique em Aplicar.
A caixa de diálogo será fechada, e a consulta será atualizada.
- Repita até que a consulta de descobertas contenha todos os atributos que você quer.
A caixa de diálogo Selecionar filtro permite escolher os atributos e valores de descoberta suportados.
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
-
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 seu identificador específico do cliente. - No painel Editor de consultas, clique em Adicionar filtro. A caixa de diálogo Adicionar filtro é mostrada. Essa caixa de diálogo permite escolher os atributos e valores de descoberta compatíveis.
- Na caixa Categoria, selecione ou insira um atributo de descoberta.
- Na caixa Nome do atributo, selecione ou insira um subatributo.
- Na caixa Operador, 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 que você pode usar, consulte Operadores de consulta no menu "Adicionar filtros".
- Selecione Aplicar.
A caixa de diálogo será fechada, e a consulta será atualizada.
- 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 a consulta, um menu de preenchimento automático é exibido, onde é possível selecionar nomes, funções e valores de filtro. 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: encontra descobertas com esse valor de atributo exato.
- Diferente: encontra descobertas que não têm esse valor exato de atributo.
- 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 operadores e as funções de consulta são representados da seguinte maneira:
Adicionar filtros do Editor de consultas no console de operações de segurança, os- Igual: encontra descobertas com esse valor de atributo exato.
- Diferente: encontra descobertas que não têm esse valor de atributo exato.
- Depois: encontra descobertas com um horário de criação ou atualização posterior ao especificado.
- Antes: encontra descobertas com um horário de criação ou atualização anterior ao 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.
- 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 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 deindicator
. Por isso, ambos são especificados na posiçãoARRAY_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 deconnections
, que é um atributo do tipo matriz que contém subcampos. Os valores sob consulta estão no subcampodestination_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âmetroelem
.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çãocontains
a seguir avalia cada elemento de uma matriz deip_addresses
, que é um subcampo do atributoindicator
. O atributoindicator
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 matriziam_bindings.member
eiam_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 descoberta que retorna descobertas ativas e 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 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