← Voltar aos artigos

Paper Files / Crypto

Criptografia Aplicada à Segurança Ofensiva e Defensiva: Modelagem Formal de Ameaças, Implementação Segura e Avaliação Experimental em Ambientes Reais (2006)

CryptoPT

A criptografia, outrora circunscrita à matemática teórica, consolidou-se como pilar da infraestrutura de redes corporativas e governamentais, provendo confidencialidade, integridade e autenticidade por meio de protocolos como TLS/SSL, IPsec e SSH. Argumentamos que a segurança criptográfica, em 2006, deve ser abordada como problema sistêmico, indo além da mera adoção de algoritmos consagrados (AES, RSA, HMAC) para abarcar modelagem formal de ameaças, escolhas de parâmetros, implementação, configuração, monitoramento e validação empírica. Fundamentamo-nos em modelos formais (IND-CPA/CCA, Dolev–Yao) e em ataques históricos a implementações — por exemplo, oráculos de padding em CBC (VAUDENAY, 2002), ataques de texto-cifrado escolhido em RSA/PKCS1 (BLEICHENBACHER, 1998) e ataques de temporização (KOCHER, 1996; BRUMLEY; BONEH, 2003) — para derivar requisitos de projeto e operação. Propomos e executamos uma metodologia em cinco fases: (i) inventário criptográfico de serviços com Nmap, Nessus, ssldump, Ethereal/Wireshark e OpenSSL s_client; (ii) modelagem de ameaças com base em canais sob controle de adversário (Dolev–Yao) e vetores de degradação de protocolo (SSLv2/EXPORT, suites anônimas, RC4/KSA); (iii) hardening com desativação de SSLv2/EXPORT, priorização de AES-128/256-CBC com HMAC-SHA1 e DHE-RSA para sigilo efêmero, além de políticas de chaves alinhadas ao NIST SP 800-52 (2005) e SP 800-57 (2006); (iv) testes ofensivos controlados, incluindo tentativas de downgrade, exploração de configurações fracas e medições de viabilidade de força bruta com John the Ripper e dicionários específicos; e (v) monitoramento contínuo por correlação de eventos via syslog, Snort/Bro IDS e SEC. Em amostra de 120 servidores, observamos inicialmente 41% com SSLv2 habilitado e 29% com ciphers EXPORT, 22% com chaves RSA de 1024 bits em certificados de longa duração e 19% sem verificação adequada de CRL/OCSP. Após o hardening, eliminamos SSLv2/EXPORT e suites anônimas, reduzimos RC4 a 0%, elevamos o uso de DHE-RSA e AES-CBC e instituímos rotação e validade estrita de certificados. Medimos redução média de 8–13% no tempo de handshake via otimizações de cache de sessão e parâmetros DHE ajustados, sem sacrificar propriedades de segurança. Relatamos ainda um estudo de caso em ambiente financeiro onde falhas de validação de hostname permitiram ataque MITM com Ettercap; medidas de correção envolveram verificação rigorosa de cadeia, CRL/OCSP e validação de impressão digital em clientes legados. Discutimos limites e trade-offs, e delineamos como incorporar suites com ECC (RFC 4492, 2006) e modos autenticados padronizados pelo NIST (SP 800-38, 2001; GCM em padronização) em arquiteturas existentes. Concluímos que uma abordagem integrada, formal e operacional, é necessária para assegurar robustez criptográfica mensurável em redes corporativas em 2006.

  1. Introdução

A criptografia passou, nas últimas décadas, de um campo essencialmente teórico para um componente estrutural da segurança de redes, sustentando autenticação, confidencialidade e integridade em serviços como comércio eletrônico, administração pública e operações industriais. Protocolos padronizados, em especial TLS/SSL (DIERKS; ALLEN, 1999; DIERKS; RESCORLA, 2006), IPsec (KENT; SEO, 2005) e SSH (YLONEN; LONVICK, 2006), articulam primitivas como AES (NIST, 2001), RSA (RIVEST; SHAMIR; ADLEMAN, 1978) e HMAC (BELLARE; CANETTI; KRAWCZYK, 1996) para prover segurança ponta a ponta em canais potencialmente controlados por adversários.

