diff options
author | Silvio <silvio@fluxo.info> | 2011-12-05 10:34:56 -0200 |
---|---|---|
committer | Silvio <silvio@fluxo.info> | 2011-12-05 10:34:56 -0200 |
commit | 3ce489cc93b25f11cd8180d75bb609f5e35d93d8 (patch) | |
tree | d60ee105d7fed072db9a8660ffc2aa5971df253a /cool.pdf.html | |
parent | d27c5bfcbd1279ccdda5c9e98e28ce07d25a99dd (diff) | |
download | gestaossl-3ce489cc93b25f11cd8180d75bb609f5e35d93d8.tar.gz gestaossl-3ce489cc93b25f11cd8180d75bb609f5e35d93d8.tar.bz2 |
Renaming
Diffstat (limited to 'cool.pdf.html')
-rw-r--r-- | cool.pdf.html | 593 |
1 files changed, 0 insertions, 593 deletions
diff --git a/cool.pdf.html b/cool.pdf.html deleted file mode 100644 index 26540b7..0000000 --- a/cool.pdf.html +++ /dev/null @@ -1,593 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>Convergence e Monkeysphere: chaves para gestão SSL distribuída</title> - - - -<style> -html, body { margin: 0; padding: 0; } - -body { font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; } - -a:link, a:visited { color: black; } - -h1 { font-size: 30pt; } -h2 { font-size: 28pt; } -h3 { font-size: 25pt; } -p, li, dt, dd, td, th { font-size: 18pt; } - -pre { font-size: 14pt; } -pre.small { font-size: 11pt; } - -pre.code { - background-color: azure; - padding: 5px; - } - -ul { list-style-type: square; } - -.center { text-align: center; } - -.slide { page-break-after: always; - min-height: 100mm; - padding: 40px; - - border: 1px dotted black; - -/* - background: -moz-linear-gradient( top, maroon, red); -*/ - } - - -body { - font-family: monospace; -} - -.centered img { - display: block; - margin-left: auto; - margin-right: auto; -} - -.centered { - text-align: center; -} - - - -/* -for princexml (CSS3 paged media support) -@page { size: A4 landscape } -*/ -</style> - -</head> -<body> - -<div class="presentation"> - -<div class='slide '> -<h1 id="convergence-e-monkeysphere-chaves-para-gesto-ssl-distribuda---co0l---ed-2">Convergence e Monkeysphere: chaves para gestão SSL distribuída - Co0l - Ed. 2</h1><p>Duas alternativas viáveis para substituir ou complementar o atual cartel das -Autoridades Certificadoras utilizadas na pilha SSL/TLS.</p> - - -</div> -<div class='slide '> -<h1 id="propsito">Propósito</h1><p>De 2008 até o momento, foram reveladas falhas fundamentais em vários protocolos -básicos da internet:</p> - -<ul> - <li>DNS: <a href="https://lwn.net/Articles/289138">Dan Kaminsky Discovers Fundamental Issue In DNS</a> (<a href="http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html">análise</a>)</li> - <li>BGP: <a href="http://www.wired.com/threatlevel/2008/08/how-to-intercep/">The Internet’s Biggest Security Hole</a></li> - <li>SSL: <a href="https://links.sarava.org/tags/ssl">Várias brechas</a></li> -</ul> - -<p>Estamos falando principalmente de falhas de especificação e não de implementação ou DoS, o que é muito -mais difícil de mitigar.</p> - - -</div> -<div class='slide '> -<h1 id="ssl-breve-histrico">SSL: Breve histórico</h1><p>Pontos principais de um protocolo seguro:</p> - -<ol> - <li>Sigilo: a informação não será lida por terceiros.</li> - <li>Integridade: a informação não será adulterada.</li> - <li>Autenticidade: os pontos da comunicação serão verificados.</li> - <li>Disponibilidade: proteção a DoS, etc.</li> - <li>Anonimato.</li> -</ol> - - -</div> -<div class='slide '> -<h1 id="ssl-breve-histrico-cont">SSL: Breve histórico (cont)</h1><p>No <a href="https://techmeet.sarava.org/uploads/Agenda/SSL_For_Activists.pdf">caso do SSL/TLS</a>:</p> - -<ol> - <li>Sigilo: - <ul> - <li>Criptografia usando chaves assimétricas.</li> - <li>Troca de chaves: RSA or Diffie-Hellman (usem DHE!)</li> - </ul> - </li> - <li>Integridade: MAC Digest (hash)</li> - <li>Autenticidade: Certificados</li> -</ol> - - -</div> -<div class='slide '> -<h1 id="ssl">SSL</h1><ul> - <li>Encapsulamento de outros protocolos</li> - <li>CipherSuite e Perfect Forward Secrecy</li> - <li>Revogação (CRL / OCSP)</li> - <li>Autoridades Certificadoras (CAs)</li> - <li>Ataques: - <ul> - <li><a href="http://www.thc.org/thc-ssl-dos/">SSL Computational DoS (THC)</a></li> - <li><a href="http://www.win.tue.nl/hashclash/rogue-ca/">Hashclash (MD5)</a></li> - <li><a href="https://wiki.koumbit.net/BeastSecurityAssessment">BEAST</a></li> - <li><a href="https://code.google.com/p/littleblackbox/">LittleBlackBox</a>: chaves padrões em dispositivos embarcados!</li> - <li><a href="http://www.thoughtcrime.org/software/sslsniff">sslsnif</a></li> - </ul> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="autoridades-certificadoras">Autoridades certificadoras</h1><ul> - <li>Sistema PKI em x509 (ITU-T - 1998): atrela uma chave pública a um nome (domínio, email, etc)</li> - <li>Árvore hierárquica de certificação</li> - <li>2009: <a href="https://ssl.netcraft.com/ssl-sample-report">Relatório da Netcraft</a></li> - <li>2010: Verisign: operação de CA vendida por US$1.28 bi para a Symantec</li> - <li>“Two big to fail”</li> -</ul> - - -</div> -<div class='slide '> -<h1 id="netcraft-2009">Netcraft (2009)</h1><div class="centered"> - <p><img src="images/netcraft-ssl-timeline.png" alt="Netcraft - Linha do Tempo" /> -<img src="images/netcraft-ssl-pizza.png" alt="Netcraft - Fatias do Bolo" /></p> -</div> - - -</div> -<div class='slide '> -<h1 id="como-me-torno-uma-autoridade-certificadora">Como me torno uma autoridade certificadora?</h1><p>Depende dos processos de inclusão</p> - -<ul> - <li>Pelo fabricante da aplicação ou biblioteca</li> - <li>Pelo distribuidor da aplicação ou biblioteca</li> - <li>O usuário pode incluir manualmente</li> -</ul> - -<p>Quanto mais upstream for a inclusão, maior a ubiquidade. Certificados não-instalados -são considerados como autoassinados.</p> - -<ul> - <li>Exemplo: o caso do http://www.cacert.org, uma CA Comunitária</li> - <li>Mozilla: https://www.mozilla.org/projects/security/certs/included/</li> - <li>ICP-Brasil: http://www.iti.gov.br</li> -</ul> - - -</div> -<div class='slide '> -<h1 id="ca-procedimentos">CA: Procedimentos</h1><ul> - <li>Mozilla - https://wiki.mozilla.org/CA:How_to_apply</li> - <li>Opera - http://www.opera.com/docs/ca/</li> - <li>M$ - http://technet.microsoft.com/en-us/library/cc751157.aspx (desatualizado)</li> - <li>Safari - https://www.apple.com/certificateauthority/ca_program.html</li> - <li>Chromium - <a href="http://code.google.com/p/chromium/wiki/LinuxCertManagement">NSS</a> (GNU/Linux)</li> -</ul> - - -</div> -<div class='slide '> -<h1 id="ca-em-geral">CA: Em geral</h1><ul> - <li> - <p>Há pouca transparência na relação entre CAs e fabricantes de software</p> - </li> - <li> - <p>Sem gestão multissetorial</p> - </li> - <li> - <p>Admins de instituições pequenas não tem outra escolha senão utilizar esses CAs</p> - </li> - <li> - <p>As CAs são confiadas exatamente por serem CAs. Onde está a abertura das auditorias?</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="obteno-de-um-certificado-assinado">Obtenção de um certificado assinado</h1><pre><code> ________ - | | - ___| CA |--. - / |________| \ 2 - ^ | : - 1 | | 3 v - ____|____ v __________ -| | | | | -| Admin |__/ | Servidor | -|_________| |__________| -</code></pre> - - -</div> -<div class='slide '> -<h1 id="situao-atual">Situação atual</h1><pre><code>The authenticity of host 'foo.example.org (192.0.2.3)' can't be established. -RSA key fingerprint is 17:f4:2b:22:90:d4:98:9a:a2:c5:95:4e:4a:89:be:90. -Are you sure you want to continue connecting (yes/no)? -</code></pre> - -<ul> - <li> - <p>Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)?</p> - </li> - <li> - <p>Maus hábitos de sysadmins geram falsa sensação de segurança</p> - </li> - <li> - <p>Usabilidade: Bypass da tela de “conexão não-confiável”</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="evidncias-de-cooperao">Evidências de cooperação</h1><ul> - <li> - <p><a href="http://web.monkeysphere.info/news/CA_Cooperation_with_Governments/">Certified Lies: Detecting and Defeating Government Interception Attacks Against SSL</a>: <em>evidence that CAs may be cooperating with government agencies to help them spy undetected on “secure” encrypted communications</em></p> - </li> - <li> - <p><a href="https://www.schneier.com/blog/archives/2010/04/man-in-the-midd_2.html">Man-in-the-Middle Attacks Against SSL</a>: <em>a new attack, the compelled certificate creation attack, in which government agencies compel a certificate authority to issue false SSL certificates that are then used by intelligence agencies to covertly intercept and hijack individuals’ secure Web-based communications.</em></p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="casos-reais">Casos reais</h1><ul> - <li> - <p><a href="http://it.slashdot.org/story/08/12/23/0046258">Comodogate</a>: mail.google.com, addons.mozilla.org, login.skype.com, etc.</p> - </li> - <li> - <p><a href="http://www.f-secure.com/weblog/archives/00002228.html">DigiNotar</a>: certificados falsos da CIA, MI6 e Mossad (<a href="http://www.networking4all.com/en/ssl+certificates/ssl+news/time-line+for+the+diginotar+hack/">timeline</a>).</p> - </li> - <li> - <p><a href="https://www.eff.org/observatory">The EFF SSL Observatory</a> (<a href="http://events.ccc.de/congress/2010/Fahrplan/events/4121.en.html">27c3</a>)</p> - </li> - <li> - <p>A situação é alarmante: basta apenas que um único CA seja comprometido para ruir toda a infraestrutura.</p> - </li> - <li> - <p>SSL não se aplica apenas a HTTPS: StartTLS/SMTPS/IMAPS/XMPP/VPN/etc também sofrem dessas vulnerabilidades.</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="o-que--preciso-para-interceptar-conexo-ssl">O que é preciso para interceptar conexão SSL?</h1><ol> - <li> - <p>Certificado falso.</p> - </li> - <li> - <p>Meios efetivos de um MITM:</p> - <ul> - <li>DNS poisoning apontando requisições para servidores maliciosos.</li> - <li>Redirecionamento de tráfego via BGP.</li> - <li>Acesso físico à rede.</li> - </ul> - </li> -</ol> - - -</div> -<div class='slide '> -<h1 id="conexo-ssl">Conexão SSL</h1><pre><code> _______________ -| | -| CA (local) | -|_______________| - | - ^ 3 - ____|____ 2 __________ -| |------<-------| | -| Cliente | | Servidor | -|_________|------>-------|__________| - 1 -</code></pre> - - -</div> -<div class='slide '> -<h1 id="mitm">MITM</h1><pre><code> ________ - | | - .->| MITM |-<. - / |________| \ - | | - v v - ____|____ ____|_____ -| | | | -| Cliente |---X----| Servidor | -|_________| |__________| -</code></pre> - - -</div> -<div class='slide '> -<h1 id="mas-o-quanto-disso--factvel">Mas o quanto disso é factível?</h1><ul> - <li>Oriente médio: - <ul> - <li><a href="http://www.slate.com/articles/technology/webhead/2010/08/the_internets_secret_back_door.html">The Internet’s Secret Back Door: Web users in the United Arab Emirates have more to worry about than having just their BlackBerries cracked</a> (Cybertrust / Verizon)</li> - <li><a href="http://online.wsj.com/article/SB124562668777335653.html#mod=rss_whats_news_us">Iran’s Web Spying Aided By Western Technology </a> (Nokia-Siemens)</li> - <li><a href="http://yro.slashdot.org/story/11/02/11/1920258/Out-of-Egypt-Censorship-US-Tech-Export-Under-Fire">Out of Egypt Censorship, US Tech Export Under Fire</a> (Narus)</li> - <li><a href="https://www.eff.org/deeplinks/2011/05/syrian-man-middle-against-facebook">A Syrian Man-In-The-Middle Attack against Facebook</a></li> - </ul> - </li> - <li> - <p>EUA: <a href="https://en.wikipedia.org/wiki/NSA_warrantless_surveillance_controversy / https://en.wikipedia.org/wiki/Hepting_v._AT%26T">NSA warrantless surveillance controversy</a></p> - </li> - <li>Brasil: <a href="http://www.securelist.com/en/blog/208193214/Massive_DNS_poisoning_attacks_in_Brazil">Massive DNS poisoning attacks in Brazil</a></li> -</ul> - -<p>Pequenos provedores até grandes porções da internet podem ser afetados. O ataque é o mesmo, variando -apenas a capacidade do atacante.</p> - - -</div> -<div class='slide '> -<h1 id="mitigao">Mitigação</h1><p>Recentemente foram propostas várias formas de mitigação:</p> - -<ul> - <li><a href="https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security">HTTP Strict Transport Security - HSTS</a></li> - <li><a href="https://addons.mozilla.org/pt-BR/firefox/addon/certificate-patrol/?src=search">Certificate Patrol</a>: muito útil porém sofre to problema de secure introduction (Trust On First Use/Persistence of Pseudonym - TOFU/POP).</li> - <li><a href="https://code.google.com/p/certlock/">Certlock</a></li> - <li>IETF: - <ul> - <li><a href="https://www.ietf.org/id/draft-evans-palmer-key-pinning-00.txt">Public Key Pinning Extension for HTTP</a>: também sofre do “problema de bootstrapping”.</li> - <li><a href="http://tools.ietf.org/html/draft-ietf-dane-protocol-12">DNSSEC/DANE</a>: aumenta ainda mais a centralidade do DNS e apenas muda o problema de lugar.</li> - <li><a href="https://tools.ietf.org/html/draft-hallambaker-donotissue-03">CAA</a></li> - <li><a href="https://tools.ietf.org/html/draft-hoffman-server-has-tls-04">HASTLS</a></li> - </ul> - </li> - <li><a href="https://www.eff.org/deeplinks/2011/11/sovereign-keys-proposal-make-https-and-email-more-secure">Sovereign Keys (EFF)</a></li> - <li>Google: - <ul> - <li><a href="http://tech.slashdot.org/story/11/11/29/2226211/google-researchers-propose-plan-to-fix-ca-system">Certificate Authority Transparency and Auditability</a></li> - <li><a href="http://googleonlinesecurity.blogspot.com/2011/04/improving-ssl-certificate-security.html">Google Certificate Catalog</a></li> - </ul> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="alternativas">Alternativas?</h1><ul> - <li> - <p>A grande questão é: abandonar o SSL hoje é uma opção que não depende apenas dos/as usuários, porém -é importante considerar que <em>o modelo atual de certificação não é mandatório.</em></p> - </li> - <li> - <p>Ao invés disso, o modelo de CAs pode ser <em>plugável</em> e explorar características <em>locais</em> e <em>globais.</em></p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="httpconvergenceio">http://convergence.io</h1><ul> - <li> - <p><a href="http://convergence.io/releases/firefox/convergence-current.application=x-xpinstall">Add-on para firefox</a> + daemon</p> - </li> - <li> - <p>Precedido pelo Perspectives (http://perspectives-project.org)</p> - </li> - <li> - <p>“Trust agility”: usuário/a escolhe em quem confiar e por quanto tempo</p> - </li> - <li> - <p>Sistema notarial distribuído e robusto</p> - </li> - <li> - <p>Anônimo e com boa usabilidade</p> - </li> - <li> - <p><a href="https://www.youtube.com/watch?v=Z7Wl2FW2TcA">BlackHat USA 2011: SSL And The Future Of Authenticity</a></p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="funcionamento">Funcionamento</h1><pre><code> _______________ 5 cert -| |----<----. -| Notary server | \ -|_______________|---->---. \ - | | 4 \ \ -6 v ^ 3 h+fp \ \ - _|__|____ 2 cert __\__\____ -| |------<-------| | -| Cliente | | Servidor | -|_________|------>-------|__________| - 1 -</code></pre> - - -</div> -<div class='slide '> -<h1 id="constelao">Constelação</h1><pre><code> ____ - .-----<-| | - | .-->-| N1 |< - ___________|_|_ |____| \ -| | ____ \ -| Notary bounce |->-| | \ -|_______________|-<-| N2 |<. \ - | | |____| \ \ - v ^ . \ \ - | | . \ \ - | | . \ \ - v ^ ____ \ \ - | | | | \ \ - | | | Nn | \ . - v ^ |____|-<-->. . | - ___|__|__ _\__v_v___ - | |------<----------| | - | Cliente | | Servidor | - |_________|------>----------|__________| -</code></pre> - - -</div> -<div class='slide '> -<h1 id="convergence-problemas">Convergence: Problemas</h1><ul> - <li> - <p>Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber</p> - </li> - <li> - <p>Mudanças de chaves</p> - </li> - <li> - <p>The Citibank Problem</p> - </li> - <li> - <p>Futuro: <a href="https://github.com/moxie0/Convergence/wiki/TACK">TACK (Tethered Assertions for Certificate Keys)</a>: similar às Chaves Soberanas da EFF</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="httpwebmonkeysphereinfo">http://web.monkeysphere.info</h1><ul> - <li> - <p><a href="https://addons.mozilla.org/pt-BR/firefox/addon/monkeysphere/?src=search">Add-on pra firefox</a> + agent + userland</p> - </li> - <li> - <p>Atrela a autenticação à identificações pessoais pela Web Of Trust</p> - </li> - <li> - <p>Também provê autorização</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="i---estabelecimento-de-confiana-entre-pessoas">I - Estabelecimento de confiança entre pessoas</h1><p>Usuários e/ou admins trocam seus fingerprints OpenPGP.</p> - -<pre><code> ________ ________ -| |-->--| | -| Admin | | User | -|________|--<--|________| -</code></pre> - - -</div> -<div class='slide '> -<h1 id="ii---assinatura-de-chave-do-servidor">II - Assinatura de chave do servidor</h1><pre><code> ___________ -| | -| Keyserver | -|___________| - | - ^ 3 - ____|____ 2 __________ -| |------<-------| | -| Admin | | Servidor | -|_________|------>-------|__________| - 1 -</code></pre> - - -</div> -<div class='slide '> -<h1 id="iii---conexo-ssl">III - Conexão SSL</h1><pre><code> ___________ -| | -| Keyserver | -|___________| - | - ^ 3 - ____|____ 2 __________ -| |------<-------| | -| User | | Servidor | -|_________|------>-------|__________| - 1 -</code></pre> - - -</div> -<div class='slide '> -<h1 id="web-of-trust">Web of Trust</h1><ul> - <li> - <p>Identificação.</p> - </li> - <li> - <p>Confiabilidade.</p> - </li> - <li> - <p>Mesmo que um usuário não tenha identificado um admin que assinou a chave de um servidor, -confiabilidade ainda pode ser estabelecida por meios indiretos.</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="integrao">Integração</h1><ul> - <li> - <p>O Monkeysphere ainda é muito geeky porém oferece um nível de segurança muito mais alto -para a verificação de certificados; o código está maduro porém é preciso muito mais desenvolvimento -de UI e usabilidade, além de depender de uma grande WoT para ser eficaz.</p> - </li> - <li> - <p>O Convergence pode utilizar como backend o Monkeysphere, o que pode reduzir o problema do MITM -upstream.</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="perspectivas">Perspectivas</h1><ul> - <li> - <p>A indústria sabe que o modelo de CAs está falido, mas ainda assim existe uma insistência -em dizer que o problema são as “maçãs podres” ou o excesso de CAs.</p> - </li> - <li> - <p>Os fabricantes de navegadores tem peso maior na decisão, porém dificilmente farão mudanças bruscas uma vez que a internet hoje é muito dependente na infraestrutura de CAs.</p> - </li> - <li> - <p>A pluralidade de métodos e a <em>plugalidade</em> (:P) de soluções podem <em>convergir</em> num esquema de validação híbrido.</p> - </li> - <li> - <p>Conscientização do público é fundamental.</p> - </li> -</ul> - - -</div> -<div class='slide '> -<h1 id="demonstraes">Demonstrações</h1><ul> - <li>Monkeysphere</li> - <li>Convergence</li> -</ul> - - -</div> -<div class='slide '> -<h1 id="perguntas">Perguntas?</h1><pre><code>:) -</code></pre> - -</div> - - - </div> <!-- presentation --> -</body> -</html> - |