From 3ce489cc93b25f11cd8180d75bb609f5e35d93d8 Mon Sep 17 00:00:00 2001 From: Silvio Date: Mon, 5 Dec 2011 10:34:56 -0200 Subject: Renaming --- cool.css | 105 ---------- cool.html | 566 ------------------------------------------------------ cool.markdown | 1 - cool.mdwn | 420 ---------------------------------------- cool.pdf.html | 593 --------------------------------------------------------- index.css | 105 ++++++++++ index.html | 566 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ index.markdown | 1 + index.mdwn | 420 ++++++++++++++++++++++++++++++++++++++++ index.pdf.html | 593 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 1685 insertions(+), 1685 deletions(-) delete mode 100644 cool.css delete mode 100644 cool.html delete mode 120000 cool.markdown delete mode 100644 cool.mdwn delete mode 100644 cool.pdf.html create mode 100644 index.css create mode 100644 index.html create mode 120000 index.markdown create mode 100644 index.mdwn create mode 100644 index.pdf.html diff --git a/cool.css b/cool.css deleted file mode 100644 index c270712..0000000 --- a/cool.css +++ /dev/null @@ -1,105 +0,0 @@ -@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 deleted file mode 100644 index 398cb66..0000000 --- a/cool.html +++ /dev/null @@ -1,566 +0,0 @@ - - - - - Convergence e Monkeysphere: chaves para gestão SSL distribuída - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
- -
-

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

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 principalmente 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. Autenticidade: os pontos da comunicação serão verificados.
  6. -
  7. Disponibilidade: proteção a DoS, etc.
  8. -
  9. Anonimato.
  10. -
- - -
-
-

SSL: Breve histórico (cont)

No caso do SSL/TLS:

- -
    -
  1. Sigilo: -
      -
    • Criptografia usando chaves assimétricas.
    • -
    • 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)
  • -
  • Árvore hierárquica de certificação
  • -
  • 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
  • -
- - -
-
-

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
  • -
  • Chromium - NSS (GNU/Linux)
  • -
- - -
-
-

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

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)?
-
- -
    -
  • -

    Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)?

    -
  • -
  • -

    Maus hábitos de sysadmins geram falsa sensação de segurança

    -
  • -
  • -

    Usabilidade: Bypass da tela de “conexão não-confiável”

    -
  • -
- - -
-
-

Evidências de cooperação

- - -
-
-

Casos reais

    -
  • -

    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?

- -

Pequenos provedores até grandes porções da internet podem ser afetados. 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 e explorar características locais e globais.

    -
  • -
- - -
-
-

http://convergence.io

- - -
-
-

Funcionamento

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

Constelação

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

Convergence: Problemas

    -
  • -

    Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber

    -
  • -
  • -

    Mudanças de chaves

    -
  • -
  • -

    The Citibank Problem

    -
  • -
  • -

    Futuro: TACK (Tethered Assertions for Certificate Keys): similar às Chaves Soberanas da EFF

    -
  • -
- - -
-
-

http://web.monkeysphere.info

    -
  • -

    Add-on pra firefox + agent + userland

    -
  • -
  • -

    Atrela a autenticação à identificações pessoais pela Web Of Trust

    -
  • -
  • -

    Também provê autorização

    -
  • -
- - -
-
-

I - Estabelecimento de confiança entre pessoas

Usuários e/ou admins trocam seus fingerprints OpenPGP.

- -
 ________       ________
-|        |-->--|        |
-| Admin  |     |  User  |
-|________|--<--|________|
-
- - -
-
-

II - Assinatura de chave do servidor

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

III - Conexão SSL

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

Web of Trust

    -
  • -

    Identificação.

    -
  • -
  • -

    Confiabilidade.

    -
  • -
  • -

    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.

    -
  • -
