Sumário
Sumário
1. Introdução
- A importância da segurança para desenvolvedores
- Conceitos fundamentais (Confidencialidade, Integridade e Disponibilidade)
2. Shift Left Security e a Esteira DevOps
- Segurança no início do ciclo de desenvolvimento
- Como integrar segurança na cultura DevOps
2.1 Modelagem de Ameaças
- O que é modelagem de ameaças e por que ela é importante
- Como criar diagramas de ameaças
- Ferramentas e metodologias para modelagem de ameaças (STRIDE, Threat Modeling Express)
2.2 Supply Chain
- Segurança na cadeia de suprimentos de software
- Dependências vulneráveis e ataques à cadeia de software
- Ferramentas para análise de segurança de dependências (SCA)
- Secret Scanning
2.3 SAST (Static Application Security Testing)
- Como funciona a análise estática de código
- Ferramentas populares de SAST (Semgrep, CodeQL)
- Reduzindo falsos positivos e priorizando correções
2.4 DAST/Pentest
- Diferença entre DAST e testes de intrusão
- Ferramentas para testes dinâmicos (Nuclei, ZAP)
- Como validar vulnerabilidades encontradas
3. WebApp Security
- Princípios de segurança para aplicações web
- A importância do desenvolvimento seguro na web
3.1 Protocolos Seguros
- HTTPS, TLS e segurança em comunicação
- Configurações seguras de cabeçalhos HTTP
- CORS
- Problemas comuns em configurações de segurança
3.2 Gerenciamento de Secrets
- Problemas de vazamento de credenciais
- Estratégias seguras para armazenamento de secrets
- Ferramentas de gerenciamento de secrets (Vault, Doppler, AWS Secrets Manager)
3.3 Autenticação
- Autenticação segura: boas práticas
- Autenticação multifator (MFA) e sua importância
- Protegendo sessões e tokens (JWT, OIDC)
3.4 Autorização
- Diferença entre autenticação e autorização
- RBAC (Role-Based Access Control) e ABAC (Attribute-Based Access Control)
- Protegendo APIs e endpoints contra acessos indevidos
3.5 Vulnerabilidades Comuns
- Visão geral do OWASP Top 10
- Detalhamento de vulnerabilidades e explorações práticas:
- Injeções: SQL Injection (SQLi), NoSQL Injection, Command Injection
- Execução Remota de Código (RCE) e ataques de Prototype Pollution
- Cross-Site Scripting (XSS) e suas variações (Reflected, Stored, DOM-Based)
- Cross-Site Request Forgery (CSRF) e formas de mitigação
- Server-Side Request Forgery (SSRF) e ataques relacionados
- XML External Entity (XXE)
- Configurações incorretas de CORS e como evitar exposições indevidas
- Path Traversal & File Upload: Ataques relacionados a manipulação de arquivos
- WebSockets Vulnerabilities: Problemas de segurança em comunicação bidirecional
3.6 Encadeando Problemas
- Como pequenas falhas podem ser combinadas para grandes ataques
- Exemplos reais de exploração de vulnerabilidades em cadeia
- Exercícios práticos de exploração e mitigação de vulnerabilidades encadeadas
4. Next Steps
- Como manter a segurança como um processo contínuo
- Cultura de segurança e aprendizado contínuo
4.1 Como Cultivar um Ambiente Seguro
- Atividades práticas para incentivar segurança entre devs
- Dojo Shield: Criando um dojo de segurança na empresa
- Talks entre o time sobre segurança
- CTFs internos e rankings para engajamento
- Participação na comunidade de segurança
- Participação em eventos de segurança e tecnologia
- Grupos e comunidades para aprendizado contínuo