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 size

Vazamento:

  • 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.com para 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.