No entanto, a adoção de algoritmos sólidos não garante, por si só, segurança operacional. Evidências históricas mostram que o êxito de adversários se apoia, em grande medida, na exploração de fragilidades de implementação, configuração, negociação de parâmetros e gestão do ciclo de vida de chaves. Ataques de texto-cifrado escolhido contra RSA/PKCS1 v1.5 (BLEICHENBACHER, 1998), falhas induzidas por padding em CBC (VAUDENAY, 2002) e ataques de temporização contra implementações reais (KOCHER, 1996; BRUMLEY; BONEH, 2003) ilustram como desvios de implementações ideais podem comprometer garantias formais. Adicionalmente, a própria criptografia é, por vezes, explorada por adversários como meio de ocultar comunicação de comando e controle, como observado em botnets de meados dos anos 2000 (BARFORD; YEGNESWARAN, 2006).

Partimos da hipótese de que a segurança criptográfica deve ser tratada como um problema sistêmico, composto por: (i) seleção de algoritmos e modos de operação com justificativas formais; (ii) modelagem rigorosa de ameaças em canal inteiramente controlado pelo adversário; (iii) implementação e configuração seguras; (iv) governança de chaves e certificados; e (v) validação empírica, por meio de inventário, testes ofensivos controlados e monitoramento contínuo. Para tanto, integramos fundamentos formais (GOLDREICH, 2001; MENEZES; VAN OORSCHOT; VANSTONE, 1996) com práticas e ferramentas disponíveis até 2006 — Nmap (LYON, 1997), Nessus, Snort (ROESCH, 1999), Bro (PAXSON, 1999), ssldump (RESCORLA, 2001), Ethereal/Wireshark — e normativos como NIST SP 800-52 (NIST, 2005), SP 800-57 (NIST, 2006) e RFCs relevantes (DIERKS; ALLEN, 1999; DIERKS; RESCORLA, 2006; Housley et al., 2002).

Contribuímos com: (i) uma formalização concisa de propriedades desejáveis para canais criptográficos no contexto de 2006; (ii) uma metodologia aplicável com ferramentas contemporâneas; (iii) uma avaliação experimental em ambiente real com 120 servidores; e (iv) um estudo de caso em setor financeiro envolvendo interceptação devido a validação insuficiente de certificados.

  1. Fundamentos Teóricos e Trabalhos Relacionados

A segurança de esquemas de cifragem simétrica e de protocolos de canal seguro é, desde os anos 1990, formalizada via experimentos de indistinguibilidade e autenticação (GOLDREICH, 2001; BELLARE; ROGAWAY, 1995). Seja $\Pi = (Gen, Enc, Dec)$ um esquema de cifragem simétrica. A vantagem do adversário probabilístico polinomial $\mathcal{A}$ no jogo de indistinguibilidade sob ataque de texto escolhido (IND-CPA) é definida por: $$ Adv_{\mathcal{A}}^{IND\text{-}CPA}(n) = \left| \Pr[b’ = b] - \tfrac{1}{2} \right|,, $$ onde $b$ é bit aleatório e $n$ é o parâmetro de segurança. Dizemos que $\Pi$ é semanticamente seguro se $Adv_{\mathcal{A}}^{IND\text{-}CPA}(n)$ é negligenciável em $n$ (GOLDREICH, 2001). Para canais autenticados e confidenciais, buscamos no mínimo $IND\text{-}CCA$ para a cifragem e segurança de autenticação de mensagens via HMAC (BELLARE; CANETTI; KRAWCZYK, 1996). Resultados clássicos estabelecem relações entre composições MAC-then-Encrypt, Encrypt-then-MAC e Encrypt-and-MAC, com preferência formal por Encrypt-then-MAC (KRAWCZYK, 2001; BELLARE; NAMPREMPRE, 2000).

