Nota: O seguinte artigo irá ajudá-lo com: Você conhece bem suas APIs? Não está bem o suficiente, diz Cisco
Muitas APIs são íveis online de forma aberta, e isso significa que grandes partes de seus aplicativos também são. O Vijoy Pandey da Cisco tem ferramentas e dicas para ajudar as empresas a obter visibilidade em suas APIs.
Há um problema no mundo do desenvolvimento de aplicativos, e é bastante fundamental para a forma como o software moderno funciona: a desconexão entre a necessidade de interfaces de programação de aplicativos (APIs) e sua horrível reputação como buracos negros de segurança.
Este não é um problema novo – sabemos que as APIs são um problema há algum tempo e agora estamos em um ponto em que 91% dos profissionais corporativos disseram ter sofrido um incidente de segurança de API em 2020.
As APIs são responsáveis por pegar alguns dos dados mais valiosos que uma organização usa e enviar esses dados, quando solicitados, para outro aplicativo usando a API para decodificar esses dados de uma maneira que o aplicativo possa entender e retornar ao usuário. Pense em um aplicativo de mídia social: esses dados não estão apenas aparecendo por mágica em seu telefone, é uma API do Twitter que pega os dados que constituem seu feed e os envia para o aplicativo do Twitter.
Aqui está o problema: as APIs são, por necessidade, publicamente disponíveis. Todas as grandes empresas que dependem de desenvolvedores de aplicativos, sejam eles internos ou externos, têm APIs disponíveis que podem extrair informações incrivelmente confidenciais.
Os aplicativos que fazem uso pesado de APIs estão, portanto, deixando uma parte significativa de seu código disponível publicamente online, diz o vice-presidente da Cisco para sistemas distribuídos e em nuvem, Vijoy Pandey.
“Você pode estar extraindo APIs da nuvem pública, provedores SaaS, Salesforce ou pode ter APIs locais que você criou em um ambiente monolítico como um aplicativo Java. Ou você pode executá-los como um microsserviço ou de maneira sem servidor. Não importa como, mas você está usando APIs… então seu aplicativo está realmente parado na Internet aberta”, disse Pandey.
A solução da Cisco: APIClarity
A Cisco introduziu uma nova ferramenta de software de código aberto chamada APIClarity para resolver o que Pandey descreveu como “uma infinidade de problemas” em torno da visibilidade da API.
“Muitas pessoas nem sabem o que é uma API, ou como estão sendo usadas pelos desenvolvedores. Eles não sabem quais APIs não estão documentadas, quais são depreciadas e ainda estão sendo usadas e muitos desenvolvedores não dedicam tempo para documentar suas próprias APIs ou atualizar a documentação para levar em conta o desvio da API”, disse Pandey.
O objetivo da APIClarity é eliminar os riscos de segurança que acompanham os problemas de visibilidade da API, e faz isso ouvindo o tráfego da API e usando os dados coletados para criar uma especificação OpenAPI para ela. Esse é apenas o primeiro o, disse Pandey.
“Depois de ter uma especificação OpenAPI, você pode ver o que uma API está realmente transmitindo, em comparação com o que ela pretendia fazer originalmente. Digamos que você pretendia ar um número inteiro, mas com o tempo as pessoas começaram a enviar flops. Ou você pretendia dois argumentos, mas com o tempo as pessoas começaram a ar três ou quatro, e a especificação da API não foi atualizada. Esses são vetores de ataque claros”, disse Pandey.
Pandey também apontou que uma especificação APIClarity permite testes de penetração e fuzz de APIs, coloca desenvolvedores e equipes de segurança na mesma página e deu a entender que a Cisco tem outros projetos em andamento que “alavancarão ainda mais o APIClarity para fornecer aos usuários recursos adicionais. ”
APIClarity é de código aberto e está disponível no GitHub, e Pandey disse que foi projetado para ser instalado sem atrito em qualquer ambiente nativo da nuvem. Ele o descreve como uma ferramenta de tempo de execução que a Cisco desenvolveu para evitar ter que dizer aos usuários para instalar outro agente. “Estamos tentando cobrir a visibilidade do tráfego da API em seu ambiente em sua totalidade, e o APIClarity é a primeira ferramenta desse tipo que faz isso”, disse Pandey.
Práticas recomendadas de API
É preciso mais do que apenas identificar falhas e sanitizar suas APIs com ferramentas como o APIClarity. Pandey disse que há algumas coisas que desenvolvedores e equipes de segurança podem fazer para manter-se atualizados sobre a segurança da API e garantir as melhores práticas.
Primeiro, Pandey tem três dicas para garantir que as APIs e qualquer outro código de aplicativo extraído de outra fonte sejam seguros.
- Dê uma olhada regular nas notícias de segurança do OWASP. Eles frequentemente publicam listas de vulnerabilidades da API e notícias relacionadas a elas.
- Comece a tratar o software como qualquer outra coisa que tenha uma cadeia de suprimentos e certifique-se de que sua lista de materiais de software rastreie todos os elementos até uma fonte confiável.
- Observe o tempo de atividade, o local de hospedagem e a reputação geral do setor de uma API. Esses são todos bons indicadores para saber se uma API é confiável e segura.
Quanto a como implementar essas práticas, Pandey recomenda procurar soluções de software que unam todas essas coisas. Além disso, ele recomenda usar o mínimo possível de serviços nativos de provedores de nuvem e, em vez disso, usar apenas serviços gerenciados.
“Se você precisar de algo como gerenciamento de contêineres, use o Kubernetes ou algum outro produto de código aberto, mas transfira a confiabilidade do seu site e outros serviços gerenciados para a nuvem. Quanto mais ofertas você recebe, mais preso você fica”, disse Pandey.
Se você vai ficar com os serviços nativos, certifique-se de fazer as perguntas certas ao se inscrever, como o futuro, migrabilidade e afins, disse Pandey.
Se você deseja começar a integrar o APIClarity em suas práticas recomendadas de API, faça o no link do GitHub acima e saiba mais sobre ele assistindo a este webinar do APIClarity da Cloud Native Computing Foundation.