Avançar para o conteúdo principal
BlogueSegurançaNo escuro sobre as APIs sombra?

No escuro sobre as APIs Sombra?

Uma sala de aspeto sinistro que está quase toda às escuras, sendo apenas visível o chão. O texto diz: "No escuro sobre as APIs das Sombras?"

Sou frequentemente questionado sobre APIs shadow e parâmetros de API shadow - mesmo por pessoas com muita experiência no espaço de desenvolvimento de APIs. Isso não é muito surpreendente, porque as APIs shadow não são normalmente um risco no qual você pensaria no curso normal do desenvolvimento de uma API. De facto, algumas pessoas estão convencidas de que as APIs sombra são apenas uma tática de medo utilizada pelos fornecedores de segurança para vender as suas ferramentas.

No entanto, na realidade, as APIs sombra são relativamente fáceis de construir e utilizar. Qual é a melhor maneira de as compreendermos melhor? Olhando para exemplos do mundo real! Então é isso que vamos abordar neste post.

O que são APIs sombra?

Vamos começar com este exemplo de pedido de API que encontrei:

Este é um pedido a uma API GraphQL para gerar a palavra-passe de uso único (OTP) utilizada na autenticação de um serviço Web. Pode não detetar o problema se não estiver a olhar com atenção, por isso marquei-o com uma grande seta vermelha. Isso otpDigit O parâmetro é, de facto, um grande problema.

Descobri que este parâmetro é efetivamente modificável através da API. Ao modificá-lo, é possível ajustar o comprimento da palavra-passe de uso único necessária para a autenticação. Quais são as implicações? Consegui alterar o valor para 1. Isto fez com que o número de possibilidades para a palavra-passe passasse de um milhão para apenas 10!

Como é compreensível, a equipa de desenvolvimento ficou alarmada quando lhes falei deste parâmetro e corrigiu-o de imediato. No entanto, este é um exemplo perfeito das APIs sombra e dos seus parâmetros. Muito provavelmente, esse parâmetro foi uma conveniência inicial do desenvolvedor usada para prototipagem ou teste. Quando a API entrou em produção, o suporte para o parâmetro nunca foi removido, e ele se tornou um parâmetro de API sombra.

Sem alguém a sondar este ponto final específico para saber o que poderia ser feito com um parâmetro não documentado, esta grande vulnerabilidade não teria sido descoberta. Mais importante ainda, uma equipa de desenvolvimento não procurará atentamente esta vulnerabilidade até que lhe seja apresentada.

Este exemplo estabelece as bases para uma diretriz de trabalho relativa a parâmetros e pontos finais de API obscuros: Quaisquer endpoints ou parâmetros da API que não estejam diretamente no centro das atenções dos programadores existem na sombra e representam um risco porque a equipa de segurança provavelmente também os ignorará.

O que posso fazer em relação às APIs sombra?

Agora que sabe quais são os pontos finais e parâmetros da API sombra, a questão seguinte é o que pode fazer em relação a eles. Obviamente, não pode simplesmente dizer à sua equipa de segurança para ser mais vigilante, especialmente em relação às coisas que os programadores nem sequer destacam no seu trabalho ativo.

O mais provável é que precise de uma ferramenta ou processo para o ajudar a avaliar a segurança das suas APIs. O tipo de ferramenta de que necessita depende da dimensão da sua empresa e do número de APIs que tem implementadas. Os gateways de API ou mesmo as ferramentas de segurança de API podem ajudá-lo a obter o grau de segurança de que necessita, mas podem ser mais do que precisa. Se tiver apenas vários pontos de extremidade disponíveis para os consumidores de API, a implementação de um conjunto robusto de ferramentas que monitorizam o tráfego na sua pilha e o alertam para actividades suspeitas é definitivamente um exagero.

Uma abordagem mais simples é certificar-se de que as suas APIs estão bem documentadas. Este é também um ótimo ponto de partida. Comece por adotar a norma OpenAPI para documentar as suas APIs. Lembre-se de que as APIs obscuras surgem quando você não presta atenção aos seus pontos de extremidade e parâmetros. O objetivo da norma OpenAPI é fornecer um modelo para especificar - e, portanto, conhecer - todos os pontos de extremidade e parâmetros da sua API.

A partir daí, pode também exigir que os seus programadores forneçam esta documentação da API à equipa de segurança aquando da implementação. A equipa de segurança testa então a API em relação à documentação, para encontrar quaisquer imprecisões ou lacunas. Isto evitará quaisquer pontos cegos.

Conclusão

As coisas não se esconderão nas sombras se iluminarmos esses espaços. No final do dia, se conhecer os detalhes das APIs que implementou, então as APIs sombra não podem existir. Embora não seja talvez a tarefa mais excitante do mundo, documentar as suas APIs ajudará a evitar a abertura das suas APIs a atacantes maliciosos.

Esperamos que este post o tenha esclarecido sobre a definição e os perigos das APIs obscuras. Go ilumine os cantos obscuros da sua infraestrutura de API para evitar violações de segurança!

Comentários

Deixe uma resposta

O seu endereço de correio electrónico não será publicado. Os campos obrigatórios estão marcados com *