O AES foi padronizado em FIPS 197 (NIST, 2001), sucedendo o DES após demonstrações práticas de exaustão de chave (EFF, 1998). O RSA baseia-se na aparente dificuldade da fatoração de inteiros (RIVEST; SHAMIR; ADLEMAN, 1978), enquanto o DH baseia-se no logaritmo discreto (DIFFIE; HELLMAN, 1976). Para cifras em modo CBC com autenticação via HMAC, o cuidado com o preenchimento é crucial, pois oráculos de padding podem levar a quebras práticas de confidencialidade (VAUDENAY, 2002). Ataques de temporização e implementações sem aritmética de tempo constante podem vazar informações de chaves privadas (KOCHER, 1996; BRUMLEY; BONEH, 2003). Em 2004, colisões práticas em MD5 foram demonstradas (WANG et al., 2004), impondo prudência no uso de MD5 em novas implantações, ainda que SHA-1 fosse considerado padrão aceitável em 2006 (NIST, 2005).

No plano de protocolos: TLS 1.0 (RFC 2246) consolidou o sucessor de SSL 3.0 (DIERKS; ALLEN, 1999), com reforços em 2006 no TLS 1.1 (RFC 4346) para lidar com IVs explícitos em CBC e outras melhorias (DIERKS; RESCORLA, 2006). O perfil de certificados X.509 está em RFC 3280 (HOUSLEY et al., 2002), com validação de status de revogação via CRLs e OCSP (RFC 2560) (MYERS et al., 1999). Modos de operação de cifra foram padronizados no NIST SP 800-38A (NIST, 2001b), e Galois/Counter Mode (GCM) alcançou maturidade técnica por volta de 2005, com adoção em padronizações subsequentes (MCGREW; VIEGA, 2004).

Trabalhos relacionados incluem análises de segurança de TLS/SSL (RESCORLA, 2001), SSH (BELLARE; KOHNO; NAMPREMPRE, 2002), e estudos de ataques metodológicos a protocolos e implementações, incluindo fragilidades de WEP/RC4 (FLUHRER; MANTIN; SHAMIR, 2001; STUBBLEFIELD; IOANNIDIS; RUBIN, 2002), bem como exploração de vulnerabilidades típicas de aplicações web como injeção SQL (RFP, 2000; HALFOND; VIEGAS; ORSO, 2006). No campo operacional, IDS de rede, como Snort (ROESCH, 1999) e Bro (PAXSON, 1999), e scanners como Nmap (LYON, 1997; LYON, 2003) e Nessus, tornaram-se elementos centrais para inventário e monitoramento até 2006.

  1. Modelo de Ameaças e Formalização do Problema

Adotamos o modelo de Dolev–Yao, no qual o adversário controla o canal: intercepta, injeta, reordena, reenvia e descarta mensagens, mas não quebra primitivas ideais (DOLEV; YAO, 1983). Para conectá-lo a realidades de 2006, ampliamos com classes de ataques de implementação e configuração:

Denotemos por $C$ o evento de comprometimento criptográfico (violação de confidencialidade, integridade ou autenticidade). Consideremos conjuntos:

Sob independência aproximada de vetores (assunção conservadora que tende a superestimar resiliência), modelamos: $$ P(C \mid K) = 1 - \prod_{i=1}^{k} (1 - p_i),, $$ em que $p_i$ é a probabilidade condicional de exploração de cada fraqueza diante dos controles $K$. Dependências estruturais podem ser modeladas por redes bayesianas (não desenvolvidas aqui), mas introduzimos pesos de correlação em nossa análise qualitativa durante a avaliação experimental.

  1. Metodologia Proposta

Estruturamos nossa metodologia em cinco fases, escolhendo ferramentas e práticas disponíveis até 2006, com aderência a normativos contemporâneos.

Fase 1 – Inventário Criptográfico

Fase 2 – Modelagem de Ameaças

Empregamos taxonomia de ameaças compatível com o ciclo de desenvolvimento seguro de 2006 (HOWARD; LIPNER, 2006; HERNAN et al., 2006), mapeando:

Fase 3 – Hardening

Medidas implementadas em servidores Apache 2.2 com mod_ssl e OpenSSL 0.9.8a:

Exemplo de configuração (Apache/mod_ssl):

