Man in the middle é um tipo de ci­be­ra­ta­que em que um hacker insere (de maneira física ou virtual) um sistema con­tro­lado por ele, entre o sistema da vítima e um recurso da internet por ela utilizado. O objetivo desse ataque é in­ter­cep­tar, espionar ou manipular a co­mu­ni­ca­ção entre a vítima e o recurso da internet, sem ser notado.

O que é um ataque man in the middle?

A expressão man in the middle (MITM) ou, em tradução livre “homem no meio”, descreve ataques nos quais um hacker se coloca no meio da trans­mis­são de dados entre com­pu­ta­do­res, enquanto esses com­pu­ta­do­res acreditam estar se co­mu­ni­cando somente entre si. No passado, esses ataques só eram possíveis mediante ma­ni­pu­la­ção física do canal de co­mu­ni­ca­ção. Hoje em dia, com redes públicas de co­mu­ni­ca­ção com­par­ti­lhada, acessos de terceiros não au­to­ri­za­dos podem ser feitos de maneira virtual. Os ataques man in the middle costumam tentar eliminar a crip­to­gra­fias SSL/TLS para ganhar acesso a in­for­ma­ções con­fi­den­ci­ais, como nomes de usuário, senhas e dados bancários.

O gráfico a seguir ilustra o esquema típico de um ataque man in the middle:

Imagem: Representação esquemática de um ataque man in the middle
Re­pre­sen­ta­ção es­que­má­tica de um ataque man in the middle: o sistema C se conecta im­per­cep­ti­vel­mente na co­mu­ni­ca­ção entre o sistema A e o sistema B

O esquema mostra o sistema A tentando es­ta­be­le­cer uma conexão en­crip­tada com o sistema B. Porém, o fluxo de dados é desviado pelo invasor, fazendo com que a conexão en­crip­tada do sistema A passe primeiro pelo sistema C para, somente então, ser en­ca­mi­nhada ao sistema B. Como con­sequên­cia, a pessoa que controla o sistema C (o invasor) pode ver, editar ou manipular todo o fluxo de dados. Nor­mal­mente os dados são ma­ni­pu­la­dos sem que os sistemas A e C percebam, já que o sistema C se apresenta ao sistema A como um servidor, e ao sistema B como um navegador.

Tipos de ataque man in the middle

Para se infiltrar entre dois ou mais sistemas, hackers utilizam técnicas que exploram vul­ne­ra­bi­li­da­des co­nhe­ci­das da co­mu­ni­ca­ção on-line.

Uma ótima área para realizar ataques man-in-the-middle em redes locais (LAN) é, por exemplo, no serviço DHCP: Dynamic Host Con­fi­gu­ra­tion Protocol, res­pon­sá­vel pela atri­bui­ção de endereços de IP locais, e no sistema ARP (Address Re­so­lu­tion Protocol), que determina os endereços de hardware (Media Access Control: MAC). Os ataques man-in-the-middle podem ser re­a­li­za­dos em escala global por meio da ma­ni­pu­la­ção de ser­vi­do­res DNS, res­pon­sá­veis pela resolução de endereços de internet em IPs públicos. Além disso, hackers se apro­vei­tam de falhas na segurança de na­ve­ga­do­res de­sa­tu­a­li­za­dos ou dis­po­ni­bi­li­zam acessos de WiFi cor­rom­pi­dos a usuários de­sa­vi­sa­dos.

De maneira geral, esse tipo de ataque é realizado au­to­ma­ti­ca­mente por softwares. Mas, quando os ataques são re­a­li­za­dos por humanos, eles são chamados de human-assisted attacks.

Ataques DHCP spoofing

Nos ataques baseados em DHCP, o próprio com­pu­ta­dor do hacker se mascara de servidor DHCP em uma rede local. Esse tipo de servidor é o com­po­nente central das redes locais, já que é res­pon­sá­vel por alocar a con­fi­gu­ra­ção de rede aos outros com­pu­ta­do­res em LAN. Ge­ral­mente essa alocação é au­to­má­tica: assim que um com­pu­ta­dor se conecta pela primeira vez à LAN, o cliente DHCP do sistema ope­ra­ci­o­nal solicita in­for­ma­ções como endereço de IP local, máscara de rede, endereço padrão de gateway e endereço do servidor DNS res­pon­sá­vel. Para isso, o cliente DHCP transmite uma mensagem a todos os dis­po­si­ti­vos em LAN e aguarda a resposta do servidor DHCP. A primeira resposta detalhada a ser recebida é aceita como ver­da­deira.

