As 10 principais opções de mitigação da OWASP para 2021 no Google Cloud

Last reviewed 2024-07-31 UTC

Neste documento, você aprenderá a identificar Google Cloud produtos e estratégias de mitigação para se proteger contra ataques comuns no nível do aplicativo descritos nos 10 principais da OWASP (em inglês). OWASP Top 10 é uma lista da Open Web Application Security (OWASP) Foundation (em inglês) com os 10 principais riscos de segurança que todo proprietário de aplicativo precisa conhecer. Ainda que nenhum produto de segurança possa garantir proteção total contra esses riscos, aplicar esses produtos e serviços quando faz sentido na sua arquitetura pode contribuir para uma solução de segurança de várias camadas.

A infraestrutura do Google foi projetada para ajudar você a criar, implantar e operar serviços de maneira segura. A segurança física e operacional, a criptografia de dados em repouso e em trânsito e muitos outros atributos importantes de uma infraestrutura segura são gerenciados pelo Google. Você herda esses benefícios implantando seus aplicativos no Google Cloud, mas talvez seja necessário tomar outras medidas para proteger seu aplicativo contra ataques específicos.

As estratégias de mitigação listadas neste documento são classificadas pelo risco de segurança do aplicativo e pelo produto Google Cloud . Muitos produtos desempenham um papel na criação de uma estratégia de defesa em profundidade contra riscos de segurança na Web. Neste documento, fornecemos informações sobre como outros produtos podem reduzir os 10 principais riscos da OWASP, mas fornecemos mais detalhes sobre como o Google Cloud Armor e a Apigee podem reduzir uma grande variedade desses riscos. O Google Cloud Armor, atuando como um firewall de aplicativos da Web (WAF, na sigla em inglês), e a Apigee, como um gateway de API, pode ser especialmente útil no bloqueio de diferentes tipos de ataques. Esses produtos estão no caminho de tráfego da Internet e podem bloquear o tráfego externo antes de chegar aos seus aplicativos no Google Cloud.

Visão geral do produto

Os produtos Google Cloud listados na tabela a seguir podem ajudar na proteção contra os 10 principais riscos de segurança:

Produto Resumo A01 A02 A03 A04 A05 A06 A07 A08 A09 A10
Transparência no acesso Expanda a visibilidade e o controle sobre seu provedor de nuvem com registros de acesso de administrador e controles de aprovação.
Apigee Projete, proteja e escalone interfaces de programação de aplicativos
Artifact Registry Armazena artefatos e dependências de builds de maneira centralizada.
Autorização binária Garanta que apenas imagens de contêiner confiáveis sejam implantadas no Google Kubernetes Engine.
Inventário de recursos do Cloud Confira, monitore e analise todos os seus recursos do Google Cloud e do Google Distributed Cloud ou de várias nuvens em projetos e serviços
Cloud Build Cria, testa e implanta no Google Cloud
Cloud Key Management Service Gerenciar chaves de criptografia no Google Cloud
Cloud Load Balancing Controle quais criptografias o proxy SSL ou balanceador de carga HTTPS negocia
Cloud Logging Gerenciamento e análise de registros em larga escala e em tempo real.
Cloud Monitoring Colete e analise métricas, eventos e metadados dos serviços Google Cloud e de uma ampla variedade de aplicativos e serviços de terceiros.
Cloud Source Repositories Armazene, gerencie e acompanhe o código em um único lugar para sua equipe
Google Cloud Armor Um firewall de aplicativos da Web (WAF) implantado na borda da rede do Google para ajudar a se defender contra vetores de ataque comuns
Google Security Operations Localiza ameaças automaticamente, em tempo real e em escala usando a infraestrutura, as técnicas de detecção e os sinais do Google
Identity Platform Adicionar recursos de gerenciamento de identidade e acesso a aplicativos, proteger contas de usuários e dimensionar o gerenciamento de identidade
Identity-Aware Proxy (IAP) Use identidade e contexto para proteger o acesso a seus aplicativos e VMs.
reCAPTCHA Ajude a proteger seu site contra atividades fraudulentas, spam e abuso
Secret Manager Armazene chaves de API, senhas, certificados e outros dados confidenciais.
Security Command Center Visibilidade centralizada para análise de segurança e inteligência contra ameaças para ajudar a identificar vulnerabilidades nos seus aplicativos
Proteção de Dados Sensíveis Descubra, classifique e proteja seus dados mais confidenciais
Chaves de segurança Titan Ajude a proteger usuários de alto valor com dispositivos de 2FA resistentes a phishing criados com um chip de hardware com firmware criado pelo Google para verificar a integridade da chave.
Firewalls de nuvem privada virtual Permitem ou recusam conexões que entram ou saem das instâncias de máquina virtual (VM).
VirusTotal Analise arquivos e URLs suspeitos para detectar tipos de malware. Compartilhe-os automaticamente com a comunidade de segurança
VPC Service Controls Isole recursos de serviços Google Cloud multilocatários para mitigar riscos de exfiltração de dados
Google Cloud boletins de segurança Os boletins de segurança mais recentes relacionados aos produtos Google Cloud

