| Artículos | 01 SEP 2009

Correos falsos en Gmail, Hotmail y Yahoo!, ¿quién da más control?

Tags: Histórico
Cómo reconocer un correo falso en los sistemas de correo más utilizados
Chema Alonso.
En este reportaje se explican los principales mecanismos de seguridad existentes para reconocer correos falsos en los principales servicios de mensajería de Internet, como Gmail, Hotmail y Yahoo! y lo más importante, cómo podemos reconocer un correo falso mediante las cabeceras de los mismos.

Enviar correos con direcciones de remitente falsas ha sido, y es, una práctica habitual desde que nacieron los sistemas de correo electrónico. El objetivo puede variar desde ser simplemente un engaño gracioso a un amigo hasta tener un alto impacto en la seguridad de los sistemas. Quizás su mayor impacto hoy en día sea el hecho de engañar a clientes de banca on-line en ataques de phising, como se puede ver en la Figura 1, o el de enviar publicidad masiva (spam), intentando dirigir la navegación de los receptores de correo, mediante enlaces a URL maliciosas, hacia servidores que permitan infectar los ordenadores de las víctimas.

Correos falsos
La pregunta en estos casos es, ¿cómo se pueden enviar correos electrónicos con direcciones de remitente falsas? Y la respuesta se encuentra en la propia arquitectura del correo electrónico. Supongamos que Alice, del dominioA.com quiere enviar un correo electrónico a Bob, del dominioB.com. Para hacer esto, Alice necesita un servidor de correo saliente, una pasarela SMTP que se encargue de buscar y entregar el correo en el buzón de Bob. Ese servidor de correo saliente de Alice va a recibir un mensaje que va a tener que ser reenviado a otro servidor, que podrá ser el servidor de correo entrante de Bob, o un servidor intermedio. Al proceso de reenviar un correo electrónico hacia otro servidor de correo se le conoce como SMTP-relay y debe ser permitido sólo para usuarios correctamente autenticados. Para encaminar ese mensaje, el servidor de correo saliente de Alice puede utilizar rutas pre-establecida mediante una lista de Smarthosts, que es simplemente una relación de servidores a los que hay que entregar el correo si el destinatario pertenece a un determinado dominio, o puede preguntar al servicio DNS por el servidor en el que recibe correo el dominio del destinatario. Estos servidores de recepción de correo se marcan con el registro mx. En la Figura 2 se pueden ver la lista de servidores por los que recibe correo gmail.com. Una vez que el servidor de correo saliente de Alice ha encontrado la dirección del servidor de correo entrante de Bob se procede a la entrega del correo mediante el protocolo SMTP y es ahí donde se indica, para cada uno de los correos, quién es el remitente del mismo.
Si un atacante quiere entregar un correo con una dirección falsa sólo tendrá que conectarse al servidor de correo entrante de la víctima y transmitir el protocolo SMTP con los datos que quiera en la dirección de correo remitente. Esto se puede realizar utilizando una conexión Telnet al servidor de correo entrante de la víctima del engaño o configurando una cuenta de correo con el cliente de correo preferido y utilizar como servidor de correo saliente el servidor de correo entrante del destinatario del mensaje.
En la Figura 3 se ha configurado una cuenta falsa en Windows Mail utilizando como servidor de correo saliente un servidor de correo entrante de Gmail para enviar un correo como ratoncitoperez@moncloa.es a una cuenta de Gmail, como se puede apreciar en la Figura 4 y en la Figura 5 se puede ver el correo en la Bandeja de Entrada del buzón de Gmail.
Este ejemplo, bastante sencillo, demuestra la facilidad con que se puede realizar la suplantación de remitentes. Conocido esto, la industria tecnológica ha buscado soluciones para detectar qué correos recibidos han sido enviados por quien dice ser y cuales son falsos y se han aportado distintas soluciones.

Firma Digital
La solución definitiva para este tipo de situaciones existe desde hace tiempo, el uso de firmas digitales en los correos electrónicos para identificar al remitente. Soluciones como PGP (Pretty Good Privacity) o S/MIME (Secure Multipurpose Internet Mail Extensions) solventan este problema de raíz. Ambas se basan en el uso criptografía para firmar o cifrar los correos electrónicos.
Sin embargo, no todo es tan fácil en la realidad. La necesidad de hacer un despliegue de certificados digitales a los usuarios, la obligatoriedad de controlar la revocación de los mismos, el robo, pérdida o simplemente la caducidad de las claves hace que estas soluciones sólo se hayan extendido en entornos corporativos o en listas de gente conocida. Así, utilizar PGP o S/MIME en Gmail, Hotmail o Yahoo! no es posible.

Autenticación de Servidor de Envío: Reverse MX Lookup y SPF
Asumiendo que el uso masivo de PGP o S/MIME para envío de correos electrónicos a través de Internet no era una solución práctica en la actualidad, la comunidad empezó a trabajar pensando en cómo solventar esta situación por medio de una idea: autenticar al servidor de correo que entrega el mensaje como uno de los permitidos por el dominio del remitente. Es decir, si el correo viene de dominioA.com hay que intentar saber si el servidor que entrega ese correo es uno de los autorizados por dominioA.com para entregar el mensaje en su nombre.
La primera idea fue utilizar el registro mx del dominio del remitente así, cuando un mensaje del dominioA.com es entregado desde un servidor S se realiza una consulta al DNS para ver si la dirección S está entre la lista de servidores designados como intercambiadores de correo en los registros mx.
Lógicamente, con el crecimiento tecnológico de las empresas, esta solución no era viable, ya que muchas empresas reciben correo por direcciones IP distintas a las que utilizan para enviar el correo. Esto significa que, en la práctica, muchos correos legítimos son enviados desde direcciones IP que no se encuentran en los registros mx del dominio de la organización.
De ahí se evolucionó hacia una nueva idea: identificar los servidores de correo saliente de una organización de autorizados. Al igual que se identifica en el servicio DNS cuáles son los servidores por los que se recibe correo electrónico, las organizaciones pueden identificar por qué servidores sale el correo legítimo de la organización y, además, lo que debe hacer el destinatario del mensajes cuando reciba un correo electrónico que no venga de ellos. Para ello se crea un nuevo registro, llamado SPF, de tipo TXT (de texto) en el servidor DNS. En él que se enumeran las direcciones IP autorizadas para enviar correos electrónicos de ese dominio.
Un servidor que recibe un correo desde un remitente del dominioA.com puede consultar al servidor DNS y saber si la IP que le está entregando el correo es una de las autorizadas. En el caso de no ser una de las autorizadas… ¿qué se debe hacer con ese correo? La respuesta viene dada por la política que venga configurada en el registro SPF, que puede ser una de las siguientes:
Cada organización marca en el registro SPF, al final del mismo, la política mediante una de estas cuatro opciones:
-FAIL [-all]: Todo correo que llegue desde una IP no identificada en el registro SPF debe ser eliminado o marcado como falso.
- SOFTFAIL [~all]: Todo correo que llegue desde una IP no identificada en el registro SPF debe ser marcado como probablemente falso. El registro SPF de Hotmail.com utiliza política SOFTFAIL, como se puede ver en la Figura 6.
- NEUTRAL [?all]: Es decisión del destinatario tomar la decisión. Esta opción ayuda a identificar los correos auté

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información