Man-in-the-middle attack

En criptografía e seguridade informática denomínase ataque do home no medio, en inglés *Man In The Middle Attack*, ao ataque onde o atacante retransmite en segredo e posiblemente altera a comunicación entre dúas partes que cren estar comunicándose directamente entre si mediante unha conexión privada, cando en realidade toda a conversación está controlada e supervisada polo atacante. O atacante debe ser capaz de interceptar tódalas mensaxes relevantes que pasan entre as dúas vítimas e introducir novos. 
Isto é sinxelo nalgunhas circunstancias, por exemplo: un atacante dentro do rango de recepción dun punto de acceso inalámbrico non encriptado (Wi-Fi) podería establecer o devandito ataque.

Como o ataque debe de eludir a autenticación mutua (ou a súa falta), este só terá éxito cando o atacante poida suplantar a cada punto final a súa satisfacción. A maioría dos protocolos criptográficos inclúen algunha forma de autenticación do punto final, especificamente para previr estes ataques, por exemplo: TLS pode autenticar unha ou ambas partes empregando unha autoridade de certificación mutuamente confiable.

## Exemplo 
miniatura|
Supoñamos que Alice desexa comunicarse con Bob, mentres tanto, Mallory desexa interceptar a conversación para espialos e, opcionalmente, transmitir unha mensaxe falsa na conversa.

Primeiro, Alice pídelle a Bob a súa clave pública. Se Bob envía a súa clave pública a Alice, pero Mallory pode interceptala, pode comezar un ataque do home no medio. Mallory envía unha mensaxe falsificando a Alice que pretende proceder de Bob, pero no seu lugar inclúe a clave pública de Mallory.

Alice, pensando que esta clave pública é de Bob, encripta a súa mensaxe coa clave de Mallory e envíalle a mensaxe cifrada a Bob. Mallory, de novo, intercepta e descifra a mensaxe usando a súa clave privada, incluso, se o desexase podería alterala mensaxe e volvería a cifrala usando a clave pública que Bob enviou orixinalmente a Alice. Cando Bob recibe a mensaxe xa cifrada, cre que provén de Alice.

1. Alice envía unha mensaxe a Bob, que é interceptado por Mallory:

Alice "*Ola Bob, son Alice. Dame a túa clave*". → &nbsp; &nbsp; Mallory &nbsp; &nbsp; Bob

2. Mallory transmítelle a mensaxe a Bob, Bob non pode dicir que non é realmente de Alice:

Alice &nbsp; &nbsp; Mallory "*Ola Bob, son Alice. Dame a túa clave*". → &nbsp; &nbsp; Bob

3. Bob responde coa súa clave de cifrado:

Alice &nbsp; &nbsp; Mallory &nbsp; &nbsp; ← [A clave de Bob ] Bob

4. Mallory reemplaza a clave de Bob coa súa, e transmítello a Alice, alegando que é a clave de Bob:

Alice &nbsp; &nbsp; ← [A clave de Mallory] Mallory &nbsp;Bob

5. Alice encripta unha mensaxe co que ela cree que é a clave de Bob, pensando que só Bob pode lelo:

Alice "¡*Atópame na parada de autobús*!" [cifrado coa clave de Mallory] → &nbsp; &nbsp; Mallory &nbsp; &nbsp;Bob

6. Non obstante, como en realidade foi encriptado coa clave de Mallory, Mallorypode descifralo, lelo, modificalo, volvelo cifrar coa clave de Bob e reenvialo a Bob:

Alice &nbsp; &nbsp; Mallory "*¡Encóntrame na camioneta xunto ao río!*" [cifrado con la clave de Bob] → &nbsp; &nbsp; Bob

7. Bob pensa que esta mensaxe é unha comunicación segura procedente de Alice.

8. Bob vai en camioneta polo río e é roubado por Mallory.

9. Alice non sabe que Mallory lle roubou a Bob e pensa que chega tarde.

10. Ao non ver indicio de aproximación de Bob, determina que algo lle sucedeu.

