From f0d6634fe3e64cea43bd82b28ac22068b13eba8e Mon Sep 17 00:00:00 2001 From: Silvio Date: Sat, 3 Dec 2011 19:47:22 -0200 Subject: S9 formatting --- cool.css | 105 +++++++++++++ cool.html | 444 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ cool.markdown | 1 + cool.mdwn | 107 ++++++++----- cool.pdf.html | 471 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1092 insertions(+), 36 deletions(-) create mode 100644 cool.css create mode 100644 cool.html create mode 120000 cool.markdown create mode 100644 cool.pdf.html diff --git a/cool.css b/cool.css new file mode 100644 index 0000000..c270712 --- /dev/null +++ b/cool.css @@ -0,0 +1,105 @@ +@import url(s6/projection.css); /* required to make the slide show run at all */ + +body { font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; } + +a:link, a:visited { color: black; } + +.slide h1 { font-size: 30pt; } + +.slide h1 { text-align: center; } + +.slide h1.fullscreen { position: absolute; + top: 40%; + width: 100%; } + +/* lets you create slides with no heading (because heading is hidden but gets included in toc) */ +.slide h1.hidden { display: none; } + + +.slide h2 { font-size: 28pt; } + +h3 { font-size: 25pt; } + +/* todo: add special formating for .cover slide + lets you use h1(cover). for title/cover slide (a la S5 slide0) but more generic (not bound to 1st slide) +*/ + +.cover h1 { /* tbd */ } +.cover h2 { /* tbd */ } + +/* todo: add special formating for h1, h2 in footer */ + +#footer h1 { /* tbd */ } +#footer h2 { /* tbd */ } + + +p, li, dt, dd, td, th { font-size: 18pt; } + +ul { list-style-type: square; } + +/**********************************/ +/* general text-alignment classes */ + +.left { text-align: left; } +.center { text-align: center; } +.right { text-align: right; } + +/**********************************/ +/* general font-size classes */ + +.small { font-size: 97%; } + +.x-small, +.smaller { font-size: 88%; } + +.xx-small, +.smallest, +.tiny { font-size: 82%; } + + + +pre { font-size: 16pt; } + +.code { + background-color: azure; + padding: 5px; + } + +.footnote a:first-of-type { text-decoration: none; } + + +p.small { font-size: 97%; } + +p.x-small, +p.smaller, +p.footnote { font-size: 88%; } + +p.xx-small, +p.smallest, +p.tiny { font-size: 82%; } + + +.help p, +.help td { font-size: 88%; } + + +.step { color: silver; } +/* or hide next steps e.g. .step { visibility: hidden; } */ +.stepcurrent { color: black; } + + + +body { + font-family: monospace; +} + +.centered img { + display: block; + margin-left: auto; + margin-right: auto; +} + +.centered { + text-align: center; +} + diff --git a/cool.html b/cool.html new file mode 100644 index 0000000..f617e1c --- /dev/null +++ b/cool.html @@ -0,0 +1,444 @@ + + + + + Convergence e Monkeysphere: chaves para gestão SSL distribuída + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+

Convergence e Monkeysphere: chaves para gestão SSL distribuída - Co0l - Ed. 2

Convergence e +Monkeysphere: duas alternativas viáveis para +substituir ou complementar o atual cartel das Autoridades Certificadoras +utilizadas na pilha SSL/TLS.

+ + +
+
+

Propósito

De 2008 até o momento, foram reveladas falhas fundamentais em vários protocolos +básicos da internet:

+ + + +

Estamos falando de falhas de especificação e não de implementação ou DoS, o que é muito +mais difícil de mitigar.

+ + +
+
+

SSL: Breve histórico

Pontos principais de um protocolo seguro:

+ +
    +
  1. Sigilo: a informação não será lida por terceiros.
  2. +
  3. Integridade: a informação não será adulterada.
  4. +
  5. Altenticidade: os pontos da comunicação serão verificados.
  6. +
  7. Disponibilidade: proteção a DoS, etc.
  8. +
  9. Anonimato.
  10. +
+ +

No caso do SSL/TLS:

