Segurança
Mobile
App
OWASP
Proteção
Desenvolvimento

Segurança em Aplicativos: Guia de Proteção Mobile

Apps móveis são alvos frequentes de ataques. Dados sensíveis, pagamentos, informações pessoais, tudo precisa de proteção. Este guia apresenta práticas essenciais de segurança mobile.

Por Que Segurança Mobile Importa

Dados Sensíveis

Apps armazenam informações valiosas.

Ataques Crescentes

Mobile é vetor cada vez mais explorado.

Regulação

LGPD, compliance exigem proteção.

Reputação

Vazamento destrói confiança.

OWASP Mobile Top 10

M1: Improper Platform Usage

Uso incorreto de features de segurança do OS.

M2: Insecure Data Storage

Dados sensíveis em locais inseguros.

M3: Insecure Communication

Transmissão sem proteção.

M4: Insecure Authentication

Autenticação fraca ou bypassável.

M5: Insufficient Cryptography

Criptografia mal implementada.

M6: Insecure Authorization

Controle de acesso falho.

M7: Client Code Quality

Bugs e vulnerabilidades no código.

M8: Code Tampering

Modificação do app.

M9: Reverse Engineering

App pode ser analisado.

M10: Extraneous Functionality

Debug code em produção.

Armazenamento Seguro

Keychain (iOS)

Para credenciais e tokens.

Keystore (Android)

Hardware-backed security.

Encrypted SharedPreferences

Dados criptografados.

Não Usar

Plain text files, logs, UserDefaults sem criptografia.

Comunicação Segura

HTTPS

Obrigatório, sempre.

Certificate Pinning

Previne MITM attacks.

TLS 1.3

Versão mais segura.

Network Security Config

Android: declare regras de segurança.

Autenticação

Senhas Fortes

Requisitos de complexidade.

MFA

Multi-factor authentication.

Biometrics

Face ID, Touch ID, fingerprint.

Session Management

Tokens seguros, expiração.

Autorização

Least Privilege

Mínimo acesso necessário.

Server-Side

Sempre validar no servidor.

Role-Based

Permissões por função.

Criptografia

Algorithms

AES-256, RSA-2048+.

Keys

Não hardcode. Use keychain/keystore.

Salting

Para hashes de senha.

IV Únicos

Para modos de criptografia.

Proteção de Código

Obfuscation

Dificultar reverse engineering.

ProGuard/R8 (Android)

Ofuscação de código.

Anti-Tampering

Detectar modificações.

Root/Jailbreak Detection

Identificar devices comprometidos.

API Security

Authentication

Token-based, OAuth 2.0.

Rate Limiting

Prevenir abuse.

Input Validation

Validar tudo no servidor.

Output Encoding

Prevenir injection.

Data Protection

Data at Rest

Criptografia em armazenamento.

Data in Transit

HTTPS/TLS.

Data Minimization

Só coletar necessário.

Retention

Não guardar mais que precisa.

Testes de Segurança

SAST

Static Application Security Testing.

DAST

Dynamic testing.

Penetration Testing

Hackers éticos testam.

Vulnerability Scanning

Dependências com falhas.

Ferramentas

MobSF

Mobile Security Framework. Análise automatizada.

Frida

Dynamic instrumentation.

Burp Suite

Interceptar tráfego.

OWASP ZAP

Scanner de vulnerabilidades.

Dependências

NPM/Gradle Audit

Verificar vulnerabilidades.

Atualização

Mantenha dependências atualizadas.

Supply Chain

Cuidado com o que inclui.

iOS Específico

App Transport Security

Forçar HTTPS.

Keychain Services

Armazenamento seguro.

Data Protection

Proteção baseada em lockscreen.

Android Específico

SafetyNet/Play Integrity

Verificar integridade do device.

Network Security Config

Declarar políticas de rede.

EncryptedSharedPreferences

Dados criptografados.

Secure Development

Training

Desenvolvedores treinados em segurança.

Code Review

Revisar com foco em segurança.

Threat Modeling

Identificar riscos cedo.

Security Champions

Representantes no time.

Compliance

LGPD

Proteção de dados pessoais.

PCI DSS

Para apps com pagamento.

HIPAA

Para apps de saúde (EUA).

Erros Comuns

Hardcoded Secrets

Chaves no código fonte.

Logs Excessivos

Dados sensíveis em logs.

Validação só no Client

Servidor deve validar.

HTTP

Comunicação não criptografada.

Conclusão

Segurança mobile exige abordagem em camadas. Proteja dados, comunique de forma segura, autentique corretamente e teste continuamente. Segurança não é feature, é requisito.

FAQs

1) Certificate pinning é necessário? Altamente recomendado para apps com dados sensíveis.

2) Obfuscação é suficiente? Não. É uma camada, não proteção completa.

3) Como testar segurança? Ferramentas automatizadas + pen testing manual.

4) Root detection pode ser bypassada? Sim. Use como camada, não única proteção.

5) HTTPS resolve tudo? Não. É básico. Precisa de mais camadas.

Leia também