Application Security (AppSec) e OWASP Top 10
O que é Application Security?
Application Security (AppSec) engloba todas as medidas para tornar aplicações mais seguras contra ameaças. Vai desde design seguro, desenvolvimento com secure coding practices, testes de segurança até deployment e manutenção contínua.
OWASP Top 10 (2021)
A01 - Broken Access Control
Risco: Usuários acessam recursos não autorizados
Exemplos: IDOR, privilege escalation, forced browsing
Mitigação: Implementar access control em todas as camadas, deny by default
A02 - Cryptographic Failures
Risco: Exposição de dados sensíveis por criptografia inadequada
Exemplos: Senhas em plain text, weak algorithms, HTTP sem TLS
Mitigação: TLS everywhere, bcrypt/Argon2 para senhas, AES-256 para dados
A03 - Injection
Risco: SQL, NoSQL, OS command injection, LDAP, XPath
Exemplos: ' OR '1'='1, shell command injection
Mitigação: Prepared statements, ORMs, input validation, WAF
A04 - Insecure Design
Risco: Falhas arquiteturais e de modelagem de ameaças
Exemplos: Ausência de rate limiting, sem threat modeling
Mitigação: Secure by design, threat modeling, secure design patterns
A05 - Security Misconfiguration
Risco: Configurações inseguras ou padrões
Exemplos: Credenciais default, stack traces expostas, CORS misconfiguration
Mitigação: Hardening guides, automated configuration scanning
A06 - Vulnerable and Outdated Components
Risco: Uso de bibliotecas com vulnerabilidades conhecidas
Exemplos: Log4Shell (CVE-2021-44228), Struts2 RCE
Mitigação: Dependabot, Snyk, OWASP Dependency-Check, SCA tools
A07 - Identification and Authentication Failures
Risco: Falhas na autenticação e sessão
Exemplos: Credential stuffing, session fixation, weak passwords
Mitigação: MFA, rate limiting, secure session management, breach detection
A08 - Software and Data Integrity Failures
Risco: CI/CD sem verificação de integridade, desserialização insegura
Exemplos: Unsigned updates, insecure deserialization (Java, .NET)
Mitigação: Code signing, integrity checks, secure serialization libraries
A09 - Security Logging and Monitoring Failures
Risco: Falta de visibilidade sobre ataques e breaches
Exemplos: Logs insuficientes, sem alertas, logs não protegidos
Mitigação: Centralized logging, SIEM integration, real-time alerting
A10 - Server-Side Request Forgery (SSRF)
Risco: Servidor faz requisições maliciosas a recursos internos
Exemplos: Cloud metadata API access, internal port scanning
Mitigação: Whitelist de URLs, network segmentation, disable unnecessary protocols
Ferramentas de AppSec
SAST (Static Application Security Testing)
- SonarQube: Code quality e security vulnerabilities
- Checkmarx: Enterprise SAST platform
- Semgrep: Lightweight static analysis, customizable rules
- Bandit (Python), Brakeman (Ruby): Language-specific scanners
DAST (Dynamic Application Security Testing)
- OWASP ZAP: Open-source web app scanner
- Burp Suite: Manual + automated testing
- Acunetix, Netsparker: Enterprise DAST solutions
- Black-box testing em runtime environment
IAST & RASP
- IAST: Instrumentação do código para análise híbrida
- RASP: Runtime Application Self-Protection - detecção em produção
- Contrast Security, Sqreen: IAST/RASP platforms
SCA (Software Composition Analysis)
- Snyk, WhiteSource, Mend: Dependency vulnerability scanning
- OWASP Dependency-Check: Open-source SCA
- Detecta vulnerabilidades em third-party libraries
Secure Coding Practices
- [OK] Input validation: whitelist sobre blacklist
- [OK] Output encoding: context-aware (HTML, JS, URL, CSS)
- [OK] Parametrized queries: sempre usar prepared statements
- [OK] Least privilege: aplicações rodando com mínimo necessário
- [OK] Defense in depth: múltiplas camadas de proteção
- [OK] Fail securely: erros não devem revelar informações sensíveis
- [OK] Security by design: considerar segurança desde a arquitetura
- [OK] Keep it simple: complexidade aumenta riscos
Web Application Firewall (WAF)
- ModSecurity: Open-source WAF engine
- Cloudflare WAF: Cloud-based protection
- AWS WAF, Azure WAF: Cloud-native options
- Imperva, F5: Enterprise WAF appliances
- Proteção contra OWASP Top 10, bot management, rate limiting
- Virtual patching para vulnerabilities críticas
Integração no SDLC
Shift-Left Security: Integrar segurança o quanto antes no ciclo
- Design Phase: Threat modeling, secure architecture review
- Development: IDE plugins (Snyk Code, SonarLint), secure coding training
- CI/CD: SAST, SCA, container scanning, pre-commit hooks
- Testing: DAST, penetration testing, security regression tests
- Deployment: IAST, infrastructure scanning, compliance checks
- Production: RASP, WAF, monitoring, incident response
