Um WAF não é um almoço grátis: ensinando a mentalidade de segurança de turno para a esquerda

Views: 287
0 0
Read Time:4 Minute, 52 Second

Uma abordagem fundamental para mudar segurança para a esquerda é mover soluções de segurança focadas no perímetro pela pilha, colocando-as na frente de serviços e outros componentes de infraestrutura, como contêineres e sistemas de orquestração de contêineres ou sistemas de gerenciamento de API e gateways.

Embora isso permita uma segurança mais granular, não é um almoço gratuito para desenvolvedores. Apenas dizer “A WAF vai pará-lo” subverte todo o pensamento e o propósito de mudar para a esquerda. Em vez disso, os desenvolvedores devem passar de pensar em firewalls de aplicativos da Web (WAFs) como profiláticos, para pensar em WAFs como uma parte crucial de seu processo de teste de codificação segura. Veja como eles podem fazer isso.

A Explosão de WAFs e Software Nativo da Nuvem

Embora muitas empresas ainda implementem aparelhos WAF, o segmento que mais cresce neste mercado é o software WAF que é executado na nuvem. Com o surgimento das arquiteturas nativas da nuvem e da infraestrutura efêmera, mais organizações estão colocando os WAFs mais profundamente em suas pilhas de aplicativos – bem na frente dos microsserviços. Alguns estão até usando WAFs para proteção interna para promulgar estruturas robustas de confiança zero. Então, a nova realidade é que os desenvolvedores são muito mais propensos a entrar em contato próximo com as WAFs hoje do que em qualquer outro momento no passado. Dito isso, os WAFs no nível de microsserviços não são infalíveis.

Antes de implantar o WAF: Codificação Segura é Fundamental

Para começar, os desenvolvedores devem criar aplicativos sob a suposição de que todos os controles de segurança podem falhar e serão. Isso é importante porque os incentiva a criar aplicativos que são seguros por padrão. Codificação segura significa usar princípios básicos de design – como a minimização do código para obscurecer o código – garantindo que todas as variáveis e chamadas sejam verificadas em relação à lista de vulnerabilidades Top 10 da OWASP. Existem dezenas de maneiras pelas quais os atacantes podem explorar código mal escrito, incluindo injeção de SQL, script entre sites, controles de acesso quebrados e vulnerabilidades de upload de arquivos.

Uma parte fundamental desse esforço é garantir que os desenvolvedores estejam executando linters e verificadores de formatação em todo o código. Normalmente, você vai querer que os desenvolvedores executem o código através da análise de composição de software (SCA) para identificar dependências e bibliotecas arriscadas que exigem atualizações. Um processo e uma mentalidade de codificação segura são mais críticos agora porque os microsserviços nativos da nuvem transformaram a segurança do avesso.

Neste ponto, as equipes de segurança do aplicativo ou DevSecOps executam o código contra algum tipo de simulação e adicionam o WAF. Para muitos desenvolvedores, este é o fim da história. Eles assumem: “Nós implantamos uma WAF. Estamos seguros agora.” Eles estão errados. Cada vez mais, os desenvolvedores de aplicativos enviam microsserviços, vinculados por meio de APIs. Os desenvolvedores “possui” seus microsserviços e APIs e são responsáveis pela segurança. Os microsserviços e APIs podem ter regras e otimizações altamente específicas que podem afetar os comportamentos e políticas da WAF. Cada aplicativo é diferente e muitas APIs exclusivas surgem.

Para microsserviços, os desenvolvedores tendem a enviar rapidamente o código e fazer iterações mais rápidas em microsserviços porque esses aplicativos menores são vagamente acoplados e não afetam outros aplicativos. Isso contribui para maior agilidade, mas também maior risco de segurança se as alterações não forem executadas pelo mesmo processo de segurança complicado observado no lançamento do aplicativo.

Aprendendo a pensar como um operador WAF

Os desenvolvedores devem sempre se perguntar antes de enviar o código: “Como isso afetará minha cobertura e postura de segurança da WAF?” Esta pergunta é boa porque os ensina a pensar sobre como os WAFs estão funcionando e não estão funcionando — em outras palavras, modelagem de ameaças.

A modelagem de ameaças é crítica porque há maneiras conhecidas pelas quais os atacantes contornam WAFs ou exploram as fraquezas do WAF. Por exemplo, por padrão, o Kubernetes expõe APIs para serviços e conexões. Bloquear APIs do Kubernetes sem estragar a funcionalidade é notoriamente difícil, especialmente se você estiver alterando os aplicativos e as chamadas de serviço nos aplicativos regularmente. Recentemente, a Shadowserver Foundation calculou que 84% dos servidores de APIs do Kubernetes se deixaram expostos à detecção na Internet pública.

Entender um WAF é um precursor chave para a modelagem de ameaças e, por extensão, pensar como um operador de firewall. Alguma compreensão da WAF é conhecimento tácito. Por exemplo, ajustar um WAF para limitar falsos positivos e falsos negativos a um nível aceitável continua sendo um desafio. Os desenvolvedores que desejam virar à esquerda podem se aconcheguear em operadores experientes da WAF para aprender o processo de ajuste e, por sua vez, entender melhor como a WAF responde ao tráfego do mundo real. Hoje, algumas organizações também implantam aprendizado de máquina para ajudar os desenvolvedores a ajustar facilmente seus WAFs, fazendo sugestões de regras e políticas com base no aprendizado não supervisionado em vários WAFs.

Melhor compreensão do WAF leva a um código mais seguro

Melhor ainda, uma boa compreensão do WAF também é transferida para uma codificação mais segura. Os desenvolvedores que entendem intimamente os WAFs – e têm experiência prática em condiá-los – se beneficiam de conhecimento tácito que é difícil de ensinar e experiência que vai além das listas de verificação do Open Web Application Security Project (OWASP}. Uma prática igualmente boa é, em um ambiente seguro, fazer com que os desenvolvedores trabalhem ao lado dos membros da equipe vermelha para ver como um invasor inteligente pode comprometer seus aplicativos e contornar as configurações padrão do WAF.

A conclusão é simples: Desenvolvedores, reserve um tempo para conhecer seu WAF e aprender seus pontos fracos. A sabedoria da WAF ajudará você a escrever código seguro agora e salvar seus aplicativos de serem hackeados no futuro.

FONTE: DARK READING

POSTS RELACIONADOS