- - -
-
-

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, além de depender de uma grande WoT para ser eficaz.

    -
  • -
  • -

    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 deleted file mode 120000 index c697f4c..0000000 --- a/cool.markdown +++ /dev/null @@ -1 +0,0 @@ -cool.mdwn \ No newline at end of file diff --git a/cool.mdwn b/cool.mdwn deleted file mode 100644 index e5800b7..0000000 --- a/cool.mdwn +++ /dev/null @@ -1,420 +0,0 @@ -Title: Convergence e Monkeysphere: chaves para gestão SSL distribuída -Author: Silvio -Generator: S9 - -%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 -============================================================================= - -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: - -- DNS: [Dan Kaminsky Discovers Fundamental Issue In DNS](https://lwn.net/Articles/289138) ([análise](http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html)) -- BGP: [The Internet’s Biggest Security Hole](http://www.wired.com/threatlevel/2008/08/how-to-intercep/) -- SSL: [Várias brechas](https://links.sarava.org/tags/ssl) - -Estamos falando principalmente 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. Integridade: a informação não será adulterada. - 3. Autenticidade: os pontos da comunicação serão verificados. - 4. Disponibilidade: proteção a DoS, etc. - 5. Anonimato. - -SSL: Breve histórico (cont) -=========================== - -No [caso do SSL/TLS](https://techmeet.sarava.org/uploads/Agenda/SSL_For_Activists.pdf): - - 1. Sigilo: - - Criptografia usando chaves assimétricas. - - Troca de chaves: RSA or Diffie-Hellman (usem DHE!) - 2. Integridade: MAC Digest (hash) - 3. Autenticidade: Certificados - -SSL -=== - -- Encapsulamento de outros protocolos -- CipherSuite e Perfect Forward Secrecy -- Revogação (CRL / OCSP) -- Autoridades Certificadoras (CAs) -- Ataques: - - [SSL Computational DoS (THC)](http://www.thc.org/thc-ssl-dos/) - - [Hashclash (MD5)](http://www.win.tue.nl/hashclash/rogue-ca/) - - [BEAST](https://wiki.koumbit.net/BeastSecurityAssessment) - - [LittleBlackBox](https://code.google.com/p/littleblackbox/): chaves padrões em dispositivos embarcados! - - [sslsnif](http://www.thoughtcrime.org/software/sslsniff) - -Autoridades certificadoras -========================== - -- Sistema PKI em x509 (ITU-T - 1998): atrela uma chave pública a um nome (domínio, email, etc) -- Árvore hierárquica de certificação -- 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 - - - 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 - -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 -- Chromium - [NSS](http://code.google.com/p/chromium/wiki/LinuxCertManagement) (GNU/Linux) - -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 -============== - - 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)? - -- Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)? - -- Maus hábitos de sysadmins geram falsa sensação de segurança - -- Usabilidade: Bypass da tela de "conexão não-confiável" - -Evidências de cooperação -======================== - - - [Certified Lies: Detecting and Defeating Government Interception Attacks Against SSL](http://web.monkeysphere.info/news/CA_Cooperation_with_Governments/): _evidence that CAs may be cooperating with government agencies to help them spy undetected on "secure" encrypted communications_ - - - [Man-in-the-Middle Attacks Against SSL](https://www.schneier.com/blog/archives/2010/04/man-in-the-midd_2.html): _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._ - -Casos reais -=========== - -% "Crime maior do que roubar uma CA é fundar uma CA" - Bertold Brecha - -- [Comodogate](http://it.slashdot.org/story/08/12/23/0046258): mail.google.com, addons.mozilla.org, login.skype.com, etc. - -- [DigiNotar](http://www.f-secure.com/weblog/archives/00002228.html): certificados falsos da CIA, MI6 e Mossad ([timeline](http://www.networking4all.com/en/ssl+certificates/ssl+news/time-line+for+the+diginotar+hack/)). - -- [The EFF SSL Observatory](https://www.eff.org/observatory) ([27c3](http://events.ccc.de/congress/2010/Fahrplan/events/4121.en.html)) - -- 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. Meios efetivos de um MITM: - - DNS poisoning apontando requisições para servidores maliciosos. - - Redirecionamento de tráfego via BGP. - - Acesso físico à rede. - -Conexão SSL -============ - - _______________ - | | - | CA (local) | - |_______________| - | - ^ 3 - ____|____ 2 __________ - | |------<-------| | - | Cliente | | Servidor | - |_________|------>-------|__________| - 1 - -MITM -==== - - ________ - | | - .->| MITM |-<. - / |________| \ - | | - v v - ____|____ ____|_____ - | | | | - | Cliente |---X----| Servidor | - |_________| |__________| - - -Mas o quanto disso é factível? -============================== - -- Oriente médio: - - [The Internet's Secret Back Door: Web users in the United Arab Emirates have more to worry about than having just their BlackBerries cracked](http://www.slate.com/articles/technology/webhead/2010/08/the_internets_secret_back_door.html) (Cybertrust / Verizon) - - [Iran's Web Spying Aided By Western Technology ](http://online.wsj.com/article/SB124562668777335653.html#mod=rss_whats_news_us) (Nokia-Siemens) - - [Out of Egypt Censorship, US Tech Export Under Fire](http://yro.slashdot.org/story/11/02/11/1920258/Out-of-Egypt-Censorship-US-Tech-Export-Under-Fire) (Narus) - - [A Syrian Man-In-The-Middle Attack against Facebook](https://www.eff.org/deeplinks/2011/05/syrian-man-middle-against-facebook) - -- EUA: [NSA warrantless surveillance controversy](https://en.wikipedia.org/wiki/NSA_warrantless_surveillance_controversy / https://en.wikipedia.org/wiki/Hepting_v._AT%26T) - -- Brasil: [Massive DNS poisoning attacks in Brazil](http://www.securelist.com/en/blog/208193214/Massive_DNS_poisoning_attacks_in_Brazil) - -Pequenos provedores até grandes porções da internet podem ser afetados. O ataque é o mesmo, variando -apenas a capacidade do atacante. - -Mitigação -========= - -Recentemente foram propostas várias formas de mitigação: - -- [HTTP Strict Transport Security - HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) -- [Certificate Patrol](https://addons.mozilla.org/pt-BR/firefox/addon/certificate-patrol/?src=search): muito útil porém sofre to problema de secure introduction (Trust On First Use/Persistence of Pseudonym - TOFU/POP). -- [Certlock](https://code.google.com/p/certlock/) -- IETF: - - [Public Key Pinning Extension for HTTP](https://www.ietf.org/id/draft-evans-palmer-key-pinning-00.txt): também sofre do "problema de bootstrapping". - - [DNSSEC/DANE](http://tools.ietf.org/html/draft-ietf-dane-protocol-12): aumenta ainda mais a centralidade do DNS e apenas muda o problema de lugar. - - [CAA](https://tools.ietf.org/html/draft-hallambaker-donotissue-03) - - [HASTLS](https://tools.ietf.org/html/draft-hoffman-server-has-tls-04) -- [Sovereign Keys (EFF)](https://www.eff.org/deeplinks/2011/11/sovereign-keys-proposal-make-https-and-email-more-secure) -- Google: - - [Certificate Authority Transparency and Auditability](http://tech.slashdot.org/story/11/11/29/2226211/google-researchers-propose-plan-to-fix-ca-system) - - [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_ e explorar características _locais_ e _globais._ - -http://convergence.io -===================== - -- [Add-on para firefox](http://convergence.io/releases/firefox/convergence-current.application=x-xpinstall) + daemon - -- Precedido pelo Perspectives (http://perspectives-project.org) - -- "Trust agility": usuário/a escolhe em quem confiar e por quanto tempo - -- Sistema notarial distribuído e robusto - -- Anônimo e com boa usabilidade - -- [BlackHat USA 2011: SSL And The Future Of Authenticity](https://www.youtube.com/watch?v=Z7Wl2FW2TcA) - -Funcionamento -============= - - _______________ 5 cert - | |----<----. - | Notary server | \ - |_______________|---->---. \ - | | 4 \ \ - 6 v ^ 3 h+fp \ \ - _|__|____ 2 cert __\__\____ - | |------<-------| | - | Cliente | | Servidor | - |_________|------>-------|__________| - 1 - -Constelação -=========== - - ____ - .-----<-| | - | .-->-| N1 |< - ___________|_|_ |____| \ - | | ____ \ - | Notary bounce |->-| | \ - |_______________|-<-| N2 |<. \ - | | |____| \ \ - v ^ . \ \ - | | . \ \ - | | . \ \ - v ^ ____ \ \ - | | | | \ \ - | | | Nn | \ . - v ^ |____|-<-->. . | - ___|__|__ _\__v_v___ - | |------<----------| | - | Cliente | | Servidor | - |_________|------>----------|__________| - - -Convergence: Problemas -====================== - - - Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber - - - Mudanças de chaves - - - The Citibank Problem - - - Futuro: [TACK (Tethered Assertions for Certificate Keys)](https://github.com/moxie0/Convergence/wiki/TACK): similar às Chaves Soberanas da EFF - -http://web.monkeysphere.info -============================ - -- [Add-on pra firefox](https://addons.mozilla.org/pt-BR/firefox/addon/monkeysphere/?src=search) + agent + userland - -- Atrela a autenticação à identificações pessoais pela Web Of Trust - -- Também provê autorização - -I - Estabelecimento de confiança entre pessoas -============================================== - -Usuários e/ou admins trocam seus fingerprints OpenPGP. - - ________ ________ - | |-->--| | - | Admin | | User | - |________|--<--|________| - - -II - Assinatura de chave do servidor -==================================== - - ___________ - | | - | Keyserver | - |___________| - | - ^ 3 - ____|____ 2 __________ - | |------<-------| | - | Admin | | Servidor | - |_________|------>-------|__________| - 1 - -III - Conexão SSL -================= - - ___________ - | | - | Keyserver | - |___________| - | - ^ 3 - ____|____ 2 __________ - | |------<-------| | - | User | | Servidor | - |_________|------>-------|__________| - 1 - -Web of Trust -============ - - - Identificação. - - - Confiabilidade. - - - 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. - -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, além de depender de uma grande WoT para ser eficaz. - -- 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? -========= - - :) - 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 @@ - - - - - Convergence e Monkeysphere: chaves para gestão SSL distribuída - - - - - - - - -
- -
-

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

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 principalmente 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. Autenticidade: os pontos da comunicação serão verificados.
  6. -
  7. Disponibilidade: proteção a DoS, etc.
  8. -
  9. Anonimato.
  10. -
- - -
-
-

SSL: Breve histórico (cont)

No caso do SSL/TLS:

- -
    -
  1. Sigilo: -
      -
    • Criptografia usando chaves assimétricas.
    • -
    • 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)
  • -
  • Árvore hierárquica de certificação
  • -
  • 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
  • -