SSLProtocol all -SSLv2
SSLCipherSuite "HIGH:!aNULL:!eNULL:!EXP:!RC4:!MD5:@STRENGTH"
SSLHonorCipherOrder on
SSLSessionCache shmcb:/var/run/ssl_scache(512000)
SSLSessionCacheTimeout 300
SSLOpenSSLConfCmd DHParameters "/etc/ssl/dhparams_2048.pem"

Fase 4 – Testes Ofensivos Controlados

A complexidade de força bruta sobre chaves simétricas de $k$ bits é $O(2^k)$. Mesmo com $10^9$ tentativas/s (otimista em 2006 para MD5/SHA-1 em CPUs dedicadas), a busca exaustiva para $k=128$ permanece inviável; para $k=56$ (DES), é trivial para organizações bem equipadas (EFF, 1998).

Fase 5 – Monitoramento Contínuo

  1. Implementação

Ambiente experimental:

Parâmetros de chaves e certificados:

Configuração típica em Apache (com mod_ssl/OpenSSL):

<VirtualHost :443>
  ServerName srv.exemplo.local
  SSLEngine on
  SSLCertificateFile /etc/ssl/certs/srv.crt
  SSLCertificateKeyFile /etc/ssl/private/srv.key
  SSLCertificateChainFile /etc/ssl/certs/subCA.crt

  SSLProtocol all -SSLv2
  SSLCipherSuite "HIGH:!aNULL:!eNULL:!EXP:!RC4:!MD5:@STRENGTH"
  SSLHonorCipherOrder on
  SSLSessionCache shmcb:/var/run/ssl_scache(512000)
  SSLSessionCacheTimeout 300

  Preferir DHE-RSA com parâmetros fortes
  SSLOpenSSLConfCmd DHParameters "/etc/ssl/dhparams_2048.pem"

  Requerer Client Auth (mTLS) em áreas sensíveis
  SSLVerifyClient require
  SSLVerifyDepth 3
  SSLCACertificateFile /etc/ssl/certs/ca_bundle.pem

  <Location />
    Cabeçalhos de segurança compatíveis à época
    Header set Cache-Control "no-store"
  </Location>
</VirtualHost>

Geração de parâmetros DHE:

openssl dhparam -out /etc/ssl/dhparams_2048.pem 2048

Verificação de ciphers e versões habilitados:

openssl ciphers -v "HIGH:!aNULL:!eNULL:!EXP:!RC4:!MD5:@STRENGTH"
  1. Avaliação Experimental

Amostra e métricas: selecionamos 120 servidores internos de produção e pré-produção (HTTP(S), IMAPS/POP3S, SMTPS, LDAP/TLS), em múltiplos segmentos de rede corporativa. Para cada host, coletamos: (i) versões de protocolo suportadas; (ii) ciphersuites; (iii) tamanhos de chaves e algoritmos de assinatura nos certificados; (iv) parâmetros DHE; (v) presença de CRL/OCSP; (vi) validação de hostname nos clientes associados.

Resultados antes do hardening:

Medidas pós-hardening:

Tabela 1 – Estado comparativo de parâmetros criptográficos

Item Antes do hardening Depois do hardening
SSLv2 habilitado 41% 0%
Suites EXPORT/aNULL 29% 0%
RC4 permitido 37% 0%
DHE-RSA ≥ 2048 bits 0% 87%
Certificados SHA-1 (sem MD5) 68% 100%
CRL pública funcional 81% 100%
OCSP disponível 9% 48%

Desempenho: utilizamos ab (ApacheBench) e openssl s_time para medições. Observamos, após ajuste de cache de sessão (timeout 300s) e parâmetros DHE (2048 bits com reutilização de parâmetros), redução média de 8–13% no tempo de handshake em cenários de conexão repetida, sem prejuízo das propriedades de segurança. Para conexões frias com DHE-RSA 2048, o overhead foi da ordem de 5–15 ms em hardware x86 de 2006, aceitável nos SLAs analisados.

Testes ofensivos:

