Qual a diferença entre a segurança de API e a segurança geral de aplicativos?

Publicados: 2023-07-19

Embora às vezes confundidas como a mesma coisa, a segurança de aplicativos e a segurança de API são duas disciplinas distintas. A segurança de aplicativos refere-se à proteção de aplicativos inteiros, enquanto a segurança de APIs se refere à proteção das APIs que as organizações usam para conectar aplicativos e trocar dados. Como tal, as organizações devem adotar abordagens diferentes para as duas disciplinas.

O que é segurança de aplicativos?

A segurança de aplicativos (AppSec) usa autorização, criptografia e práticas de codificação segura para proteger dados e sistemas contra ataques cibernéticos. As organizações que implementam AppSec reduzem o risco de violações de dados, protegem dados confidenciais e garantem que seus aplicativos estejam em conformidade com os padrões do setor.

A ISACA define os cinco componentes críticos dos programas AppSec como:

  1. Segurança desde o projeto
  2. Teste de código seguro
  3. Lista de materiais de software
  4. Treinamento e conscientização sobre segurança
  5. WAFs e gateways de segurança de API e desenvolvimento de regras

O que é segurança de API?

API, ou interface de programação de aplicativos, a segurança protege as APIs contra ataques cibernéticos. O uso de APIs explodiu nos últimos anos, concedendo às organizações oportunidades de inovação ao permitir transferências de dados entre aplicativos. Infelizmente, à medida que o uso de APIs aumentou, também aumentaram os ataques lançados contra eles. Uma pesquisa da Salt Security revelou que os ataques a APIs aumentaram 400% entre junho e dezembro de 2022.

Ameaças à segurança de aplicativos versus APIs

Compreender a diferença entre AppSec e segurança de API requer compreender as principais ameaças de cada disciplina. Felizmente, a OWASP, uma organização sem fins lucrativos que busca melhorar a segurança de software, fornece uma lista abrangente das ameaças mais significativas à segurança de aplicativos e à segurança de APIs. Conhecidas como OWASP Top Ten, as listas reúnem informações da comunidade global de especialistas em segurança da OWASP para identificar as ameaças mais críticas a aplicações e APIs.

Curiosamente, embora a OWASP tenha publicado a lista dos Dez Principais Riscos de Segurança de Aplicações Web em 2003, ela só lançou a lista dos Dez Principais Riscos de Segurança de APIs no final de 2019. Essa discrepância representa outra diferença importante entre segurança de aplicativos e API: a segurança de aplicativos é um bem estabelecido, disciplina extensivamente pesquisada que passou por vários estágios evolutivos, enquanto a segurança da API não.

Embora não tenhamos tempo para uma análise aprofundada, vale a pena examinar brevemente cada lista para ver como elas diferem, o que deve informar como as organizações abordam a segurança de AppSec e API.

Os dez principais riscos de segurança de aplicativos da OWASP (2021)

  1. Controle de acesso quebrado – Quando um usuário não autorizado pode acessar informações ou sistemas restritos
  2. Falhas criptográficas – Quando um terceiro expõe dados confidenciais sem intenção específica devido à falta ou falhas na criptografia
  3. Injeção – Quando um invasor tenta enviar dados para um aplicativo de uma forma que mudará o significado dos comandos enviados a um intérprete
  4. Design Inseguro – Riscos relacionados a falhas arquitetônicas e de design
  5. Configuração incorreta de segurança – quando as equipes de segurança configuram incorretamente ou deixam os controles de segurança inseguros
  6. Componentes Vulneráveis ​​e Desatualizados – Quando as organizações deixam componentes sem correção
  7. Falhas de identificação e autenticação (ou seja, autenticação quebrada) – Quando os aplicativos estão vulneráveis ​​a ataques de autenticação
  8. Falhas de integridade de software e dados – Quando o código e a infraestrutura não conseguem proteger contra violações de integridade
  9. Falhas de registro e monitoramento de segurança (ou seja, registro e monitoramento insuficientes) – quando as organizações não conseguem detectar violações de dados devido a procedimentos inadequados de registro e monitoramento
  10. Falsificação de solicitação no lado do servidor – quando os invasores enganam os aplicativos para que enviem uma solicitação elaborada para um destino inesperado, mesmo quando protegidos por um firewall, VPN ou outro tipo de lista de controle de acesso (ACL) de rede