+ +
    +
  1. Sigilo: Bulk Encryption e troca de chaves: RSA or Diffie-Hellman (usem DHE!)
  2. +
  3. Integridade: MAC Digest (hash)
  4. +
  5. Autenticidade: Certificados
  6. +
+ + +
+
+

SSL

+ + +
+
+

Autoridades certificadoras

    +
  • Sistema PKI em x509 (ITU-T - 1998): atrela uma chave pública a um nome (domínio, email, etc)
  • +
  • 2009: Relatório da Netcraft
  • +
  • 2010: Verisign: operação de CA vendida por US$1.28 bi para a Symantec
  • +
  • “Two big to fail”
  • +
+ + +
+
+

Netcraft (2009)

+

Netcraft - Linha do Tempo +Netcraft - Fatias do Bolo

+
+ + +
+
+

Como me torno uma autoridade certificadora?

Depende dos processos de inclusão

+ +
    +
  • Pelo fabricante da aplicação ou biblioteca
  • +
  • Pelo distribuidor da aplicação ou biblioteca
  • +
  • O usuário pode incluir manualmente
  • +
+ +

Quanto mais upstream for a inclusão, maior a ubiquidade. Certificados não-instalados +são considerados como autoassinados.

+ +
    +
  • Exemplo: o caso do http://www.cacert.org, uma CA Comunitária
  • +
  • Mozilla: https://www.mozilla.org/projects/security/certs/included/
  • +
  • ICP-Brasil: http://www.iti.gov.br/twiki/bin/view/Certificacao/WebHome
  • +
+ + +
+
+

CA: Procedimentos

    +
  • Mozilla - https://wiki.mozilla.org/CA:How_to_apply
  • +
  • Opera - http://www.opera.com/docs/ca/
  • +
  • M$ - http://technet.microsoft.com/en-us/library/cc751157.aspx (desatualizado)
  • +
  • Safari - https://www.apple.com/certificateauthority/ca_program.html
  • +
  • Google - ?
  • +
+ + +
+
+

CA: Em geral

    +
  • Há pouca transparência na relação entre CAs e fabricantes de software
  • +
  • Sem gestão multissetorial
  • +
  • Admins de instituições pequenas não tem outra escolha senão utilizar esses CAs
  • +
  • As CAs são confiadas exatamente por serem CAs. Onde está a abertura das auditorias?
  • +
+ + +
+
+

Obtenção de um certificado assinado

           ________ 
+          |        |
+       ___|   CA   |--.
+      /   |________|   \ 2
+     ^        |         : 
+   1 |        | 3       v   
+ ____|____    v     __________
+|         |   |    |          |
+|  Admin  |__/     | Servidor |
+|_________|        |__________|
+
+ + +
+
+

Situação atual

    +
  • Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)?
  • +
  • sslsnif
  • +
  • Maus hábitos de sysadmins geram falsa sensação de segurança
  • +
  • Bypass da tela de “conexão não-confiável”
  • +
+ + +
+
+

Casos reais

“Crime maior do que roubar uma CA é fundar uma CA” - Bertold Brecha

+ +
    +
  • Comodogate: mail.google.com, addons.mozilla.org, login.skype.com, etc.
  • +
  • DigiNotar: certificados falsos da CIA, MI6 e Mossad (timeline).
  • +
  • The EFF SSL Observatory (27c3)
  • +
  • A situação é alarmante: basta apenas que um único CA seja comprometido para ruir toda a infraestrutura.
  • +
  • SSL não se aplica apenas a HTTPS: StartTLS/SMTPS/IMAPS/XMPP/VPN/etc também sofrem dessas vulnerabilidades.
  • +
+ + +
+
+

O que é preciso para interceptar conexão SSL?

    +
  1. Certificado falso.
  2. +
  3. Meios efetivos de um MITM: +
      +
    • DNS poisoning apontando requisições para servidores maliciosos.
    • +
    • Redirecionamento de tráfego via BGP.
    • +
    • Acesso físico à rede.
    • +
    +
  4. +
+ + +
+
+

Conexão SSL

 _______________ 
