BLOG

Os seis motivos pelos quais o DevSecOps deve abordar o gerenciamento de bots

Miniatura de Jim Downey
Jim Downey
Publicado em 21 de julho de 2022

Nesta era de competição digital, todas as empresas são empresas de tecnologia, e as inovações contemporâneas revolucionaram setores como finanças, supermercados e transportes. Para vencer como uma empresa de tecnologia moderna, é preciso inovar mais rápido que a concorrência, e inovação rápida exige DevOps. DevOps é uma colaboração entre desenvolvedores e operações de TI que gerou avanços no ritmo de lançamentos de produtos ao aplicar princípios Lean à entrega de software. Apesar da promessa do DevOps, ataques de bots e outras preocupações de segurança, se não forem devidamente abordadas, podem impedir que as organizações colham os benefícios. Felizmente, o DevOps deu origem ao DevSecOps, uma função bem posicionada para lidar com questões de segurança e, particularmente, com o gerenciamento de bots, no mundo acelerado do DevOps.

Em uma cultura DevOps, o DevSecOps assume a responsabilidade de incorporar a segurança ao pipeline de integração contínua/desenvolvimento contínuo (CI/CD), garantindo feedback rápido aos desenvolvedores sobre bugs de segurança e melhorando continuamente a integração da segurança ao fluxo de valor da tecnologia.

Com base em práticas de manufatura enxuta, o DevOps enfatiza a movimentação das considerações de qualidade no início do fluxo de valor para reduzir falhas a jusante, onde o custo do retrabalho é maior; é melhor projetar qualidade em um produto do que descobrir falhas por meio de inspeção. Como a segurança é um elemento crítico de qualidade, o DevSecOps também se envolve em mover a segurança para a esquerda, garantindo que quaisquer lacunas sejam planejadas no início do fluxo de trabalho. Quanto mais cedo forem executadas ferramentas como Static Analysis Security Testing, Dynamic Analysis Security Testing e varreduras de vulnerabilidades, mais cedo os desenvolvedores receberão feedback e mais cedo os bugs poderão ser corrigidos.

E quanto mais a segurança for abordada na coleta de requisitos, no design e na codificação, mais eficazes serão os controles de segurança. Embora esses sejam conceitos fundamentais da codificação segura e do ciclo de vida de desenvolvimento de software (SDLC), essas práticas se tornam cada vez mais importantes em um ambiente DevOps porque abordar a segurança posteriormente impediria implantações rápidas ou causaria riscos de segurança.

Dado o papel crítico do DevSecOps na proteção da empresa moderna, conclui-se que o gerenciamento de bots deve ser incluído entre as responsabilidades dessa disciplina específica. O gerenciamento de bots não é apenas essencial para a segurança e, portanto, essencial para a missão do DevSecOps, mas o DevSecOps também está idealmente posicionado para garantir que as organizações estejam bem protegidas contra bots maliciosos. Então, como prometido, aqui estão seis motivos pelos quais o DevSecOps deve abordar o gerenciamento de bots:

1) A proteção de bots é essencial para a segurança e privacidade de dados

Bots são scripts que automatizam o envio de solicitações HTTP para aplicativos e APIs. Criminosos usam bots para atacar aplicativos da web e móveis em vários tipos de ataques:

  • Preenchimento de credenciais: Os invasores testam credenciais roubadas em logins para assumir o controle de contas.
  • Criação de conta falsa: Criminosos criam contas falsas para realizar fraudes, como influência em mídias sociais e lavagem de dinheiro. (Veja uma análise da F5 sobre o problema das contas falsas no Twitter .)
  • Cardação: Criminosos validam dados de cartão de crédito roubados.
  • Quebra de cartas: Criminosos identificam códigos de segurança e datas de início e expiração ausentes em dados de cartões de pagamento roubados tentando valores diferentes.
  • Roubar saldos de vale-presente e pontos de fidelidade: Criminosos roubam saldos de cartões-presente e pontos de fidelidade , confiando no fato de que os usuários verificam esses saldos com pouca frequência.
  • Compra/Revenda: Corretores ilícitos compram produtos em ofertas por tempo limitado para revenda a preços mais altos.
  • Acumulação de estoque: Os bots reservam bens e serviços, mas não concluem a compra, fazendo parecer que o estoque não está disponível e impedindo compras legítimas.
  • Raspagem: Os robôs de scraping extraem dados de aplicativos, causando desvantagem competitiva e diminuindo o desempenho do site.