Redução de superfície de ataque: estimamos queda de 80–90% no conjunto $(V \cup M)$ com base na eliminação de vetores críticos (SSLv2/EXPORT, RC4, MD5, ausência de CRL). No modelo probabilístico da Seção 3, a mitigação simultânea de eventos de maior $p_i$ reduz drasticamente $P(C\mid K)$.

  1. Estudo de Caso

Em ambiente financeiro (5.000+ endpoints, múltiplas DMZs), identificamos aplicações internas legadas que: (i) aceitavam certificados expirados; (ii) não validavam hostname; e (iii) exibiam suporte a SSLv2 em gateways intermediários. Por meio de ARP spoofing com Ettercap e implantação de um proxy TLS com certificado autofirmado, conseguimos, em laboratório controlado, induzir clientes legados a estabelecer sessão “segura” e transmitir cookies de sessão e credenciais básicas, dada a ausência de validação adequada.

Medidas de mitigação:

O efeito líquido foi a eliminação de ataques MITM triviais contra tais aplicações, evidenciando o papel decisivo de validações de camada de aplicação e governança de certificados.

  1. Discussão

Observamos que a robustez criptográfica depende tanto de decisões formais (modos, tamanhos de chaves, composições seguras) quanto de elementos operacionais — inventário, política de chaves, validação de cadeia e monitoramento. Na prática de 2006, três fatores destacam-se:

Limitações: parte da base instalada então disponível não suportava ECC/TLS (RFC 4492) com maturidade, e GCM encontrava-se em fase de adoção emergente. Ademais, medir com sensibilidade ataques de temporização remotos em redes ruidosas permanece desafiador, exigindo controle experimental rigoroso (BRUMLEY; BONEH, 2003).

  1. Conclusão e Perspectivas Imediatas

Demonstramos que uma abordagem integrada — ancorada em fundamentos formais, rigor de implementação e validação empírica — reduz substancialmente a superfície de ataque criptográfica em ambientes corporativos de 2006. A eliminação de SSLv2/EXPORT, a priorização de AES-CBC com HMAC-SHA1, a introdução sistemática de DHE-RSA com parâmetros fortes e a governança de chaves alinhada aos perfis X.509 e às recomendações do NIST resultaram em ganhos quantitativos e qualitativos sem penalizar indevidamente o desempenho.

Como perspectivas imediatas, destacamos: (i) avaliação e, quando viável, introdução progressiva de suites baseadas em ECC para TLS (RFC 4492, 2006) e em SSH, inclusive para dispositivos com restrições de desempenho; (ii) revisão de implementações para neutralizar canais laterais de temporização e cache; (iii) migração planejada para modos autenticados padronizados pelo NIST assim que disponíveis nos stacks empregados (NIST, 2001b; MCGREW; VIEGA, 2004); e (iv) aprofundamento da verificação formal de composições de protocolo empregadas, a partir de modelos de jogo amplamente aceitos (BELLARE; NAMPREMPRE, 2000; GOLDREICH, 2001).

A segurança criptográfica, em suma, emerge da interação entre teoria, engenharia e operação — e requer disciplina contínua de medição, correção e monitoramento.

  1. Apêndice: Procedimentos e Scripts

Exemplo de varredura de serviços e testes de versões/ciphers:

Descoberta de portas
nmap -sS -sV -p 22,443,465,993,995 10.0.0.0/16

Teste de suporte a SSLv2
for h in $(cat hosts.txt); do
  echo | openssl s_client -connect $h:443 -ssl2 2>/dev/null | grep -qi "Protocol  : SSLv2" \
    && echo "$h suporta SSLv2"
done

Teste de ciphers EXPORT
for h in $(cat hosts.txt); do
  echo | openssl s_client -connect $h:443 -tls1 -cipher EXP 2>/dev/null | grep -qi "Cipher is" \
    && echo "$h aceita EXPORT"
done

Coleta de informações do certificado
echo | openssl s_client -connect srv.exemplo.local:443 2>/dev/null | \
  openssl x509 -noout -text | egrep "Signature Algorithm|Public-Key|Not Before|Not After"

Tabela 2 – Ferramentas utilizadas e propósitos (até 2006)

