4 min leitura • Guide 588 of 877
Melhores Práticas de Segurança para Times de Desenvolvimento
Segurança não é uma feature que você adiciona no final—é uma mentalidade que permeia cada estágio do desenvolvimento. GitScrum ajuda times a rastrear tarefas de segurança, gerenciar remediação de vulnerabilidades e garantir que revisões de segurança aconteçam antes do código chegar em produção. A chave é fazer segurança parte da definição de pronto, não uma auditoria separada que acontece após o lançamento.
Pontos de Integração de Segurança
| Fase | Atividade de Segurança | Automação |
|---|---|---|
| Design | Threat modeling | Parcial |
| Código | Codificação segura, review | Manual |
| Build | SAST, scan de dependências | Total |
| Teste | DAST, penetration testing | Parcial |
| Deploy | Validação de config | Total |
| Runtime | Monitoramento, WAF | Total |
Ciclo de Vida de Desenvolvimento Seguro
SEGURANÇA NO SDLC
FASE 1: DESIGN
┌─────────────────────────────────────────────────┐
│ Threat Modeling: │
│ ├── Identificar assets (dados, funções) │
│ ├── Identificar ameaças (framework STRIDE) │
│ ├── Identificar mitigações │
│ └── Documentar requisitos de segurança │
│ │
│ Requisitos de Segurança: │
│ ├── Necessidades de autenticação │
│ ├── Modelo de autorização │
│ ├── Requisitos de proteção de dados │
│ └── Requisitos de compliance │
│ │
│ Revisão de Arquitetura: │
│ ├── Padrões de arquitetura de segurança │
│ ├── Limites de confiança │
│ └── Defesa em profundidade │
└─────────────────────────────────────────────────┘
FASE 2: DESENVOLVIMENTO
┌─────────────────────────────────────────────────┐
│ Codificação Segura: │
│ ├── Seguir diretrizes de codificação segura │
│ ├── Validação de input │
│ ├── Encoding de output │
│ ├── Queries parametrizadas │
│ └── Tratamento de erro apropriado │
│ │
│ Code Review: │
│ ├── Checklist de review focado em segurança │
│ ├── Checks de autenticação/autorização │
│ ├── Revisão de handling de dados │
│ └── Sem secrets hardcoded │
└─────────────────────────────────────────────────┘
FASE 3: TESTES
┌─────────────────────────────────────────────────┐
│ Testes Automatizados: │
│ ├── SAST (Análise Estática) │
│ ├── DAST (Análise Dinâmica) │
│ ├── Scan de dependências │
│ └── Scan de containers │
│ │
│ Testes Manuais: │
│ ├── Penetration testing │
│ ├── Revisão de segurança │
│ └── Teste de casos de abuso │
└─────────────────────────────────────────────────┘
Vulnerabilidades Comuns
PREVENÇÃO OWASP TOP 10
INJEÇÃO:
┌─────────────────────────────────────────────────┐
│ Risco: SQL, NoSQL, OS, LDAP injection │
│ │
│ Prevenção: │
│ ├── Use queries parametrizadas (prepared stmt) │
│ ├── Use frameworks ORM │
│ ├── Valide e sanitize input │
│ └── Escape caracteres especiais │
│ │
│ ✗ Ruim: │
│ query = "SELECT * FROM users WHERE id=" + id │
│ │
│ ✓ Bom: │
│ query = "SELECT * FROM users WHERE id = ?" │
│ stmt.setInt(1, id) │
└─────────────────────────────────────────────────┘
AUTENTICAÇÃO QUEBRADA:
┌─────────────────────────────────────────────────┐
│ Risco: Sequestro de sessão, credential stuffing│
│ │
│ Prevenção: │
│ ├── Autenticação multi-fator │
│ ├── Políticas fortes de senha │
│ ├── Bloqueio após tentativas falhas │
│ ├── Gestão segura de sessão │
│ └── Rotacionar session IDs após login │
└─────────────────────────────────────────────────┘
Melhores Práticas
Para Segurança de Desenvolvimento
- Shift-left — Segurança desde o design
- Automatize — Scans em CI/CD
- Treine — Desenvolvedores em segurança
- Revise — Todo PR com foco em segurança
- Monitore — Runtime contínuo
Anti-Padrões
ERROS DE SEGURANÇA:
✗ Segurança só no final
✗ Sem scanning automatizado
✗ Secrets no código
✗ Sem validação de input
✗ Queries sem parametrização
✗ Ignorar vulnerabilidades conhecidas
✗ Sem treinamento de segurança
✗ Log de dados sensíveis