13 — Incidentes Históricos
Eventos relevantes onde criptografia foi quebrada, sabotada, mal usada, ou onde sistemas inteiros caíram. Cada incidente: contexto, causa raiz, impacto, lições.
1. Telegrama Zimmermann (1917)
Contexto: Arthur Zimmermann (Foreign Secretary alemão) propõe aliança com México contra EUA na WWI.
Crypto: Codes nomenclator 13040 e 0075. Britânicos (Room 40) decifram via captura de codebooks parciais + análise.
Impacto: Publicação faz EUA entrarem na WWI em abr/1917. Inflection point bélico.
Lição: Códigos diplomáticos sem rotação são vulneráveis a captura+criptanálise; impacto político trivial > impacto técnico.
2. Enigma (1932–1945)
Já coberto em 03-classica.md. Resumo histórico:
- Poloneses (Rejewski) lêem desde 1932.
- Transfer pra Bletchley em jul/1939.
- WWII inteira: Bletchley lê ~10% do tráfego em qualquer dado momento; muito mais em períodos de melhor crib supply.
- Encurtou guerra estimadamente 2 anos.
Lição: máquinas eletromecânicas com weak indicator systems quebráveis; operacional security do operador importa tanto quanto o algoritmo.
3. Venona Project (1942–1980)
Contexto: KGB e GRU usam OTP para tráfego diplomático/espionagem. Volume excede capacidade soviética de gerar pads aleatórios.
Erro: ~1942–1945, pads são duplicados entre mensagens. Cell B em Moscow envia mesmo pad pra New York e Washington.
Quebra: Meredith Gardner (US SIS) descobre repetição (1946). Two-time-pad analysis decifra ~3000 mensagens.
Revelações:
- Identidade de Alger Hiss, Rosenbergs, Klaus Fuchs.
- Operação Soviética Manhattan Project espionagem.
- ~349 cidadãos americanos identificados como agentes.
Status: Programa classificado até 1995.
Lição: OTP reutilizada não é OTP. Sem disciplina logística, perfect secrecy vira XOR pad-mais-curto-que-mensagem, criptanalável.
4. Crypto AG / Operation Rubicon (1970–2018)
Contexto: Crypto AG (CAG), empresa suíça fundada por Boris Hagelin (~1952). Vende máquinas criptográficas a governos do mundo.
Operação encoberta:
- Em 1970, CIA + BND (Alemanha Ocidental) compram CAG secretamente.
- Operações: Thesaurus (cooperação NSA original), depois Minerva (CIA), e Operação Rubicon (BND/CIA).
- Máquinas vendidas tinham algoritmos enfraquecidos deliberadamente ou backdoors.
Adoção:
- 130+ países usaram CAG, incluindo Argentina, Brasil, Vaticano, Líbia, Irã, Iraque, Paquistão, Coréia do Sul.
Inteligência extraída:
- ~40% da inteligência de signals americana em alguns períodos.
- Negociações de Camp David (EgitoIsraelEUA 1978) com Egito usando CAG.
- Crise Falklands/Malvinas (1982) — Argentinians using CAG, britânicos lendo.
- Guerra Irã-Iraque (1980–1988).
- BND retirou-se em 1993; CIA continuou até venda da CAG em 2018.
Revelação: Washington Post + ZDF + SRF (fev/2020) publicam joint investigation com documentos.
Impacto: Reputação suíça (neutralidade) abalada. Diplomatic fallout. Comprovou suspeitas de décadas (Snowden, Wikileaks já indicavam).
Lição: Não confie em fornecedor de criptografia caixa-preta. Princípio de Kerckhoffs aplica: algoritmo deve ser público e validável.
5. CRYPTO Wars (1990s)
Contexto: EUA classifica criptografia forte como munição (US Munitions List); export controls.
Eventos:
- PGP 1991 (Zimmermann) → investigação criminal por export sem licença (1993–1996, encerrada sem processo).
- Clipper chip (1993) — proposta governo Clinton: chip com key escrow obrigatório (LEAF — Law Enforcement Access Field). Quebrado por Matt Blaze em 1994 (forge LEAF). Abandonado 1996.
- Export grade crypto: 40-bit symmetric, 512-bit RSA permitidos. Forçou design weakened em SSL.
- Bernstein v. United States (1995–2002): DJB processa EUA argumentando código é speech. Vence — 9º Circuito declara crypto code como First Amendment.
- 2000: relaxamento massivo das export controls.
Legacy técnico:
- FREAK (2015), Logjam (2015), DROWN (2016): exploits contra "export grade" deixado em servidores 20 anos depois.
- "Export ciphers" ainda em CDNs até ~2015.
Lição: política tem half-life criptográfico. Decisões dos 90s ainda mordem em 2010s.
6. DualECDRBG (2007–2014)
Contexto: NIST SP 800-90A (2006) standardiza vários RNGs, incluindo DualECDRBG (Elliptic Curve Dual). Recomendado pela NSA.
Suspeita matemática:
- Shumow + Ferguson (CRYPTO 2007 rump): mostram que constantes da curva podem conter trapdoor. Quem conhece \(d\) tal que \(P = dQ\) pode prever output após poucos bytes.
- NIST nunca explica como constantes foram geradas.
Confirmação:
- Snowden documents (set/2013) mostram NSA pagou US$10 milhões à RSA Security para fazer Dual_EC default em BSAFE.
- Programa BULLRUN confirmado.
Affected products:
- RSA BSAFE (default RNG em algumas versões).
- Juniper ScreenOS NetScreen firewalls (2008–2013) — depois Juniper anuncia secondary backdoor instalada por third party em 2012 (CVE-2015-7755) que alterou constantes; especulação: state actor diferente roubou backdoor da NSA via Dual_EC.
- McAfee, Fortinet, Microsoft (parcial), BlackBerry (parcial).
Remoção: NIST retira recomendação em 2014. RSA "deprecates" em 2013. Final removal NIST SP 800-90A Rev 1 (2015).
Impacto:
- Confiança em NIST processo abalada para décadas.
- Comunidade demanda processo aberto (AES, SHA-3, PQC competitions).
- Documentação da NSA é cuidadosamente lida desde então.
Lição: Magic numbers em padrões sem explicação são red flags. Mesmo padrões "neutros" podem conter backdoors. Open competition é antídoto.
7. Debian OpenSSL RNG bug (2008, CVE-2008-0166)
Contexto: Em 2006, Debian developer (Kurt Roeckx) comentou linha em crypto/rand/md_rand.c que Valgrind reportava como "uninitialized memory read".
Bug: A linha contribuía com conteúdo do uninitialized buffer para o entropy pool — uso intencional via MD_Update(&m, buf, j) antes de buffer ser populado. Foi removida.
Resultado: openssl_rand() seedado apenas com PID (1 a 32768). Apenas 32k chaves únicas geradas em todo Debian/Ubuntu de 2006-09-17 a 2008-05-13.
Detecção: Luciano Bello descobriu via Valgrind suppress investigation; bug afetava SSH host keys, SSL certs, OpenVPN keys, DNSSEC keys.
Impacto:
- 30k+ public servers expostos.
- Massive certificate revocation.
- Long-tail: chaves vulneráveis encontradas em produção anos depois.
Lição: Revisões de patches em crypto exigem expertise. Distros não devem alterar crypto upstream sem análise. Valgrind warnings não são uniformly safe to suppress.
8. Heartbleed (CVE-2014-0160)
Data descoberta: Codenomicon (Finlândia) + Neel Mehta (Google) — simultaneamente, abril 2014.
Bug: OpenSSL implementation do TLS Heartbeat extension (RFC 6520). Cliente envia heartbeat com declared length \(N\) + payload curto. Server retorna \(N\) bytes de memory começando no buffer do payload — leaking \(N\) bytes de heap residual.
// código vulnerável
n2s(p, payload); // attacker-controlled length
memcpy(bp, pl, payload); // copies payload bytes, not actual data sizeVazamento:
- Private keys RSA (recuperáveis via key schedule patterns em heap).
- Session cookies, passwords, plaintext recente.
- ~17% de servers públicos afetados.
Mitigação:
- Patch OpenSSL 1.0.1g em 7/abr.
- Mass rotation: todo cert TLS do mundo (com chave RSA) revogado e re-emitido.
- Browsers updated CRL/OCSP rapidamente.
Impacto financeiro: estimado US$500M em rotação + downtime + revogação.
Detalhes adicionais: vulnerabilidade existia desde dez/2011 (2.5 anos). Estima-se que exploitation por state actors antes de descoberta pública. NSA acusada de saber (negado oficialmente).
Lição: Bibliotecas C heap-based exigem cuidado obsessivo com bounds. Pós-Heartbleed: OpenBSD fork LibreSSL, Google fork BoringSSL, ambos limpando código. OSS-Fuzz ramped up. OpenSSL 3.0 redesign.
9. POODLE (out/2014)
Detalhes técnicos em 11-ataques.md. Contexto histórico:
Bodo Möller, Thai Duong, Krzysztof Kotowicz (Google). Browsers ainda fall-back para SSL 3.0 quando TLS handshake falha → atacante MITM força downgrade → CBC padding oracle revela cookies.
Resposta: Browsers desabilitam SSL 3.0 em Q42014–Q12015. TLSFALLBACKSCSV (RFC 7507) adicionado.
10. Freak / Logjam (2015)
FREAK (mar2015): state machine bug em OpenSSLApple/Microsoft TLS allowed servers to accept "export-grade" 512-bit RSA mesmo sem cipher negotiation. 512-bit RSA quebrável em ~7h via NFS.
Logjam (mai/2015): "imperfect forward secrecy" — pesquisadores demonstram que pré-computar NFS contra primos comuns DH-1024 está dentro da capacidade de NSA. Reading historic VPN traffic possible.
Ambos: legacy do export ciphers dos 90s ainda em código.
11. Bullrun / Edgehill / Snowden disclosures (jun/2013–)
Edward Snowden, NSA contractor, leak ~1.7M documents para Glenn Greenwald, Laura Poitras, Barton Gellman.
Programs disclosed:
| Program | Agência | O que |
|---|---|---|
| PRISM | NSA | Direct access to Big Tech (Google, Apple, Facebook, etc.) data |
| MUSCULAR | NSA + GCHQ | Tap into Google/Yahoo internal data center links |
| BULLRUN | NSA | Crypto sabotage program ($250M/year budget) |
| EDGEHILL | GCHQ | UK equivalent of BULLRUN |
| XKEYSCORE | NSA | Internet surveillance database |
| MYSTIC / SOMALGET | NSA | Bulk recording of phone calls |
| TAO catalog | NSA | Hardware implants catalog (COTTONMOUTH, BULLDOZER, etc.) |
| Quantum Insert | NSA | Man-on-the-side packet injection |
BULLRUN specifically included:
- Influencing standards bodies (NIST, ISO, IETF) to weaken algorithms.
- Industry partnerships with secret payments (RSA Security $10M).
- Custom backdoors in commercial crypto products.
- Cracking of specific protocols (TLS, IPsec, SSH variants).
Impacto na criptografia:
- Massive shift to E2E messaging (Signal adoption explodiu).
- TLS 1.3 designed with paranoia (remove RSA key transport, etc.).
- PQC migration urgency.
- Browsers push HTTPS everywhere (Let's Encrypt 2015).
- IETF declares pervasive monitoring as attack (RFC 7258, 2014).
Snowden refugees em Rússia desde 2013.
Lição: Threat model deve incluir state actor by default. Antes de 2013, "NSA não vai te atacar" era assunção comum. Pós-Snowden, qualquer sistema de longo prazo precisa considerar nation-state capability.
12. DigiNotar (set/2011)
Contexto: DigiNotar, CA holandesa, emissora confiável para MozillaMicrosoftApple root stores.
Compromisso:
- Atacante Iranian (provavelmente state actor) compromete infra interna.
- Emite ~500 certs fraudulentos:
*.google.com,*.microsoft.com,*.skype.com,*.cia.gov,*.mozilla.org, etc. - Iranian users redirecionados via DNS spoof + MITM com cert
*.google.compara Gmail interception.
Detecção: Chrome no Irã (com pinning hardcoded para Google domains) avisa users. Reportes públicos triggers investigation.
Resposta:
- Browsers remove DigiNotar do trust store globally (set/2011).
- DigiNotar declara bankrupt em poucas semanas.
- Holanda government emergency reissue (DigiNotar tinha contracts governamentais).
Lição: CA single point of failure. Catalisa adoption de Certificate Transparency (RFC 6962, 2013), HPKP (later deprecated), DANE (RFC 6698 — TLSA records).
13. Stuxnet (descoberto 2010)
Contexto: USB-borne worm projetado para sabotage de centrífugas Iranianas em Natanz nuclear facility. Estimado: NSA + Unit 8200 (Israel).
Crypto:
- 4 zero-day exploits.
- Falsificação de Microsoft Windows Update signature via MD5 chosen-prefix collision (Marc Stevens technique, 2008–2012). Permitia infectar via update mechanism.
- Comunicação C2 cifrada.
Impacto:
- Destruiu ~1000 centrífugas em Natanz.
- Atrasou programa nuclear iraniano em ~2 anos.
- Primeira arma cibernética confirmada por governo (não diretamente, mas oficial acknowledgment ao longo dos anos).
Lição: Crypto attacks podem custar bilhões reais quando alvejam hardware industrial. MD5 collision ainda exploitable em 2012, anos após "quebra" pública. CRL/CT importam.
14. Apple vs FBI / San Bernardino (2016)
Contexto: Atirador San Bernardino (dez/2015). FBI quer Apple desbloquear iPhone 5C com iOS 9.
Demanda:
- Custom firmware com brute-force PIN sem limit, sem 1-second delay.
- Assinado por Apple (\(Apple signing key\) + boot chain).
Apple:
- Tim Cook publica carta aberta recusando —
apple.com/customer-letter. - Argument: criar essa capability é "criar a master key para todos iPhones".
Resolução:
- FBI eventually paga "third party" (rumored Cellebrite ou GrayShift) ~US$1M para crack via 0-day exploit.
- Apple nunca ajuda.
Legacy:
- Apple aumenta security: SE com
aacskd, randomized boot, hardware-backed entropy. - iOS 14+: blastdoor sandbox para iMessage.
- 2024: Apple Private Cloud Compute (PCC) — attested compute para Apple Intelligence.
Lição: Cryptographic backdoor = backdoor para todos. Indústria firmou posição contra encryption mandates. Mas debate continua (UK Investigatory Powers Act, EU CSAR, Australia AA Act).
15. ShadowBrokers / NSA TAO leak (2016–2017)
Contexto: Grupo anônimo "Shadow Brokers" leak tools NSA TAO (Tailored Access Operations).
Leaked:
- EternalBlue (CVE-2017-0144) — SMBv1 exploit.
- DoublePulsar — backdoor implant.
- Decrypts of various firewall/router exploits.
Impacto:
- WannaCry ransomware (mai/2017) — usa EternalBlue, espalha global. NHS UK, Maersk, FedEx, Renault paralizados.
- NotPetya (jun/2017) — wiper disguised as ransomware. Maersk lost US\(300M, Merck US\)870M.
- Total estimated damage > US$10B.
Lição: Stockpile de 0-days vaza eventualmente. Argumento contra government cyber arsenals (Vulnerabilities Equities Process).
16. ROCA (out/2017, CVE-2017-15361)
Detalhes em 11-ataques.md. Contexto:
Infineon RSALib usado em smartcardsTPMseIDs gerou chaves com estrutura especial. Pesquisadores (Matus Nemec, Marek Sys, Petr Svenda, Dusan Klinec, Vashek Matyas) descobrem em jul2017; revelam ago2017.
Affected:
- Estonia eID — 750k cards, nationwide ID. Estado emite atualização emergencial novembro/2017.
- Slovakia eID, Spain DNIe.
- TPMs em laptops Lenovo, HP, Fujitsu.
- Yubikey 4 (FIDO U2F) — rotated.
Mitigação: rotate keys; Infineon patched library mas hardware fielded ficou.
Lição: Hardware crypto não é mais seguro do que sua biblioteca. Even FIPS 140-2 certified products tinham o bug. Estonia case: government emergency rotation viável só com infraestrutura de identity digital madura.
17. Juniper Dual_EC backdoor backdoored (CVE-2015-7755, dez/2015)
Contexto: Juniper ScreenOS firewalls (2008–2013) tinham DualECDRBG com constants que provavelmente NSA podia exploit.
2012: Atacante desconhecido (não NSA per documentos) muda as constantes no ScreenOS code. Inserts próprio backdoor over o existing one.
Detecção: Juniper internal security audit (2015) descobre. Public disclosure dez/2015.
Implications:
- State actor diferente "roubou" backdoor da NSA.
- Mostra que backdoor inserido para "good guys" eventualmente serve para "bad guys".
Lição: argumento prático contra crypto backdoors. Backdoor inserido por país A será descoberto/usado por país B.
18. WhatsApp / Mexico Pegasus (2019)
Contexto: NSO Group Israel develops Pegasus spyware — zero-click iOS/Android exploit.
Crypto-adjacent:
- 1400+ vítimas WhatsApp identified (Citizen Lab, Univ Toronto).
- Journalists, ativistas, advogados.
- Mexico, Saudi Arabia (Khashoggi), Hungary, India, Spain, France (Macron).
WhatsApp/Meta processa NSO — em maio/2025, jury awarded WhatsApp US$167M em damages.
Lição: Mesmo E2E encryption não protege se device é comprometido em runtime. Hardware/OS security é prerequisite.
19. ROBOT (CVE-2017-13099)
Detalhes em 11-ataques.md. Bleichenbacher 1998 attack still working em 2017 contra:
- Cisco ACE, ASA.
- Citrix NetScaler.
- F5 BIG-IP.
- IBM WebSphere DataPower.
- Erlang TLS lib.
- Java SafeNet HSM lib.
Lição: 19 anos não foi suficiente para fix universal. Implementações nunca alcançam patches teóricos.
20. RSA SecurID (mar/2011)
Contexto: RSA Security (subsidiária EMC) emite SecurID hardware tokens — popular 2FA enterprise.
Compromisso:
- Phishing email APT, Excel macro com Flash exploit.
- Atacantes (APT1 / China grupo) acessam internal systems.
- Stealthy of seed records — números seriais + seeds dos tokens fabricados.
Use:
- Lockheed Martin attacked (mai/2011) — atacantes têm seeds, conseguem clonar SecurID tokens dos engenheiros.
- L3 Communications, Northrop Grumman also targeted.
Resposta: RSA emergency reissue 40M tokens.
Lição: Sistemas centralizados de 2FA com seed-database são single point of failure. Modern preferir TOTP (sem seed escrow) ou WebAuthn (hardware-bound).
21. KRACK (out/2017)
Mathy Vanhoef (KU Leuven) descobre Key Reinstallation Attack em WPA2 4-way handshake. Forçar reinstalação de PTK → reusa nonce stream → decifra parts de tráfego.
Affected: praticamente todo cliente Wi-Fi WPA2.
Patches: rolled out 2017–2018. WPA3 (com Dragonfly handshake) introduzido como sucessor — mas Dragonfly teve Dragonblood vulns em 2019 (Vanhoef again).
Lição: Wi-Fi crypto sempre teve histórico ruim (WEP killed by Fluhrer-Mantin-Shamir 2001; WPATKIP killed by Tews-Beck 2008; WPA2KRACK 2017; WPA3/Dragonblood 2019). Migration cíclica.
22. Zerologon (CVE-2020-1472, ago/2020)
Tom Tervoort (Secura). Bug em Netlogon protocol: AES-CFB8 com IV all-zeros. Probabilidade ~1/256 de "session key = zeros" → atacante autentica como domain controller sem credentials.
Scope: Active Directory environments globally (~70% enterprises).
Patch: Microsoft Aug 2020. Mass adoption push.
Lição: AES-CFB8 com IV zero é exemplo de broken cryptographic protocol design decisões antigas (Netlogon protocol design dos 90s). Modern impl precisa Random IV. Crypto agility — protocolos rigid demais demoram pra fixar.
23. ProxyLogon / ProxyShell (2021)
Microsoft Exchange Server vulnerabilities (mar/2021). Crypto-related: ASP.NET viewstate signed with MachineKey leaked → forge auth.
10k servers comprometidos em dias. White House blame on China APT (Hafnium).
24. SolarWinds (dez/2020)
Supply chain attack: SolarWinds Orion update server compromised. Malware-laden update assinado legitimately com chave de signing válida.
Impact: 18k organizations including US Treasury, State Dept, DHS, Microsoft, FireEye.
Crypto-adjacent: signing key (válida) usada incorretamente; SAML token forging post-access.
Lição: Code signing assume processo de build é íntegro. Reproducible builds + multi-party signing começam a ganhar foco pós-incident.
25. Log4Shell (CVE-2021-44228, dez/2021)
Não-crypto incident por si só, mas reshape security thinking. Log4j JNDI lookup remote code execution. 100% of Java internet impacted.
26. WhatsApp/Meta Pegasus, NSO Group (vários, 2019–presente)
Comercial spyware industry. NSO Group, Candiru, Intellexa. Zero-click exploits. Crypto bypass via endpoint compromise.
27. Boothole / LogoFAIL / Black Lotus (UEFI bootkits, 2020–2023)
Boothole (CVE-2020-10713): GRUB2 buffer overflow. Bypass Secure Boot.
Black Lotus (2023): primeira UEFI bootkit comercializada (sold em dark markets). Persiste before OS loads.
LogoFAIL (CVE-2023-...): vulnerabilities em image parsers de boot logos vendor. Generic across BIOS vendors (AMI, Insyde, Phoenix).
Lição: Secure Boot chain of trust depends on every link. Bugs in pre-OS code escape OS protections.
28. xz-utils backdoor (CVE-2024-3094, mar/2024)
Long-running supply chain attack: contributor "Jia Tan" pseudonym ganha trust em xz-utils project ao longo de 2 anos. Insere backdoor sofisticada em release 5.6.0/5.6.1 que ataca OpenSSH via systemd dependency.
Backdoor activated by RSA-style trigger in SSH connection metadata.
Descoberto acidentalmente por Andres Freund (Microsoft PostgreSQL dev) investigando 500ms-slower SSH login.
Impact: descoberto antes de stable distros adotarem (Debian/RHEL still on 5.4.x). Catastrophic if not caught.
Lição: Single-maintainer open source projects são alvos. Reflects on fundingsustainability problems do open source cryptosecurity infrastructure.
29. Lessons by category
Algoritmo broken não cai instantaneamente
MD5: collision academic 2004, practical 2008, exploited Flame 2012, ainda em uso em alguns sistemas em 2026.
Implementação > algoritmo
Heartbleed bug = ~17% internet exposed. Algoritmo TLS estava correto.
Operações > teoria
Venona quebrado por reúso de OTP, não por OTP em si.
State actors são parte do threat model
BULLRUN, Crypto AG, Stuxnet, Pegasus, SolarWinds.
Supply chain é crypto attack vector
xz-utils, SolarWinds, Stuxnet (via assinatura forjada).
Long-tail de algoritmos legacy
FREAK, DROWN, ROBOT — exploits décadas depois de "deprecated".
Backdoor inserido por A será usado por B
Juniper Dual_EC, ShadowBrokers NSA tools.
Mass rotation é viable mas caro
Heartbleed, ROCA Estonia eID, Debian RNG. Requires preparedness.
30. Referência cruzada
- Ataques técnicos detalhados:
11-ataques.md. - Pessoas envolvidas:
12-pessoas.md(Snowden, Marc Stevens, Zimmermann, etc.). - Timeline cronológica:
01-timeline.md. - Confidential computing como resposta:
09-confidential-computing.md. - Koder Stack security posture:
14-koder-aplicada.md.