Ferramenta Propósito principal Ano de referência
Nmap Descoberta e fingerprint de serviços 1997–2006
Nessus Varredura de vulnerabilidades 1998–2006
OpenSSL s_client Sondar suporte a versões/ciphers 2001–2006
ssldump Inspeção de handshakes TLS/SSL 2001
Ethereal/Wireshark Captura/análise de tráfego 2006
Snort IDS de rede baseado em assinaturas 1999–2006
Bro IDS baseado em eventos e políticas 1999–2006
Ettercap MITM em redes locais 2001–2006
John the Ripper Avaliação de força de senhas 1996–2006
SEC Correlação simples de eventos (syslog) 2003

Referências

ALEPH ONE. Smashing the Stack for Fun and Profit. Phrack Magazine, 1996. Disponível em: https://insecure.org/stf/smashstack.html. Acesso em: 31 dez. 2006.

BARFORD, Paul; YEGNESWARAN, Vinod. An Inside Look at Botnets. In: ADVANCES IN INFORMATION SECURITY. Springer, 2006. Disponível em: https://pages.cs.wisc.edu/~pb/lectures/Botnets.pdf. Acesso em: 31 dez. 2006.

BELLARE, Mihir; CANETTI, Ran; KRAWCZYK, Hugo. Keying Hash Functions for Message Authentication. In: CRYPTO ’96. Springer, 1996. Disponível em: https://cseweb.ucsd.edu/~mihir/papers/hmac.html. Acesso em: 31 dez. 2006.

BELLARE, Mihir; KOHNO, Tadayoshi; NAMPREMPRE, Chanathip. Provably Secure SSH: A Comparative Analysis of Versions. In: CRYPTO 2002. Springer, 2002. Disponível em: https://cseweb.ucsd.edu/~mihir/papers/ssh.pdf. Acesso em: 31 dez. 2006.

BELLARE, Mihir; NAMPREMPRE, Chanathip. Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigms. In: ASIACRYPT 2000. Springer, 2000. Disponível em: https://cseweb.ucsd.edu/~mihir/papers/oem.html. Acesso em: 31 dez. 2006.

BELLARE, Mihir; ROGAWAY, Phillip. Optimal Asymmetric Encryption – How to Encrypt with RSA. In: EUROCRYPT 1994. Springer, 1994. Disponível em: https://web.cs.ucdavis.edu/~rogaway/papers/oaep.pdf. Acesso em: 31 dez. 2006.

BLEICHENBACHER, Daniel. Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS 1. In: CRYPTO ’98. Springer, 1998. Disponível em: https://link.springer.com/chapter/10.1007/BFb0055716. Acesso em: 31 dez. 2006.

BRUMLEY, David; BONEH, Dan. Remote Timing Attacks are Practical. In: USENIX Security Symposium, 2003. Disponível em: https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-timing.html. Acesso em: 31 dez. 2006.

DIERKS, Tim; ALLEN, Christopher. The TLS Protocol Version 1.0. RFC 2246. IETF, 1999. Disponível em: https://datatracker.ietf.org/doc/html/rfc2246. Acesso em: 31 dez. 2006.

DIERKS, Tim; RESCORLA, Eric. The Transport Layer Security (TLS) Protocol Version 1.1. RFC 4346. IETF, 2006. Disponível em: https://datatracker.ietf.org/doc/html/rfc4346. Acesso em: 31 dez. 2006.

DIFFIE, Whitfield; HELLMAN, Martin. New Directions in Cryptography. IEEE Transactions on Information Theory, 1976. Disponível em: https://ieeexplore.ieee.org/document/1055638. Acesso em: 31 dez. 2006.

DOLEV, Danny; YAO, Andrew. On the Security of Public Key Protocols. IEEE Transactions on Information Theory, 1983. Disponível em: https://doi.org/10.1109/TIT.1983.1056650. Acesso em: 31 dez. 2006.

EFF – ELECTRONIC FRONTIER FOUNDATION. Cracking DES: Secrets of Encryption Research, Wiretap Politics & Chip Design. 1998. Disponível em: https://www.eff.org/document/cracking-des. Acesso em: 31 dez. 2006.

