O que é a Tríade CIA
A Tríade CIA é o modelo fundamental da segurança da informação. Ela define três propriedades que todo sistema deveria garantir:
- Confidentiality (Confidencialidade) — só pessoas autorizadas podem ver a informação
- Integrity (Integridade) — a informação não pode ser alterada por pessoas não autorizadas e deve estar sempre correta
- Availability (Disponibilidade) — você consegue acessar a informação quando precisa
Toda vulnerabilidade, todo ataque e toda defesa podem ser classificados em função de qual desses pilares está sendo violado ou protegido. Se você entende a Tríade CIA, você tem um framework mental para avaliar qualquer decisão de segurança.
Confidencialidade
Confidencialidade significa que somente pessoas autorizadas podem acessar a informação. Se alguém sem permissão consegue ler dados que não deveria, a confidencialidade foi violada.
Exemplos de violação
Web Cache Deception — um ataque que explora discrepâncias entre como o servidor e o cache intermediário interpretam URLs. O fluxo:
- O atacante identifica um endpoint com informações sensíveis (ex:
/account/profile) - Ele encontra uma diferença no parse de URL entre o cache e o servidor de origem
- Cria uma URL maliciosa como
/account/profile/logo.jpge envia para a vítima - O servidor interpreta como
/account/profilee retorna os dados sensíveis. O cache vê a extensão.jpge armazena a resposta como conteúdo estático (cache hit) - O atacante acessa a mesma URL e recebe os dados da vítima diretamente do cache
A diferença entre um cache hit (resposta servida pelo cache) e um cache miss (resposta buscada no servidor de origem) é central aqui. O atacante força um cache miss na primeira requisição da vítima, que depois vira um cache hit para ele.
Data leaks e reconhecimento — antes de um ataque, existe a fase de reconhecimento (recon). Ferramentas como WhoisDomainTools e Netcraft permitem coletar IP, informações de domínio, tecnologias usadas, registros DNS e até arquivos/subdiretórios não listados. Essas informações, se expostas sem necessidade, facilitam ataques direcionados.
Cracking de WPA/WPA2 — redes Wi-Fi protegidas por WPA/WPA2 podem ter a confidencialidade comprometida. O recurso WPS, por exemplo, usa um PIN de apenas 8 dígitos que pode ser forçado por brute force. Outro vetor é a captura do handshake de 4 pacotes que ocorre quando um cliente se conecta, permitindo ataques offline de dicionário contra a senha.
Como proteger
- Criptografia — dados em trânsito (TLS/HTTPS) e em repouso (AES-256) garantem que, mesmo interceptados, os dados sejam inúteis sem a chave
- Controle de acesso — definir quem pode ler, escrever ou executar cada recurso (RBAC, ACLs)
- HTTPS em todo lugar — nunca servir páginas autenticadas sobre HTTP plano
- Headers de cache corretos — usar
Cache-Control: no-storepara respostas dinâmicas com dados sensíveis - Minimizar superfície de ataque — não expor informações desnecessárias (versão do servidor, stack traces, diretórios)
Integridade
Integridade garante que a informação não pode ser alterada ou corrompida por pessoas não autorizadas. Os dados precisam estar sempre corretos e confiáveis.
Exemplos de violação
SQL Injection — quando um atacante consegue injetar comandos SQL através de inputs não validados, ele pode alterar, deletar ou corromper dados no banco. Um simples '; DROP TABLE users; -- em um campo de login pode destruir dados críticos se a aplicação concatenar strings para montar queries.
Man-in-the-Middle (MITM) — um atacante posicionado entre o cliente e o servidor pode interceptar e modificar dados em trânsito. Sem TLS, um atacante em uma rede Wi-Fi pública pode alterar respostas HTTP, injetar scripts maliciosos ou modificar transações financeiras antes que cheguem ao destino.
Como proteger
- Checksums e hashes — algoritmos como SHA-256 geram uma “impressão digital” dos dados para detectar qualquer alteração
- Assinaturas digitais — combinam hashing com criptografia assimétrica para garantir autoria e integridade
- Validação de input — nunca confiar em dados vindos do cliente; validar tipo, formato e limites no backend
- Prepared statements — usar queries parametrizadas em vez de concatenação de strings para prevenir SQL injection
- TLS/HTTPS — além de criptografar, o TLS garante que dados não sejam alterados em trânsito (integridade via MAC)
Disponibilidade
Disponibilidade significa que você consegue acessar a informação e os sistemas quando precisa. De nada adianta ter dados seguros e íntegros se o sistema está fora do ar.
Exemplos de violação
DDoS (Distributed Denial of Service) — um ataque que inunda o servidor com um volume massivo de requisições de múltiplas origens, esgotando recursos (CPU, memória, banda) e tornando o serviço inacessível para usuários legítimos.
Falhas de infraestrutura — um único ponto de falha (single point of failure) na arquitetura pode derrubar todo o sistema. Um banco de dados sem réplica, um servidor sem failover ou um provedor de cloud sem redundância multi-região são receitas para indisponibilidade.
Ransomware — malware que criptografa os dados do sistema e exige pagamento para liberar o acesso. Mesmo que os dados não sejam roubados (confidencialidade mantida) e não sejam alterados (integridade mantida), o sistema fica completamente indisponível.
Como proteger
- Redundância — múltiplas instâncias do serviço em regiões diferentes, bancos de dados com réplicas
- Backups — cópias regulares com testes periódicos de restauração (um backup que nunca foi testado não é um backup)
- Rate limiting — limitar o número de requisições por IP/usuário para mitigar abuso e ataques DDoS
- CDN e load balancing — distribuir carga e conteúdo geograficamente
- Circuit breakers — isolar falhas em serviços dependentes para evitar cascata (veja o post sobre Circuit Breaker)
- Monitoramento e alertas — detectar degradação antes que vire indisponibilidade total
Tabela resumo
| Pilar | Pergunta-chave | Ameaças | Defesas |
|---|---|---|---|
| Confidencialidade | Quem pode ver? | Web Cache Deception, data leaks, sniffing de rede, cracking de Wi-Fi | Criptografia, controle de acesso, HTTPS, headers de cache |
| Integridade | Os dados estão corretos? | SQL injection, MITM, corrupção de dados | Checksums, assinaturas digitais, validação de input, prepared statements |
| Disponibilidade | Consigo acessar? | DDoS, falhas de infra, ransomware | Redundância, backups, rate limiting, circuit breakers, monitoramento |
Conclusão
A Tríade CIA não é um conceito teórico que só interessa a equipes de segurança. Cada decisão técnica que um desenvolvedor toma — desde como armazenar uma senha até como configurar headers HTTP — impacta diretamente um ou mais desses pilares.
Os três pilares são complementares e interdependentes. Criptografia excessiva sem redundância pode comprometer a disponibilidade. Alta disponibilidade sem controle de acesso compromete a confidencialidade. O objetivo é encontrar o equilíbrio certo para o contexto da sua aplicação.