Segurança protege três propriedades — a tríade CIA:
| Propriedade | Pergunta | Exemplo de violação no projeto |
|---|---|---|
| Confidencialidade | Só quem pode vê? | Leads (PII) legíveis por anônimo (Ex. 26) |
| Integridade | Os dados estão corretos/íntegros? | Mass assignment altera campos que não deveria (Ex. 13) |
| Disponibilidade | O serviço está no ar? | DoS / scraping sem limite derruba ou sobrecarrega (Ex. 29, 52) |
E dois conceitos que amarram tudo:
- Superfície de ataque: a soma de todos os pontos onde um atacante pode interagir — cada endpoint, cada parâmetro, cada dependência, cada subdomínio. Menos superfície = menos risco. Por isso se fecha o que não usa. O
INVENTARIO-SUPERFICIE.mddo projeto é literalmente o mapa disso. - Defesa em profundidade: nunca dependa de uma proteção. Coloque camadas — se uma falha, a próxima segura. O melhor exemplo do projeto é o path traversal do Ex. 5, barrado por 3 camadas independentes (roteador → validação da rota → WAF). Fura uma, ainda tem duas.