Seguridad en correo electrónico (parte II). DMARC, un paso adelante.

Fecha de publicación 19/03/2017
Autor
Antonio López (INCIBE)
Seguridad correo electrónico

En la primera parte de este artículo,  Seguridad en correo electrónico. Lucha contra phishing y spam se habla de DKIM y SPF como mecanismos mas utilizados en la verificación y autenticación de correos electrónicos.  Igualmente, se explican  las dificultades técnicas que aparecen y que dificultan la mejora del proceso. Para superar estas dificultades, derivadas de la falta de comunicación entre emisor y receptor se propone la tecnología DMARC.

DMARC, Domain-based Message Authentication, Reporting & Conformance, aparece en escena con el objetivo de establecer un mecanismo para compartir información entre sistemas origen y destino de correo y de este modo, aumentar la precisión a la hora de detectar correo fraudulento.

El diseño de DMARC se orienta pues, a conseguir minimizar los falsos positivos proporcionando información robusta sobre la autenticación y afirmar la política del emisor en los receptores, para reducir el éxito del phishing y minimizar la complejidad global.

En marzo de 2013 se propone DMARC a la IETF y se clasifica como BCP (Best Common Practice). El 4 de abril de 2014 se presentó el borrador del estándar RFC en la IETF https://tools.ietf.org/html/draft-kucherawy-dmarc-base-13. Esta especificación no se encuentra sujeta a licencias o restricciones de forma que, cualquier parte interesada en su implementación puede hacerlo de forma gratuita.

Actualmente, grandes compañías y servicios como AOL, Yahoo, gmail, Hotmail y otras soluciones de correo utilizan DMARC.

Funcionamiento de DMARC

DMARC funciona a nivel de dominio utilizando SPF y DKIM y utilizando registros DNS para la publicación de sus políticas de verificación de correo y proceso de feedback.

La implementación DMARC incluye:

  • Especificación para los emisores de correo para desplegar las tecnologías SPF y DKIM de modo que los receptores puedan verificar la autenticidad a nivel del dominio.
  • mecanismo basado en DNS a través del cual los emisores puedan publicar sus prácticas dmarc , solicitar información a los receptores e informar a los mismos las políticas a aplicar para el manejo de correo no autenticado.
  • Un modelo de feedback que permite a los receptores de correo informar a los emisores de cómo el correo recibido es tratado, permitiendo a estos una mejora continua en la precisión del manejo del correo.

Diseño DMARC

Ilustración 1. Diseño DMARC

 

Registros y Políticas DMARC

DMARC utiliza registros TXT DNS para especificar sus políticas. Este registro se identificará con la etiqueta _dmarc precediendo el dominio. Por ejemplo _dmarc.gmail.com o _dmarc.yahoo.es:

Registro dmarc del dominio gmail.com

Ilustración 2. Registro dmarc del dominio gmail.com

La política, identificada con la etiqueta "p=" puede ser:

  • "none" ninguna política se aplica. Esta opción se usa cuando únicamente se pretende dar feedback al emisor del correo.
  • "quarantine": El correo cuya verificación falle debe tratarse como sospechoso, señalándolo como tal al usuario final o enviando a carpeta de spam.
  • "reject": El correo cuya verificación falle debe rechazarse.

Modelo de feedback

DMARC permite al receptor dos formas de feedback:

  • Aggregate: Mediante un fichero XML los receptores informan de los servidores intermediarios que ven en la ruta del correo. Incluye entre otros datos, el número de correos, resultado de autenticación, dominios contenidos en el correo, política solicitada y política aplicada.
  • Failure (forensics): La especificación permite a los emisores solicitar información sobre correos individuales para su análisis. Esta información contendrá las cabeceras Subject, From, cabecera de trazas, URLS y ficheros adjuntos, etc.

Procesado en el receptor

Un receptor de correo que quiera incorporar verificación DMARC, debe tener en cuenta las siguientes actividades:

  • Realizar la verificación SPF y DKIM del correo entrante
  • Comprobar si existe un registro DMARC para el dominio especificado en el correo
  • Si existe el registro, extraer los parámetros de la política a aplicar así como la dirección donde reportar la información obtenida en las verificaciones realizadas
  • Enviar el feedback al emisor con la información (Aggregate/Failure) recogida. Esta información es crítica para mejorar la precisión del proceso. Las direcciones de correo donde enviar los informes se especifican con las etiquetas "ruf=" (failure) o "rua=" (aggregate)

Política reject y feedback aggregate/failure

Ilustración 3. Registro DMARC. Política reject y feedback aggregate/failure

 

 

Ejemplos de verificación


Verificación fallida

Ejemplo de correo no legítimo donde se aplica SPF y dmarc, y donde falla la verificación SPF al ser enviado desde un servidor no autorizado. Dado que la política es permisiva, el correo entra en la bandeja de entrada, pero se muestra un mensaje de advertencia en el cliente de correo:

 

Mensaje de advertencia en el cliente de correo

Ilustración 4. Mensaje de advertencia en el cliente de correo

Fallo verificación SPF. Servidor remitente no autorizado para el dominio gmail

Ilustración 5. Fallo verificación SPF. Servidor remitente no autorizado para el dominio gmail

Consultando el registro DMARC correspondiente al dominio gmail.com (ilustración 6), se observa una política "none" y por ello no se toma ninguna acción sobre el correo, únicamente envía un informe a la dirección especificada en la etiqueta "rua"

Registro DMARC del dominio gmail

Ilustración 6. Registro DMARC del dominio gmail.


Verificación correcta

En las siguientes ilustraciones se muestra un ejemplo de correo legítimo desde una cuenta de yahoo y que pasa filtros de verificación SPF, DKIM y DMARC:

Cabeceras de un correo electrónico legítimo procedente de yahoo. Verificación exitosa

Ilustración 7. Cabeceras de un correo electrónico legítimo procedente de yahoo. Verificación exitosa

Registro DKIM de yahoo.es

Ilustración 8. Registro DKIM de yahoo.es

 Registro DMARC de yahoo.es

Ilustración 9. Registro DMARC de yahoo.es

La especificación DMARC trae consigo un nuevo modelo de seguridad de correo electrónico a nivel de dominio, y proporciona mayor información en el proceso de identificar correo sospechoso de fraude, contribuyendo de manera significativa a la lucha contra el spam y el phishing.