- - -
-
-

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
  • -
  • Chromium - NSS (GNU/Linux)
  • -
- - -
-
-

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

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)?
-
- -
    -
  • -

    Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)?

    -
  • -
  • -

    Maus hábitos de sysadmins geram falsa sensação de segurança

    -
  • -
  • -

    Usabilidade: Bypass da tela de “conexão não-confiável”

    -
  • -
- - -
-
-

Evidências de cooperação

- - -
-
-

Casos reais

    -
  • -

    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?

- -

Pequenos provedores até grandes porções da internet podem ser afetados. 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 e explorar características locais e globais.

    -
  • -
- - -
-
-

http://convergence.io

- - -
-
-

Funcionamento

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

Constelação

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

Convergence: Problemas

    -
  • -

    Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber

    -
  • -
  • -

    Mudanças de chaves

    -
  • -
  • -

    The Citibank Problem

    -
  • -
  • -

    Futuro: TACK (Tethered Assertions for Certificate Keys): similar às Chaves Soberanas da EFF

    -
  • -
- - -
-
-

http://web.monkeysphere.info

    -
  • -

    Add-on pra firefox + agent + userland

    -
  • -
  • -

    Atrela a autenticação à identificações pessoais pela Web Of Trust

    -
  • -
  • -

    Também provê autorização

    -
  • -