Os dez principais riscos de segurança de API da OWASP (2023)

  1. Autorização em nível de objeto quebrado – quando um objeto de API – por exemplo, bancos de dados ou arquivos – não tem controles de autorização adequados, concedendo acesso a usuários não autorizados
  2. Autenticação quebrada – Quando engenheiros de software e segurança entendem mal os limites da autenticação de API e como implementá-la
  3. Autorização em nível de propriedade de objeto quebrado – Uma combinação de exposição excessiva de dados e atribuição em massa: quando os invasores exploram um bloqueio ou autorização inadequada no nível de propriedade do objeto.
  4. Consumo irrestrito de recursos – Atender às solicitações de API requer largura de banda de rede, CPU, memória e armazenamento. Os provedores de serviços disponibilizam outros recursos, como e-mails/SMS/telefonemas ou validação biométrica, por meio de integrações de API e pagos por solicitação. Ataques bem-sucedidos podem levar à negação de serviço ou ao aumento dos custos operacionais.
  5. A autorização de nível de função quebrada envolve invasores enviando chamadas de API legítimas para endpoints de API expostos
  6. Acesso irrestrito a fluxos de negócios sensíveis – APIs vulneráveis ​​a esse risco expõem um fluxo de negócios – como comprar um ticket ou postar um comentário – sem compensar como a funcionalidade poderia prejudicar o negócio se usada excessivamente de maneira automatizada; isso não vem necessariamente de bugs de implementação.
  7. Falsificação de solicitação no lado do servidor – quando uma API busca um recurso remoto sem validar o URI fornecido pelo usuário; permitindo que um invasor coaja o aplicativo a enviar uma solicitação elaborada para um destino inesperado, mesmo quando protegido por um firewall ou VPN.
  8. Configuração incorreta de segurança – APIs e os sistemas que as suportam normalmente contêm configurações complexas para torná-las mais personalizáveis. Os engenheiros de software e DevOps podem perder essas configurações ou não seguir as práticas recomendadas de segurança em relação à configuração, abrindo a porta para diferentes tipos de ataques.
  9. Gerenciamento inadequado de inventário – APIs expõem mais endpoints do que aplicativos web tradicionais, tornando importante a documentação adequada e atualizada. Um inventário adequado de hosts e versões de API implantadas também é essencial para mitigar problemas como versões de API obsoletas e endpoints de depuração expostos.
  10. Consumo inseguro de APIs – Os desenvolvedores tendem a confiar mais nos dados recebidos de APIs de terceiros do que na entrada do usuário e adotam padrões de segurança mais fracos. Para comprometer APIs, os invasores buscam serviços integrados de terceiros em vez de tentar comprometer diretamente a API alvo.

Como você pode ver, embora haja alguma sobreposição, os aplicativos e APIs estão principalmente sujeitos a ameaças diferentes e exclusivas, e as organizações devem responder de acordo. A principal diferença entre as duas listas é que as organizações podem mitigar todos os riscos críticos associados à segurança de aplicações com ferramentas e técnicas de segurança tradicionais e multifuncionais, mas a segurança da API é diferente.

A segurança da API é um problema altamente moderno que requer uma solução igualmente moderna. As organizações não podem esperar que as ferramentas que utilizam para proteger as suas aplicações e outros ativos cumpram a tarefa de proteger as APIs. A segurança da API requer ferramentas de segurança específicas da API; métodos de proteção tradicionais, como gateways de API e Web Application Firewalls (WAFs), não são suficientes.