Para uma taxonomia abrangente de ataques de bots, consulte o OWASP Automated Threat Handbook ou este resumo de Kyle Roberts.

De todos os ataques de bots, o credential stuffing é particularmente pernicioso. A Assembleia Global de Privacidade (GPA) declarou que o preenchimento de credenciais é uma ameaça global à privacidade de dados. O GPA, que representa mais de 130 reguladores e responsáveis pela proteção de dados e privacidade, insiste que o gerenciamento de bots agora é uma medida necessária para a privacidade de dados e, portanto, obrigatória para todas as empresas B2B que fazem negócios online.

Para que o DevSecOps cumpra sua missão de proteger a organização e seus clientes, é fundamental resolver o problema dos bots maliciosos.

2) Os bots corrompem a telemetria da qual o DevOps depende

De acordo com o DevOps Handbook , a telemetria é essencial para prever, diagnosticar e resolver problemas em sistemas complexos, ou seja, sistemas que são muito grandes e interligados para que qualquer pessoa entenda como todas as peças se encaixam. Para que o DevOps seja bem-sucedido, a telemetria deve cobrir várias camadas, incluindo métricas de negócios, uso de recursos, desempenho de rede e carga de infraestrutura, para que um problema em uma camada possa ser rastreado na pilha para a rápida identificação das causas raiz.

Os bots distorcem a telemetria de forma significativa. Muitos clientes do F5 Distributed Cloud Bot Defense descobriram que a maioria de suas contas de usuário eram falsas e que os bots eram responsáveis por mais de 95% do tráfego de login. Em alguns casos, a maior parte da infraestrutura de uma organização não fazia nada além de servir a bots de scraping.

Sem a capacidade de distinguir humanos de robôs, a telemetria não teria sentido. Um recurso está falhando por causa de usuários reais ou bots? Por que a taxa de sucesso de login é tão variável? O que causou um aumento repentino no tráfego para um caminho de aplicativo específico? Os bots abafam o sinal com todo o seu ruído.

Para que o DevOps tenha sucesso, ele precisa de telemetria significativa, e tornar a telemetria significativa requer a capacidade de detectar bots. O DevSecOps pode fazer uma contribuição significativa para o sucesso do DevOps ao se envolver no gerenciamento de bots, garantindo a integridade dos dados tão essenciais para o DevOps.

3)   A proteção de bots não é segurança de código nem é uma tarefa exclusiva de desenvolvimento

Ao contrário das vulnerabilidades tradicionais que os desenvolvedores podem resolver por meio de práticas recomendadas de codificação e testes de vulnerabilidade, os ataques de bots têm como alvo principalmente funcionalidades legítimas que um aplicativo deve expor, como login, senha esquecida, finalização de compra de produto e informações de preço de produto. (Dan Woods, do F5, se refere a elas como vulnerabilidades inerentes em sua entrevista na Pirate Radio .) Embora a proteção contra bots seja essencial para a segurança do aplicativo, ela não se trata de codificação segura e não pode ser resolvida apenas pelos desenvolvedores. A proteção de bots se enquadra naquele espaço entre desenvolvedores e InfoSec, precisamente o espaço que o DevSecOps ocupa.

Como as organizações criminosas são bem incentivadas a desenvolver bots que ignoram a detecção, a proteção contra bots maliciosos é surpreendentemente difícil. O CAPTCHA não funciona mais. Serviços de resolução de CAPTCHA usando ML e fazendas de cliques humanos tornam a resolução de CAPTCHA rápida e barata. (Veja Tales of a Human CAPTCHA Solver de Dan Wood.) Os bots executam JavaScript para satisfazer provas de trabalho, imitam o comportamento humano real, introduzem aleatoriedade sutil e exploram redes proxy para disfarçar suas origens por meio de milhões de endereços IP residenciais válidos. E os criminosos reequipam os bots poucas horas após a detecção. Essa sofisticação e rápida evolução dos bots significa que os dias de impedir bots por meio de atualizações manuais das regras do WAF já acabaram há muito tempo.

Forçar esse nível de esforço à equipe de desenvolvimento impediria que eles lançassem quaisquer recursos. Pressionar a equipe de operações para atualizar as regras do WAF consumiria todos os seus recursos. As organizações precisam do envolvimento do DevSecOps para integrar uma solução de gerenciamento de bots ao fluxo de valor da tecnologia.

