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
- Proteção Contra Vazamento de Dados: Guia de Segurança
- Cloudflare WAF: o que a proteção gerenciada realmente bloqueia e o que passa
- Autenticação em Aplicativos: Guia Completo de Segurança e UX
- Manutenção de Aplicativos Móveis: Guia de Operação Contínua
- Otimização de Performance Mobile: Guia Completo
- TypeScript para Aplicativos: Guia de Desenvolvimento Tipado