Veja neste documento como identificar produtos do Google Cloud e estratégias de mitigação para se proteger contra ataques comuns no nível do aplicativo descritos nos As 10 principais da OWASP 2017 (em inglês). As 10 principais da OWASP é 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. Show
Para 2021, veja As 10 principais opções de mitigação da OWASP para 2021 no Google Cloud. 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 detecção de ameaças internas, 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 do 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 produtoOs produtos do Google Cloud listados na tabela a seguir podem ajudar na proteção contra os 10 principais riscos de segurança:
A1: injeçãoFalhas 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 do Google Cloud que podem ajudar a reduzir esse risco. ApigeeCaso de uso:
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:
Container Threat DetectionCaso de uso:
O detector Google Cloud ArmorCaso de uso:
O Google Cloud Armor pode bloquear ataques comuns de injeção antes que eles cheguem ao seu aplicativo. Para injeção de SQL (SQLi), o Google Cloud Armor tem um grupo de regras
predefinido que é baseado no Conjunto de regras principais do OWASP Modsecurity (versão 3.0.2 no momento da redação). É possível criar políticas de segurança que
bloqueiam ataques SQLi definidas no grupo de regras principais usando a regra Para injeção por PHP, existe outro conjunto de regras
pré-configuradas. É possível usar a regra 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. Web Security ScannerCaso de uso:
O Web Security Scanner verifica vulnerabilidades nos aplicativos da Web e fornece detectores que monitoram ataques de injeção de SQL. A2: autenticação inválidaA autenticação inválida é uma vulnerabilidade comum porque a autenticação de aplicativos e o gerenciamento de sessão geralmente são implementados incorretamente. Os invasores podem explorar falhas de implementação, como senhas comprometidas, chaves e tokens de sessão, para assumir as identidades de outros usuários temporária ou permanentemente. Transparência no acessoCaso de uso:
Normalmente, para ter suporte prático de fornecedores externos, você precisaria conceder e compartilhar credenciais temporárias, o que cria o potencial para credenciais órfãs ou vazadas. O Access Approval é um serviço integrado que permite aprovar ou descartar as solicitações de acesso de funcionários do Google que trabalham para oferecer suporte à sua conta. Cada solicitação de acesso inclui uma justificativa de acesso para que você veja o motivo de cada acesso, incluindo referências a tíquetes de suporte. ApigeeCaso de uso:
A Apigee fornece políticas VerifyApiKey, OAuth e JSON Web Token (JWT), que ajudam a proteger contra essa vulnerabilidade. A validação de chave de API é a forma mais simples de segurança baseada em aplicativo que pode ser configurada para uma API. Um aplicativo cliente apresenta uma chave de API com a solicitação. O Apigee Edge, por meio de uma política anexada a um proxy de API, verifica se a chave de API está em um estado aprovado para o recurso que está sendo solicitado. O framework de autorização OAuth 2.0 permite que um aplicativo de terceiros tenha acesso limitado a um serviço HTTP, seja em nome de um proprietário de recursos, orquestrando uma interação de aprovação entre o proprietário do recurso e o serviço HTTP, ou em seu próprio nome, permitindo que o aplicativo de terceiros tenha acesso. JSON Web Tokens, ou JWTs, geralmente são usados para compartilhar declarações ou asserções entre aplicativos conectados. A Apigee é compatível com JWT usando três políticas. Event Threat DetectionCaso de uso:
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 uma descoberta no Security Command Center e no Cloud Logging no projeto de sua escolha. Os tipos de evento a seguir são úteis para identificar a autenticação inválida:
Google Cloud ArmorCaso de uso:
Os ataques contra vulnerabilidades classificadas com o risco de autenticação corrompido são mais bem reduzidos no nível do aplicativo ou por outros controles. No entanto, o Google Cloud Armor pode ajudar a limitar a superfície de ataque ou bloquear vetores de ataque conhecidos. Por exemplo, se o aplicativo tiver uma base de usuários limitada e esses usuários vierem de um conjunto conhecido de endereços IP ou países, crie uma política de segurança que limite o acesso ao seu aplicativo para usuários desses blocos de endereços IP ou países. Essa política pode ajudar a reduzir a verificação automatizada de endpoints fora dessas áreas. Se outros mecanismos de segurança detectarem que senhas, chaves ou tokens de sessão foram comprometidos, é possível bloquear o acesso a solicitações que contenham esses parâmetros em uma string de consulta usando uma
regra personalizada. É possível atualizar de maneira programática as regras definidas anteriormente usando o método
Para bloquear ataques comuns de correção de sessão, use o
conjunto de regras pré-configuradas do ModSecurity. É possível usar o conjunto de regras adicionando a regra Se o aplicativo incluir alterações de senha na string de consulta, também será possível bloquear o uso de senhas comuns usando uma
regra personalizada que corresponda ao atributo Identity-Aware Proxy (IAP)Caso de uso:
O IAP se integra ao balanceamento de carga HTTP(S) para que seja possível usar identidade e contexto para formar um muro de autenticação e autorização seguro em torno do aplicativo. Impeça a autenticação inválida no aplicativo voltado ao público provisionando usuários externos no Identity Platform (mais informações na seção a seguir). Também é possível impedir a falha da autenticação para interfaces administrativas protegendo-as com o Identity-Aware Proxy e autenticando os usuários provisionados com o Identity and Access Management ou Cloud Identity Qualquer tentativa de acessar a ferramenta resulta em uma tentativa de autenticação registrada, seguida por uma verificação de autorização para garantir que o usuário autenticado tenha permissão para acessar o recurso solicitado. Identity PlatformCaso de uso:
O Identity Platform é a plataforma de gerenciamento de identidade e acesso do cliente (CIAM, na sigla em inglês) do Google Cloud que fornece autenticação segura como serviço com suporte para vários protocolos usando SDKs e APIs. Ele oferece autenticação multifator, integração com serviços de autenticação de terceiros e rastreamento de atividades auditáveis. reCAPTCHA EnterpriseCaso de uso:
O reCAPTCHA Enterprise fornece filtragem altamente eficaz contra bots e outras formas de automação e tráfego em massa pontuando o nível de risco das tentativas de acesso. É possível ajustar o modelo específico do site com feedback automatizado. O reCAPTCHA adapta as pontuações futuras ao seu site. Security Health AnalyticsCaso de uso:
O Security Command Center ajuda a evitar falhas na autenticação, monitorando a conformidade da autenticação multifator e a integridade das suas chaves de API. É possível identificar solicitações suspeitas e bloqueá-las ou marcá-las para processamento especial. Chaves de segurança TitanCaso de uso:
As chaves de segurança Titan usam a criptografia de chaves públicas para verificar a identidade do usuário e o URL da página de login para garantir que os invasores não possam acessar sua conta, mesmo que você seja induzido a fornecer seu nome de usuário e senha. Web Security ScannerCaso de uso:
O Web Security Scanner verifica seus aplicativos da Web em busca de vulnerabilidades, como vazamentos de ID de sessão, que permitem que outras partes personifiquem ou identifiquem um usuário de maneira exclusiva. A3: exposição de dados confidenciaisA exposição de dados confidenciais pode acontecer devido à falta de criptografia ou à criptografia fraca em trânsito ou à exposição acidental de dados confidenciais. Os ataques a essas vulnerabilidades geralmente são específicos do aplicativo. Portanto, ele precisa de uma abordagem de defesa profunda para mitigar. ApigeeCaso de uso:
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 os dados confidenciais antes que eles sejam retornados ao cliente. Use técnicas padrão 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. Mascare dados confidenciais na ferramenta Edge Trace. Criptografe dados confidenciais em repouso em mapas de chave-valor. Inventário de recursos do CloudCaso de uso:
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 você sobre provisionamento inesperado de recursos que podem ser protegidos ou não autorizados de maneira inadequada. API Cloud Data Loss PreventionCaso de uso:
A API Cloud Data Loss Prevention (API DLP) permite verificar dados confidenciais em buckets ou bancos de dados para evitar vazamentos indesejados. Se os dados não permitidos forem identificados, eles poderão ser sinalizados ou editados automaticamente. Cloud Key Management Service (Cloud KMS)Caso de uso:
Evite a exposição potencial das suas chaves criptográficas usando um serviço gerenciado e auditado. Um serviço de gerenciamento de chaves armazenado na nuvem que permite que você gerencie chaves de criptografia simétricas e assimétricas nos seus serviços em nuvem da mesma forma que faz nos locais. É possível gerar, usar, alternar e destruir chaves criptográficas AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 e EC P384. Cloud Load BalancingCaso de uso:
As políticas de SSL podem ajudar a evitar a exposição de dados confidenciais, dando a você controle sobre os recursos e criptografias SSL/TLS permitidos em um balanceador de carga. Bloqueie criptografias não aprovadas ou não seguras, conforme necessário. Google Cloud ArmorCaso de uso:
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 confidenciais 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:
É possível
resolver o desafio das
métricas expostas acessando o subdiretório request.path.contains("/metrics") && !(inIpRange(origin.ip, '1.2.3.4/32') Substitua Os arquivos de registros expostos acidentalmente são usados para
resolver um dos desafios do Juice Shop. Para evitar a exposição dos registros, defina uma regra que não permita o acesso aos arquivos de registros completamente: Identity-Aware Proxy e acesso baseado no contextoCaso de uso:
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), APIs do Google Cloud e aplicativos do Google Workspace com base na identidade de um usuário e no contexto da solicitação sem uma VPN tradicional. 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 ManagerCaso de uso:
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 secrets 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 CIAM, do Cloud Identity para os membros da organização ou de um software de tokenização dedicado. Security Health AnalyticsCaso de uso:
Evite 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, entre outros. VirusTotalCaso de uso:
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 ControlsCaso de uso:
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 Functions. 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 WebCaso de uso:
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. Web Security ScannerCaso de uso:
O Web Security Scanner verifica seus aplicativos da Web e relata os resultados de erros e vulnerabilidades. Ele segue links e tenta acionar o máximo possível de entradas do usuário e manipuladores de eventos. Se o aplicativo transmitir senhas em texto não criptografado, o Web Security Scanner vai gerar uma descoberta
A4: entidades XML externas (XXE)Os ataques a entidades externas XML exploram vulnerabilidades em processadores XML ao se referir a entidades externas. É possível atenuar esses ataques evitando o uso de transferências de dados XML de e para clientes externos e desativando o processamento de XXE em analisadores XML. Este conceito é ampliado para incluir documentos e configurações não XML que podem referenciar ou incluir entidades externas, por exemplo, uma configuração JSON com uma referência de esquema externo ou uma configuração de contêiner que extrai em bibliotecas externas ou binários não agrupados na imagem. ApigeeCaso de uso:
A Apigee tem um analisador XML integrado que usa XPath para extrair dados. Ele tem uma política XMLThreatProtection para proteger contra payloads XML maliciosos. A política ExtractVariables da Apigee permite extrair o conteúdo de uma solicitação ou resposta e atribuí-lo a uma variável. É possível extrair qualquer parte da mensagem, incluindo cabeçalhos, caminhos de URI, payloads JSON/XML, parâmetros de formulário e parâmetros de consulta. A política funciona aplicando um padrão de texto ao conteúdo da mensagem e, quando encontra uma correspondência, define uma variável com o conteúdo da mensagem especificada. Google Cloud ArmorCaso de uso:
Como os XXEs podem ser complexos e ter diferentes formatos, as possibilidades de mitigação por firewalls de aplicativos da Web são limitadas. Os ataques são melhor minimizados com a aplicação de patches em analisadores XML, com a proibição de entidades externas e a limitação mínima das transferências de dados XML em servidores da Web públicos. No entanto, dependendo do aplicativo e do tipo de ataque, o Google Cloud Armor ainda pode ajudar na defesa contra a exfiltração de dados e outros impactos. Embora nenhuma regra no
Conjunto de regras principais do OWASP ModeSecurity se proteja especificamente contra ataques XXE, as regras de inclusão de arquivo local (LFI, na sigla em inglês) e
inclusão de arquivo remoto (RFI, na sigla em inglês) podem ajudar a combater alguns desses ataques. Por exemplo, o desafio de acesso a dados do Juice Shop XXE exige que o invasor recupere arquivos locais no servidor. A
solução desse desafio deixará de funcionar se você usar a regra Web Security ScannerCaso de uso:
O Web Security Scanner monitora vulnerabilidades, como vulnerabilidades do XXE. Para mais informações, consulte Visão geral do Web Security Scanner. A5: controle de acesso corrompidoControle de acesso corrompido refere-se 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. ApigeeCaso de uso:
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 papéis (RBAC) para permitir que os usuários só acessem a funcionalidade e a configuração necessárias. Crie mapas de chave-valor criptografados para armazenar pares de chave-valor confidenciais, que aparecem mascarados na IU do Edge e nas chamadas da API de gerenciamento. 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 CloudCaso de uso:
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 você sobre recursos em execução inesperados, que podem ser protegidos incorretamente ou usar software desatualizado. Cloud Load BalancingCaso de uso:
Impeça o uso de criptografias SSL/TLS fracas, atribuindo um grupo predefinido ou uma lista personalizada de criptografias que o Cloud Load Balancing possa usar. Forseti ScannerCaso de uso:
Monitore sistematicamente os recursos do Google Cloud com o objetivo de garantir que os controles de acesso sejam definidos conforme o esperado. Crie políticas baseadas em regras para codificar sua posição de segurança. Se a configuração for alterada inesperadamente, o Forseti Scanner notificará você para que seja possível reverter automaticamente para um estado conhecido. Google Cloud ArmorCaso de uso:
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 interrompido, por exemplo, postagem de feedback no nome de outro usuário, use o fato de que algumas solicitações não são autenticadas no 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ção entre sites (CSRF, na sigla em inglês) forem possíveis porque seu servidor da Web implementa o compartilhamento de recursos entre origens (CORS, na sigla em inglês) mal, como demonstrado no desafio da CSRF Juice Shop, é possível atenuar isso 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:
Quando o tráfego que corresponde a essa regra é negado, a solução do desafio CSRF deixa de funcionar. No caso de ataques de falsificação de solicitação do lado do servidor (SSRF), como o desafio do Juice Shop SSRF, usando os conjuntos de regras de inclusão remota de arquivos (RFI, na sigla em inglês) ou de arquivos locais pré-configurados podem ajudar a atenuar alguns desses ataques, porque eles bloqueiam a inclusão de URLs ou a passagem de caminhos. Por exemplo, a regra a seguir ativa os dois conjuntos de regras:
Quando essa regra é implementada, a solução do desafio SSRF também para de funcionar. O
desafio da manipulação da cesta de compras usa poluição do parâmetro HTTP como é possível ver ao
seguir como atacar a loja seguindo a solução de desafio. A poluição do parâmetro é detectada como parte do conjunto de regras de ataque ao protocolo. Para ajudar a bloquear esse tipo de ataque, use a seguinte regra: Identity-Aware Proxy e acesso baseado no contextoCaso de uso:
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, APIs do Google Cloud e aplicativos do Google Workspace com base na identidade do usuário e no contexto da solicitação sem a necessidade de uma VPN tradicional. Use uma única plataforma para aplicativos de nuvem e aplicativos locais e recursos de infraestrutura. Security Health AnalyticsCaso de uso:
Impeça 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. Web Security ScannerCaso de uso:
O Web Security Scanner verifica seus aplicativos da Web em busca de vulnerabilidades, como repositórios de códigos visíveis publicamente e validação incorreta dos cabeçalhos da solicitação. A6: configuração incorreta de segurançaConfiguração incorreta de segurança refere-se 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. ApigeeCaso de uso:
Um fluxo compartilhado permite que os desenvolvedores de API combinem políticas e recursos em um grupo reutilizável. Ao capturar funcionalidades reutilizáveis em um só lugar, um fluxo compartilhado ajuda a garantir consistência, reduzir o tempo de desenvolvimento e gerenciar o código com mais facilidade. É possível incluir um fluxo compartilhado dentro de proxies de API individuais usando uma Política FlowCallout ou inserir fluxos compartilhados em ganchos 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 CloudCaso de uso:
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 BalancingCaso de uso:
Impeça o uso de criptografias SSL/TLS vulneráveis e conhecidas atribuindo um grupo predefinido ou uma lista personalizada de criptografias utilizáveis por um balanceador de carga. Google Cloud ArmorCaso de uso:
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 request.path.contains("/admin") && !(inIpRange(origin.ip, '1.2.3.4/32') Substitua 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 Alguns ataques HTTP também podem ser reduzidos com o uso de conjuntos de regras pré-configurados:
Security Health AnalyticsCaso de uso:
Monitore dúzias de sinais por meio de uma única interface para garantir que o aplicativo mantenha as práticas recomendadas de segurança. Web Security ScannerCaso de uso:
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. Essas verificações são projetadas para abranger os 10 principais controles da OWASP. Os seguintes detectores verificam configurações incorretas de segurança:
Para mais informações sobre esses e outros detectores, consulte a Visão geral do Web Security Scanner. A7: scripting em vários locais (XSS)O scripting em vários locais (XSS) permite que invasores executem scripts em navegadores da Web para controlar sessões do usuário, manipular sites ou afetar usuários de maneira mal-intencionada de outras maneiras. ApigeeCaso de uso:
A Apigee fornece políticas de proteção contra ameaças que podem proteger contra XSS na API. O compartilhamento de recursos entre origens (CORS, na sigla em inglês) é uma das implementações comuns da política de mesma origem aplicada por todos os navegadores. É possível implementar o CORS usando a política AttributionMessage (links em inglês). Usando expressões regulares, com a política RegularExpressionProtection ou política JavaScript verifique os valores de payload e parâmetro para JavaScript e outros ataques por tipos de injeção. Google Cloud ArmorCaso de uso:
É possível bloquear ataques XSS comuns usando o conjunto de regras predefinido para ataques XSS. É possível inserir a regra O uso desse conjunto de regras predefinidas pode bloquear a maioria dos ataques XSS definidos por meio dos
desafios de XSS na OWASP Juice Shop, por exemplo, a API - Apenas o desafio XSS que usa o payload de XSS dentro
do corpo No entanto, não é possível bloquear todos os ataques de XSS dessa maneira. Alguns ataques XSS usam apenas a funcionalidade do lado do cliente, por exemplo, o desafio XSS do DOM. Como é possível ver na solução de desafio do desafio XSS do DOM, não é necessário ter uma interação com o servidor para que o ataque seja concluído. Esses tipos de ataques não podem ser atenuados com qualquer firewall de aplicativos da Web (WAF), porque nenhuma chamada do lado do servidor está envolvida. Em vez disso, você precisa corrigir o aplicativo do lado do cliente. Alguns outros ataques não podem ser atenuados com o conjunto de regras predefinido do Google Cloud Armor porque não são capturados pelo conjunto de regras principais do OWASP Modsecurity. Esses são ataques incomuns. Por exemplo, o
desafio de XSS refletido exige que você ataque o aplicativo com consultas que tenham o payload de XSS no caminho do URL, não a consulta ou o corpo Alguns ataques XSS também são ativados por configurações incorretas do servidor HTTP subjacente, como ataques de
Divisão de resposta HTTP e Injeção de cabeçalho HTTP. Use o conjunto de regras de ataque ao protocolo usando a regra Security Command Center Web Application ScannerCaso de uso:
Monitore para erros comuns de segurança, como vulnerabilidades de XSS e configurações incorretas do AngularJS específicas. Web Security ScannerCaso de uso:
O Web Security Scanner verifica se há vulnerabilidades nos aplicativos da Web e fornece detectores para monitorar ataques de scripting em vários locais. A8: desserialização não seguraOs invasores podem usar falhas na desserialização para diferentes tipos de ataques, como repetição, escalonamento de privilégios e injeção. A desserialização insegura também pode ativar a execução remota de código (RCE). Google Cloud ArmorCaso de uso:
Como a maioria dos ataques contra a desserialização insegura é específica de um aplicativo, há apenas algumas maneiras de atenuar esses ataques. Por exemplo, usando um firewall de aplicativos da Web (WAF, na sigla em inglês), como o Google Cloud Armor. O OWASP recomenda que você não aceite objetos serializados de fontes não confiáveis. Se possível, restrinja os endpoints que aceitam esses objetos a um conjunto de endereços IP confiáveis com uma regra de negação semelhante à seguinte: request.path.contains("/endpoint") && !(inIpRange(origin.ip, '1.2.3.4/32') Substitua:
Para reduzir os ataques típicos contra desserialização insegura que usam a execução de código remoto (RCE, na sigla em inglês), use o conjunto de regras predefinido contra ataques RCE. É possível usar a regra Os ataques RCE descritos nos desafios do Juice Shop para desserialização não segura executam funções e expressões regulares no Node.js no servidor. Esses tipos de ataques não são bloqueados pelo conjunto de regras RCE predefinido e pela regra correspondente OWASP Modsecurity e precisam ser atenuados com o uso de patches no lado do servidor ou regras personalizadas. VirusTotalCaso de uso:
A API do VirusTotal permite que você faça upload e verifique arquivos em busca de malware. É possível verificar imagens, documentos, binários e outros dados não confiáveis antes que eles sejam processados para eliminar determinadas categorias de entradas mal-intencionadas. Web Security ScannerCaso de uso:
O Web Security Scanner verifica os aplicativos da Web em busca de vulnerabilidades. Por exemplo, se você estiver usando uma versão do Apache Struts que torna seu aplicativo vulnerável a ataques de injeção de comando remoto, o Web Security Scanner gera uma
descoberta de A9: como usar componentes com vulnerabilidades conhecidasComponentes 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. Caso de uso:
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 BalancingCaso de uso:
Para impedir o uso de criptografias SSL/TLS conhecidas, atribua um grupo predefinido ou uma lista personalizada de criptografias que o Cloud Load Balancing pode usar. Container Threat DetectionCaso de uso:
Se um invasor se aproveitar de um componente vulnerável e executar um script malicioso, o detector Event Threat DetectionCaso de uso:
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:
Google Cloud ArmorCaso de uso:
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:
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. Boletins de segurança do Google CloudCaso de uso:
Os boletins de segurança do Google Cloud são uma fonte autoritativa para boletins de segurança que afetam o Google Cloud. As postagens incluem informações básicas, links da CVE e recomendações para outras ações. Web Security ScannerCaso de uso:
Monitore bibliotecas desatualizadas incluídas no aplicativo da Web. Monitore essas descobertas no painel do Security Command Center. A10: geração de registros e monitoramento insuficientesSe você não registrar adequadamente, monitorar ou gerenciar incidentes nos seus sistemas, os invasores poderão realizar ataques mais profundos e prolongados aos dados e ao software. Transparência no acessoCaso de uso:
Não poder auditar o acesso do provedor de nuvem pode ser uma barreira à migração do local para a nuvem. Com a transparência no acesso, essa verificação é possível, e você conta com controles de auditoria parecidos com os disponíveis tradicionalmente no local. É possível registrar o motivo de cada acesso, incluindo referências a tíquetes de suporte relevantes. Nomes de identificação de recurso e método que recursos são acessados e quais métodos foram executados por qual administrador. Com a aprovação de acesso, é possível aprovar ou denegar as solicitações de acesso feitas pelos funcionários do Google que dão suporte ao serviço. ApigeeCaso de uso:
A Apigee tem várias maneiras de executar a geração de registros, o monitoramento, o tratamento de erros e a geração de registros de auditoria:
Detecção de ChronicleCaso de uso:
As equipes de segurança podem enviar a telemetria de segurança para o Chronicle para que seja possível aplicar regras avançadas de detecção a um conjunto unificado de dados. Cloud Data Loss Prevention (Cloud DLP)Caso de uso:
Identifique informações confidenciais de conformidade nos streams de registros e mascare ou transforme-as adequadamente antes de arquivá-las nos registros. Por exemplo, uma mensagem de erro ou despejo de núcleo pode conter informações confidenciais, como números de cartão de crédito ou informações de identificação pessoal que precisam ser mascarados. Cloud Key Management Service (Cloud KMS)Caso de uso:
As justificações de acesso às chaves dão a você visibilidade histórica de todas as solicitações de uma chave de criptografia, registrando a justificativa declarada e um registro de aprovação ou negação dessa solicitação. Cloud LoggingCaso de uso:
O Cloud Logging permite armazenar, pesquisar, analisar, monitorar e alertar sobre dados e eventos de registro do Google Cloud e do Amazon Web Services. Ele inclui acesso ao serviço BindPlane, que pode ser usado para coletar dados de geração de registros de mais de 150 componentes comuns de aplicativos, sistemas locais e sistemas de nuvem híbrida. Cloud MonitoringCaso de uso:
O Cloud Monitoring mostra o desempenho, o tempo de atividade e a integridade geral de aplicativos com tecnologia de nuvem. Ele oferece um painel de monitoramento, monitores de eventos e alertas por meio de vários canais. Cloud Source RepositoriesCaso de uso:
Receba insights sobre as ações que foram realizadas no seu repositório, incluindo onde e quando, com os registros de auditoria do Cloud gerados pelo Cloud Source Repositories. Error ReportingCaso de uso:
Os erros internos do aplicativo podem ser um indicador de problema de segurança, funcionalidade incorreta ou tentativas de burlar a segurança. O Error Reporting conta, analisa e agrega falhas de serviços executados na nuvem. Uma interface centralizada de gerenciamento de erros exibe resultados que podem ser classificados e filtrados. Veja todos os detalhes do erro em uma visualização dedicada: gráfico de horas, ocorrências, total de usuários afetados, data da primeira e da última visualização e um rastreamento limpo da pilha de exceção. Ative a opção para receber, por e-mail e em dispositivos móveis, alertas sobre novos erros. Event Threat DetectionCaso de uso:
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. O Event Threat Detection identifica as entradas notáveis nos registros e as eleva para análise. 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. Forseti InventoryCaso de uso:
O Forseti Inventory salva um snapshot do inventário dos recursos do Google Cloud em um banco de dados para que você tenha um registro histórico dos recursos. Com essas informações, é possível entender todos os recursos que você tem no Google Cloud e tomar medidas para economizar recursos, reduzir custos e minimizar a exposição de segurança. O inventário pode ser configurado para ser executado com a frequência que você quiser e enviar notificações por e-mail quando ele atualizar o snapshot do recurso. Google Cloud ArmorCaso de uso:
Os registros de solicitação do Google Cloud Armor fazem parte do Cloud Logging para balanceamento de carga HTTP(S). Para ter acesso às informações de registro, como a regra de política de segurança que corresponde ao tráfego, ative geração de registros em todos os serviços de back-end que tiverem políticas de segurança anexadas. Use regras no modo de visualização para testá-las e registrar os resultados sem impor os efeitos. O Google Cloud Armor também oferece painéis de monitoramento para políticas de segurança que permitem ter uma visão geral da quantidade de tráfego que passou ou foi negada por qualquer uma das políticas de segurança. O Google Cloud Armor publica descobertas sobre anomalias de tráfego, como picos no tráfego permitido ou aumento de tráfego negado, no Security Command Center. O Google Cloud Armor grava registros de auditoria de atividades do administrador, que armazenam operações que modificam a configuração ou os metadados de um recurso. Também é possível configurar esse serviço para gravar registros de auditoria de acesso a dados, que contêm chamadas de API que leem a configuração ou os metadados de recursos, bem como chamadas de API orientadas pelo usuário que criam, modificam ou leem dados de recursos fornecidos pelo usuário. Identity PlatformCaso de uso:
O Identity Platform é a plataforma de gerenciamento de identidade e acesso do usuário do Google Cloud que registra a atividade de autenticação por padrão. Ative vários registros de auditoria avançados, incluindo atividade do administrador, acesso a dados, eventos do sistema e tentativas de autenticação negadas. Security Command CenterCaso de uso:
Veja o número total de descobertas na sua organização por nível de gravidade no painel de visão geral. Use o painel de ameaças para analisar eventos potencialmente prejudiciais nos recursos do Google Cloud da sua organização. Veja as descobertas e recomendações do Security Health Analytics na guia de vulnerabilidades. O painel de conformidade permite monitorar continuamente a conformidade com controles do PCI-DSS, CIS Google Cloud Computing Foundations Benchmark e muito mais. A visualização "Recursos" oferece uma exibição detalhada de todos os recursos do Google Cloud, chamados de recursos da sua organização. A guia "Recursos" permite visualizar recursos de toda a organização ou filtrar recursos em um projeto específico, por tipo de recurso ou por tipo de alteração. Por fim, a guia "Descobertas" exibe um inventário detalhado de descobertas para todos os recursos da sua organização para que seja possível visualizar possíveis riscos de segurança. A seguir
Qual ferramenta pode ser utilizada para realizar as varreduras de vulnerabilidades?O scanner de vulnerabilidade é uma ferramenta preventiva e corretiva essencial para identificar brechas de segurança, mitigar riscos cibernéticos e proteger os ativos das empresas.
Quais ferramentas podemos utilizar para encontrar vulnerabilidade na rede?A lista das melhores ferramentas de varredura de vulnerabilidades:. Netsparker.. Acunetix.. OpenVAS.. Comunidade Nexpose.. Nikto.. Tripwire IP360.. Wireshark.. Aircrack.. O que é teste de vulnerabilidade?O que é um teste de vulnerabilidade? Em resumo, o teste descobre quais as vulnerabilidades estão presentes em seu ambiente através de revisões abrangentes e sistemáticas, buscando identificar no sistema quaisquer pontos fracos que o torne suscetível a ataques ou tentativas de hackers.
Que ferramenta você pode usar para encontrar vulnerabilidades ou configurações incorretas perigosas nos seus sistemas e redes?Nmap. Para quem é novo usando técnicas para identificar vulnerabilidades, Nmap é o mais confiável. A ferramenta usa de técnicas de sondagem para descobrir hosts na rede e para descobrir sistema operacional. Também detecta vulnerabilidade em várias redes.
|