A01: controle de acesso corrompido

Controle de acesso corrompido se refere a controles de acesso que são apenas parcialmente aplicados no lado do cliente ou fracamente implementados. A mitigação desses controles geralmente requer uma regravação no lado do aplicativo para garantir que os recursos sejam acessados corretamente por usuários autorizados.

Apigee

Caso de uso:

  • Aplicação do controle de acesso
  • Limitar a manipulação de dados

A Apigee é compatível com uma abordagem em camadas para implementar controles de acesso e evitar que os usuários mal-intencionados façam alterações não autorizadas ou acessem o sistema.

Configure o controle de acesso baseado em função (RBAC) para permitir que os usuários acessem apenas os recursos e a configuração necessários. Crie mapas de chave-valor criptografados para armazenar pares de chave-valor sensíveis, que aparecem mascarados na interface do Edge e nas chamadas da API Management. Configure o logon único com o provedor de identidade da sua empresa.

Configure portais do desenvolvedor para mostrar produtos de API específicos de acordo com o papel do usuário. Configure o portal para mostrar ou ocultar conteúdo com base no papel do usuário.

Inventário de recursos do Cloud

Caso de uso:

  • Monitorar a TI não autorizada (também conhecida como shadow IT)
  • Instâncias de computação desatualizadas

Um dos vetores mais comuns para exposição de dados é a infraestrutura de TI órfã ou não autorizada. Configure notificações em tempo real para alertar sobre recursos em execução inesperados, que podem ser protegidos incorretamente ou usar software desatualizado.

Cloud Load Balancing

Caso de uso:

  • Controle detalhado de criptografia SSL e TLS

Impeça o uso de criptografias SSL ou TLS fracas, atribuindo um grupo predefinido ou uma lista personalizada de criptografias que o Cloud Load Balancing possa usar.

Google Cloud Armor

Caso de uso:

  • Filtrar solicitações de origem cruzada
  • Filtrar ataques de inclusão de arquivo local ou remoto
  • Filtrar ataques de poluição do parâmetro HTTP

Muitos casos de controle de acesso corrompido não podem ser atenuados com o uso de um firewall de aplicativos da Web, porque os aplicativos não exigem ou não verificam corretamente os tokens de acesso a cada solicitação, e os dados podem ser manipulados no lado do cliente. Vários desafios do Juice Shop relacionados ao controle de acesso corrompido. Por exemplo, a postagem de feedback no nome de outro usuário usa o fato de que algumas solicitações não são autenticadas no lado do servidor. Como é possível ver na solução de desafio, a exploração dessa vulnerabilidade é completamente do lado do cliente e, portanto, não pode ser atenuada com o Google Cloud Armor.

Alguns desafios podem ser parcialmente mitigados no lado do servidor se o aplicativo não puder ser corrigido imediatamente.

Por exemplo, se ataques de falsificação de solicitações entre sites (CSRF) forem possíveis porque o servidor da Web implementa mal o compartilhamento de recursos entre origens (CORS, na sigla em inglês), como demonstrado no desafio do Juice Shop CSRF, é possível atenuar esse problema bloqueando solicitações de origens inesperadas com uma regra personalizada. A regra a seguir corresponde a todas as solicitações com origens diferentes de example.com e google.com:

has(request.headers['origin']) &&
!((request.headers['origin'] == 'https://example.com')||
(request.headers['origin'] == 'https://google.com') )

Quando o tráfego que corresponde a essa regra é negado, a solução do desafio CSRF deixa de funcionar.

O desafio de manipulação da cesta de compras usa a poluição de parâmetros HTTP (HPP, na sigla em inglês) para mostrar como atacar a loja na solução do desafio. A HPP é detectada como parte do conjunto de regras do ataque de protocolo. Para ajudar a bloquear esse tipo de ataque, use a seguinte regra: evaluatePreconfiguredExpr('protocolattack-stable').

Identity-Aware Proxy e acesso baseado no contexto

Caso de uso:

  • Controle de acesso centralizado
  • Funciona na nuvem e no local
  • Protege conexões HTTP e TCP
  • Acesso baseado no contexto

Com o IAP, é possível usar identidade e contexto para formar um bloqueio de autenticação e autorização seguros para seu aplicativo. Evite autorização inválida ou controle de acesso ao aplicativo voltado ao público com um sistema de autenticação e autorização gerenciado centralmente criado no Cloud Identity e no IAM.

