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