Neste exemplo móstrase a necesidade de que Alice e Bob teñan algunha maneira de asegurarse de que realmente están usando as claves públicas de cada un, en lugar da clave pública dun atacante. Do contrario, tales ataques son xeralmente posibles, en principio, contra calquera mensaxe enviado con tecnoloxía de clave pública. Unha variedade de técnicas pode axudar a defenderse contra este tipo de ataques.

## A necesidade dunha transferencia adicional por unha canle segura 
Excepto no protocolo de interbloqueo (interlock), todos os sistemas criptográficos seguros fronte a ataques MITM precisan un intercambio adicional de datos ou a transmisión de certa información a través dalgún tipo de canle segura. Nese sentido, desenvolvéronse moitos métodos de negociación de claves con diferentes esixencias de seguridade respecto á canle segura.

## Defensa contra MITM 
A posibilidade dun ataque intermedio continúa sendo un grave problema de seguridade grave, mesmo para moitos criptosistemas baseados na clave pública. Existen varios tipos de defensa contra estes ataques de MITM que utilizan técnicas de autenticación baseadas en:

* Claves públicas
* Autenticación mutua forte
* Claves secretas (segredos con alta entropía)
* Contrasinais (segredos con baixa entropía)
* Outros criterios, como o recoñecemento de voz ou outras características biométricas.

A integridade das claves públicas debe estar garantida dalgunha maneira, pero non requiren ser secretas, mentres que os contrasinais e as claves de segredo compartido teñen o requisito adicional de confidencialidade. As claves públicas poden ser verificadas por unha autoridade de certificación (CA), cuxa clave pública é distribuída a través dunha canle segura (por exemplo, integrada no navegador web ou na instalación do sistema operativo).

## Defensa e detección: autenticación e detección de manipulación 
Os ataques home no medio poden previrse ou detectarse por dous medios: autenticación e detección da manipulación. A autenticación proporciona certo grao de certeza de que unha mensaxe dado proveniente dunha fonte lexítima. A detección dasabotaxe simplemente mostra a evidencia de que unha mensaxe puido ser alterada.

### Autenticación 
Todos os sistemas criptográficos que son seguros contra este tipo de ataques proporcionan algún método de autenticación para as mensaxes. A maioría require un intercambio de información (coma claves públicas), ademais da mensaxe a través dun canal seguro. Ditos protocolos a miúdo utilizan protocolos de acordo clave que se desenvolveron, con diferentes requisitos de seguridade para a canle segura, aínda que algúns intentaron eliminar o requisito de seguridade de calquera canle seguro en absoluto.

Unha infraestrutura de clave pública, como *Transport Layer Scurity*, pode endurecer o Protocolo de Control de Transmisión contra o Ataque do Home no Medio. En ditas estruturas, os clientes e servidores intercambian certificados que son emitidos e verificados por un terceiro fiable chamado Autoridade de Certificación (CA). Se a clave orixinal para autenticar esta CA non foi obxecto dun ataque MITM, os certificados emitidos pola CA pódense usar para autenticar os mensaxes enviados polo propietario dese certificado. O uso de autenticación mutua, entre o servidor e o cliente fai que se valide a comunicación entre eles, cóbrese ambos extremos ante un posible MITM, aínda que o comportamento predeterminado da maioría das conexións é só autenticar o servidor.

As audiencias, como as comunicacións verbais dun valor compartido
(como en ZRTP), ou as probas gravadas como gravacións audiovisuais dun hash de clave pública utilízanse para evitar os ataques MITM, xa que os medios visuais son moito máis difíciles e temporais. Non obstante, estes métodos requiren un humano no bucle para poder iniciar a transacción con éxito.

A fixación da clave pública HTTP, as veces denominada “fixación de certificado”, axuda previr un ataque MITM no que a autoridade se certificación mesma se ve comprometida ao facer que o servidor proporcione unha lista de hashes de clave pública anllados durante a primeira transacción. As transaccións posteriores requiren que unha ou máis das claves na lista sexa utilizadas polo servidor para autenticar esa transacción.

