Compartilhar via


A implementação de um ataque man-in-the-Meio (CNG exemplo)

O exemplo de uma comunicação segura a CNG (criptografia Próximo Generation) demonstra um ataque man-in-the-Meio, em que um terceiro (Mallory) insere-se entre as Dois extremidades de comunicação (Ana Maria e Luís).

O exemplo a CNG usa pipes nomeados para oferecer comunicação entre processos. Ana Maria sempre atua sistema autônomo um servidor de pipe nomeado e Bob sempre funciona sistema autônomo um cliente de pipe nomeado. Mallory assume uma Atribuição do cliente com Ana Maria (ou seja, ele personifica Paulo) e uma Atribuição de servidor com Bob (ou seja, ele personifica Alice). Isso é chamado de substituição, o que é um ataque de interceptação na clássico.

Para obter Informação Detalhado sobre esse cenário, consulte Etapa - por-Etapa chave e a troca de mensagens (CNG exemplo).

No exemplo a CNG, a palavra "representação" é usada para referir-se a substituição de Mallory para Bob ou Mallory para Alice. No entanto, representação também tem um significado específico refere-se a pipes nomeados, conforme discutido na documentação para o NamedPipeServerStream.RunAsClient(PipeStreamImpersonationWorker)método.

Assinaturas digital

As assinaturas digital são usadas geralmente para impedir ataques man-in-the-Meio. Normalmente, as chaves de assinatura são fornecidas e mantidas por uma infra-estrutura de chave Público (PKI). A PKI é raramente local no computador. Ele é geralmente suporte de segurança ou Agrupamento de administração de uma autoridade de certificação. O Usar de tal infra-estrutura está além do escopo deste exemplo. Em vez disso, o exemplo mostra como usar as classes da CNG para criar chaves de assinatura digital local.

Pontos de inserção

Um ataque man-in-the-Meio Necessita de um ponto de inserção na cadeia de sinal. Isso pode ocorrer quando os dispositivos de hardware físico que lidar com sistema de mensagens tenham sido comprometidos. Por exemplo, fios podem ser alternados ou redirecionados e telecomunicações servidores podem ser violadas e possivelmente eletricamente reconfigurados. No entanto, uma técnica mais provável que envolve a reconfigurar o software que mantém a rede. Por exemplo, as portas podem ser reatribuídas ou redirecionadas e um ponto de inserção de software pode ser estabelecido no aplicativo de comunicação.

Um Loophole minúscula

Quando um arquivo é aberto no modo de gravar, ele está bloqueado contra o Usar por outros aplicativos. Da mesma forma, quando um cliente de conexão se conecta a um servidor do pipe, o pipe é bloqueado Usar exclusivo pelo cliente e permanece bloqueado até que o cliente foi desconectado.

Um canal de cliente/servidor estabelecida é muito difícil Interrupção em. No entanto, o exemplo a CNG Mallory é com com facilidade capaz de interceptar e Modificar as mensagens de Ana Maria e Luís. Mallory não, fato, invadir um canal pipe estabelecidos. Em vez disso, o Mallory tira proveito de uma pequeno loophole que foi ignorada pelos protocolos de comunicação da empresa.

Ana Maria e Luís foram instruído a usar o PublicChannelpipe para compartilhar o nome de um canal particular e, em seguida, usar o canal de particular de contatos de vendas. Essas instruções permitem Mallory obter o nome do canal particular e inserir-se entre Ana Maria e Luís. As Dois próximas seções explicam como.

Intervalo

Em geral, o sucesso de um ataque man-in-the-Meio Depende de algo sutil, sistema autônomo o tempo. O exemplo a CNG demonstra esse conceito.

Mallory sabe que o Nova software (IM) que a empresa desenvolveu de sistema de mensagens de instantâneas depende de pipes nomeados. Ele sabe que Alice e Bob abrirá um pipe nomeado PublicChannel. Ele também sabe que terá de Alice enviar o nome de um pipe segundo para Roberto. Ana Maria e Luís fechará o PublicChanneltransportar via pipe e, em seguida, Abrir e Usar o pipe de segundo a troca de Informação sobre contatos de vendas.

Para roubar Informação de contato de vendas, Mallory precisa obter o nome do pipe segundo de Alice e impedir que o Bob obtenham ele. Para fazer isso, Todas o que ele tem a fazer é abrir o cliente participante PublicChannelcanalizar antes de Roberto faz.

O código-fonte usa 200 milissegundos de Aguardar no de System.Threading.Thread.Sleep(200)Declaração Bob Runmétodo para permitir que esta interceptação. waitDeclaração é deliberada e altamente visível, pois a finalidade do exemplo é demonstrar um ataque man-in-the-Meio. No mundo real, cenários de segurança são muito mais difícil analisar. Eles envolvem uma mistura de aplicativos de software, protocolos de transmissão, autenticação de rede, contas de usuário, registrar registrar registrar em log em registrar registrar registrar em log, permissões, treinamento, monitoramento, o tráfego do usuário e Outros técnicas de análise.

Apesar desses métodos sofisticados, um Intervalo de propagação de 200 milissegundos simples em um servidor de rede pode com com facilidade Aprovado desapercebido durante meses. Este é o motivo pelo qual cinco versões separadas do exemplo CNG foram Criado em antes dos interceptions finalmente derrotadas.

Substitution

Por interceptar o nome do pipe segundo ( AliceAndBobChannel), Mallory é capaz de interceptar a comunicação de Alice e Bob e Modificar as mensagens que enviarem uns aos outros. Aqui está como ele realiza esta substituição:

  1. Ana Maria abre o PublicChannelpipe no modo de servidor e aguarda o Bob conectar-se.

  2. Mallory conecta-se o PublicChannelno modo de cliente de pipe e recebe o nome do pipe segundo ( AliceAndBobChannel) de Alice.

  3. Ana Maria e Mallory fechar o PublicChannelpipe.

  4. Ana Maria abre AliceAndBobChannelpipe no modo de servidor e Mallory conecta a ele no modo de cliente.

  5. Mallory se conecta a Bob sistema autônomo um servidor sobre o PublicChannelpipe e Bob, conecta-se sistema autônomo um cliente.

  6. Mallory envia Bob pipe nome AliceAndBobChannel1(that is, he Alterações the name slightly). Bob acredita que ele está recebendo essas Informação de Alice.

  7. Mallory e Bob Desconecte o PublicChannelpipe.

  8. Mallory abre AliceAndBobChannel1pipe sistema autônomo um servidor e Bob conecta a ele sistema autônomo um cliente.

Mallory agora com êxito inseriu-se entre Ana Maria e Luís.

Mallory continua a funcionar sistema autônomo um cliente para Alice (sobre o AliceAndBobChannelpipe) e sistema autônomo um servidor de Bob (sobre o AliceAndBobChannel1) pipe. Agora ele pode Leitura, Modificar e retransmitir mensagens à medida que ele deseja. Bob Nenhum a Ana Maria percebe que alguém está interceptando e alterar suas mensagens.

Um ataque man-in-the-Meio geralmente é sutil. Para escapar da detecção, Mallory mantém um perfil de Baixo e altera apenas um pouco de contatos de vendas. Ele não que ser notado suas alterações.

Conclusão

Descobrir o homem no meio leva Hora, Paciência e muita atenção. Este exemplo única, 200 milissegundos de Aguardar se refere. Um quinto de segundo é o suficiente para comprometer o departamento de vendas inteira.

Consulte também

Conceitos

Serviços de criptografia

Pacote Microsoft Office 2010 estrutura criptografia Modelo

Serviços de criptografia

Outros recursos

Tarefas de criptografia