Skip to content

MASWE-0049: APIs de Rede Comprovadas Não Utilizadas

Content in BETA

This content is in beta and still under active development, so it is subject to change any time (e.g. structure, IDs, content, URLs, etc.).

Send Feedback

Visão Geral

Aplicações que não utilizam APIs de rede fornecidas pela plataforma ou bibliotecas de segurança bem estabelecidas são suscetíveis a vulnerabilidades de segurança. Quando os desenvolvedores implementam código de rede personalizado ou mecanismos de segurança "feitos por conta própria", eles correm o risco de introduzir falhas devido à falta de conhecimento aprofundado em criptografia e segurança de rede. As APIs e bibliotecas fornecidas pela plataforma, como NSURLSession no iOS ou HttpsURLConnection no Android, são projetadas e mantidas por especialistas, incorporando as melhores práticas de segurança e atualizações regulares para abordar novas ameaças e vulnerabilidades.

Impacto

  • Vulnerabilidades de Segurança: Implementações personalizadas de rede podem conter falhas que os atacantes podem explorar, levando a violações de dados e acesso não autorizado.
  • Falta de Atualizações: Código personalizado pode não receber atualizações oportunas para abordar novas vulnerabilidades ou cumprir com padrões de segurança em evolução.
  • Medidas de Segurança Inconsistentes: Ignorar as APIs padrão pode resultar na aplicação inconsistente de recursos de segurança como criptografia, validação de certificado e tratamento de erros.
  • Aumento da Complexidade de Desenvolvimento: Escrever e manter código de rede personalizado aumenta a complexidade, tornando mais difícil auditar e proteger a aplicação.
  • Não Conformidade com Padrões: Não utilizar APIs aprovadas pode levar à não conformidade com regulamentações do setor e diretrizes de segurança.

Modos de Introdução

  • Desenvolvimento de Stack de Rede Personalizado: Desenvolvedores criam seu próprio código de rede em vez de usar APIs fornecidas pela plataforma, possivelmente para adicionar funcionalidades personalizadas ou devido ao desconhecimento das APIs existentes.
  • Uso de Bibliotecas de Terceiros Inseguras: Incorporação de bibliotecas de rede de terceiros que estão desatualizadas ou não seguem as melhores práticas de segurança atuais.
  • Ignorar Mecanismos de Segurança: Evitar deliberadamente APIs padrão para contornar verificações de segurança, como certificate pinning ou imposição de TLS.
  • Conhecimento de Segurança Insuficiente: Desenvolvedores podem não ter entendimento adequado dos princípios de segurança de rede, levando a implementações inseguras.
  • Tentativas de Otimização de Desempenho: Escrever código de rede personalizado para otimizar o desempenho sem considerar plenamente as implicações de segurança.

Mitigações

  • Utilizar APIs de Rede Fornecidas pela Plataforma: Sempre usar as APIs de rede fornecidas pela plataforma, como NSURLSession para iOS e HttpsURLConnection para Android, que tratam de muitas preocupações de segurança internamente.
  • Adotar Bibliotecas de Segurança Estabelecidas: Se for necessária funcionalidade adicional, usar bibliotecas reputáveis e bem mantidas como OkHttp para Android ou Alamofire no iOS que aderem às melhores práticas de segurança.
  • Evitar Implementações de Segurança Personalizadas: Evitar a implementação de algoritmos criptográficos personalizados ou protocolos de segurança; confiar em soluções padrão e validadas.
  • Manter Dependências Atualizadas: Atualizar regularmente todas as bibliotecas e dependências para incorporar os patches e melhorias de segurança mais recentes.