- - -
-
-

I - Estabelecimento de confiança entre pessoas

Usuários e/ou admins trocam seus fingerprints OpenPGP.

- -
 ________       ________
-|        |-->--|        |
-| Admin  |     |  User  |
-|________|--<--|________|
-
- - -
-
-

II - Assinatura de chave do servidor

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

III - Conexão SSL

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

Web of Trust

    -
  • -

    Identificação.

    -
  • -
  • -

    Confiabilidade.

    -
  • -
  • -

    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.

    -
  • -
- - -
-
-

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, além de depender de uma grande WoT para ser eficaz.

    -
  • -
  • -

    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?

:)
-
- -
- - -
- - - diff --git a/index.css b/index.css new file mode 100644 index 0000000..c270712 --- /dev/null +++ b/index.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/index.html b/index.html new file mode 100644 index 0000000..72f42b0 --- /dev/null +++ b/index.html @@ -0,0 +1,566 @@ + + + + + Convergence e Monkeysphere: chaves para gestão SSL distribuída + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+

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

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 principalmente 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. Autenticidade: os pontos da comunicação serão verificados.
  6. +
  7. Disponibilidade: proteção a DoS, etc.
  8. +
  9. Anonimato.
  10. +
+ + +
+
+

SSL: Breve histórico (cont)