Aplique controles de acesso granulares a aplicativos da Web, VMs, Google Cloud APIs e aplicativos do Google Workspace com base na identidade do usuário e no contexto da solicitação sem a necessidade de uma VPN convencional. Use uma única plataforma para aplicativos de nuvem e aplicativos locais e recursos de infraestrutura.

Security Command Center

O Security Command Center inclui dois serviços que ajudam a resolver problemas de controles de acesso: o Security Health Analytics e o Web Security Scanner.

A Análise de integridade da segurança é compatível com os seguintes casos de uso:

  • Aplicação de autenticação multifator (MFA) ou autenticação de dois fatores
  • Proteção de chave de API
  • Monitoramento de políticas de SSL

O Security Health Analytics ajuda a evitar o controle de acesso corrompido monitorando a conformidade da autenticação multifator, a política de SSL e a integridade das suas chaves de API.

O Web Security Scanner é compatível com os seguintes casos de uso:

  • Repositórios expostos ao público
  • Validação não segura de cabeçalho de solicitação

O Web Security Scanner verifica se há vulnerabilidades nos aplicativos da Web, como repositórios de código visíveis publicamente e validação incorreta dos cabeçalhos da solicitação.

A02: falhas criptográficas

As falhas criptográficas podem acontecer devido à falta de criptografia, a uma criptografia fraca em trânsito ou a dados sensíveis expostos acidentalmente. Os ataques a essas vulnerabilidades geralmente são específicos do aplicativo. Portanto, ele precisa de uma abordagem de defesa profunda para mitigar.

Apigee

Caso de uso:

  • Proteja os dados confidenciais

Use o TLS unidirecional e bidirecional para proteger informações confidenciais no nível do protocolo.

Use políticas como Política de atribuição de mensagem e Política de JavaScript para remover dados sensíveis antes que eles sejam retornados ao cliente.

Use técnicas padronizadas do OAuth e considere adicionar HMAC, hash, estado, nonce, PKCE ou outras técnicas para melhorar o nível de autenticação de cada solicitação.

Mascarar dados sensíveis na ferramenta Edge Trace.

Criptografe dados confidenciais em repouso em mapas de chave-valor.

Inventário de recursos do Cloud

Caso de uso:

  • SearchService
  • Analisador de acesso

Um dos vetores mais comuns para exposição de dados é a infraestrutura de TI órfã ou não autorizada. Para identificar os servidores que ninguém está mantendo e os buckets com regras de compartilhamento excessivamente amplas, analise os dados de série temporal do recurso da nuvem.

Configure notificações em tempo real para alertar sobre provisionamento inesperado de recursos que podem estar protegidos de forma inadequada ou não autorizados.

API Cloud Data Loss Prevention (parte da Proteção de dados sensíveis)

Caso de uso:

  • Descoberta e classificação de dados confidenciais
  • Mascaramento automático de dados

A API Cloud Data Loss Prevention (API DLP) permite verificar dados sensíveis armazenados em buckets ou bancos de dados para prevenir vazamentos indesejados de informações. Se os dados não permitidos forem identificados, eles poderão ser sinalizados ou editados automaticamente.

Cloud Key Management Service

Caso de uso:

  • Gerenciamento seguro de chaves criptográficas

O (Cloud KMS) ajuda a evitar possíveis exposições das chaves criptográficas. Use esse serviço de gerenciamento de chaves hospedado na nuvem para gerenciar chaves criptográficas simétricas e assimétricas nos serviços em nuvem da mesma forma que você faz no local. É possível gerar, usar, alternar e destruir chaves criptográficas AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 e EC P384.

Cloud Load Balancing

Caso de uso:

  • Controle detalhado de criptografia SSL e TLS

As políticas de SSL ajudam a evitar a exposição de dados confidenciais, dando a você controle sobre os recursos e as criptografias SSL e TLS permitidos em um balanceador de carga. Bloqueie criptografias não aprovadas ou não seguras, conforme necessário.

Google Cloud Armor

Caso de uso:

  • Filtrar URLs de ataques conhecidos
  • Restringir o acesso a endpoints confidenciais

Em geral, a exposição de dados confidenciais precisa ser interrompida na origem, mas como todo ataque é específico do aplicativo, os firewalls de aplicativos da Web só podem ser usados de maneira limitada para impedir amplamente a exposição dos dados. No entanto, se não for possível aplicar patches ao aplicativo imediatamente, restrinja o acesso a endpoints vulneráveis ou padrões de solicitação usando as regras personalizadas do Google Cloud Armor.