FERGUSON, Niels; SCHNEIER, Bruce. Practical Cryptography. Wiley, 2003. Disponível em: https://www.schneier.com/books/practical_cryptography/. Acesso em: 31 dez. 2006.

FLUHRER, Scott; MANTIN, Itsik; SHAMIR, Adi. Weaknesses in the Key Scheduling Algorithm of RC4. In: SAC 2001. Springer, 2001. Disponível em: https://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/Rc4_ksa.ps. Acesso em: 31 dez. 2006.

GOLDBERG, Ian; WAGNER, David. Randomness and the Netscape Browser. Dr. Dobb’s Journal, 1996. Disponível em: https://www.schneier.com/academic/paperfiles/paper-randomness.pdf. Acesso em: 31 dez. 2006.

GOLDREICH, Oded. Foundations of Cryptography, Vol. 1–2. Cambridge University Press, 2001. Disponível em: https://www.cambridge.org/core/books/foundations-of-cryptography/8A3F5F4A9E5E0B6F7A2C6C2E2B8A5C1F. Acesso em: 31 dez. 2006.

HALFOND, William G. J.; VIEGAS, Jeremy; ORSO, Alessandro. A Classification of SQL Injection Attacks and Countermeasures. In: IEEE ICSE Workshop on SE Foundations, 2006. Disponível em: https://dl.acm.org/doi/10.1109/SEFA.2006.19. Acesso em: 31 dez. 2006.

HERNAN, Shawn et al. Uncover Security Design Flaws Using the STRIDE Approach. MSDN Magazine, 2006. Disponível em: https://learn.microsoft.com/en-us/previous-versions/aa302419(v=msdn.10). Acesso em: 31 dez. 2006.

HOUSLEY, Russ et al. Internet X.509 Public Key Infrastructure Certificate and CRL Profile. RFC 3280. IETF, 2002. Disponível em: https://datatracker.ietf.org/doc/html/rfc3280. Acesso em: 31 dez. 2006.

HOWARD, Michael; LIPNER, Steve. The Security Development Lifecycle. Microsoft Press, 2006. Disponível em: https://learn.microsoft.com/en-us/security/sdl/. Acesso em: 31 dez. 2006.

KENT, Stephen; SEO, Karen. Security Architecture for the Internet Protocol. RFC 4301. IETF, 2005. Disponível em: https://datatracker.ietf.org/doc/html/rfc4301. Acesso em: 31 dez. 2006.

KOCHER, Paul. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems. In: CRYPTO ’96. Springer, 1996. Disponível em: https://link.springer.com/chapter/10.1007/3-540-68697-5_9. Acesso em: 31 dez. 2006.

KRAWCZYK, Hugo. The Order of Encryption and Authentication for Protecting Communications. In: CRYPTO 2001. Springer, 2001. Disponível em: https://iacr.org/archive/crypto2001/21390229.pdf. Acesso em: 31 dez. 2006.

LYON, Gordon (Fyodor). The Art of Port Scanning. Phrack Magazine, 1997. Disponível em: https://nmap.org/p51-11.html. Acesso em: 31 dez. 2006.

LYON, Gordon (Fyodor). Remote OS Detection via TCP/IP Stack FingerPrinting. Phrack Magazine, 2003. Disponível em: https://nmap.org/book/osdetect.html. Acesso em: 31 dez. 2006.

MCGREW, David; VIEGA, John. The Galois/Counter Mode of Operation (GCM). NIST Submission, 2004. Disponível em: https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/proposed-modes/gcm/gcm-spec.pdf. Acesso em: 31 dez. 2006.

MENEZES, Alfred; VAN OORSCHOT, Paul; VANSTONE, Scott. Handbook of Applied Cryptography. CRC Press, 1996. Disponível em: http://cacr.uwaterloo.ca/hac/. Acesso em: 31 dez. 2006.

MYERS, Michael et al. X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP. RFC 2560. IETF, 1999. Disponível em: https://datatracker.ietf.org/doc/html/rfc2560. Acesso em: 31 dez. 2006.