DNSSEC amplía o protocolo DNS para usar firmas para autenticar rexistros DNS, evitando que os ataques MITM dirixan a un cliente a unha dirección IP maliciosa.

### Detección de manipulación 
A proba de latencia pode detectar o ataque en determinadas situacións, como no caso de cálculos longos que levan decenas de segundos, como as funcións hash.

Para detectar posibles ataques, as partes verifican as discrepancias no tempo de resposta. Por exemplo: supóñase que dúas partes adoitan tardar moito tempo para completar unha transacción en particular. Non obstante, se unha transacción tivo un tempo anormal para chegar á outra parte, isto podería ser indicativo de interferencia dun terceiro que insire latencia adicional na transacción.

A criptografía cuántica, en teoría, proporciona evidencias de falsificación das transaccións a través do teorema de non clonación. Os protocolos baseados na criptografía cuántica normalmente autentican parte ou toda a súa comunicación clásica cun esquema de autenticación incondicionalmente seguro, por exemplo, a autenticación Wegman-Carter.

### Análise forense 
O tráfico de rede capturado do que se sospeita pódese analizar para determinar se hai ou non un ataque, así como a súa orixe.

A análise forense dunha rede cando se sospeita sobre un ataque sospeitoso consta:

* Enderezo IP do servidor
* Nome DNS do servidor
* Certificado X.509 do servidor
* O certificado está asinado automaticamente?
* O certificado é asinado por unha CA fiable?
* Quedou revogado o certificado?
* Quedou cambiado recentemente o certificado?
* Outros clientes, en calquera lugar en Internet, tamén obteñen o mesmo certificado?

## Posibles subataques 
O ataque de MITM pode incluír algúns dos seguintes subataques:

* Interceptación da comunicación, incluíndo a análise do tráfico e posiblemente un ataque a partir de textos planos coñecidos.
* Ataques a partir dos textos cifrados seleccionados, dependendo do que faga o receptor coa mensaxe descifrada.
* Ataques de substitución.
* Ataque de repetición.
* Ataque por denegación de servizo. O atacante podería, por exemplo, bloquear comunicacións antes de atacar a unha das partes. A defensa nese caso implica o envío periódico de mensaxes de status autenticadas.

## Casos notables 
En 2003, un enrutador de rede inalámbrica de Belkin perpetrou un notable ataque man-in-the-middle no criptográfico. Periodicamente, tomaría unha conexión HTTP que se enrutara a través del, isto non pasaría o tráfico ao destino, pero no seu lugar, respondeu como o servidor previsto. A resposta que enviou, no lugar da páxina webque o usuario solicitou, era un anuncio doutro produto de Belkin. Despois dunha protesta de usuarios tecnicamente instruídos, esta característica eliminouse de versións posteriores do firmware do enrutador.

En 2011, unha violación da seguridade da autoridade de certificación holandesa DigiNotar resultou na emisión fraudulenta de certificados. Posteriormente, os certificados fraudulentos usáronse para realizar ataques de home no medio.

En 2013, Nokia's Xpress Browser revelou que ao descifrar o tráfico HTTPS nos servidores proxy de Nokia, dando á compañía de texto sen cifrar o acceso ao tráfico cifrado do navegador dos seus clientes. Nokia respondeu dicindo que o contido no se almacenou de forma permanente e que a empresa tiña medidas organizativas e técnicas para evitar o acceso á información privada.

En 2017, Equifax retirou a súas aplicacións de telefonía móbil trala preocupación polas vulnerabilidades de hombre no medio.

Outras implementacións notables na vida real inclúen o seguinte:

* DSniff: a primeira implementación pública de ataques MITM contra SSL y SSH.
* Ferramenta de diagnóstico Fiddler2 HTTP(S).
* Suplantación da NSA de Google.
* Software malicioso Superfish.
* Forcepoint Content Gateway: úsase para realizar inspecciones de tráfico SSL en proxy.
* Comcast utiliza ataques MITM para introducir código JavaScript a páxinas webde terceiros, mostrando os seus propios anuncios e mensaxes na parte superior das páxinas.