Quando olhamos para o mundo de desenvolvimento e sua evolução nos últimos anos, podemos dizer que um dos campos que menos acompanhou o pensamento do fim das barreiras foi o focado em desenvolvimento de APIs.
Um dos pontos interessantes com relação às APIs é que muitos desenvolvedores, por não enxergarem as APIs como uma aplicação web, deixam de lado muitos dos conceitos e das melhores práticas de segurança construídos até hoje no mercado de AppSec. Isso traz para dentro da empresa um grande risco, já que as APIs fornecem um ponto de contato entre o mundo exterior e as aplicações internas da empresa.
Você pode também ouvir a versão em áudio deste conteúdo:
Essa visão é um ponto que até nos remete a pensar que por ter este tipo de ação, tratar e movimentar dados e transações, as APIs deveriam ser encaradas com um pouco mais de atenção, pois por sua própria característica, atraem muita atenção.
Se entendermos que as APIs formam uma boa base dos componentes de aplicações que permitem que sejam trocadas as informações entre sistemas, e que inicialmente este modelo era fundamentalmente de uso interno das empresas – ou seja, sem conexão com o mundo exterior – podemos dizer que este pensamento ainda é o dominante. Mesmo que cada vez mais as APIs venham tomando uma proporção maior e mais importante, agora no exterior das empresas, permitindo a troca de informações com fornecedores, clientes e parceiros.
LEIA TAMBÉM: Segurança de APIs – 6 pontos principais
Como os profissionais enxergam as APIs
A empresa SmartBear fez no início deste ano, 2020, uma pesquisa que contou com a resposta de 1500 profissionais que trabalham com APIs. Entre eles: arquitetos, desenvolvedores e profissionais de QA. Desse total de participantes, 77% responderam que fazem uso de APIs e as entendem como ponto de grande importância em sua estrutura.
Do ponto de vista de uso, as APIs ainda continuam sendo mais vistas como uma forma de manter e garantir a interoperação entre as diversas ferramentas. No entanto, não devemos esquecer que também temos o uso para garantir contato com parceiros e fornecedores externos.
A Forrest também aponta um detalhe que temos observado nos nossos projetos: muito dos problemas de segurança de APIs é decorrente de uma mudança de conceitos relacionados com os primeiros modelos de desenvolvimento baseados em protocolo SOAP, que estão ou foram migrados totalmente para modelos mais atuais baseados em API REST.
Isso porque anteriormente os modelos SOAP eram acessados com um pouco mais de segurança, pois suas conexões eram garantidas por meio de uso de VPN. Por outro lado, as APIs REST são desenvolvidas para garantirem o acesso por meio de browser e ou de aplicativos móveis. E estão atualmente em uma infinidade de aplicações que permitem, por exemplo, uma reserva em um hotel.
De um ponto de vista do desenvolvimento, as melhores práticas – já disseminadas no mercado há muito tempo – também devem valer para as APIs. Assim, o tratamento de dados sensíveis do lado do servidor e também a garantia de privilégios mínimos deve ser também utilizada quando falamos do desenvolvimento de APIs.
Um desafio a ser vencido
Não podemos esquecer que as APIs também podem fornecer acesso a atualizações e ou processamento que são executadas e tratadas em back-end. Isso acontece porque, na hora de mapear seus endpoints, muitas empresas falham nessa tarefa. Afinal, temos cada vez mais aplicativos complexos em sua estrutura, e fracamente mapeados ou documentados.
Neste ponto, podemos imaginar que garantir que o acesso à API por meio de um processo de autenticação ou mesmo o uso de um WAF venha a ser um dos pontos a serem fortemente avaliados. Acontecendo um vazamento ou comprometimento da API, todos os dados estarão expostos, em tempos de LGPD isso não é uma boa notícia.
O que temos que perceber é que há, sim, um grande desafio a ser vencido. Afinal, a proteção das APIs também é impactada pela grande quantidade de tecnologias, diversidade e design que são usados em sua construção.
Nesta perspectiva, temos que claramente definir o entendimento de que uma API é, acima de tudo uma aplicação – e deve ser entendida como tal, seguindo as melhores práticas para o seu desenvolvimento.
SAIBA MAIS SOBRE NOSSOS SERVIÇOS
A presença do Security Champion
Acreditamos que a primeira questão quando tratamos de segurança de API é realmente entender que, sim, API também devem receber a mesma atenção que normalmente é dada a outras aplicações mais “tradicionais”.
Se tivermos entendido isso, facilmente iremos perceber que precisamos, assim como fazemos com as outras aplicações, construir um pensamento de segurança ao redor da API, contando com testes e validações em todo o ciclo de seu desenvolvimento.
Também não há por que não tratar este conhecimento específico como uma necessidade dentro dos times de desenvolvimento, criando a oportunidade de tratar do assunto abertamente e inclusive realizando treinamentos focados no tema.
Um ponto que entendemos que seria fundamental – aqui não somente para API, mas para todo o ciclo de desenvolvimento – é a presença do Security Champion. Este perfil permitiria a criação de uma ponte entre os times de desenvolvimento e segurança, além de ajudar a ver estes pontos de segurança dentro do processo.
Como podemos ver, não faltam oportunidades e ações que podem ser feitas para melhorar a segurança das APIs. Mas não deixe de nos contar: como você tem pensado sobre este tema?