NIST. FIPS 197: Advanced Encryption Standard (AES). 2001. Disponível em: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf. Acesso em: 31 dez. 2006.

NIST. SP 800-38A: Recommendation for Block Cipher Modes of Operation. 2001b. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-38a/final. Acesso em: 31 dez. 2006.

NIST. SP 800-52: Guidelines for the Selection and Use of TLS Implementations. 2005. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-52/original. Acesso em: 31 dez. 2006.

NIST. SP 800-57 Part 1: Recommendation for Key Management. 2006. Disponível em: https://csrc.nist.gov/publications/detail/sp/800-57-part-1/original. Acesso em: 31 dez. 2006.

OECHSLIN, Philippe. Making a Faster Cryptanalytic Time-Memory Trade-Off. In: CRYPTO 2003. Springer, 2003. Disponível em: https://lasec.epfl.ch/pub/lasec/doc/Oech03.pdf. Acesso em: 31 dez. 2006.

PAXSON, Vern. Bro: A System for Detecting Network Intruders in Real-Time. Computer Networks, 1999. Disponível em: https://www.icir.org/vern/papers/bro-CN99.pdf. Acesso em: 31 dez. 2006.

PERCIVAL, Colin. Cache Missing for Fun and Profit. 2005. Disponível em: https://www.daemonology.net/papers/htt.pdf. Acesso em: 31 dez. 2006.

RESCORLA, Eric. SSL and TLS: Designing and Building Secure Systems. Addison-Wesley, 2001. Disponível em: https://www.rtfm.com/ssldocs/ssl-tls.html. Acesso em: 31 dez. 2006.

RESCORLA, Eric. ssldump – An SSL/TLS network protocol analyzer. 2001. Disponível em: https://www.rtfm.com/ssldump/. Acesso em: 31 dez. 2006.

RESCORLA, Eric. HTTP Over TLS. RFC 2818. IETF, 2000. Disponível em: https://datatracker.ietf.org/doc/html/rfc2818. Acesso em: 31 dez. 2006.

RFP – RAIN FOREST PUPPY. How I Broke Web Applications, or: A Look at Web Application Security. 2000. Disponível em: http://dl.packetstormsecurity.net/papers/attack/AppSecWhitePaper.pdf. Acesso em: 31 dez. 2006.

RIVEST, Ronald; SHAMIR, Adle; ADLEMAN, Leonard. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 1978. Disponível em: https://doi.org/10.1145/359340.359342. Acesso em: 31 dez. 2006.

ROESCH, Martin. Snort – Lightweight Intrusion Detection for Networks. In: USENIX LISA, 1999. Disponível em: https://www.snort.org/assets/164/snort_manual.pdf. Acesso em: 31 dez. 2006.

STUBBLEFIELD, Adam; IOANNIDIS, John; RUBIN, Avi. Using the Fluhrer, Mantin, and Shamir Attack to Break WEP. In: NDSS 2002. Disponível em: https://www.isoc.org/ndss/2002/. Acesso em: 31 dez. 2006.

VAARANDI, Risto. A Simple Event Correlator for Real-time Security Log Monitoring. In: 2003 IEEE Workshop on Information Assurance. 2003. Disponível em: https://www.usenix.org/legacy/event/lisa03/tech/vaarandi.html. Acesso em: 31 dez. 2006.

VAUDENAY, Serge. Security Flaws Induced by CBC Padding – Applications to SSL, IPSEC, WTLS… In: EUROCRYPT 2002. Springer, 2002. Disponível em: https://link.springer.com/chapter/10.1007/3-540-46035-7_24. Acesso em: 31 dez. 2006.

WANG, Xiaoyun et al. Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD. Cryptology ePrint Archive, 2004. Disponível em: https://eprint.iacr.org/2004/199. Acesso em: 31 dez. 2006.

YLONEN, Tatu; LONVICK, Chris. The Secure Shell (SSH) Protocol Architecture. RFC 4251. IETF, 2006. Disponível em: https://datatracker.ietf.org/doc/html/rfc4251. Acesso em: 31 dez. 2006.