Validar controles e configurações de segurança
Este guia é destinado a engenheiros de segurança que querem testar proativamente a segurança simulando ataques no ambiente do Google Cloud . Ele explica como implementar uma jornada contínua de validação de segurança.
A validação de segurança usa ações e scripts que imitam técnicas de invasores para acionar alertas de detecção nos seus projetos do Google Cloud . A operação contínua identifica vulnerabilidades, e as equipes de segurança podem reduzir o risco garantindo que as configurações e os controles respondam às ameaças mais recentes conforme o esperado.
A conclusão bem-sucedida dessa jornada fornece uma prova mensurável de melhoria na postura de segurança e garante que as regras de detecção ou integrações recém-implementadas funcionem corretamente sem intervenção manual.
Casos de uso comuns
Esta seção lista casos de uso comuns da validação de segurança.
Detectar regressão da postura de segurança
Objetivo: identificar quando um comportamento de invasor previamente bloqueado é executado com sucesso no ambiente.
Valor: alerta as equipes de segurança e operações sobre desvios de configuração não intencionais, permitindo que elas corrijam vulnerabilidades antes que sejam exploradas.
Validar o ajuste do controle de segurança
Objetivo: confirmar se as regras de detecção ou integrações de produtos implementadas recentemente funcionam conforme o esperado.
Valor: fornece provas mensuráveis de que as atualizações de regras ou as mudanças no ambiente melhoraram a postura de segurança, permitindo que as equipes estabeleçam uma nova configuração de referência com confiança.
Terminologia importante
Contexto de validação de segurança: um contexto de validação de segurança configura o ambiente para seus testes de segurança. Ele especifica qual projeto usar, com qual conta executar o teste e outros detalhes necessários para suas ações.
Ação de validação de segurança: um script projetado para imitar técnicas de invasores do mundo real, usado para acionar regras de detecção e verificar sua postura de segurança.
Execução de referência: uma execução específica e concluída da validação de segurança usada como referência padrão para comparar execuções futuras.
Monitorar: um job programado (
SecurityValidationJobna API) que executa uma ação de validação de segurança e avalia os resultados em relação a um nível de referência definido.Status de deriva: o indicador de integridade de um monitor com base em se as execuções recentes correspondem ao valor de referência (íntegro) ou mostram desvio (deriva detectada).
Janela de correlação: o período de 12 horas após uma execução em que o sistema procura e associa eventos e detecções relacionados com base no modelo de filtro de eventos nos metadados da ação executada.
Tempo limite do monitor: a duração máxima que o sistema espera após uma execução para que eventos e detecções sejam correlacionados antes de avaliar o status final de deriva. Esse tempo limite opera dentro da janela de correlação maior de 12 horas. Os resultados esperados precisam ser observados antes que esse tempo limite seja atingido para que o monitor seja considerado bem-sucedido. Se as verificações não forem aprovadas antes desse tempo limite, o sistema vai marcar o monitor como
failed. A duração padrão é de 8 horas, mas pode ser configurada entre 15 minutos e 10 horas.
Antes de começar
Verifique se a configuração e as permissões a seguir estão em vigor.
Configuração necessária
Verifique se você tem a seguinte configuração:
Seu locatário precisa ter a validação de segurança ativada.
A validação de segurança só funciona com projetos autogerenciados.
Você precisa de um ou dois projetos Google Cloud . Embora seja possível usar o mesmo projeto para execução e segmentação, recomendamos usar projetos separados para aumentar a segurança, manter os testes limpos e facilitar o gerenciamento da configuração.
Projeto de execução: a validação de segurança executa seus testes de segurança no projeto de execução. Ele usa o Cloud Run e o Cloud Storage para isso. Esses jobs e buckets são destinados apenas ao uso pelo serviço de validação. Outros usuários não devem ter acesso a eles.
As APIs Cloud Run, API Resource Manager e IAM precisam estar ativadas nesse projeto, e você precisa ter as permissões
resourcemanager.projects.SetIamPolicy,storage.buckets.SetIamPolicy,storage.buckets.createestorage.buckets.deletepara criar um contexto de validação de segurança para ele. Consulte a referência de permissões do IAM para ver a lista de papéis que oferecem essa permissão.Projeto de destino: onde as chamadas de API feitas pelo script de ação de validação de segurança operam. O sucesso das ações depende de se as APIs necessárias usadas pelas ações estão ativadas neste projeto e se as contas de serviço no contexto de validação de segurança têm as permissões necessárias nelas.
Contas de serviço: exigem uma ou mais contas de serviço no projeto de execução. Essas contas executam os scripts de ação. Qualquer usuário que precise executar uma ação com um contexto específico precisa ter a permissão
iam.serviceAccounts.actAsnas conta de serviço nesse contexto.
Permissões necessárias
Atribua um dos seguintes papéis predefinidos no projeto da instância do SecOps.
chronicle.viewer: acesso somente leitura a ações, contextos, jobs e recursos de execução da validação de segurança.chronicle.editor: inclui todas as permissões deviewere a capacidade de criar, atualizar, executar e excluir contextos e jobs de validação de segurança.chronicle.admin: inclui todas as permissões deeditore a capacidade de criar, atualizar e excluir ações personalizadas de validação de segurança (somente API).
Se você não estiver usando os papéis predefinidos listados acima, conceda permissões equivalentes usando um papel personalizado ou atribuindo o papel chronicle.securityValidationAdmin, que inclui as mesmas permissões de chronicle.admin.
Para mais informações, consulte Papéis necessários.
Implementar validação contínua de segurança
A validação da sua postura de segurança envolve uma progressão estruturada:
Definir seu ambiente
Executar simulações para estabelecer uma base de referência
Automatizar as simulações para detectar desvios.
Esse fluxo de trabalho garante que seus controles de segurança permaneçam eficazes à medida que seu ambiente evolui.
Criar um contexto de validação de segurança
Um contexto de validação de segurança configura o ambiente para seus testes de segurança. Ele especifica qual projeto usar, com qual conta executar o teste e outros detalhes necessários para suas ações. Você pode reutilizar o mesmo contexto para diferentes ações.
Para criar um contexto de validação de segurança, faça o seguinte:
Acesse Validação de segurança e a guia Contextos de execução.
Clique em Adicionar contexto de execução.
Na caixa de diálogo Adicionar contexto de execução, faça o seguinte:
Em Propriedades básicas, insira o nome e a descrição do contexto e clique em Próxima.
Em Configurações do ambiente, insira o ID do projeto Google Cloud e as contas de conta de serviço de execução e limpeza. Clique em Next.
Recomendamos usar contas de serviço separadas para
action profile(para executar scripts de ação) e parasetup/cleanup profile(para executar os scripts de configuração e limpeza que fazem parte de algumas ações). Essas contas de serviço podem receber permissões diferentes no projeto de destino.Em Variáveis de execução, adicione uma ou mais variáveis para substituir dinamicamente os parâmetros padrão. Adicione pares de chave-valor em que
keyé o nome do parâmetro evalueé o valor de substituição.Clique em Criar.
Executar a ação de validação de segurança
Para executar uma ação de validação de segurança em um contexto de validação de segurança, faça o seguinte:
Acesse Validação de segurança e clique na guia Biblioteca de conteúdo.
Selecione uma ação e clique em Executar.
Na caixa de diálogo, selecione o contexto de execução que você criou e clique em Executar agora.
Uma nova execução é criada e aparece na guia Histórico de execução.
Gerenciar monitores de validação de segurança
É possível executar novamente ações bem-sucedidas de forma recorrente usando o recurso de monitoramento. Isso permite o monitoramento contínuo da postura de segurança sem intervenção manual.
Criar um monitor
Só é possível criar um monitor com base em uma execução concluída. Para criar um Monitor de uma execução, faça o seguinte:
Acesse Validação de segurança e clique na guia Histórico de execução.
Clique no ID da execução e em Criar monitor.
Opcional: na janela Criar monitor, dê um nome ao monitor.
Se você não inserir um nome, o monitor será referenciado por um ID.
Revise os detalhes da execução do valor de referência mostrados nesta janela.
Clique em Próxima.
Configure as configurações do Monitor.
Você pode executar um monitor em horários específicos ou a cada hora.
Para executar o monitor em horários específicos, faça o seguinte:
No menu suspenso Horário, selecione Executar em um horário específico.
Especifique o horário na caixa de texto ao lado.
Na opção Dias, selecione uma das seguintes opções:
Diária: é executada todos os dias no horário especificado.
Dias da semana: executa apenas nos dias selecionados (por exemplo, segunda, quarta e sexta-feira) no horário especificado.
Dia do mês: executa uma vez por mês no dia especificado (por exemplo, o 15º) no horário especificado.
No menu suspenso Meses, selecione Mensal (para executar todo mês) ou Meses específicos para especificar os meses exatos em que o monitor deve ser executado (por exemplo, janeiro, abril, julho).
No menu suspenso Fuso horário, selecione o fuso horário necessário. Por padrão, esse campo usa o fuso horário definido em Preferências do usuário, que pode ser diferente das configurações do navegador. Para encontrar ou mudar essa configuração padrão, acesse Perfil > Preferências do usuário > Localização > Fuso horário.
Clique em Próxima.
Para executar o monitoramento em intervalos de uma hora, faça o seguinte:
No menu suspenso Horário, selecione Repetir a cada hora.
Defina a frequência de repetição do ciclo de monitoramento no campo hora(s) e o minuto específico no campo minuto(s). Por exemplo, definir 1 hora e 30 minutos significa que o monitor será executado a cada hora, 30 minutos após a hora (NÃO a cada 90 minutos).
Na opção Horas, selecione uma das seguintes opções:
Todas as horas do dia:o monitor será executado 24 horas por dia, todos os dias, com base na frequência especificada.
Hora de início e término: o monitor será executado apenas dentro do período especificado (por exemplo, entre 8h e 17h).
Na opção Dias, selecione uma das seguintes opções:
Diária: é executada todos os dias no horário especificado.
Dias da semana: executa apenas nos dias selecionados (por exemplo, segunda, quarta, sexta) no horário especificado.
Dia do mês: executa uma vez por mês no dia especificado (por exemplo, o 15º) no horário especificado.
No menu suspenso Meses, selecione Mensal (para executar todos os meses) ou Meses específicos para especificar os meses exatos em que o monitor deve ser executado (por exemplo, janeiro, abril, julho).
No menu suspenso Fuso horário, selecione o fuso horário necessário. Por padrão, esse campo usa o fuso horário definido em Preferências do usuário, que pode ser diferente das configurações do navegador. Para encontrar ou mudar essa configuração padrão, acesse Perfil > Preferências do usuário > Localização > Fuso horário.
Clique em Próxima.
Em Resultados esperados, marque ou desmarque as condições conforme necessário. É necessário selecionar pelo menos uma condição.
O resultado da ação corresponde ao valor de referência:avalia se o estado de execução, o resultado e o motivo do resultado correspondem ao valor de referência. Os três parâmetros precisam corresponder para que a verificação seja avaliada como verdadeira.
Os produtos de eventos correlacionados correspondem ao valor de referência:
Agrupa eventos correlacionados por produto.
Verifica se a execução atual tem pelo menos um evento para cada produto listado no valor de referência.
A verificação ignora eventos de produtos que não têm eventos no valor de referência.
Ele será avaliado como
falsese os eventos correspondentes ao valor de referência não chegarem antes do tempo limite.
Regras de detecção correlacionadas que alertam sobre a correspondência com o valor de referência:
Agrupa detecções por regra e estado de alerta.
Verifica se a execução atual tem pelo menos uma detecção de uma regra que tem detecções na execução de comparativo.
Ignora detecções de regras que não têm detecções na execução do valor de referência.
Será avaliado como
falsese as detecções correspondentes ao valor de referência não chegarem antes do tempo limite.
Clique em Criar para criar o monitor.
Ver e executar um monitor
Para conferir um monitor criado, faça o seguinte:
Acesse Validação de segurança e clique na guia Monitores. Algumas colunas ficam ocultas por padrão. Clique em Gerenciador de colunas para gerenciar a visibilidade delas.
Localize seu monitor específico na lista.
Clique no link do monitor para abrir a página de detalhes.
Clique em Executar agora para iniciar o Monitor.
A página de detalhes do monitoramento oferece uma visão geral centralizada e de alto nível do monitoramento. Ajuda você a avaliar o status geral e a integridade de um monitor rapidamente. Ele fornece as seguintes informações importantes sobre o Monitor:
Resumo de integridade
Os cards de métricas a seguir oferecem uma visão geral da estabilidade do Monitor:
Monitorar o status de integridade: mostra o estado atual com base na última execução com um resultado de monitoramento finalizado (por exemplo,
Healthy) e há quanto tempo ele mantém esse estado.Resultado íntegro ou não íntegro mais recente: fornece um ponteiro para a execução mais recente que desviou da linha de base.
Atualização de resultados: mostra o tempo decorrido desde a última execução com um status de monitoramento finalizado.
Resultados esperados
Esta seção define os critérios de sucesso derivados da execução do valor de referência.
Resultado e motivo da ação: o resultado e o motivo da ação que correspondem à execução do valor de referência (por exemplo,
NOT_BLOCKEDcom um motivo acompanhante).Produtos que geraram eventos: a lista de produtos para eventos correlacionados que correspondem à execução de valor de referência.
Regras de detecção de alertas: a lista de regras de detecção correlacionadas de alertas que correspondem à execução do valor de referência.
A tabela Resultados do monitor mostra todas as execuções do monitor. A tabela é compatível com pesquisa de texto, filtragem e configuração de colunas.
Ativar ou desativar um monitor
Para ativar ou desativar um monitor, faça o seguinte:
Acesse Validação de segurança e clique na guia Monitores.
Clique no botão Status para ativar ou desativar um monitor. Como alternativa, clique em Pausar monitor ou Reiniciar monitor na página Detalhes do monitor para mudar o status.
Modificar ou excluir um monitor
Para modificar ou excluir um monitor, faça o seguinte:
Acesse Validação de segurança e clique na guia Monitores.
Clique no menu no monitor que você quer modificar.
Clique em Editar monitor para modificar ou em Excluir monitor para excluir o monitor. Você também pode clicar em Editar monitor na página Detalhes do monitor para modificar.
Clique em Atualizar ou Confirmar para aplicar as mudanças.
Analisar os resultados do monitoramento
Para conferir todas as execuções de um monitor, faça o seguinte:
Acesse Validação de segurança e clique na guia Monitores.
Clique no menu no Monitor.
Clique em Ver todos os resultados. A página Histórico de execução é exibida.
As execuções são filtradas para mostrar todas as execuções associadas a esse monitor específico.
Ver resultados da última execução
Para conferir os resultados da última execução de um monitor, faça o seguinte:
Acesse Validação de segurança e clique na guia Monitores.
Clique no menu no Monitor.
Clique em Ver resultados da última execução para abrir os Detalhes da execução.
O sistema mostra os detalhes da execução mais recente do monitor.
Analisar os resultados da execução
Você pode conferir a ação de validação de segurança executada na guia Histórico de execução. Para analisar os resultados da execução, faça o seguinte:
Navegue até Validação de segurança e acesse a guia Histórico de execução para monitorar o status da execução.
A coluna Status da execução indica se a execução foi bem-sucedida ou encontrou um erro. Se a ação for bem-sucedida, você poderá conferir os eventos gerados e as detecções acionadas por ela no Google SecOps.
Clique no ID da execução para conferir os detalhes.
A página Detalhes da execução da ação mostra o status, o resultado e uma análise detalhada de uma ação de validação. Use esta página para validar sua postura de segurança entendendo quais regras de detecção a atividade da ação acionou.
O progresso da correlação mostra o progresso do fluxo de trabalho de correlação em tempo real de uma execução. Enquanto a correlação é executada, a contagem total de eventos pode aumentar até que a tarefa seja concluída.
Analisar a tabela de regras correlacionadas
A tabela Regras correlacionadas lista as regras de detecção acionadas durante a execução da ação, incluindo regras personalizadas e selecionadas.
A tabela mostra regras personalizadas e selecionadas. Ele inclui dois grupos: * Regras definidas explicitamente nos metadados da ação * Regras adicionais acionadas por eventos correlacionados
Isso ajuda a identificar quais regras funcionaram como esperado e quais precisam de mais investigação.
A tabela inclui as seguintes colunas:
Nome da regra:nome da regra de detecção. Clique no nome da regra para conferir a definição e o histórico de detecção dela.
Contagem de detecções:número de detecções acionadas pela regra. Um valor de
0indica que não foram encontrados eventos correspondentes.Detecções:link para a página Detecções, que mostra as detecções acionadas nesta execução.
Associada à ação:indica se a regra fazia parte dos metadados da ação:
Sim:os metadados da ação incluem a regra. O sistema espera que ele seja acionado quando a ação for executada.
Não:os metadados dessa ação não incluem a regra, mas a lógica dela correspondeu aos eventos gerados e a acionou.
Esta tabela ajuda a identificar os resultados:
| Coluna "Associada à ação" | Coluna de contagem de detecções | O que significa |
|---|---|---|
YES
|
1 ou mais
|
Sucesso: uma regra esperada acionou uma ou mais detecções. |
NO
|
1 ou mais
|
Uma regra inesperada foi acionada pela atividade. |
YES
|
0
|
Uma regra esperada não acionou nenhuma detecção. |
Analisar eventos correlacionados
Depois de executar uma ação de validação de segurança, use os eventos correlacionados para avaliar como seu ambiente e os controles de segurança responderam à ameaça simulada.
Sua análise inclui dois componentes: um status em tempo real do fluxo de trabalho de correlação e uma tabela detalhada de todos os eventos gerados.
O Status da correlação de eventos mostra o estado atual do fluxo de trabalho como um dos seguintes:
Em execução:o sistema está pesquisando ativamente eventos correlacionados.
Concluído:todas as atividades de correlação de eventos foram concluídas com sucesso.
Errored:o fluxo de trabalho de correlação encontrou um erro e não pôde ser concluído.
A mensagem Fluxo de trabalho de correlação concluído em indica uma estimativa de quando a correlação será ou foi concluída.
A tabela de eventos lista todos os eventos gerados pela ação. Use esses dados para analisar respostas individuais no seu ambiente e controles de segurança.
A tabela inclui as seguintes colunas:
Evento: ID do evento. Clique para ver os detalhes do evento na Pesquisa do UDM.
Carimbo de data/hora do evento:horário em que o evento ocorreu no sistema de origem (por exemplo, o servidor ou o firewall).
Carimbo de data/hora observado:hora em que o serviço de validação de segurança encontrou e correlacionou o evento com a execução.
Produto:o produto que gerou o evento.
Ação do resultado de segurança:resultado do evento (
BlockedouNot blocked), com base no camposecurity_result.actiondo evento da UDM.
As ações podem segmentar regiões fora da instância do Google SecOps em que são executadas. Os resultados da execução mostram os registros recuperados do projeto de execução.
Acessar recursos e referências avançados
Confira os recursos a seguir para exemplos de configuração e mapeamento de dados de referência.
Exemplo de implementação: gerar token de acesso usando signJWT
Considere um exemplo da ação "Gerar token de acesso usando a permissão signJWT". Este exemplo pressupõe que você já configurou um contexto de validação de segurança e está executando a ação nesse contexto. A ação deve gerar registros de auditoria do Cloud e acionar a geração de token de acesso com a regra de detecção de ameaças signJWT.
É necessário fazer a seguinte configuração:
APIs ativadas:a API de credenciais da conta de serviço do Identity and Access Management (IAM) precisa estar ativada nos projetos de destino e de execução.
Permissões da conta de serviço:a conta de serviço especificada no campo
profiledo contexto de validação de segurança precisa ter a permissãoiam.serviceAccounts.signJwtno projeto de destino. Isso pode ser concedido com o papel de Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator). Esse papel pode ser concedido no projeto ou na conta de serviço de destino (que, para essa ação, é a conta de serviço padrão do Compute Engine do projeto de destino).Geração de registros de auditoria do IAM:a geração de registros de auditoria do IAM (
ADMIN_READ) precisa ser ativada no projeto de destino para capturar os eventos gerados por essa ação.Filtro de exportação personalizado:para ingerir os eventos gerados por essa ação pela ingestão do SecOps Google Cloud , é necessário definir um filtro de exportação personalizado que inclua
log_id("cloudaudit.googleapis.com/data_access").Conjunto de regras:o conjunto de regras Cloud Threats -> [Google Cloud] IAM Abuse precisa estar ativado e definido para alertas para que as detecções apareçam na pesquisa e na visualização de investigação.
Exemplos de programação de monitoramento
Use estes exemplos como referência ao configurar programações recorrentes para monitoramento contínuo.
| Configuração | Quando ele é executado |
|---|---|
| Horário: executar em um horário específico (22h) Dias: dias da semana (segunda-feira) Meses: mensal Fuso horário: EST |
É executado todas as segundas-feiras às 22h, horário padrão do leste. |
| Horário: executar em um horário específico (01:00) Dias: dia do mês (1) Meses: especificar (jan, abr, jul, out) Fuso horário: PST |
Executado às 1h (horário padrão do Pacífico) no primeiro dia de janeiro, abril, julho e outubro. |
| Horário: executar em um horário específico (14:00) Dias: diário Meses: mensal Fuso horário: UTC |
É executado todos os dias às 14h no Tempo Universal Coordenado. |
| Horário: executar em um horário específico (09:30) Dias: dia do mês (15) Meses: especificar (fev, abr, jun, ago, out, dez) Fuso horário: EST |
É executado às 9h30 (horário padrão do leste dos EUA) no dia 15 de cada segundo mês (fevereiro, abril, junho, agosto, outubro e dezembro). |
|
Horário: repetir a cada hora Intervalo: a cada 1 hora Horas: todas as horas |
Funciona sem parar. Executa precisamente no início de cada hora, 24 horas por dia (por exemplo, 1h, 2h, 3h e assim por diante). |
|
Horário: repetir a cada hora Intervalo: a cada 4 horas Horas: hora de início e de término (22h às 6h) |
Funciona apenas durante a noite. Executa às 22h, 2h e 6h para capturar o status do servidor durante períodos de baixo tráfego. |
Solução de problemas
Latência e limites
Os resultados das execuções de monitor recém-acionadas não são preenchidos imediatamente com dados de detecção e eventos devido à janela de correlação.
Correção de erros
| Erro | Descrição do problema | Corrigir |
|---|---|---|
| Erro de permissão do IAM | Permissão iam.serviceaccounts.actAs negada na conta de serviço.
|
Se você criou ou atualizou o contexto pouco antes de executar a ação, aguarde alguns minutos e tente de novo. As mudanças no IAM são consistentes, mas pode levar algum tempo para que as atribuições de papéis sejam propagadas pelo sistema. Verifique se a identidade que está executando a ação tem a permissão "iam.serviceaccounts.actAs" na conta de serviço especificada. |
Validação e teste
Para verificar se o monitor está configurado corretamente sem esperar o próximo intervalo programado, use o botão Executar agora na página de detalhes do monitor. Atualize a página depois que a janela de correlação passar para verificar o Status da execução.