Mascarado de servidor DHCP, o hacker ganha a pos­si­bi­li­dade de controlar a alocação de endereços de IP locais, e de inserir gateways padrão e ser­vi­do­res DNS no com­pu­ta­dor trocado, re­di­re­ci­o­nando a saída de dados para o com­pu­ta­dor que escolher, a fim de espionar ou manipular esses conteúdos.

Como esse tipo de ataque é baseado na ma­ni­pu­la­ção do sistema DHCP, ele é chamado de DHCP spoofing. Mas esse tipo de ataqueman in the middlesó pode ocorrer se ohacker estiver conectado à mesma LAN da vítima. Alguns exemplos de situações em que um ataque baseado em DHCP pode ser realizado são redes LAN de hotéis e WiFis públicas. Se o hacker quiser se infiltrar em uma conexão à cabo, primeiro ele deve conseguir um acesso físico à LAN para, somente depois, inserir um servidor DHCP falso.

As medidas de prevenção que usuários podem tomar para evitar DHCP spoofing ge­ral­mente se res­trin­gem a uma conexão mais cuidadosa a redes des­co­nhe­ci­das. Acon­se­lha­mos também o uso de apli­ca­ti­vos de on-line banking ou a efe­ti­va­ção de compras on-line somente em redes seguras, como na WiFi da sua própria casa ou usando seus dados móveis (3G, 4G, 5G).

En­ve­ne­na­mento de cache ARP

O ARP é um protocolo de rede que serve para converter endereços de IP co­nec­ta­dos a uma LAN em endereços MAC (endereços de hardware). Para que um com­pu­ta­dor possa enviar pacotes de dados em uma rede, ele precisa conhecer o endereço de hardware do sistema que irá receber os dados. Para isso, uma so­li­ci­ta­ção ARP é enviada como trans­mis­são MAC a todos os sistemas na LAN. Ela contém tanto o endereço MAC e o IP do com­pu­ta­dor so­li­ci­tante quanto o endereço de IP do sistema re­qui­si­tado. Se um com­pu­ta­dor em rede recebe uma so­li­ci­ta­ção ARP, ele verifica se o pacote contém seu próprio endereço de IP como IP do des­ti­na­tá­rio. Em caso afir­ma­tivo, uma resposta ARP com o endereço MAC so­li­ci­tado é enviada de volta ao sistema que emitiu a so­li­ci­ta­ção.

A alocação desse endereço MAC a um com­pu­ta­dor local é ar­ma­ze­nada em forma de tabela no ARP cachedo com­pu­ta­dor so­li­ci­tado. O en­ve­ne­na­mento de cache ARP (ARP cache poisoning) começa aí, e tem por objetivo manipular as tabelas ARP dos com­pu­ta­do­res em rede, por meio derespostas ARP falsas. Com respostas falsas é possível que um com­pu­ta­dor con­tro­lado por um hacker seja re­co­nhe­cido como ponto de acesso WiFi ougateway para a internet.

Em um ARP spoofingde sucesso, os invasores con­se­gui­rão ler, gravar e manipular todos os dados trans­mi­ti­dos pelos com­pu­ta­do­res in­fec­ta­dos, antes deles serem en­ca­mi­nha­dos aogatewayver­da­deiro. Assim como oDHCP spoofing, o en­ve­ne­na­mento de cache ARP também só é possível se o invasor estiver conectado à mesma LAN que a vítima. Esse tipo de ataqueman in the middlepode ser im­ple­men­tado comfreewares simples, ori­gi­nal­mente des­ti­na­dos à re­cu­pe­ra­ção de senhas, ou com o software Ettercap.

Assim como nos ataques baseados em DHCP, uma vez que os usuários se encontram em uma LAN con­ta­mi­nada, eles pra­ti­ca­mente não têm chance de se defender contra o ARP spoofing. Portanto, evite usar redes des­co­nhe­ci­das ou use-as com cuidado.

Ataques baseados em DNS