4)   O DevSecOps conhece a lógica do aplicativo, o que é essencial para uma proteção eficaz contra bots

Embora a proteção contra bots não seja uma tarefa puramente de desenvolvimento, também não é uma tarefa puramente de operações no sentido tradicional de operações; configurar a proteção contra bots requer conhecimento detalhado do aplicativo, seus requisitos, design e implementação.

Considerando os tipos de ataque de bot listados acima, quais deles se aplicam ao seu aplicativo? Para cada um desses tipos de ataque, qual caminho ou API os bots seguirão? Para cada um desses caminhos, onde é possível instrumentar a coleta de sinais para reunir os dados necessários para distinguir bots de humanos?

Ao configurar a proteção de bots para a web, nós da F5 nos referimos aos caminhos protegidos como pontos de extremidade e às páginas que exigem instrumentação como pontos de entrada. Imagine um login. Uma página da web pode hospedar o formulário de login, que chamaríamos de ponto de entrada. E esse formulário pode ser publicado em um caminho específico, que chamaríamos de ponto de extremidade. Claro, nem sempre é tão simples. O formulário de login pode existir em muitas páginas, e esses formulários podem ser publicados em caminhos diferentes.

A história é semelhante para dispositivos móveis. Proteger aplicativos móveis contra bots geralmente requer a integração de um SDK para instrumentação de telemetria. Determinar quais solicitações de rede precisam incluir essa telemetria requer conhecimento do aplicativo.

Dado esse conhecimento de aplicativo necessário para configuração, o gerenciamento de bots é uma boa opção para DevSecOps, principalmente porque faz sentido mover essa etapa para a esquerda, ao considerar o gerenciamento de bots durante as fases de requisitos e design.

5)   DevOps conhece a infraestrutura

A proteção contra bots também requer uma compreensão da infraestrutura de rede. Geralmente, a proteção contra bots será fornecida por meio de uma API chamada de uma camada na rede, talvez uma CDN, um balanceador de carga, um gateway de API, um controlador de entrada ou uma plataforma de aplicativo. Uma dessas camadas será configurada para enviar tráfego relevante para a API de gerenciamento de bots para determinar se uma solicitação é de um humano ou bot.

Trabalhando com desenvolvimento e operações, a equipe DevSecOps terá a perspectiva mais ampla sobre como decidir onde implementar essas chamadas de API de uma forma que possa ser totalmente automatizada (como parte do pipeline de CI/CD) e que ofereça desempenho ideal.

6)   DevSecOps sabe onde o gerenciamento de bots deve se encaixar no pipeline de CI/CD

À medida que as organizações lançam novos recursos por meio do fluxo de valor da tecnologia, as defesas de bots precisarão de atualizações de configuração, assim como outros componentes de segurança, como o WAF. A equipe DevSecOps está bem posicionada para determinar onde no pipeline de CI/CD essa atualização de configuração automatizada deve ocorrer.

Isso é mais complexo do que pode parecer inicialmente, pois a proteção contra bots pode interferir nos testes de controle de qualidade automatizados, o que seria detectado como um bot. Há várias maneiras de resolver o problema, como permitir a inclusão de ferramentas de teste por meio de cabeçalhos ou endereços IP ou implementar proteções de bot somente após a conclusão dos testes de controle de qualidade automatizados.

Mais significativamente, o DevSecOps precisa trabalhar com o desenvolvimento e a InfoSec para determinar onde a proteção de bots é necessária e fornecer uma maneira de garantir que ela esteja em vigor conforme os recursos relevantes são lançados.

Finalizando

As organizações que fornecem aplicativos de consumo precisam manter os clientes seguros online, protegendo a privacidade de seus dados e sua segurança financeira. Em qualquer organização que busca vantagem competitiva por meio da rápida inovação possibilitada pelo DevOps, proteger os clientes exige DevSecOps para que a segurança acompanhe o ritmo dos lançamentos. Entre as responsabilidades do DevSecOps, o gerenciamento de bots é essencial. Os ataques de bots colocam a segurança do cliente em grave risco, e o DevSecOps traz habilidades muito valiosas para a defesa contra bots maliciosos e capacita as organizações a adotarem com segurança a inovação rápida.

Para mais informações sobre o ROI da proteção contra bots, consulte o Relatório de Impacto Econômico Total da Forrester . Saiba mais e agende uma conversa com um especialista em bots da F5 em f5.com/bot-defense .