No caso do SSL/TLS:

+ +
    +
  1. Sigilo: +
      +
    • Criptografia usando chaves assimétricas.
    • +
    • 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)
  • +
  • Árvore hierárquica de certificação
  • +
  • 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
  • +
+ + +
+
+

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
  • +
  • Chromium - NSS (GNU/Linux)
  • +
+ + +
+
+

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

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)?
+
+ +
    +
  • +

    Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)?

    +
  • +
  • +

    Maus hábitos de sysadmins geram falsa sensação de segurança

    +
  • +
  • +

    Usabilidade: Bypass da tela de “conexão não-confiável”

    +
  • +
+ + +
+
+

Evidências de cooperação

+ + +
+
+

Casos reais

    +
  • +

    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?

+ +

Pequenos provedores até grandes porções da internet podem ser afetados. 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 e explorar características locais e globais.

    +
  • +
+ + +
+
+

http://convergence.io

+ + +
+
+

Funcionamento

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

Constelação

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

Convergence: Problemas

    +
  • +

    Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber

    +
  • +
  • +

    Mudanças de chaves

    +
  • +
  • +

    The Citibank Problem

    +
  • +
  • +

    Futuro: TACK (Tethered Assertions for Certificate Keys): similar às Chaves Soberanas da EFF

    +
  • +
+ + +
+
+

http://web.monkeysphere.info

    +
  • +

    Add-on pra firefox + agent + userland

    +
  • +
  • +

    Atrela a autenticação à identificações pessoais pela Web Of Trust

    +
  • +
  • +

    Também provê autorização

    +
  • +
+ + +
+
+

I - Estabelecimento de confiança entre pessoas

Usuários e/ou admins trocam seus fingerprints OpenPGP.

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

II - Assinatura de chave do servidor

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

III - Conexão SSL

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

Web of Trust

    +
  • +

    Identificação.

    +
  • +
  • +

    Confiabilidade.

    +
  • +
  • +

    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.

    +
  • +