Enquanto o en­ve­ne­na­mento de cache ARP se aproveita de vul­ne­ra­bi­li­da­des da resolução de endereços na Ethernet, o en­ve­ne­na­mento de cache baseado em DNS usa o sistema de nome de domínio da internet, que é res­pon­sá­vel pela resolução de URLs em endereços de IP públicos. Nesse tipo de ataque, o hacker manipula entradas no cache de um servidor DNS para que possa responder re­qui­si­ções com endereços de destino falsos. Assim, o hacker consegue re­di­re­ci­o­nar usuários da internet a qualquer site, sem que estes saibam. Eles ge­ral­mente se apro­vei­tam de co­nhe­ci­das vul­ne­ra­bi­li­da­des de ser­vi­do­res DNS mais antigos.

Ba­si­ca­mente, in­for­ma­ções DNS não são ar­ma­ze­na­das em um único servidor DNS, e sim em vários com­pu­ta­do­res em rede. Se um usuário quer acessar um site, ele ge­ral­mente digita o nome do domínio. No entanto, para acessar o servidor apro­pri­ado, é ne­ces­sá­rio um endereço de IP. O roteador do usuário determina esse IP enviando uma so­li­ci­ta­ção DNS ao servidor DNS padrão es­pe­ci­fi­cado na con­fi­gu­ra­ção.

Ele ge­ral­mente é o servidor DNS do provedor de serviços de internet (ISP). Se resource records forem en­con­tra­dos na URL so­li­ci­tada, o servidor DNS responde à so­li­ci­ta­ção com o IP correto. Caso contrário, o servidor DNS tenta descobrir o IP so­li­ci­tado pedindo ajuda a outros ser­vi­do­res com tarefas DNS. Além disso, o servidor envia uma so­li­ci­ta­ção de busca ao outros ser­vi­do­res DNS e armazena tem­po­ra­ri­a­mente as respostas em cache.

Ser­vi­do­res que usam versões mais antigas do software de DNS são as prin­ci­pais vítimas desses ataques. Eles ge­ral­mente aceitam e armazenam não somente as in­for­ma­ções es­pe­ci­fi­ca­mente so­li­ci­ta­das, como também in­for­ma­ções for­ne­ci­das adi­ci­o­nal­mente. Assim, basta que os hackers capturem um único servidor DNS para que possam fornecer registros falsos com cada endereço de IP correto, en­ve­ne­nando o cache do servidor DNS que faz a so­li­ci­ta­ção.

A gravidade dos ataques man in the middle pode ser com­pro­vada por in­ci­den­tes do passado, em que na­mes­pa­ces completos foram desviados. É pra­ti­ca­mente im­pos­sí­vel que usuários se protejam desses ataques, pois eles atuam di­re­ta­mente na in­fra­es­tru­tura da internet. Portanto, cabe aos pro­ve­do­res assegurar que os ser­vi­do­res que dis­po­ni­bi­li­zam usem softwares DNS atu­a­li­za­dos e estejam pro­te­gi­dos su­fi­ci­en­te­mente. Sob o nome DNSSEC: Domain Name System Security Ex­ten­si­ons, vários padrões da internet foram de­sen­vol­vi­dos para aprimorar o sistema DNS com me­ca­nis­mos de segurança, ga­ran­tindo a au­ten­ti­ci­dade e a in­te­gri­dade dos dados. Contudo, a im­ple­men­ta­ção desses padrões é lenta.

Simulação de pontos de acesso WiFi

Um tipo de ataque es­pe­ci­a­li­zado em dis­po­si­ti­vos móveis é baseado na simulação de um ponto de acesso a uma rede WiFi pública, como as dis­po­ni­bi­li­za­das em res­tau­ran­tes ou ae­ro­por­tos. Nesse ataque, o hacker configura o com­pu­ta­dor dele para simular uma rede de WiFi que oferece conexão à internet. Ao conseguir invadir um dis­po­si­tivo, o hacker poderá ver e manipular todo o fluxo de dados que passa pelo sistema do usuário, antes de ele ser en­ca­mi­nhado ao ponto de acesso ver­da­deiro. Se algum acesso exigir au­ten­ti­ca­ção, o hacker con­se­guirá também nomes de usuários e senhas uti­li­za­dos no login. Corre mais risco de ser vítima desse tipo de ataque man in the middle, quem tiver con­fi­gu­rado seu dis­po­si­tivo móvel para conectar-se au­to­ma­ti­ca­mente ao ponto de acesso com o sinal mais forte.