+|               |
+|   CA (local)  |
+|_______________|
+     |
+     ^ 3
+ ____|____       2        __________
+|         |------<-------|          |
+| Cliente |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

MITM

           ________ 
+          |        |
+       .->|  MITM  |-<.
+      /   |________|   \
+     |                  |
+     v                  v 
+ ____|____          ____|_____
+|         |        |          |
+| Cliente |---X----| Servidor |
+|_________|        |__________|
+
+ + +
+
+

Mas o quanto disso é factível?

+ +

A falha atinge de pequenos provedores até grandes porções da internet. O ataque é o mesmo, variando +apenas a capacidade do atacante.

+ + +
+
+

Mitigação

Recentemente foram propostas várias formas de mitigação:

+ + + + +
+
+

Alternativas?

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 o modelo atual de certificação não é mandatório. Ao invés disso, o modelo +de CAs pode ser plugável.

+ + +
+
+

Convergence

    +
  • http://convergence.io
  • +
  • Add-on para firefox
  • +
  • Precedido pelo Perspectives (http://perspectives-project.org)
  • +
  • “Trust agility”
  • +
  • Problemas: +
      +
    • Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber.
    • +
    • Mudanças de chaves.
    • +
    +
  • +
+ + +
+
+

Funcionamento

 _______________     5 cert
+|               |----<----.
+| Notary server |          \
+|_______________|---->---.  \
+  |  |               4    \  \
+6 v  ^ 3 h+fp              \  \
+ _|__|____        2 cert  __\__\____
+|         |------<-------|          |
+| Cliente |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

Bundles

                     ____      
+            .-----<-|    | 
+            |  .-->-| N1 |<
+ ___________|_|_    |____| \
+|               |    ____   \
+| Notary proxy  |->-|    |   \
+|_______________|-<-| N2 |<.  \
+      |  |          |____|  \  \
+      v  ^            .      \  \
+      |  |            .       \  \
+      |  |            .        \  \
+      v  ^           ____       \  \
+      |  |          |    |       \  \
+      |  |          | Nn |        \  .
+      v  ^          |____|-<-->.   . |
+   ___|__|__                   _\__v_v___
+  |         |------<----------|          |
+  | Cliente |                 | Servidor |
+  |_________|------>----------|__________|
+
+ + +
+
+

Monkeysphere

    +
  • http://web.monkeysphere.info
  • +
  • Add-on pra firefox
  • +
  • Atrela a autenticação à identificações pessoais pela Web Of Trust
  • +
  • Também provê autorização
  • +
+ + +
+
+

I - Estabelecimento de confiança entre pessoas

 ________       ________
+|        |-->--|        |
+| Admin  |     |  User  |
+|________|-->--|________|
+
+ + +
+
+

II - Assinatura de chave do servidor

 ___________
+|           |
+| Keyserver | 
+|___________|
+     |
+     ^ 3
+ ____|____       2        __________
+|         |------<-------|          |
+|  Admin  |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

III - Conexão SSL

 ___________
+|           |
+| Keyserver | 
+|___________|
+     |
+     ^ 3
+ ____|____       2        __________
+|         |------<-------|          |
+|   User  |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

Integração

    +
  • 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.
  • +
  • O Convergence pode utilizar como backend o Monkeysphere, o que pode reduzir o problema do MITM +upstream.
  • +
+ + +
+
+

Perspectivas

    +
  • +

    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.

    +
  • +
  • +

    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.

    +
  • +
  • +

    A pluralidade de métodos e a plugalidade (:P) de soluções podem convergir num esquema de validação híbrido.

    +
  • +
  • +

    Conscientização do público é fundamental.

    +
  • +
+ + +
+
+

Demonstrações

    +
  • Monkeysphere
  • +
  • Convergence
  • +
+ + +
+
+

Perguntas?

+ + +
+ + \ No newline at end of file diff --git a/cool.markdown b/cool.markdown new file mode 120000 index 0000000..c697f4c --- /dev/null +++ b/cool.markdown @@ -0,0 +1 @@ +cool.mdwn \ No newline at end of file diff --git a/cool.mdwn b/cool.mdwn index 6c29b91..006003f 100644 --- a/cool.mdwn +++ b/cool.mdwn @@ -1,8 +1,27 @@ -Convergence e Monkeysphere: chaves para gestão SSL distribuída -============================================================== +Title: Convergence e Monkeysphere: chaves para gestão SSL distribuída +Author: Silvio +Generator: S9 -Conferência O Outro Lado Edição 2 ---------------------------------- +%css + +body { + font-family: monospace; +} + +.centered img { + display: block; + margin-left: auto; + margin-right: auto; +} + +.centered { + text-align: center; +} + +%end + +Convergence e Monkeysphere: chaves para gestão SSL distribuída - Co0l - Ed. 2 +============================================================================= [Convergence](http://convergence.io) e [Monkeysphere](http://web.monkeysphere.info): duas alternativas viáveis para @@ -10,7 +29,7 @@ substituir ou complementar o atual cartel das Autoridades Certificadoras utilizadas na pilha SSL/TLS. Propósito ---------- +========= De 2008 até o momento, foram reveladas falhas fundamentais em vários protocolos básicos da internet: @@ -23,7 +42,7 @@ Estamos falando de falhas de especificação e não de implementação ou DoS, o mais difícil de mitigar. SSL: Breve histórico --------------------- +==================== Pontos principais de um protocolo seguro: @@ -40,7 +59,7 @@ No [caso do SSL/TLS](https://techmeet.sarava.org/uploads/Agenda/SSL_For_Activist 3. Autenticidade: Certificados SSL ---- +=== - HSTS - CipherSuite e Perfect Forward Secrecy @@ -53,15 +72,24 @@ SSL - [LittleBlackBox](https://code.google.com/p/littleblackbox/): chaves padrões em dispositivos embarcados! Autoridades certificadoras --------------------------- +========================== - Sistema PKI em x509 (ITU-T - 1998): atrela uma chave pública a um nome (domínio, email, etc) - 2009: [Relatório da Netcraft](https://ssl.netcraft.com/ssl-sample-report) - 2010: Verisign: operação de CA vendida por US$1.28 bi para a Symantec - "Two big to fail" + +Netcraft (2009) +=============== + +
+![Netcraft - Linha do Tempo](images/netcraft-ssl-timeline.png) +![Netcraft - Fatias do Bolo](images/netcraft-ssl-pizza.png) +
+ Como me torno uma autoridade certificadora? -------------------------------------------- +=========================================== Depende dos processos de inclusão @@ -76,7 +104,8 @@ são considerados como autoassinados. - Mozilla: https://www.mozilla.org/projects/security/certs/included/ - ICP-Brasil: http://www.iti.gov.br/twiki/bin/view/Certificacao/WebHome -Procedimentos +CA: Procedimentos +================= - Mozilla - https://wiki.mozilla.org/CA:How_to_apply - Opera - http://www.opera.com/docs/ca/ @@ -84,7 +113,8 @@ Procedimentos - Safari - https://www.apple.com/certificateauthority/ca_program.html - Google - ? -Em geral +CA: Em geral +============ - Há pouca transparência na relação entre CAs e fabricantes de software - Sem gestão multissetorial @@ -92,7 +122,7 @@ Em geral - As CAs são confiadas exatamente por serem CAs. Onde está a abertura das auditorias? Obtenção de um certificado assinado ------------------------------------ +=================================== ________ | | @@ -107,7 +137,7 @@ Obtenção de um certificado assinado Situação atual --------------- +============== - Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)? - [sslsnif](http://www.thoughtcrime.org/software/sslsniff) @@ -115,7 +145,7 @@ Situação atual - Bypass da tela de "conexão não-confiável" Casos reais ------------ +=========== "Crime maior do que roubar uma CA é fundar uma CA" - Bertold Brecha @@ -126,7 +156,7 @@ Casos reais - SSL não se aplica apenas a HTTPS: StartTLS/SMTPS/IMAPS/XMPP/VPN/etc também sofrem dessas vulnerabilidades. O que é preciso para interceptar conexão SSL? ---------------------------------------------- +============================================= 1. Certificado falso. 2. Meios efetivos de um MITM: @@ -136,7 +166,7 @@ O que é preciso para interceptar conexão SSL? Conexão SSL ------------- +============ _______________ | | @@ -151,7 +181,7 @@ Conexão SSL 1 MITM ----- +==== ________ | | @@ -166,7 +196,7 @@ MITM Mas o quanto disso é factível? ------------------------------- +============================== - Oriente médio: ... - EUA: [NSA warrantless surveillance controversy](https://en.wikipedia.org/wiki/NSA_warrantless_surveillance_controversy / https://en.wikipedia.org/wiki/Hepting_v._AT%26T) @@ -176,7 +206,7 @@ A falha atinge de pequenos provedores até grandes porções da internet. O ataq apenas a capacidade do atacante. Mitigação ---------- +========= Recentemente foram propostas várias formas de mitigação: @@ -192,23 +222,25 @@ Recentemente foram propostas várias formas de mitigação: - [Google Certificate Catalog](http://googleonlinesecurity.blogspot.com/2011/04/improving-ssl-certificate-security.html) Alternativas? -------------- +============= 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 _o modelo atual de certificação não é mandatório._ Ao invés disso, o modelo de CAs pode ser _plugável._ -Convegence ----------- +Convergence +=========== - http://convergence.io - [Add-on para firefox](http://convergence.io/releases/firefox/convergence-current.application=x-xpinstall) - Precedido pelo Perspectives (http://perspectives-project.org) - "Trust agility" -- Problema: se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber. +- Problemas: + - Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber. + - Mudanças de chaves. Funcionamento -------------- +============= _______________ 5 cert | |----<----. @@ -223,7 +255,7 @@ Funcionamento 1 Bundles -------- +======= ____ .-----<-| | @@ -247,7 +279,7 @@ Bundles Monkeysphere ------------- +============ - http://web.monkeysphere.info - [Add-on pra firefox](https://addons.mozilla.org/pt-BR/firefox/addon/monkeysphere/?src=search) @@ -255,7 +287,7 @@ Monkeysphere - Também provê autorização I - Estabelecimento de confiança entre pessoas ----------------------------------------------- +============================================== ________ ________ | |-->--| | @@ -264,7 +296,7 @@ I - Estabelecimento de confiança entre pessoas II - Assinatura de chave do servidor ------------------------------------- +==================================== ___________ | | @@ -279,7 +311,7 @@ II - Assinatura de chave do servidor 1 III - Conexão SSL ------------------ +================= ___________ | | @@ -292,14 +324,9 @@ III - Conexão SSL | User | | Servidor | |_________|------>-------|__________| 1 -Demonstrações -------------- - -- Monkeysphere -- Convergence Integração ----------- +========== - 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 @@ -308,7 +335,7 @@ Integração upstream. Perspectivas ------------- +============ - 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. @@ -319,3 +346,11 @@ Perspectivas - Conscientização do público é fundamental. +Demonstrações +============= + +- Monkeysphere +- Convergence + +Perguntas? +========= diff --git a/cool.pdf.html b/cool.pdf.html new file mode 100644 index 0000000..4631dd7 --- /dev/null +++ b/cool.pdf.html @@ -0,0 +1,471 @@ + + + + + Convergence e Monkeysphere: chaves para gestão SSL distribuída + + + + + + + + +
+ +
+

Convergence e Monkeysphere: chaves para gestão SSL distribuída - Co0l - Ed. 2

Convergence e +Monkeysphere: duas alternativas viáveis para +substituir ou complementar o atual cartel das Autoridades Certificadoras +utilizadas na pilha SSL/TLS.

+ + +
+
+

Propósito

De 2008 até o momento, foram reveladas falhas fundamentais em vários protocolos +básicos da internet:

+ + + +

Estamos falando de falhas de especificação e não de implementação ou DoS, o que é muito +mais difícil de mitigar.

+ + +
+
+

SSL: Breve histórico

Pontos principais de um protocolo seguro:

+ +
    +
  1. Sigilo: a informação não será lida por terceiros.
  2. +
  3. Integridade: a informação não será adulterada.
  4. +
  5. Altenticidade: os pontos da comunicação serão verificados.
  6. +
  7. Disponibilidade: proteção a DoS, etc.
  8. +
  9. Anonimato.
  10. +
+ +

No caso do SSL/TLS:

+ +
    +
  1. Sigilo: Bulk Encryption e troca de chaves: RSA or Diffie-Hellman (usem DHE!)
  2. +
  3. Integridade: MAC Digest (hash)
  4. +
  5. Autenticidade: Certificados
  6. +
+ + +
+
+

SSL

+ + +
+
+

Autoridades certificadoras

    +
  • Sistema PKI em x509 (ITU-T - 1998): atrela uma chave pública a um nome (domínio, email, etc)
  • +
  • 2009: Relatório da Netcraft
  • +
  • 2010: Verisign: operação de CA vendida por US$1.28 bi para a Symantec
  • +
  • “Two big to fail”
  • +
+ + +
+
+

Netcraft (2009)

+

Netcraft - Linha do Tempo +Netcraft - Fatias do Bolo

+
+ + +
+
+

Como me torno uma autoridade certificadora?

Depende dos processos de inclusão

+ +
    +
  • Pelo fabricante da aplicação ou biblioteca
  • +
  • Pelo distribuidor da aplicação ou biblioteca
  • +
  • O usuário pode incluir manualmente
  • +
+ +

Quanto mais upstream for a inclusão, maior a ubiquidade. Certificados não-instalados +são considerados como autoassinados.

+ +
    +
  • Exemplo: o caso do http://www.cacert.org, uma CA Comunitária
  • +
  • Mozilla: https://www.mozilla.org/projects/security/certs/included/
  • +
  • ICP-Brasil: http://www.iti.gov.br/twiki/bin/view/Certificacao/WebHome
  • +
+ + +
+
+

CA: Procedimentos

    +
  • Mozilla - https://wiki.mozilla.org/CA:How_to_apply
  • +
  • Opera - http://www.opera.com/docs/ca/
  • +
  • M$ - http://technet.microsoft.com/en-us/library/cc751157.aspx (desatualizado)
  • +
  • Safari - https://www.apple.com/certificateauthority/ca_program.html
  • +
  • Google - ?
  • +
+ + +
+
+

CA: Em geral

    +
  • Há pouca transparência na relação entre CAs e fabricantes de software
  • +
  • Sem gestão multissetorial
  • +
  • Admins de instituições pequenas não tem outra escolha senão utilizar esses CAs
  • +
  • As CAs são confiadas exatamente por serem CAs. Onde está a abertura das auditorias?
  • +
+ + +
+
+

Obtenção de um certificado assinado

           ________ 
+          |        |
+       ___|   CA   |--.
+      /   |________|   \ 2
+     ^        |         : 
+   1 |        | 3       v   
+ ____|____    v     __________
+|         |   |    |          |
+|  Admin  |__/     | Servidor |
+|_________|        |__________|
+
+ + +
+
+

Situação atual

    +
  • Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)?
  • +
  • sslsnif
  • +
  • Maus hábitos de sysadmins geram falsa sensação de segurança
  • +
  • Bypass da tela de “conexão não-confiável”
  • +
+ + +
+
+

Casos reais

“Crime maior do que roubar uma CA é fundar uma CA” - Bertold Brecha

+ +
    +
  • Comodogate: mail.google.com, addons.mozilla.org, login.skype.com, etc.
  • +
  • DigiNotar: certificados falsos da CIA, MI6 e Mossad (timeline).
  • +
  • The EFF SSL Observatory (27c3)
  • +
  • A situação é alarmante: basta apenas que um único CA seja comprometido para ruir toda a infraestrutura.
  • +
  • SSL não se aplica apenas a HTTPS: StartTLS/SMTPS/IMAPS/XMPP/VPN/etc também sofrem dessas vulnerabilidades.
  • +
+ + +
+
+

O que é preciso para interceptar conexão SSL?

    +
  1. Certificado falso.
  2. +
  3. Meios efetivos de um MITM: +
      +
    • DNS poisoning apontando requisições para servidores maliciosos.
    • +
    • Redirecionamento de tráfego via BGP.
    • +
    • Acesso físico à rede.
    • +
    +
  4. +
+ + +
+
+

Conexão SSL

 _______________ 
+|               |
+|   CA (local)  |
+|_______________|
+     |
+     ^ 3
+ ____|____       2        __________
+|         |------<-------|          |
+| Cliente |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

MITM

           ________ 
+          |        |
+       .->|  MITM  |-<.
+      /   |________|   \
+     |                  |
+     v                  v 
+ ____|____          ____|_____
+|         |        |          |
+| Cliente |---X----| Servidor |
+|_________|        |__________|
+
+ + +
+
+

Mas o quanto disso é factível?

+ +

A falha atinge de pequenos provedores até grandes porções da internet. O ataque é o mesmo, variando +apenas a capacidade do atacante.

+ + +
+
+

Mitigação

Recentemente foram propostas várias formas de mitigação:

+ + + + +
+
+

Alternativas?

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 o modelo atual de certificação não é mandatório. Ao invés disso, o modelo +de CAs pode ser plugável.

+ + +
+
+

Convergence

    +
  • http://convergence.io
  • +
  • Add-on para firefox
  • +
  • Precedido pelo Perspectives (http://perspectives-project.org)
  • +
  • “Trust agility”
  • +
  • Problemas: +
      +
    • Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber.
    • +
    • Mudanças de chaves.
    • +
    +
  • +
+ + +
+
+

Funcionamento

 _______________     5 cert
+|               |----<----.
+| Notary server |          \
+|_______________|---->---.  \
+  |  |               4    \  \
+6 v  ^ 3 h+fp              \  \
+ _|__|____        2 cert  __\__\____
+|         |------<-------|          |
+| Cliente |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

Bundles

                     ____      
+            .-----<-|    | 
+            |  .-->-| N1 |<
+ ___________|_|_    |____| \
+|               |    ____   \
+| Notary proxy  |->-|    |   \
+|_______________|-<-| N2 |<.  \
+      |  |          |____|  \  \
+      v  ^            .      \  \
+      |  |            .       \  \
+      |  |            .        \  \
+      v  ^           ____       \  \
+      |  |          |    |       \  \
+      |  |          | Nn |        \  .
+      v  ^          |____|-<-->.   . |
+   ___|__|__                   _\__v_v___
+  |         |------<----------|          |
+  | Cliente |                 | Servidor |
+  |_________|------>----------|__________|
+
+ + +
+
+

Monkeysphere

    +
  • http://web.monkeysphere.info
  • +
  • Add-on pra firefox
  • +
  • Atrela a autenticação à identificações pessoais pela Web Of Trust
  • +
  • Também provê autorização
  • +
+ + +
+
+

I - Estabelecimento de confiança entre pessoas

 ________       ________
+|        |-->--|        |
+| Admin  |     |  User  |
+|________|-->--|________|
+
+ + +
+
+

II - Assinatura de chave do servidor

 ___________
+|           |
+| Keyserver | 
+|___________|
+     |
+     ^ 3
+ ____|____       2        __________
+|         |------<-------|          |
+|  Admin  |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

III - Conexão SSL

 ___________
+|           |
+| Keyserver | 
+|___________|
+     |
+     ^ 3
+ ____|____       2        __________
+|         |------<-------|          |
+|   User  |              | Servidor |
+|_________|------>-------|__________|
+                 1  
+
+ + +
+
+

Integração

    +
  • 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.
  • +
  • O Convergence pode utilizar como backend o Monkeysphere, o que pode reduzir o problema do MITM +upstream.
  • +
+ + +
+
+

Perspectivas

    +
  • +

    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.

    +
  • +
  • +

    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.

    +
  • +
  • +

    A pluralidade de métodos e a plugalidade (:P) de soluções podem convergir num esquema de validação híbrido.

    +
  • +
  • +

    Conscientização do público é fundamental.

    +
  • +
+ + +
+
+

Demonstrações

    +
  • Monkeysphere
  • +
  • Convergence
  • +
+ + +
+
+

Perguntas?

+ + +
+ + + -- cgit v1.2.3