+ + +
+
+

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, além de depender de uma grande WoT para ser eficaz.

    +
  • +
  • +

    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/index.markdown b/index.markdown new file mode 120000 index 0000000..9f2fbdb --- /dev/null +++ b/index.markdown @@ -0,0 +1 @@ +index.mdwn \ No newline at end of file diff --git a/index.mdwn b/index.mdwn new file mode 100644 index 0000000..e5800b7 --- /dev/null +++ b/index.mdwn @@ -0,0 +1,420 @@ +Title: Convergence e Monkeysphere: chaves para gestão SSL distribuída +Author: Silvio +Generator: S9 + +%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 +============================================================================= + +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: + +- DNS: [Dan Kaminsky Discovers Fundamental Issue In DNS](https://lwn.net/Articles/289138) ([análise](http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html)) +- BGP: [The Internet’s Biggest Security Hole](http://www.wired.com/threatlevel/2008/08/how-to-intercep/) +- SSL: [Várias brechas](https://links.sarava.org/tags/ssl) + +Estamos falando principalmente 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. Integridade: a informação não será adulterada. + 3. Autenticidade: os pontos da comunicação serão verificados. + 4. Disponibilidade: proteção a DoS, etc. + 5. Anonimato. + +SSL: Breve histórico (cont) +=========================== + +No [caso do SSL/TLS](https://techmeet.sarava.org/uploads/Agenda/SSL_For_Activists.pdf): + + 1. Sigilo: + - Criptografia usando chaves assimétricas. + - Troca de chaves: RSA or Diffie-Hellman (usem DHE!) + 2. Integridade: MAC Digest (hash) + 3. Autenticidade: Certificados + +SSL +=== + +- Encapsulamento de outros protocolos +- CipherSuite e Perfect Forward Secrecy +- Revogação (CRL / OCSP) +- Autoridades Certificadoras (CAs) +- Ataques: + - [SSL Computational DoS (THC)](http://www.thc.org/thc-ssl-dos/) + - [Hashclash (MD5)](http://www.win.tue.nl/hashclash/rogue-ca/) + - [BEAST](https://wiki.koumbit.net/BeastSecurityAssessment) + - [LittleBlackBox](https://code.google.com/p/littleblackbox/): chaves padrões em dispositivos embarcados! + - [sslsnif](http://www.thoughtcrime.org/software/sslsniff) + +Autoridades certificadoras +========================== + +- Sistema PKI em x509 (ITU-T - 1998): atrela uma chave pública a um nome (domínio, email, etc) +- Árvore hierárquica de certificação +- 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 + + - 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 + +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 +- Chromium - [NSS](http://code.google.com/p/chromium/wiki/LinuxCertManagement) (GNU/Linux) + +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 +============== + + 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)? + +- Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)? + +- Maus hábitos de sysadmins geram falsa sensação de segurança + +- Usabilidade: Bypass da tela de "conexão não-confiável" + +Evidências de cooperação +======================== + + - [Certified Lies: Detecting and Defeating Government Interception Attacks Against SSL](http://web.monkeysphere.info/news/CA_Cooperation_with_Governments/): _evidence that CAs may be cooperating with government agencies to help them spy undetected on "secure" encrypted communications_ + + - [Man-in-the-Middle Attacks Against SSL](https://www.schneier.com/blog/archives/2010/04/man-in-the-midd_2.html): _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._ + +Casos reais +=========== + +% "Crime maior do que roubar uma CA é fundar uma CA" - Bertold Brecha + +- [Comodogate](http://it.slashdot.org/story/08/12/23/0046258): mail.google.com, addons.mozilla.org, login.skype.com, etc. + +- [DigiNotar](http://www.f-secure.com/weblog/archives/00002228.html): certificados falsos da CIA, MI6 e Mossad ([timeline](http://www.networking4all.com/en/ssl+certificates/ssl+news/time-line+for+the+diginotar+hack/)). + +- [The EFF SSL Observatory](https://www.eff.org/observatory) ([27c3](http://events.ccc.de/congress/2010/Fahrplan/events/4121.en.html)) + +- 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. Meios efetivos de um MITM: + - DNS poisoning apontando requisições para servidores maliciosos. + - Redirecionamento de tráfego via BGP. + - Acesso físico à rede. + +Conexão SSL +============ + + _______________ + | | + | CA (local) | + |_______________| + | + ^ 3 + ____|____ 2 __________ + | |------<-------| | + | Cliente | | Servidor | + |_________|------>-------|__________| + 1 + +MITM +==== + + ________ + | | + .->| MITM |-<. + / |________| \ + | | + v v + ____|____ ____|_____ + | | | | + | Cliente |---X----| Servidor | + |_________| |__________| + + +Mas o quanto disso é factível? +============================== + +- Oriente médio: + - [The Internet's Secret Back Door: Web users in the United Arab Emirates have more to worry about than having just their BlackBerries cracked](http://www.slate.com/articles/technology/webhead/2010/08/the_internets_secret_back_door.html) (Cybertrust / Verizon) + - [Iran's Web Spying Aided By Western Technology ](http://online.wsj.com/article/SB124562668777335653.html#mod=rss_whats_news_us) (Nokia-Siemens) + - [Out of Egypt Censorship, US Tech Export Under Fire](http://yro.slashdot.org/story/11/02/11/1920258/Out-of-Egypt-Censorship-US-Tech-Export-Under-Fire) (Narus) + - [A Syrian Man-In-The-Middle Attack against Facebook](https://www.eff.org/deeplinks/2011/05/syrian-man-middle-against-facebook) + +- EUA: [NSA warrantless surveillance controversy](https://en.wikipedia.org/wiki/NSA_warrantless_surveillance_controversy / https://en.wikipedia.org/wiki/Hepting_v._AT%26T) + +- Brasil: [Massive DNS poisoning attacks in Brazil](http://www.securelist.com/en/blog/208193214/Massive_DNS_poisoning_attacks_in_Brazil) + +Pequenos provedores até grandes porções da internet podem ser afetados. O ataque é o mesmo, variando +apenas a capacidade do atacante. + +Mitigação +========= + +Recentemente foram propostas várias formas de mitigação: + +- [HTTP Strict Transport Security - HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) +- [Certificate Patrol](https://addons.mozilla.org/pt-BR/firefox/addon/certificate-patrol/?src=search): muito útil porém sofre to problema de secure introduction (Trust On First Use/Persistence of Pseudonym - TOFU/POP). +- [Certlock](https://code.google.com/p/certlock/) +- IETF: + - [Public Key Pinning Extension for HTTP](https://www.ietf.org/id/draft-evans-palmer-key-pinning-00.txt): também sofre do "problema de bootstrapping". + - [DNSSEC/DANE](http://tools.ietf.org/html/draft-ietf-dane-protocol-12): aumenta ainda mais a centralidade do DNS e apenas muda o problema de lugar. + - [CAA](https://tools.ietf.org/html/draft-hallambaker-donotissue-03) + - [HASTLS](https://tools.ietf.org/html/draft-hoffman-server-has-tls-04) +- [Sovereign Keys (EFF)](https://www.eff.org/deeplinks/2011/11/sovereign-keys-proposal-make-https-and-email-more-secure) +- Google: + - [Certificate Authority Transparency and Auditability](http://tech.slashdot.org/story/11/11/29/2226211/google-researchers-propose-plan-to-fix-ca-system) + - [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_ e explorar características _locais_ e _globais._ + +http://convergence.io +===================== + +- [Add-on para firefox](http://convergence.io/releases/firefox/convergence-current.application=x-xpinstall) + daemon + +- Precedido pelo Perspectives (http://perspectives-project.org) + +- "Trust agility": usuário/a escolhe em quem confiar e por quanto tempo + +- Sistema notarial distribuído e robusto + +- Anônimo e com boa usabilidade + +- [BlackHat USA 2011: SSL And The Future Of Authenticity](https://www.youtube.com/watch?v=Z7Wl2FW2TcA) + +Funcionamento +============= + + _______________ 5 cert + | |----<----. + | Notary server | \ + |_______________|---->---. \ + | | 4 \ \ + 6 v ^ 3 h+fp \ \ + _|__|____ 2 cert __\__\____ + | |------<-------| | + | Cliente | | Servidor | + |_________|------>-------|__________| + 1 + +Constelação +=========== + + ____ + .-----<-| | + | .-->-| N1 |< + ___________|_|_ |____| \ + | | ____ \ + | Notary bounce |->-| | \ + |_______________|-<-| N2 |<. \ + | | |____| \ \ + v ^ . \ \ + | | . \ \ + | | . \ \ + v ^ ____ \ \ + | | | | \ \ + | | | Nn | \ . + v ^ |____|-<-->. . | + ___|__|__ _\__v_v___ + | |------<----------| | + | Cliente | | Servidor | + |_________|------>----------|__________| + + +Convergence: Problemas +====================== + + - Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber + + - Mudanças de chaves + + - The Citibank Problem + + - Futuro: [TACK (Tethered Assertions for Certificate Keys)](https://github.com/moxie0/Convergence/wiki/TACK): similar às Chaves Soberanas da EFF + +http://web.monkeysphere.info +============================ + +- [Add-on pra firefox](https://addons.mozilla.org/pt-BR/firefox/addon/monkeysphere/?src=search) + agent + userland + +- Atrela a autenticação à identificações pessoais pela Web Of Trust + +- Também provê autorização + +I - Estabelecimento de confiança entre pessoas +============================================== + +Usuários e/ou admins trocam seus fingerprints OpenPGP. + + ________ ________ + | |-->--| | + | Admin | | User | + |________|--<--|________| + + +II - Assinatura de chave do servidor +==================================== + + ___________ + | | + | Keyserver | + |___________| + | + ^ 3 + ____|____ 2 __________ + | |------<-------| | + | Admin | | Servidor | + |_________|------>-------|__________| + 1 + +III - Conexão SSL +================= + + ___________ + | | + | Keyserver | + |___________| + | + ^ 3 + ____|____ 2 __________ + | |------<-------| | + | User | | Servidor | + |_________|------>-------|__________| + 1 + +Web of Trust +============ + + - Identificação. + + - Confiabilidade. + + - 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. + +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, além de depender de uma grande WoT para ser eficaz. + +- 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? +========= + + :) + diff --git a/index.pdf.html b/index.pdf.html new file mode 100644 index 0000000..26540b7 --- /dev/null +++ b/index.pdf.html @@ -0,0 +1,593 @@ + + + + + Convergence e Monkeysphere: chaves para gestão SSL distribuída + + + + + + + + +
+ +
+

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

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 principalmente 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. Autenticidade: os pontos da comunicação serão verificados.
  6. +
  7. Disponibilidade: proteção a DoS, etc.
  8. +
  9. Anonimato.
  10. +
+ + +
+
+

SSL: Breve histórico (cont)

No caso do SSL/TLS:

+ +
    +
  1. Sigilo: +
      +
    • Criptografia usando chaves assimétricas.
    • +
    • 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)
  • +
  • Árvore hierárquica de certificação
  • +
  • 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
  • +