Por exemplo, vários desafios do Juice Shop sobre exposição a dados sensíveis podem ser explorados devido à travessia de diretórios insegura e ataques de injeção de bytes nulos. É possível mitigar essas injeções verificando as strings no URL com a seguinte expressão personalizada:

request.path.contains("%00") || request.path.contains("%2500")

É possível resolver o desafio das métricas expostas acessando o subdiretório /metrics que é usado pelo Prometheus. Se você tiver um endpoint confidencial que está exposto e não puder remover o acesso imediatamente, é possível restringir o acesso a ele excetuando intervalos de endereços IP específicos. Use uma regra semelhante à seguinte expressão personalizada:

request.path.contains("/metrics") && !(inIpRange(origin.ip, '1.2.3.4/32')

Substitua 1.2.3.4/32 pelo intervalo de endereços IP que precisa ter acesso à interface das métricas.

Os arquivos de registros expostos acidentalmente são usados para resolver um dos desafios do Juice Shop. Para evitar a exposição de registros, defina uma regra que bloqueie totalmente o acesso aos arquivos de registros: request.path.endsWith(".log").

Identity-Aware Proxy e acesso baseado no contexto

Caso de uso:

  • Acesso remoto seguro a serviços confidenciais
  • Controle de acesso centralizado
  • Acesso baseado no contexto

Use identidade e contexto para formar uma autenticação e autorização seguras em torno de seu aplicativo. Implante ferramentas, como relatórios internos de bugs, base de conhecimento corporativa ou e-mail por trás do IAP, para permitir o acesso baseado no contexto somente a pessoas autorizadas em qualquer lugar da Internet.

Com o acesso baseado no contexto, é possível aplicar controles de acesso granulares a aplicativos da Web, máquinas virtuais (VMs), Google Cloud APIs e aplicativos do Google Workspace com base na identidade de um usuário e no contexto da solicitação sem uma VPN convencional. Com base no modelo de segurança de confiança zero e na implementação do BeyondCorp do Google, o acesso baseado no contexto permite que você forneça acesso aos usuários, aplique controles granulares e use uma única plataforma para sua nuvem e nos aplicativos locais e recursos de infraestrutura.

Secret Manager

Caso de uso:

  • Chaves de criptografia
  • Chaves de API
  • Outras credenciais do sistema

O Secret Manager é um serviço de armazenamento seguro para os dados mais valiosos, como chaves de API, senhas de contas de serviço e recursos criptográficos. O armazenamento central desses segredos permite que você confie nos sistemas de autenticação e autorização do Google Cloud, incluindo o IAM, para determinar se alguma solicitação de acesso é válida.

O Secret Manager não foi projetado para operações em grande escala, como tokenização de cartões de crédito ou armazenamento de senha de usuário individual. Esses aplicativos precisam depender do Identity Platform para o gerenciamento de identidade e acesso do cliente (CIAM), do Cloud Identity para os membros da organização ou de um software de tokenização dedicado.

Security Command Center

O Security Command Center inclui dois serviços que ajudam a resolver falhas criptográficas: Security Health Analytics e Web Security Scanner.

A Análise de integridade da segurança é compatível com os seguintes casos de uso:

  • Aplicação de MFA/2FA
  • Proteção de chave de API
  • Aplicação de rotação de chaves de API
  • Privacidade de imagem do Compute
  • Aplicação da regra de chave SSH
  • Monitoramento da inicialização segura
  • Segurança de acesso à API
  • Monitoramento de políticas de SSL
  • Geração de registros desativada
  • Alertas de ACL de bucket público

O Security Health Analytics ajuda a evitar a exposição de dados confidenciais monitorando a conformidade com a autenticação multifator e a integridade das chaves de API. Receba alertas de configurações não seguras no armazenamento de imagens de contêiner, Cloud Storage, política de SSL, política de chave SSH, geração de registros, acesso à API e muito mais.

O Web Security Scanner é compatível com o seguinte caso de uso:

  • Senhas não criptografadas transmitidas pela rede

O Web Security Scanner verifica seus aplicativos da Web e relata os resultados de erros e vulnerabilidades. Se o aplicativo transmitir senhas em texto não criptografado, o Web Security Scanner vai gerar uma descoberta CLEAR_TEXT_PASSWORD.

VirusTotal

Caso de uso:

  • Prevenção contra phishing

O VirusTotal permite que você verifique URLs de conteúdo malicioso antes de apresentá-los aos seus usuários ou funcionários, sejam eles encontrados na entrada do usuário, e-mails, bate-papo, registros ou outros locais.

VPC Service Controls

Caso de uso:

  • Firewall para serviços gerenciados

Encapsule serviços gerenciados em um firewall para controlar quem pode chamar o serviço e a quem ele pode responder. Bloqueie a saída não autorizada e a exfiltração de dados com regras de perímetro de saída em serviços como o Cloud Run. Impeça solicitações de usuários e locais não autorizados para armazenamentos e bancos de dados gerenciados. Crie perímetros seguros em torno de APIs avançadas ou potencialmente caras.

Scanner de aplicativos da Web

Caso de uso:

  • Leitor de risco de segurança para aplicativos da Web
  • Leitor de disponibilidade do repositório de origem

Para impedir que seu aplicativo da Web exponha dados confidenciais, certifique-se de que as senhas não sejam enviadas em texto simples. Evite vazar código-fonte bruto potencialmente destrutivo verificando repositórios de código-fonte expostos do git e do Apache Subversion. Essas verificações são projetadas para abranger os 10 principais controles da OWASP.

A03: injeção

Falhas de injeção, como injeção de SQL, NoSQL, SO e LDAP, ocorrem quando dados não confiáveis são enviados para um intérprete como parte de um comando ou consulta. Os dados hostis do invasor podem induzir o intérprete a executar comandos indesejados ou acessar dados sem a autorização adequada. Recomendamos que os dados do usuário sejam limpos ou filtrados pelo aplicativo antes de serem enviados a um intérprete.

As seções a seguir discutem os produtos Google Cloud que podem ajudar a reduzir esse risco.

Apigee

Caso de uso:

  • Bloqueio de injeção SQL
  • Bloqueio de injeção NoSQL
  • Bloqueio de injeção LDAP
  • Bloqueio de injeção de JavaScript

A Apigee fornece várias políticas de validação de entradas para verificar se os valores fornecidos por um cliente correspondem às suas expectativas configuradas antes de permitir um processamento adicional das políticas ou regras. A Apigee, como um gateway para as solicitações de API recebidas, executa uma verificação de limite para garantir que a estrutura do payload esteja dentro de um intervalo aceitável. É possível configurar um proxy de API para que a rotina de validação de entrada transforme a entrada para remover sequências de caracteres arriscadas e, em seguida, substituí-las por valores seguros.

Há várias abordagens para validar a entrada com a plataforma Apigee:

Google Cloud Armor

Caso de uso:

  • Filtragem de injeção de SQL
  • Filtragem de injeção de PHP

O Google Cloud Armor pode bloquear ataques comuns de injeção antes que eles cheguem ao seu aplicativo. Para a injeção de SQL (SQLi), o Google Cloud Armor tem um conjunto de regras predefinidas que é baseado no Conjunto de regras principais do OWASP Modsecurity. É possível criar políticas de segurança que bloqueiam ataques SQLi comuns definidas no conjunto de regras principais usando a regra evaluatePreconfiguredExpr('sqli-stable') sozinha ou em conjunto com outras regras personalizadas. Por exemplo, é possível limitar o bloqueio de SQLi a aplicativos específicos usando um filtro de caminho do URL.

Para injeção por PHP, existe outro conjunto de regras pré-configuradas. É possível usar a regra evaluatePreconfiguredExpr('php-stable') para bloquear ataques comuns de injeção de PHP.

Dependendo do seu aplicativo, ativar as expressões pré-configuradas pode levar a alguns falsos positivos, porque algumas das regras no conjunto de regras são bastante confidenciais. Para mais informações, consulte Solução de problemas com falsos positivos e como ajustar o conjunto de regras para diferentes níveis de sensibilidade.

Para ataques de injeção diferentes de SQL ou PHP, crie regras personalizadas para bloquear solicitações quando palavras-chave ou padrões de escape específicos nesses protocolos forem usados no caminho da solicitação ou consulta. Verifique se esses padrões não aparecem em solicitações válidas. Também é possível limitar essas regras apenas para uso em endpoints ou caminhos específicos que possam interpretar os dados transmitidos a elas.

Além disso, alguns ataques de injeção podem ser atenuados usando as regras pré-configuradas para execução de código remoto e injeção de arquivo remota.

Security Command Center

O Security Command Center inclui dois serviços que ajudam a resolver falhas de injeção: o Container Threat Detection e o Web Security Scanner.

O Container Threat Detection é compatível com os seguintes casos de uso:

  • Detecção de script malicioso
  • Detecção de shell reverso
  • Detecção de instalação de malware

O detector Malicious Script Executed da Detecção de ameaças a contêineres analisa cada script de shell executado no sistema e informa aqueles que parecem maliciosos. Esse detector permite descobrir ataques de injeção de comando do shell. Após a injeção de comando do shell, um invasor pode gerar um shell reverso, que aciona o detector Reverse Shell. Como alternativa, é possível instalar malware, o que aciona os detectores Added Binary Executed e Added Library Loaded.

O Web Security Scanner é compatível com os seguintes casos de uso:

  • Monitoramento para scripting em vários locais
  • Monitoramento para injeção de SQL

O Web Security Scanner verifica se há vulnerabilidades nos aplicativos da Web e fornece detectores que monitoram ataques de scripting em vários locais e de injeção de SQL.

A04: design não seguro

O design não seguro ocorre quando as organizações não implementam meios para avaliar e enfrentar ameaças durante o ciclo de vida de desenvolvimento. A modelagem de ameaças, quando feita no início das fases de design e refinamento e também durante as fases de desenvolvimento e teste, ajuda as organizações a analisar suposições e falhas. Para proteger o design, é fundamental que exista uma cultura de aprender com os erros e não apontar culpados.

Apigee

Casos de uso:

  • Validação de entrada
  • Controles de acesso
  • Gerenciamento de falhas
  • Políticas de proteção de conteúdo
  • Gerenciamento de senha

A Apigee permite validar solicitações e respostas de entrada para seu aplicativo usando a política OASValidation. Além disso, para proteger o acesso, você pode configurar o logon único (SSO), o controle de acesso baseado em papéis (RBAC), limitar o acesso a APIs (por exemplo, usando o Auth0) e restringir os endereços IP que têm acesso ao seu ambiente. Usando regras de gerenciamento de falhas, é possível personalizar como o proxy de API reage aos erros.

Para proteger os usuários globais contra senhas inseguras, a Apigee oferece as opções de expiração, bloqueio e redefinição de senha. Além disso, é possível ativar a autenticação de dois fatores (2FA).

API Cloud Data Loss Prevention (parte da Proteção de dados sensíveis)

Caso de uso:

  • Identificar e editar dados confidenciais

Com a API Cloud Data Loss Prevention, é possível identificar e tokenizar dados confidenciais. A API DLP ajuda a limitar a exposição de dados confidenciais, porque, depois da tokenização e do armazenamento dos dados, é possível definir controles de acesso para restringir quem pode ver os dados. Para mais informações, consulte Como automatizar a classificação de dados enviados para o Cloud Storage e Desidentificação e reidentificação de PII em conjuntos de dados de grande escala usando a proteção de dados sensíveis.

Secret Manager

Caso de uso:

  • Proteger o armazenamento de credenciais

O Secret Manager permite que aplicativos e pipelines acessem os valores dos secrets nomeados com base nas permissões concedidas com o IAM. Ele também fornece acesso programático aos secrets para que os processos automatizados possam acessar os valores dos secrets. Quando ativado, cada interação com o Secret Manager fornece uma trilha de auditoria. Use essas trilhas de auditoria para ajudar nos casos de análise forense e conformidade.

Security Command Center

O serviço do Web Security Scanner que faz parte do Security Command Center oferece suporte ao seguinte caso de uso:

  • Identifique vulnerabilidades de segurança nos seus aplicativos.

O Web Security Scanner verifica os aplicativos da Web em busca de vulnerabilidades. Ele segue links e tenta acionar o máximo possível de entradas do usuário e manipuladores de eventos. O detector CACHEABLE_PASSWORD_INPUT gera uma descoberta se as senhas digitadas no aplicativo da Web puderem ser armazenadas em um cache de navegador comum em vez de um armazenamento de senha seguro.

A05: configuração incorreta de segurança

Configuração incorreta de segurança se refere a falhas de aplicativo não corrigidas, contas padrão abertas e arquivos e diretórios desprotegidos que normalmente podem ser evitados com o aumento da proteção do aplicativo. A configuração incorreta de segurança pode acontecer de várias maneiras, como confiar em configurações padrão, criar configurações parciais que podem ser inseguras, permitir que mensagens de erro contenham detalhes confidenciais, armazenar dados na nuvem sem controles de segurança adequados ou configurar incorretamente. cabeçalhos HTTP.

Apigee

Caso de uso:

  • Gerenciar configurações de segurança
  • Monitorar configurações de segurança

Um fluxo compartilhado permite que os desenvolvedores de API combinem políticas e recursos em um grupo reutilizável. Ao capturar políticas e recursos reutilizáveis em um só lugar, um fluxo compartilhado ajuda a garantir a consistência, encurtar o tempo de desenvolvimento e gerenciar o código. É possível incluir um fluxo compartilhado em proxies de API individuais usando uma política FlowCallout ou inserir fluxos compartilhados em hooks de fluxo para executar automaticamente a lógica de fluxo compartilhado para cada proxy de API implantado no mesmo ambiente.

Inventário de recursos do Cloud

Caso de uso:

  • Serviço de notificação em tempo real

As notificações em tempo real podem alertar você sobre o provisionamento inesperado de recursos que podem estar protegidos de forma inadequada ou não autorizados.

Cloud Load Balancing

Caso de uso:

  • Controle detalhado de criptografia SSL e TLS

Impeça o uso de criptografias SSL ou TLS vulneráveis conhecidas atribuindo um grupo predefinido ou uma lista personalizada de criptografias que podem ser usadas por um balanceador de carga.

Google Cloud Armor

Caso de uso:

  • Filtrar endpoints não seguros
  • Filtrar ataques de inclusão de arquivo local ou remoto
  • Filtrar ataques de protocolo

Como a configuração incorreta de segurança pode ocorrer no nível do aplicativo, a OWASP Foundation recomenda que você proteja e corrija seu aplicativo diretamente e remova todos os recursos desnecessários.

Um firewall de aplicativos da Web (WAF), como o Google Cloud Armor, não pode ajudar a corrigir a configuração incorreta, mas é possível bloquear o acesso a partes do aplicativo totalmente ou para todos, exceto para endereços IP específicos ou países. Restringir o acesso pode reduzir o risco de exploração incorreta dessas configurações.

Por exemplo, se o aplicativo expõe uma interface administrativa usando um URL comum, como /admin, é possível restringir o acesso a essa interface mesmo que ela esteja autenticada. É possível fazer isso com uma regra de negação, por exemplo:

request.path.contains("/admin") && !(inIpRange(origin.ip,
'1.2.3.4/32')

Substitua 1.2.3.4/32 pelo intervalo de endereços IP que precisa ter acesso à interface do administrador.

Algumas configurações incorretas podem ser parcialmente atenuadas usando os conjuntos de regras de inclusão de arquivos local ou inclusão de arquivos remota (RFI, na sigla em inglês) predefinidos. Por exemplo, a exploração do desafio de imagiologia entre sites do Juice Shop não é bem-sucedida quando o conjunto de regras LFI é aplicado. Use a regra evaluatePreconfiguredExpr('lfi-stable') || evaluatePreconfiguredExpr('rfi-stable') para bloquear solicitações usando os conjuntos de regras de LFI e RFI e ajuste as regras conforme necessário. É possível verificar se a solução do desafio não será mais bem-sucedida.

Alguns ataques HTTP também podem ser reduzidos com o uso de conjuntos de regras pré-configurados:

Security Command Center

O Security Command Center inclui dois serviços que ajudam a resolver falhas de configuração de segurança: o Security Health Analytics e o Web Security Scanner.

A Análise de integridade da segurança é compatível com o seguinte caso de uso:

  • Monitoramento e alertas de controle de segurança

A Análise de integridade da segurança monitora vários indicadores por meio de uma única interface para garantir que o aplicativo mantenha as práticas recomendadas de segurança.

O Web Security Scanner é compatível com os seguintes casos de uso:

  • Scanner de aplicativos da Web personalizado para os 10 principais da OWASP
  • Erros de configuração do servidor HTTP
  • Conteúdo HTTP/HTTPS misto
  • Entidade externa XML (XXE)

O Web Security Scanner monitora erros comuns de segurança, como incompatibilidades de tipo de conteúdo, cabeçalhos de segurança inválidos e exibição de conteúdo misto. O Web Security Scanner também monitora vulnerabilidades, como vulnerabilidades do XXE. Essas verificações são projetadas para abranger os 10 principais controles da OWASP. Os seguintes detectores verificam configurações incorretas de segurança:

  • INVALID_CONTENT_TYPE
  • INVALID_HEADER
  • MISMATCHING_SECURITY_HEADER_VALUES
  • MISSPELLED_SECURITY_HEADER_NAME
  • MIXED_CONTENT
  • XXE_REFLECTED_FILE_LEAKAGE

Para mais informações sobre esses e outros detectores, consulte a Visão geral do Web Security Scanner.

A06: componentes vulneráveis e desatualizados

Componentes com vulnerabilidades conhecidas (em inglês) é uma categoria para vetores de ataque genéricos, e essas vulnerabilidades são melhor reduzidas com o monitoramento e o upgrade rápido de todos os componentes do aplicativo.

Autorização binária

Caso de uso:

  • Restrinja clusters do GKE a contêineres confiáveis

A autorização binária é um controle de segurança no momento da implantação que ajuda a garantir que apenas imagens de contêiner confiáveis sejam implantadas no Google Kubernetes Engine (GKE). Com a autorização binária, é possível exigir que as imagens sejam assinadas por autoridades confiáveis durante o processo de desenvolvimento e, em seguida, aplicar a validação de assinatura ao implantar. Ao aplicar a validação, é possível ter certeza de que o processo de criação e lançamento usa apenas imagens verificadas.

Cloud Load Balancing

Caso de uso:

  • Controle detalhado de criptografia SSL e TLS

Para impedir o uso de criptografias SSL ou TLS conhecidas, atribua um grupo predefinido ou uma lista personalizada de criptografias que o Cloud Load Balancing pode usar.

Google Cloud Armor

Caso de uso:

  • Bloquear o acesso a endpoints de apps não utilizados
  • Bloquear vetores de ataque comuns

Um firewall de aplicativos da Web (WAF), como o Google Cloud Armor, não deve ser usado como uma única estratégia de mitigação para bloquear ataques contra essa categoria, porque os ataques geralmente são específicos da biblioteca e não podem ser bloqueados por conjuntos de regra pré-configurada ou não pode receber patches do lado do servidor. Monitorar e fazer upgrade regularmente de todos os componentes do aplicativo é a única opção para reduzir esse tipo de vulnerabilidade.

No entanto, o Google Cloud Armor pode ajudar a reduzir alguns ataques comuns contra aplicativos vulneráveis por meio de regras pré-configuradas para execução de código remoto, inclusão de arquivo local ou inclusão de arquivo remoto.

Se você estiver ciente de componentes vulneráveis no seu aplicativo, mas não puder corrigi-lo imediatamente, bloqueie o acesso a essas partes do aplicativo para reduzir temporariamente o risco de uma exploração desses componentes. Crie uma regra personalizada que corresponda ao caminho do URL ou às consultas que acessam esses componentes vulneráveis e negam o acesso. Se você precisar acessar esses componentes de usuários ou locais específicos, ainda poderá permitir que determinados endereços IP de origem confiáveis acessem esses componentes. Uma regra que usa o caminho do URL é semelhante a esta:

`request.path.contains("/component") && !(inIpRange(origin.ip,
'1.2.3.4/32')

Substitua:

  • /component: o caminho do componente com vulnerabilidades conhecidas
  • 1.2.3.4/32: o intervalo de endereços IP que precisa manter o acesso à interface.

Se houver partes do aplicativo (por exemplo, determinados diretórios ou tipos de arquivo que nunca precisam ser acessados pelos usuários finais), também é possível bloquear ou restringir o acesso a estes recursos com uma regra personalizada, reduzindo proativamente o risco se esses componentes se tornarem vulneráveis no futuro.

Google Cloud Boletins de segurança

Caso de uso:

  • Monitoramento do boletim de segurança
  • CVEs de produtos Google Cloud

Os boletins de segurançaGoogle Cloud são uma fonte oficial de boletins de segurança que afetam Google Cloud. As postagens incluem informações básicas, links da CVE e recomendações para outras ações.

Security Command Center

O Security Command Center inclui três serviços que ajudam a lidar com componentes vulneráveis e desatualizados: Container Threat Detection, Event Threat Detection e Web Security Scanner.

O Container Threat Detection é compatível com os seguintes casos de uso:

  • Detecção de script malicioso
  • Detecção de shell reverso
  • Detecção de instalação de malware

Se um invasor se aproveitar de um componente vulnerável e executar um script malicioso, o detector Malicious Script Executed do Container Threat Detection vai gerar uma descoberta. Se um invasor gerar um shell reverso, o detector Reverse Shell vai gerar uma descoberta. Se um invasor instalar malware, os detectores Added Binary Executed e Added Library Loaded vão gerar descobertas.

O Event Threat Detection é compatível com os seguintes casos de uso:

  • Detecção de criptomineração
  • Detecção de malware
  • Exfiltração de dados
  • DoS de saída

O Event Threat Detection monitora seu stream do Cloud Logging e aplica a lógica de detecção e a inteligência contra ameaças em um nível granular. Quando o Event Threat Detection detecta uma ameaça, ele grava o que encontra no Security Command Center e em um projeto do Cloud Logging. As regras de detecção a seguir são úteis para detectar os efeitos do uso de componentes com vulnerabilidades conhecidas:

  • Criptomineração. Detectar criptomineração com base em solicitações de DNS ou conexão com endereços de mineração conhecidos
  • Malware. Detecte solicitações de DNS baseadas em malware ou conexão com endereços inválidos conhecidos.
  • Exfiltração para tabela externa. Detecte recursos salvos fora da organização, como operações de cópia ou transferência.
  • DoS de saída. Detecte vulnerabilidades exploradas que tentam ataques de negação de serviço.

O Web Security Scanner é compatível com os seguintes casos de uso:

  • Bibliotecas desatualizadas
  • Painéis de vulnerabilidades e descobertas

O Web Security Scanner monitora bibliotecas desatualizad