O que e a Triade CIA
A Triade CIA e o modelo fundamental da seguranca da informacao. Ela define tres propriedades que todo sistema deveria garantir:
- Confidentiality (Confidencialidade) — so pessoas autorizadas podem ver a informacao
- Integrity (Integridade) — a informacao nao pode ser alterada por pessoas nao autorizadas e deve estar sempre correta
- Availability (Disponibilidade) — voce consegue acessar a informacao quando precisa
Toda vulnerabilidade, todo ataque e toda defesa podem ser classificados em funcao de qual desses pilares esta sendo violado ou protegido. Se voce entende a Triade CIA, voce tem um framework mental para avaliar qualquer decisao de seguranca.
Confidencialidade
Confidencialidade significa que somente pessoas autorizadas podem acessar a informacao. Se alguem sem permissao consegue ler dados que nao deveria, a confidencialidade foi violada.
Exemplos de violacao
Web Cache Deception — um ataque que explora discrepancias entre como o servidor e o cache intermediario interpretam URLs. O fluxo:
- O atacante identifica um endpoint com informacoes sensiveis (ex:
/account/profile) - Ele encontra uma diferenca no parse de URL entre o cache e o servidor de origem
- Cria uma URL maliciosa como
/account/profile/logo.jpge envia para a vitima - O servidor interpreta como
/account/profilee retorna os dados sensiveis. O cache ve a extensao.jpge armazena a resposta como conteudo estatico (cache hit) - O atacante acessa a mesma URL e recebe os dados da vitima diretamente do cache
A diferenca entre um cache hit (resposta servida pelo cache) e um cache miss (resposta buscada no servidor de origem) e central aqui. O atacante forca um cache miss na primeira requisicao da vitima, 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, informacoes de dominio, tecnologias usadas, registros DNS e ate arquivos/subdiretorios nao listados. Essas informacoes, 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 digitos que pode ser forcado por brute force. Outro vetor e a captura do handshake de 4 pacotes que ocorre quando um cliente se conecta, permitindo ataques offline de dicionario contra a senha.
Como proteger
- Criptografia — dados em transito (TLS/HTTPS) e em repouso (AES-256) garantem que, mesmo interceptados, os dados sejam inuteis sem a chave
- Controle de acesso — definir quem pode ler, escrever ou executar cada recurso (RBAC, ACLs)
- HTTPS em todo lugar — nunca servir paginas autenticadas sobre HTTP plano
- Headers de cache corretos — usar
Cache-Control: no-storepara respostas dinamicas com dados sensiveis - Minimizar superficie de ataque — nao expor informacoes desnecessarias (versao do servidor, stack traces, diretorios)
Integridade
Integridade garante que a informacao nao pode ser alterada ou corrompida por pessoas nao autorizadas. Os dados precisam estar sempre corretos e confiaveis.
Exemplos de violacao
SQL Injection — quando um atacante consegue injetar comandos SQL atraves de inputs nao validados, ele pode alterar, deletar ou corromper dados no banco. Um simples '; DROP TABLE users; -- em um campo de login pode destruir dados criticos se a aplicacao 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 transito. Sem TLS, um atacante em uma rede Wi-Fi publica pode alterar respostas HTTP, injetar scripts maliciosos ou modificar transacoes financeiras antes que cheguem ao destino.
Como proteger
- Checksums e hashes — algoritmos como SHA-256 geram uma “impressao digital” dos dados para detectar qualquer alteracao
- Assinaturas digitais — combinam hashing com criptografia assimetrica para garantir autoria e integridade
- Validacao de input — nunca confiar em dados vindos do cliente; validar tipo, formato e limites no backend
- Prepared statements — usar queries parametrizadas em vez de concatenacao de strings para prevenir SQL injection
- TLS/HTTPS — alem de criptografar, o TLS garante que dados nao sejam alterados em transito (integridade via MAC)
Disponibilidade
Disponibilidade significa que voce consegue acessar a informacao e os sistemas quando precisa. De nada adianta ter dados seguros e integros se o sistema esta fora do ar.
Exemplos de violacao
DDoS (Distributed Denial of Service) — um ataque que inunda o servidor com um volume massivo de requisicoes de multiplas origens, esgotando recursos (CPU, memoria, banda) e tornando o servico inacessivel para usuarios legitimos.
Falhas de infraestrutura — um unico ponto de falha (single point of failure) na arquitetura pode derrubar todo o sistema. Um banco de dados sem replica, um servidor sem failover ou um provedor de cloud sem redundancia multi-regiao sao receitas para indisponibilidade.
Ransomware — malware que criptografa os dados do sistema e exige pagamento para liberar o acesso. Mesmo que os dados nao sejam roubados (confidencialidade mantida) e nao sejam alterados (integridade mantida), o sistema fica completamente indisponivel.
Como proteger
- Redundancia — multiplas instancias do servico em regioes diferentes, bancos de dados com replicas
- Backups — copias regulares com testes periodicos de restauracao (um backup que nunca foi testado nao e um backup)
- Rate limiting — limitar o numero de requisicoes por IP/usuario para mitigar abuso e ataques DDoS
- CDN e load balancing — distribuir carga e conteudo geograficamente
- Circuit breakers — isolar falhas em servicos dependentes para evitar cascata (veja o post sobre Circuit Breaker)
- Monitoramento e alertas — detectar degradacao antes que vire indisponibilidade total
Tabela resumo
| Pilar | Pergunta-chave | Ameacas | 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 estao corretos? | SQL injection, MITM, corrupcao de dados | Checksums, assinaturas digitais, validacao de input, prepared statements |
| Disponibilidade | Consigo acessar? | DDoS, falhas de infra, ransomware | Redundancia, backups, rate limiting, circuit breakers, monitoramento |
Conclusao
A Triade CIA nao e um conceito teorico que so interessa a equipes de seguranca. Cada decisao tecnica que um desenvolvedor toma — desde como armazenar uma senha ate como configurar headers HTTP — impacta diretamente um ou mais desses pilares.
Os tres pilares sao complementares e interdependentes. Criptografia excessiva sem redundancia pode comprometer a disponibilidade. Alta disponibilidade sem controle de acesso compromete a confidencialidade. O objetivo e encontrar o equilibrio certo para o contexto da sua aplicacao.