+ + +
+
+

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
  • +
  • Chromium - NSS (GNU/Linux)
  • +
+ + +
+
+

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

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)?
+
+ +
    +
  • +

    Vocês checam seus fingerprints (OpenPGP, SSH e OpenSSL)?

    +
  • +
  • +

    Maus hábitos de sysadmins geram falsa sensação de segurança

    +
  • +
  • +

    Usabilidade: Bypass da tela de “conexão não-confiável”

    +
  • +
+ + +
+
+

Evidências de cooperação

+ + +
+
+

Casos reais

    +
  • +

    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?

+ +

Pequenos provedores até grandes porções da internet podem ser afetados. 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 e explorar características locais e globais.

    +
  • +
+ + +
+
+

http://convergence.io

+ + +
+
+

Funcionamento

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

Constelação

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

Convergence: Problemas

    +
  • +

    Se o MITM estiver exatamente no provedor upstream, o Convergence pode não perceber

    +
  • +
  • +

    Mudanças de chaves

    +
  • +
  • +

    The Citibank Problem

    +
  • +
  • +

    Futuro: TACK (Tethered Assertions for Certificate Keys): similar às Chaves Soberanas da EFF

    +
  • +
+ + +
+
+

http://web.monkeysphere.info

    +
  • +

    Add-on pra firefox + agent + userland

    +
  • +
  • +

    Atrela a autenticação à identificações pessoais pela Web Of Trust

    +
  • +
  • +

    Também provê autorização

    +
  • +
+ + +
+
+

I - Estabelecimento de confiança entre pessoas

Usuários e/ou admins trocam seus fingerprints OpenPGP.

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

II - Assinatura de chave do servidor

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

III - Conexão SSL

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

Web of Trust

    +
  • +

    Identificação.

    +
  • +
  • +

    Confiabilidade.

    +
  • +
  • +

    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.

    +
  • +
+ + +
+
+

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, além de depender de uma grande WoT para ser eficaz.

    +
  • +
  • +

    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