Para se proteger contra esse tipo de ataque, usuários devem conectar-se somente a redes WiFi co­nhe­ci­das, e estar sempre atentos para utilizar somente os pontos de acesso oficiais dos locais que os dis­po­ni­bi­li­zam.

Ataque man in the browser

Uma variante do ataque man in the middle, chamada de man in the browser, permite que um invasor instale ummalware no navegador de um usuário da internet, para in­ter­cep­tar seu tráfego de dados. Na maioria das vezes, ele ocorre em com­pu­ta­do­res de­sa­tu­a­li­za­dos, com falhas de segurança que facilitam a in­fil­tra­ção de hackers no sistema. Uma vez que de­ter­mi­nado programa se infiltra no navegador de um usuário, ele registra toda a troca de dados entre sites e o sistema da vítima, em segundo plano. Esse tipo de ataque permite que hackers espionem uma grande quan­ti­dade de sistemas fazendo pouco esforço. A es­pi­o­na­gem de dados ge­ral­mente ocorre antes que uma possível crip­to­gra­fia de trans­porte via TLS/SSL possa ser iniciada.

A forma mais eficiente de se evitar ataques man in the browser é cer­ti­fi­cando-se de que todos os com­po­nen­tes de software do sistema utilizado estejam cons­tan­te­mente atu­a­li­za­dos, já que somente atu­a­li­za­ções eliminam falhas de segurança.

Human-assisted attack

Human-assisted attack é qualquer tipo de ataque não executado de forma au­to­má­tica, mas sim con­tro­lado, em tempo real, por um ou mais invasores. Na prática, esse tipo de ataque man in the middle funciona assim: quando um usuário faz login no site de um banco, o hacker in­fil­trado recebe uma no­ti­fi­ca­ção e consegue roubar cookies da sessão e in­for­ma­ções de au­ten­ti­ca­ção, como nomes de usuário, senhas e códigos de segurança.

Como evitar ataques man in the middle

É pra­ti­ca­mente im­pos­sí­vel que usuários percebam estar sendo vítimas de um ataque man in the middle. Portanto, a melhor proteção é a prevenção. De toda forma, tanto usuários quanto ope­ra­do­res podem minimizar os riscos de se tornarem alvos desse tipo de ataque.

Dicas para usuários

  • Cer­ti­fi­que-se de sempre acessar sites por meio de uma conexão protegida por SSL/TLS. Nesse caso, o endereço do site começará sempre com “https”. Conexões http são um risco à segurança.
  • Verifique se o cer­ti­fi­cado SSL do site que você visita foi emitido por uma au­to­ri­dade de cer­ti­fi­ca­ção confiável, prin­ci­pal­mente antes de inserir quaisquer dados pessoais.
  • Utilize sempre a versão mais atual do seu navegador e mantenha seu sistema ope­ra­ci­o­nal atu­a­li­zado.
  • Evite usar ser­vi­do­res proxy ou redes VPN públicas.
  • Mantenha suas senhas atu­a­li­za­das, use uma senha diferente em cada site ou apli­ca­tivo e não reutilize senhas antigas.
  • Evite se conectar a WiFis públicas, por exemplo de hotéis, res­tau­ran­tes e lojas.
  • Se você precisar usar redes públicas, evite fazer downloads, não insira dados sensíveis (como seu e-mail e suas redes sociais) e nunca faça pa­ga­men­tos ou acesse on-line banking por essas redes.
  • Utilize métodos adi­ci­o­nais para efetuar um login seguro, como au­ten­ti­ca­ção mul­ti­fa­tor, tokens ou SMS de con­fir­ma­ção.
  • Nunca clique em links de e-mails de re­me­ten­tes des­co­nhe­ci­dos. Eles podem re­di­re­ci­o­nar você a sites con­ta­mi­na­dos com malwares.

Dicas para ope­ra­do­res de sites

  • Proteja os dados dos seus usuários com um cer­ti­fi­cado SSL atu­a­li­zado, emitido por uma au­to­ri­dade de cer­ti­fi­ca­ção confiável, prin­ci­pal­mente se seu site requerer login.
  • Ofereça aos seus usuários métodos adi­ci­o­nais de login seguro, como au­ten­ti­ca­ção mul­ti­fa­tor.
  • Informe seus usuários que você nunca so­li­ci­tará dados de login por e-mail e evite incluir hy­per­links em e-mails que enviar aos seus usuários.
Ir para o menu principal