Os ataques do Man in the Middle (MitM) existem desde o início dos tempos. O princípio é simples: um bandido se insere no meio de uma conversa entre duas partes e retransmite as mensagens umas das outras sem que nenhuma das partes esteja ciente da terceira pessoa. No contexto da Internet, isso significa que a parte intermediária tem a capacidade de ler tudo o que é enviado por uma das partes e também alterá-lo.
Como um ataque do homem no meio funciona?
No passado, a frase se referia a uma pessoa literal no meio. O general Bob despachava seu mensageiro a cavalo para dizer ao coronel Alice para atacar o flanco esquerdo. Lady Mallory, um homem malvado (a) no meio, atropelaria aquele mensageiro e roubaria a mensagem. Depois, ela mudava a mensagem para o coronel Alice, instruindo-o a voltar e enviar uma resposta ao general Bob, reconhecendo as ordens de acompanhamento originais. Pouco tempo depois, o general Bob perde a guerra com um embaraço tático impressionante, porque seu flanco esquerdo estava completamente desprotegido.
Os ataques do Internet MitM têm a mesma forma. Um ataque comum do MitM é para Mallory configurar um ponto de acesso sem fio falso em um local público; uma cafeteria, por exemplo. Ela atribui ao ponto de acesso falso um nome legítimo, como ‘coffeeshop-customer-free-wifi’ e, em pouco tempo, os clientes começam a se conectar a esse ponto de acesso em vez do legítimo. Nesse momento, Mallory se inseriu no fluxo de dados entre o seu dispositivo e a Internet em geral e pode capturar todo o seu tráfego. Se você não estiver usando criptografia, isso também significa que Mallory agora pode ler todo o seu tráfego e potencialmente modificá-lo..
Alguns resultados possíveis dessa interceptação são:
Seqüestro de sessão: Considere o caso em que você está usando o webmail para enviar e-mail. Quando você fez login no seu webmail, Mallory pegou uma cópia do seu cookie de autenticação quando ele foi enviado para o seu navegador, e agora ela pode usá-lo para acessar também o seu webmail.
Nota: nos artigos anteriores, descrevi como a Web realmente funciona, versus como nos dizem que ela funciona. Nós não fazemos logon em sites. Em vez disso, nosso navegador solicita o site, que é enviado ao computador local. Em seguida, inserimos nossas credenciais de login enviadas ao servidor do site. Se as credenciais estiverem corretas, o site responderá com algum tipo de token de autenticação, geralmente um cookie. Quando fazemos solicitações adicionais em nosso computador, esse cookie é enviado juntamente com essas solicitações, para que o site saiba quem somos e não nos faça logar sempre que quisermos ir para outra página. Esse cookie é um token sensível e é valioso se roubado.
Replay attack: Mallory pode executar um ataque de repetição. Como ela possui todos os seus dados, é possível “reproduzir” algo que você fez. Por exemplo, se você transferiu 100 créditos do Runescape para o seu amigo, reenviar os pacotes que incluíam essa transferência original podem causar outra transferência e agora você tem 200 créditos.
Conteúdo alterado: Voltando ao exemplo de webmail, talvez você esteja instruindo seu advogado a reter os fundos de uma transação legal recente. Como Mallory tem todos os pacotes que compõem esse e-mail, ela pode alterar a palavra “reter” para “liberar” e causar todo tipo de confusão. Esse é um tipo popular de ataque do MitM que já vimos usado nos ataques complementares do Kodi Media Center, e também é o ataque fictício que Mallory usou para derrubar o General Bob.
Conteúdo ausente: Outra variante do conteúdo alterado é fazer com que o conteúdo simplesmente desapareça por completo. Talvez você esteja esperando algum sinal para fazer alguma coisa. Mallory pode garantir que nunca chegue.
Que proteções existem para impedir ataques do homem no meio?
Apesar das infinitas maneiras pelas quais esses ataques podem ocorrer, existem realmente apenas algumas coisas que são exploradas repetidamente. Para se proteger contra ataques do MitM, é necessário que exista o seguinte:
Não repúdio: A mensagem veio da pessoa ou dispositivo de que veio.
Integridade da mensagem: A mensagem não foi alterada desde que saiu do controle do remetente
Lembre-se de que a palavra “mensagem” está sendo usada genericamente para se referir a muitos conceitos, como e-mails completos ou pacotes de dados mais baixos na pilha. Os mesmos conceitos se aplicam, independentemente do tipo de dados.
As maneiras pelas quais evitar ser vítima de um ataque do MitM incluem:
Use HTTPS sempre que possível
Ver HTTPS na barra de endereços do navegador garante que a sua conexão com o site seja criptografada. Isso não significa que você deve confiar nesse site mais do que qualquer outro, apenas significa que seus dados são criptografados à medida que trafegam entre o dispositivo e o site. Os sites mal-intencionados podem ajudar a configurá-lo para um ataque do MitM, por isso vale a pena ter cuidado com todos os sites visitados, para garantir que seja legítimo começar.
HTTPS usa TLS (Transport Layer Security).
Nota: O TLS é quase universalmente incorretamente referido como SSL (Secure Sockets Layer). O SSL é um antecessor do TLS, mas o nome parece ter bloqueado.
O TLS e o HTTP trabalham juntos para produzir HTTPS, que fornece criptografia e não repúdio. Quando o navegador se conecta pela primeira vez a um site HTTPS, ele negocia com o servidor. Durante esse processo, o navegador examina o certificado do servidor para confirmar se está se conectando ao site em que pensa (não-repúdio) e também gera um conjunto de chaves de criptografia de sessão. Essas chaves são usadas durante toda a sessão subsequente para criptografar dados, o que, por sua vez, garante a integridade da mensagem.
Para Mallory alterar com êxito os dados que estão sendo enviados do servidor para você, ela deverá possuir as chaves de sessão do navegador e do servidor, nenhuma das quais jamais será transmitida. Isso implica que ela teria que ter controle sobre o cliente e o servidor e, se fosse esse o caso, não seria necessário montar um ataque do MitM em primeiro lugar.
Existem plugins de navegador que forçarão seu navegador a usar HTTPS sempre que estiver disponível em um site. Como muitos sites suportam HTTPS, mas não estão necessariamente configurados para forçar os navegadores a usá-lo, plug-ins como esse podem ajudar bastante.
Use um navegador que suporte Public Key Pinning
Alguns ataques MitM podem ser muito elaborados. Como uma grande quantidade de proteção decorre do TLS e da criptografia, e como a criptografia é difícil de quebrar, pode ser mais fácil para invasores avançados imitar um site. Por exemplo, os certificados TLS são confiáveis pelos navegadores porque são assinados pelas autoridades de certificação (CA) nas quais o navegador confia. Se Mallory comprometer uma CA com êxito, ela poderá emitir certificados válidos para qualquer domínio em que os navegadores confiem na confiança. Depois que Mallory conseguir se passar por um site legítimo, o único desafio restante é fazer com que os usuários o visitem por meio de técnicas padrão de phishing.
Esse foi o caso em 2011, quando o holandês CA DigiNotar foi comprometido e certificados foram criados para induzir um grande número de usuários iranianos do Gmail a abrir mão de seus nomes de usuário e senhas do Google.
A Public Key Pinning (HPKP) HTTP é um método pelo qual os proprietários de sites podem informar aos navegadores quais chaves públicas o site usará. Se um navegador visitar esse site e receber outra chave pública que não esteja na lista, isso indica que o site, ou pelo menos o certificado TLS, não é válido.
A fixação deve ser feita pelo proprietário do servidor, mas você pode se proteger como usuário usando um navegador que suporte a fixação de chave pública. Nesta data, o Firefox (versão 32), o Chrome (versão 56) e o Opera (33) o suportam; Internet Explorer e Edge não. O Firefox possui uma configuração em about: config chamada security.cert_pinning.enforcement_level; 1 que permite desativar o HPKP, mas por que você faria isso? Se você deseja testar se o seu navegador suporta o HKPK, visite este URL de teste do HPKP. Apresenta cabeçalhos HPKP e uma chave pública inválida. Se o seu navegador suportar HPKP, ele exibirá uma mensagem de erro.
Use uma rede virtual privada (VPN)
Uma VPN cria um túnel criptografado entre o seu dispositivo e o servidor VPN. Todo o seu tráfego passa por esse túnel. Isso significa que, mesmo que você seja forçado a usar um site que não seja HTTPS, ou mesmo que tenha sido enganado a usar um ponto de acesso wifi malicioso, ainda mantém algum grau de proteção contra o MitM.
Considere, a questão do ponto de acesso wifi. Se você se conectou ao ponto de acesso falso de Mallory, Mallory poderá ver todo o seu tráfego. Mas, como todo o seu tráfego é criptografado ao usar uma VPN, tudo o que ela recebe é um monte de blobs criptografados ilegíveis que fornecem muito poucos dados. Usar uma VPN o tempo todo é uma boa ideia, mas usá-la em situações complicadas, como wifi público, é uma obrigação.
Use um navegador que suporte HSTS (HTTP Strict Transport Security)
O HTTPS é um passo muito bom para impedir ataques do MitM na Web, mas também existe uma fraqueza potencial. Para que o proprietário de um site force os visitantes a usar HTTPS, existem duas opções. O primeiro é simplesmente desligar completamente a porta HTTP não criptografada 80. Isso significa que as pessoas que tentarem acessar o site usando http: // não receberão nada e o site atingirá o tempo limite. A maioria dos proprietários de sites não deseja que seus visitantes tenham essa experiência negativa. Em vez disso, eles deixam a porta 80 aberta, mas apenas a usam para enviar um código de redirecionamento HTTP 301 pedindo aos navegadores que acessem https: //.
Na prática, isso funciona bem, mas há uma oportunidade para um invasor executar um ataque de downgrade durante esse redirecionamento. Um ataque de downgrade pode forçar um servidor da Web a usar cifras criptográficas mais fracas, o que facilita um ataque subsequente do MitM. Os sites que empregam HSTS enviam cabeçalhos para o navegador durante a primeira conexão que direciona o navegador para usar HTTPS. O navegador desconecta a sessão existente e reconecta-se usando HTTPS. Embora isso pareça uma pequena diferença, diminui bastante o vetor de ataque do redirecionamento HTTP padrão para HTTPS. Quase todos os navegadores modernos suportam HSTS, mas existem muitos navegadores no mercado, por isso vale a pena confirmar que seu navegador específico suporta.
Ataques deselegantes do MitM
Também é importante notar que alguns ataques do MitM são bastante deselegantes e básicos. Por exemplo, sem muita experiência técnica, Mallory poderia configurar dois endereços de email que se aproximam de Alice e Bob e, em seguida, iniciar uma conversa com um deles, pretendendo ser o outro. Como muitos clientes de email mostram apenas os nomes dos endereços e não o endereço de email, esse truque funciona com mais frequência do que deveria. Será possível, então, Mallory operar as duas caixas de e-mail e permanecer no meio da conversa indefinidamente.
A melhor defesa contra esse tipo de ataque do MitM é estar vigilante. Procure sinais indicadores, como idioma incomum, e passe o mouse sobre o endereço de e-mail do remetente para ter certeza de que é legítimo.
Exemplos de ataques conhecidos do MitM
Já toquei no Wi-Fi do MitM e repito os ataques, mas quase não há limite para como as técnicas gerais do MitM podem ser usadas como ataque. Qualquer processo que tenha duas ou mais partes se comunicando (spoiler: isso é tudo) tem as coisas certas para um bandido se injetar no meio.
Intoxicação por ARP: O Address Resolution Protocol é o herói não reconhecido da rede IP que garante que os pacotes cheguem à placa de rede exata para a qual estão destinados. Depois que um pacote entra na LAN de destino, ele precisa saber o endereço MAC (Media Access Control) da placa de rede a que se destina. Isso é realizado por uma solicitação de ARP que solicita a todos os computadores na rede local “quem possui” o endereço IP de destino do pacote. Em teoria, a placa de rede atribuída a esse endereço IP responde com seu endereço MAC e o pacote é entregue. Na prática, não há autenticação incorporada no protocolo ARP, para que Mallory possa responder que possui esse IP e o tráfego será entregue a ela. Para tornar esse ataque um MitM de boa-fé, ela também deve garantir que o pacote seja encaminhado para o endereço MAC correto..
Roubo de porta: Este é um ataque avançado que pode ser usado em redes maiores que empregam comutadores de rede. Os comutadores contêm uma tabela CAM (Content Addressable Memory) que registra os relacionamentos entre os endereços MAC das placas de rede que atende e suas portas correspondentes. Se não houver outra configuração de segurança, a tabela CAM será criada e reconstruída dinamicamente a cada pacote que o switch vê. Um invasor pode falsificar um pacote com o endereço MAC da vítima e o switch registra essa associação. Isso significa que os pacotes subsequentes destinados à vítima serão enviados ao atacante.
Os ataques do MitM são muito difíceis de detectar e não existem defesas de “bala de prata” contra ele. Em grande parte, essa incapacidade de se defender completamente contra ataques do MitM decorre do fato de que quase não há fim para os tipos de ataques que um bandido pode imaginar. O processo de obter um pacote de dados do seu computador para um servidor em algum lugar da Internet envolve muitos protocolos, muitos aplicativos e muitos dispositivos, como roteadores e comutadores, todos com potencial para serem explorados. O melhor que você pode fazer é tornar-se uma “fruta pendurada” e tomar medidas para tornar mais difícil se tornar vítima de um ataque do MitM. A maioria dos ataques é direcionada a um grande número de pessoas, a fim de fornecer o maior potencial de sucesso. A menos que você esteja sendo direcionado especificamente por um adversário, as etapas deste artigo devem oferecer uma boa defesa.
Talvez você também goste de VPN (VPN) – compreendendo os logotipos e pesquisas de VPN – golpes on-line comuns do VPNPN + + usados por criminosos cibernéticos e fraudadores – VPN – Como remover spyware gratuitamente e quais ferramentas usar VPN – Onde VPNs são legais e onde são proibidos?
Os ataques do Man in the Middle (MitM) são uma ameaça constante desde o início dos tempos. No contexto da Internet, isso significa que um terceiro pode interceptar e alterar as mensagens entre duas partes sem que elas saibam. Existem várias proteções para impedir esses ataques, como o uso de HTTPS, um navegador que suporte Public Key Pinning, uma rede virtual privada (VPN) e um navegador que suporte HSTS (HTTP Strict Transport Security). Um exemplo comum de ataque do MitM é quando um ponto de acesso sem fio falso é configurado em um local público, como uma cafeteria, e os clientes se conectam a ele em vez do legítimo. Isso permite que o atacante capture todo o tráfego e potencialmente modifique-o. É importante estar ciente desses ataques e tomar medidas para se proteger.