Precisa de computação em nuvem? Comece agora mesmo

Segurança de APIs para DevSecOps

Stas Neyman

escrito por

Stas Neyman

September 29, 2022

Stas Neyman

escrito por

Stas Neyman

Stas Neyman is a Director of Product Marketing at Akamai, overseeing the API Security portfolio.

Para que a segurança de APIs funcione bem com DevSecOps, é necessário utilizar ferramentas especializadas de teste e monitoramento de segurança de APIs.
Para que a segurança de APIs funcione bem com DevSecOps, é necessário utilizar ferramentas especializadas de teste e monitoramento de segurança de APIs.

A segurança de APIs é crítica para o DevSecOps

A Akamai adquiriu a Noname Security em junho de 2024. O produto Noname Security agora é o Akamai API Security, mas este post do blog arquivado, que foi publicado originalmente em 29 de setembro de 2022, reflete os nomes de produtos e recursos na data original de publicação.

DevSecOps é uma variante do DevOps (desenvolvimento e operações) que adiciona segurança ao fluxo de trabalho de desenvolvimento de software. A segurança das interfaces de programação de aplicativos (APIs) deve fazer parte do DevSecOps.

Este post do blog explora como o DevSecOps funciona e o papel que a segurança de APIs desempenha para proteger ao máximo os aplicativos desenvolvidos seguindo os processos do DevSecOps.

O que é DevSecOps?

Para entender o DevSecOps, é primeiro necessário ter uma compreensão sólida sobre DevOps, o paradigma original que o DevSecOps utiliza como base. DevOps refere-se à combinação de dois processos previamente distintos: desenvolvimento de software ("dev", do inglês) e operações de TI ("ops", também do inglês). Tradicionalmente, os desenvolvedores escreviam o código e o entregavam para as operações de TI para implantação na produção. Isso funcionava bem na era de desenvolvimento em cascata, quando levava meses ou até anos para concluir a nova versão de um aplicativo.

Com o surgimento das metodologias de desenvolvimento ágil e integração contínua/implantação contínua (CI/CD) de código, a antiga divisão entre "dev" e "ops" não era mais viável. O novo código era entregue às operações diariamente, senão a cada hora, para ser lançado.

A única maneira de realizar qualquer coisa sem correr riscos seria unificar os fluxos de trabalho de desenvolvimento e operações. Os processos combinados exigiam uma equipe unificada.

No novo cenário de DevOps, desenvolvedores e profissionais de operações colaboram para lançar rapidamente o código na produção. Essa não era uma parceria natural; as relações entre as equipes de desenvolvimento e operações costumavam ser tensas, com uma mentalidade (ultrapassada) de descaso que atrapalhava a produtividade. O DevOps mudou essa dinâmica ao introduzir um modelo de responsabilidade compartilhada.

À medida que as ciberameaças ficavam mais graves, fazia sentido que a segurança se tornasse parte do fluxo de trabalho do DevOps. Assim, o DevOps se tornou DevSecOps. Isso abrandou aquela que às vezes era uma relação tensa, com os profissionais de segurança muitas vezes considerados "vigias" que desaceleravam o processo de desenvolvimento. O DevSecOps representa uma nova forma de trabalho conjunto. A segurança agora é uma facilitadora de ciclos de desenvolvimento mais rápidos — mas mais seguros.

Principais fatores para o sucesso no DevSecOps

Alcançar o sucesso no DevSecOps não é uma tarefa simples. Isso envolve a sintonia de várias equipes e fluxos de trabalho, cada um em busca de seus próprios objetivos. Para fazer com que equipes e processos trabalhem de maneira equilibrada para que o DevSecOps tenha sucesso, é necessária uma cuidadosa combinação de ferramentas e processos. A tecnologia deve apoiar ambos os lados e ser a mediadora, fazendo concessões no processo. Isso inclui a liderança.

Para ter sucesso com  o DevSecOps, a equipe de segurança precisa ajustar a maneira como realiza testes para se alinhar ao novo mundo de CI/CD. Por sua vez, as equipes de DevOps precisam tratar questões de segurança com pelo menos o mesmo rigor que tratam questões funcionais. De fato, programas menos aperfeiçoados têm problemas de segurança que perduram e acabam sendo esquecidos no backlog. O sucesso também requer uma estratégia de "shift-left" que posicione o trabalho de segurança o mais cedo possível no fluxo de trabalho de DevOps.

Segurança de APIs em fluxos de trabalho DevSecOps

Proteger APIs em DevSecOps requer testes de segurança de APIs durante o desenvolvimento e monitoramento de APIs uma vez que estejam em produção. Os testes de segurança de APIs são comparáveis a outras formas de testes de segurança em DevSecOps, mas com algumas diferenças notáveis. Por exemplo, embora os testes estáticos possam ser úteis para descobrir vulnerabilidades no código, não são eficazes para identificar todas as vulnerabilidades de APIs.

Em vez disso, os testes de segurança de APIs para DevSecOps devem se concentrar na execução de testes do tipo black box, utilizando lógica de negócios. Essa abordagem revela como as APIs realmente funcionarão quando o aplicativo for implantado.

Ferramentas de teste de segurança de APIs, como o Noname Active Testing, podem executar testes desse tipo. Ele consegue detectar vulnerabilidades destacadas na lista dos 10 principais riscos à segurança de APIs do Open Web Application Security Project (OWASP), como autorização em nível de objeto corrompida, consumo irrestrito de recursos, configurações incorretas de segurança, gerenciamento inadequado de inventário e mais. Se essas vulnerabilidades estiverem presentes e não forem mitigadas, um agente malicioso que atacar a API poderá obter acesso não autorizado a dados confidenciais.

O Noname Active Testing se integra ao pipeline de CI/CD devido aos conjuntos de testes altamente configuráveis com que é compatível. Ele também possibilita um estilo de teste shift-left com integrações para vários sistemas de CI/CD. Entre esses dois fatores, a ferramenta possibilita integrar a segurança ao DevSecOps em relação às APIs. A integração CI/CD é essencial, pois permite a contínua e rápida testagem de segurança de APIs necessária para manter os aplicativos modernos seguros.

A segurança de APIs para DevSecOps não termina no desenvolvimento. A melhor prática é dar continuidade ao processo de segurança de APIs na produção. Ao monitorar APIs em produção, o aspecto da segurança do DevSecOps pode detectar APIs que ficaram vulneráveis; por exemplo, ao serem reconfiguradas ou configuradas incorretamente por um administrador durante a produção. Uma vez detectada, a vulnerabilidade da API pode ser remediada como parte do fluxo de trabalho DevSecOps.

Conclusão

Implementar o DevSecOps pode ser desafiador. É necessário um alinhamento adequado entre pessoas e processos para que todos e tudo possam operar de maneira eficiente e ágil. A segurança de APIs tem o potencial de complicar o DevSecOps e atrapalhar sua estabilidade. No entanto, os testes de segurança de APIs são críticos para o desenvolvimento de aplicativos seguros. Para que a segurança de APIs funcione bem com DevSecOps, é necessário utilizar ferramentas especializadas de teste e monitoramento de segurança de APIs.



Stas Neyman

escrito por

Stas Neyman

September 29, 2022

Stas Neyman

escrito por

Stas Neyman

Stas Neyman is a Director of Product Marketing at Akamai, overseeing the API Security portfolio.