Homem nos ataques médios versus autoridades de certificação SSL

4

O que impede alguém do MITM de atacar a solicitação à autoridade de certificação para verificar o certificado? O navegador vem pré-carregado com as chaves públicas das autoridades de certificação confiáveis (fornecendo autenticação)?

Sempre que penso em ataques MITM, penso que qualquer defesa requer uma conexão "segura" para ser estabelecida para autenticação, e que o estabelecimento inicial de qualquer conexão "segura" sempre parece estar sujeito a um ataque MITM em si. Por exemplo, se as chaves públicas das autoridades de certificação confiáveis acima forem de fato distribuídas com o navegador, a distribuição do navegador estará sujeita a ataques MITM. Pelo que entendi, mesmo se você entregasse a alguém uma chave pública / certificado / qualquer coisa em um pedaço de papel, seria melhor conhecê-los de outro lugar, do contrário eles poderiam ser um MITM.

Eu entendo isso corretamente?

Obrigado!

    
por scotjam 17.11.2010 / 16:46

4 respostas

5

What stops someone from MITM-attacking the request to the certificate authority to verify the certificate?

Quando um navegador recebe um certificado, ele não se conecta à autoridade de certificação emissora (CA) para verificar o certificado; já deve confiar no CA, a priori. Dependendo do certificado, da autoridade de certificação e do navegador, pode se conectar a um URL contido no certificado de autoridade de certificação para verificar se o certificado apresentado pelo site foi revogado (uma lista de revogação), mas A conexão é garantida pelo certificado CA e não pelo certificado apresentado pelo site. Até onde sei, a maioria dos navegadores não faz isso, embora a maioria possa ser configurada para isso. Se um certificado de autoridade de certificação for comprometido, o certificado da autoridade de certificação precisará ser removido manualmente ou removido por um patch ou nova versão do código do navegador.

Does the browser come pre-loaded with the public keys of the trusted certificate authorities (thereby providing authentication)?

Sim. Mais do que apenas chaves públicas, na verdade, os certificados autoassinados das CAs, que contêm chaves públicas, devem conter URLs para verificar o certificado em si, além das Listas de Revogação, e, potencialmente, muito mais. Basicamente, cada fabricante de navegador tem que decidir quais CAs pré-instalar e quais deixar de fora, e este é um tópico de muita discussão e grandes negócios. A maioria das CAs gera muito dinheiro vendendo certificados, e isso os beneficia a serem pré-instalados em todos os navegadores, então eles pressionam muito os fabricantes de navegadores para instalá-los. Mas a confiabilidade das CAs é um tópico que pode causar muito debate entre os seguranças.

Whenever I think about MITM attacks, I think that any defence requires a "safe" connection to be established for authentication, and that the initial establishment of any "safe" connection always seems to be subject to a MITM attack itself. So for example, if the public keys of the trusted certificate authorities above are indeed distributed with the browser, the distribution of the browser would be subject to MITM attacks.

Embora seja verdade, esse é um vetor de ataque significativamente mais difícil do que outras abordagens, e você pode combatê-lo verificando o arquivo de distribuição do navegador antes de instalá-lo (isto é, verificar o hash SHA1 do arquivo de instalação com base no hash publicado do site). Nesse ponto, um invasor teria que se infiltrar no fabricante do navegador ou na Autoridade de Certificação, que novamente são vetores de ataque mais difíceis (embora certamente não sejam desconhecidos).

As I understand it, even if you physically handed someone a public key / certificate / anything on a piece of paper, you had better know them from elsewhere otherwise they could be a MITM.

Bem, dar a alguém sua chave pública (ou um certificado que contenha uma chave pública) é inofensivo. Tudo o que isso significa é que eles podem verificar se as coisas que você assinou com o certificado na verdade vieram de você (e podem criptografar coisas que só você pode descriptografar).

Mas, fundamentalmente, você está certo. Em algum momento, você precisa confiar em alguém. Essa é uma coisa importante a ser lembrada sobre segurança, redes, negócios e vida. É claro que você precisa moderar isso com uma dose saudável de ceticismo e reavaliar continuamente seus relacionamentos de confiança. E, claro, você também deve ter em mente alguns conselhos sábios do Gipper: " Confie, mas verifique " ( ou, se preferir, siga os conselhos do velho provérbio russo: "doveryai, no proveryai" [Russian: Доверяй, но проверяй] "). Para realmente proteger seu computador, você precisará desligá-lo, destruí-lo, destruir os componentes e depois destruir os restos mortais.

No que diz respeito ao estabelecimento de uma relação de confiança com outra pessoa, ajuda ter um amigo em comum que já confie neles. Esse é o ponto principal por trás do "anel de confiança" Em algum momento você tem que ter um pouco de fé. Como você sabe que a pessoa que lhe emitiu sua carteira de motorista é realmente um funcionário do estado. Claro, você pode gerar sua chave pública, memorizar a impressão digital e instalar a chave do pub no sistema de destino

Do I understand this correctly?

Não tenho certeza, mas suspeito que sim. Por favor, repita tudo de volta para mim, parafraseado em suas próprias palavras e eu vou deixar você saber.

EDIT: E realmente, como GregD ressalta, tudo isso é acadêmico, porque a maioria das pessoas clicam no botão "Continuar mesmo assim" quando o navegador avisa que ele não confia no certificado e, em seguida, é game over. É claro que se você trabalha em uma empresa e controla o sistema em que os usuários são emitidos, você provavelmente pode configurá-lo para que ele não apresente esse botão, mas você terá que lidar com a falha. A única vez em que é aceitável clicar nesse botão é quando você não está conectado a uma rede e tem um único fio entre você e o sistema que apresenta o certificado não confiável (e, mesmo assim, é discutível).

    
por 17.11.2010 / 18:17
2

Nada (se for feito errado, embora não seja feito, é difícil comentar) e sim. Seu navegador vem pré-carregado com vários certificados de CA, que você usa para verificar qualquer certificado público apresentado a você; a questão de como confiar em seu pacote CA é interessante e aberta.

    
por 17.11.2010 / 16:59
2

Sim. O navegador vem pré-carregado com certificados para autoridades de certificação confiáveis comuns.

É teoricamente possível alterar os certificados e / ou o seu navegador de forma que você não tenha conhecimento dos ataques MITM que estão ocorrendo. Se seus certificados de autoridade de certificação fossem alterados (por malware, por exemplo), eles não corresponderiam aos sites que usam a autoridade de certificação real, mas permitiriam ataques de MITM se o navegador fosse roteado pelo terceiro malvado. Eu não estou ciente de um exemplo real do mundo real disso acontecendo, mas eu não acho que seria difícil para um escritor de malware realizar.

A melhor defesa para o cenário acima é manter sua proteção antivírus atualizada e não clicar em links em e-mails para acessar seus sites confiáveis.

    
por 17.11.2010 / 17:32
2

Para conduzir um ataque MITM bem-sucedido, tudo o que tenho a fazer é fazer com que seu usuário aceite meu certificado assim que eu tiver envenenado suas conexões. Com a maioria dos usuários finais, quão fácil é isso?

Treine bem seus usuários finais.

    
por 17.11.2010 / 17:59