Segurança de APIs e de Apps
Dados críticos na nuvem, acesso mobile em todo lugar, IoT, Open Banking, plataformas digitais habilitadas por APIs ̶ e a segurança disso, como fica?
As APIs são a base para a transformação digital. A expansão das aplicações web e dos ecossistemas digitais impulsionados pelas web APIs aumentaram as preocupações com a segurança de toda essa exposição. Na pesquisa que a Sensedia realizou em parceria com a IDC, a segurança foi o item considerado de maior importância nas estratégias de APIs.
A OWASP (Open Web Application Security Project), para canalizar os esforços na segurança de aplicações e APIs, realizou um levantamento global e colaborativo com os 10 riscos de segurança mais críticos da web, conhecido como OWASP TOP 10.
O ranking é baseado nos dados colhidos e nas discussões com a comunidade, classificando os riscos de acordo com a OWASP Risk Rating Methodology e atribuindo uma gradação de 3 níveis para os seguintes critérios: Dificuldade do Ataque (Exploitability), Prevalência do Risco, Detecção do Risco (Detectability) e Impactos Técnicos.
Agentes de Ameaça | Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos | Impactos no Negócio |
---|---|---|---|---|---|
Específico da Aplicação | Fácil | Generalizada | Fácil | Severo | Específico do Negócio/Aplicação |
Média | Comum | Média | Moderado | ||
Difícil | Rara | Difícil | Pequeno |
No texto preliminar (RC1), o item “APIs desprotegidas” foi sugerido para integrar o ranking de 2017, mas foi retirado uma vez que as Web APIs estão suscetíveis a vários dos riscos mencionados, não fazendo muito sentido criar uma categoria à parte. Porém, no texto novo, foram feitas novas menções a APIs e a API Security Gateway.
As alterações nos itens rankeados foram as seguintes:
- Tópicos retirados, mas não esquecidos
- 2013-A8 Cross-site Request Forgery (CSRF)
- 2013-A10 Unvalidated Redirects and Forwards
- Tópicos adicionados
- 2017-A4 XML External Entity (XXE)
- 2017-A8 Insecure Deserialization
- 2017-A10 Insufficient Logging & Monitoring
Conforme mencionado na RC1, a detecção de vulnerabilidades em APIs pode ser mais difícil do que em aplicações, em virtude da falta de uma interface (UI) para testes e do uso de estruturas mais complexas de dados. Além disso, muitas vezes as APIs têm comunicação direta com sistemas críticos e, quando possuem brechas, podem facilitar o acesso e manipulação não-autorizada de dados sensíveis ou até o sequestro total do sistema.
A utilização de uma plataforma completa de API Management atua também como camada de proteção para o backend, com recursos para a detecção de falhas e de apoio ao design adequado das APIs, além de possibilitar a separação de ambientes e implementar diversos outros mecanismos para segurança, controle e análise.
Ranking 2017 OWASP Top 10 Riscos de Segurança na Web
A seguir, iremos descrever cada um dos 10 riscos do novo ranking da OWASP 2017 e as principais formas para mitigar esses riscos:
A1 – Injeção
As falhas causadas por injeção (como injeção de SQL) ocorrem quando dados maliciosos são enviados a um interpretador, que podem ser interpretados como comandos ou consultas que irão habilitar ações indesejadas.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Fácil | Comum | Fácil | Severo |
Como prevenir?
Para prevenir este tipo de ataque é necessário validar se os dados trafegados pelas APIs possuem comandos recursivos em SQL, JSON, XML, entre outros, e evitar o uso do interpretador inteiramente, fornecendo uma interface parametrizada. Veja mais: Injection Prevention Cheat Sheet – OWASP
Como mitigar esse risco com API Management
Pode-se aplicar Interceptors de SQL threat protection, JSON threat protection, XML threat protection.
A2 – Quebra de Autenticação
Usuários podem se apoderar ou comprometer a autenticação por chaves, senhas, cookies e obter acessos não-autorizados.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Fácil | Comum | Média | Severo |
Como prevenir?
É importante utilizar uma comunicação segura com two-way SSL e padrões de autenticação (como OAuth). Veja mais: Authentication Cheat Sheet – OWASP
Como mitigar esse risco com API Management
Habilitar comunicação two-way SSL e autenticação OAuth 2.0.
A3 – Exposição de Dados Sensíveis
Dados sensíveis podem ficar expostos se estiverem gravados e não-criptografados, ou com geração e gerenciamento fraco de chaves, ou algoritmos e técnicas de hashing fracos.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Média | Generalizada | Média | Severo |
Como prevenir?
Para prevenir esta vulnerabilidade é possível utilizar a log obfuscation e data obfuscation, criptografar o canal de comunicação e utilizar Two-way SSL.
É importante não armazenar dados sensíveis sem necessidade, e criptografá-los, tanto quando estiverem em repouso quanto em trânsito.
Não deixe de desabilitar o autocompletar em formulários e o cache em páginas que contenham dados sensíveis. Veja mais: Cryptographic Storage Cheat Sheet – OWASP e Transport Layer Protection Cheat Sheet – OWASP.
Como mitigar esse risco com API Management
Além da comunicação com two-way SSL, habilitar Data Obfuscation, Log Obfuscation, Criptografia.
A4 – XML External Entities (XXE)
Muitos processadores de XML antigos permitem a especificação de uma entidade externa, uma URI desreferenciada e avaliada durante o processamento do XML. Essa falha permite a extração de dados, efetuar requisições no servidor, escanear sistemas internos, realizar DoS attacks, entre outros.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Média | Comum | Fácil | Severo |
Como prevenir?
Aplique correções ou atualize os processadores de XML, bibliotecas e suas dependências, verifique se o upload de XML ou XSL realiza validação, utilize white list input validation, desabilite o processamento de XXE e DTD. Considere usar virtual patching, API security gateway ou WAFs. Veja mais: XML External Entity (XXE) Prevention Cheat Sheet – OWASP
Como mitigar esse risco com API Management
Habilitar o módulo de API security gateway, criação de white lists e aplicar interceptor para XML threat protection.
A5 – Controle de Acesso Quebrado
Ocorre quando há referências internas para objetos (como um arquivo, pasta ou registro) sem controle de acesso, que podem ser manipuladas para acessos indesejados.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Média | Comum | Média | Severo |
Como prevenir?
Para amenizar esse risco, é importante criar referências indiretas a objetos por usuário ou sessão e verificar o acesso de fontes não-confiáveis na utilização de referências diretas. API rate limit pode minimizar possíveis danos. Veja mais: Access Control – OWASP
Como mitigar esse risco com API Management
Aplicar autenticação com OAuth 2.0, validação de acesso aos recursos com Plans, Rate Limit.
A6 – Configuração Incorreta de Segurança
Usuários podem conseguir executar ações indesejadas por falta de configuração correta de segurança.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Fácil | Generalizada | Fácil | Moderado |
Como prevenir?
Varreduras automáticas e periódicas são úteis para detectar falta de atualizações, erros de configuração, uso de contas padrão, etc. É importante ter um processo rápido e eficaz para implantar ambientes devidamente protegidos e para mantê-los atualizados, com uma arquitetura que ofereça uma separação segura dos componentes. Veja mais: Center for Internet Security CIS: Configuration Guidelines and Benchmarks
Como mitigar esse risco com API Management
Criação e separação de Environments, definição de Deploy Permissions, usar OAuth 2.0, criação e revogação de tokens, gerenciamento centralizado e auditoria de eventos.
A7 – Cross-Site Scripting (XSS)
No ataque XSS, scripts são adicionados antes dos dados serem enviados para ao browser e executados para sequestrar sessions, redirecionar para sites maliciosos ou desfigurar páginas.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Fácil | Generalizada | Fácil | Moderado |
Como prevenir?
Deve-se validar que as requisições e as respostas para que não contenham scripts. Veja mais: XSS (Cross Site Scripting) Prevention Cheat Sheet – OWASP
Como mitigar esse risco com API Management
Aplicação de interceptor específico de XSS threat protection para verificação de padrões maliciosos.
A8 – Des-serialização Insegura
Os aplicativos distribuídos com listeners públicos ou aplicativos que dependem da manutenção do estado do cliente, provavelmente permitem adulteração de dados serializados.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Difícil | Comum | Média | Severo |
Como prevenir?
Não aceitar objetos serializados a partir de fontes não-confiáveis ou serialização que só permita tipos de dados primitivos. Se isso não for possível, implementar verificações de integridade ou criptografia dos objetos serializados para evitar a criação hostil de objetos ou adulteração de dados. Pode-se também aplicar restrições de strict type durante a des-serialização antes da criação do objeto. Outro ponto é isolar o código que des-serializa, como aqueles executados em ambientes de privilégios muito baixos ou contêineres temporários. É importante gravar em log as exceções e falhas de des-serialização. Restrinja ou monitore conectividade recebida e de saída de contêineres ou servidores que des-serializam e configure alertas para o caso de um usuário des-serializar constantemente. Veja mais: Deserialization Cheat Sheet – OWASP
Como mitigar esse risco com API Management
Definição white lists para fontes confiáveis, criar logs específicos para cada etapa da operação das APIs, realizar trace das calls e configurar alertas.
A9 – Utilização de Componentes com Vulnerabilidades Conhecidas
Atacante pode identificar componentes vulneráveis através de scanning ou análise manual.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Média | Generalizada | Média | Moderado |
Como prevenir?
Usar ferramentas para inventário de versões e dependências dos componentes (server-side e client-side). Monitorar vulnerabilidades em componentes a partir de fontes públicas como NVD e usar software para análise automática. É importante também desativar componentes que não serão utilizados, e aplicar atualizações e patches de fontes oficiais que previnam vulnerabilidades de serem exploradas. Veja mais: National Vulnerability Database – NVD
Como mitigar esse risco com API Management
Aplicar interceptor de String Match Conditions para validar chamadas a URLs com vulnerabilidades conhecidas.
A10 – Logging e Monitoramento Insuficientes
O registro inadequado de falhas, a falta de alertas e de bloqueios permitem que o atacante siga testando vulnerabilidades até conseguir uma que seja explorável.
Dificuldade do Ataque | Prevalência do Risco | Detecção do Risco | Impactos Técnicos |
---|---|---|---|
Média | Generalizada | Difícil | Moderado |
Como prevenir?
O uso de formatos já amplamente utilizados como REST, GraphQL, JSON e aplicar os mecanismos de segurança já mencionados para garantir uma comunicação segura, um esquema forte de autenticação e de controle de acesso, além das proteções contra todos os tipos de injeções. Veja mais: Logging Cheat Sheet – OWASP
Como mitigar esse risco com API Management
Habilitar calls tracing e interceptor de Logging que pode ser aplicado nas etapas do processamento das APIs, configuração de alertas e dashboards customizados.
Sensedia API Platform – Segurança para suas APIs e Backend
A solução de API Management da Sensedia foi classificada como Visionária pelo Gartner e como Strong Performer pelo Forrester e oferece uma série de mecanismos para proteção e análise de suas APIs e do seu backend, disponibiliza ferramentas para otimização de recursos e para engajamento dos desenvolvedores, além de consultoria para construção segura de estratégias digitais e de arquiteturas baseadas em microserviços.
Deseja saber mais sobre como proteger suas APIs e seu backend? Veja a página da plataforma de API Management e fale com a gente sobre seu projeto.
Veja também:
Leave a Comment