martes, junio 23, 2009

Correos falseados en Yahoo.com, Gmail.com y Hotmail.com (V de V)

**********************************************************************************************
- Correos falseados en Yahoo!, Gmail y Hotmail (I de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (II de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (III de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (IV de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (V de V)
**********************************************************************************************

Comprobaciones para saber si un correo es legítimo o no

La pregunta que uno se puede realizar es … ¿por qué no se utilizan todas las medidas disponibles? Supongo que es el eterno problema de balance entre seguridad y carga de trabajo, porque si no, no parece demasiado lógico.

Teniendo en cuenta que todas las cabeceras SMTP pueden ser comprobadas desde los interfaces web de Gmail, Hotmail y Yahoo!, el siguiente es un árbol de decisión que se puede aplicar para decidir si un correo recibido es o no legítimo. Hay que tener presente que se tiene como base supuesta que:

A) No hay un bug de DNS como el descrito por Kaminsky.
B) Realizar IP Spoofing hoy en día en consultas al DNS en Internet es difícil.
C) La conexión es desde una red segura sin MITM.

Si esos condicionantes se dan en tu situación, entonces es posible realizar el siguiente algoritmo para obtener más y mejor información sobre la legitimidad de un correo electrónico.

PRIMERO: Comprobación de DKIM

A) Si el correo viene firmado con DKIM y está comprobado deberemos tomar el correo como Legítimo.

     - Yahoo!: Se hace automáticamente y pone un icono de autenticado.

     - Gmail: Realiza la comprobación pero sólo aparecen en la cabecera SMTP y no en el interfaz web. Hay que comprobar que la firma DKIM aparezca como autenticada.

     - Hotmail: no realiza la comprobación DKIM por lo que en la cabecera SMTP aparecerá la cabecera DKIM pero hay que hacer la comprobación de la firma manualmente (Poco divertido).

B) Si no viene firmado se debe comprobar la política del servidor DNS de la organización respecto a DKIM comprobando si existe política de fallo respecto a DNS, es decir, si en el registro _domainkey.dominio.com aparece la opción o=–.

     a. Si aparece la opción o=– entonces el correo deberá ser tomado como Ilegítimo.

     b. Si no aparece la opción o=– porque o no hay política, como en el caso de Gmail, o aparece la opción o=~, se debería pasar al paso SEGUNDO.

SEGUNDO: Comprobación de firma SPF

Se comprueba el registro SPF del dominio del remitente.

A) Si este tiene registro SPF se comprueba la dirección del servidor de envío contra la lista de IPS permitidas por el registro SPF y la política spf de comprobación: spf1 - spf2/mfrom - spf2/mfrom,pra - spf2/pra.

     a. Si la IP cumple y los valores del remitente o del pra entonces se marca el correo como Legítimo.

          - Hotmail lo pone en la bandeja de entrada sin alertas.

          - Gmail hace la comprobación pero sólo se puede ver en la cabecera SMTP del correo.

          - Yahoo! no hace la comprobación y habría que realizarla manualmente (poco divertido).

     b. Si no, se comprueba la política de fail o softfail:

          - -all: Se debería marca como Ilegítimo.

               - Hotmail lo hace automáticamente y el correo llega con alerta roja a la carpeta de SPAM

               - Gmail lo comprueba pero sólo se puede ver en la cabecera SMTP.

               - Yahoo! no lo comprueba.

          - ~all: Se debería marcar como Dudoso.

               - Hotmail lo pone con una alerta en amarillo en la carpeta de correo no deseado.

               - Gmail lo comprueba y se puede ver en la cabecera SMTP solamente.

               - Yahoo! no lo comprueba.

B) Si no tiene registro SPF se comprueban los valores MX del dominio del remitente. Esta comprobación no es realizada ni por Yahoo!, ni Hotmail ni por Gmail y dejan recaer el resto de alertas en filtros antispam.

     a. Si la IP del servidor que ha entregado el mail es una de los intercambiadores de correo, entonces el correo se marca como Legítimo.

     b. Si la IP no es una de los servidores MX entonces se marca como Dudoso.

Toda esta lógica de detección de correos legítimos o no legítimos ayuda a valorar mejor la autenticidad de los remitentes de correos electrónicos en aquellos entornos en los que no se utilizan firmas digitales. Hay que recordar que el uso de S/MIME o PGP es mucha mejor garantía para comprobar el remitente de un correo. Estos sistemas descritos en este artículo, basados en dirección IP de los servidores, no muestran ninguna diferencia cuando hay servidores vulnerados o mal configurados que pueden ser utilizados por atacantes externos o internos de la red para suplantar remitentes.

Por último, me gustaría recordar que, independientemente que uses o no este método, debes tomar como falsos todos los correos que se suponga que has enviado tú y no lo hayas hecho.

Saludos Malignos!

**********************************************************************************************
- Correos falseados en Yahoo!, Gmail y Hotmail (I de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (II de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (III de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (IV de V)
- Correos falseados en Yahoo!, Gmail y Hotmail (V de V)
**********************************************************************************************

10 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. jo, perdona que lo diga así, pensaba avisarte puntualmente los fallos ortográficos de los típicos de los dedos entumecidos, pero tienes muchos deberías revisar el texto entero.

    ResponderEliminar
  3. @Ayak, DKIM habría que comprobarlo manualmente, pero aparece en la cabecera SMTP de los correos en Hotmail.

    Voy a repasar los fallos.

    Saludos!

    ResponderEliminar
  4. @Ayak, el corrector de Word y yo debemos estar muy turbios hoy por la mañana, ya que no he encontrado todos esos muchos fallos. No obstante, lo he repasado y he puesto colorines. Gracias!

    PD: Si ves alguno gordo, avísame por favor.

    ResponderEliminar
  5. Esperaba ansioso la última entrega.

    Pefectamente explicado, gracias.

    ResponderEliminar
  6. Dices que si no hay registro SPF, se debería comprobar que la IP "emisora" (origen) se corresponda con uno de los MX del dominio. ¿Por qué? ¿Eso viene en algún RFC?

    Lo digo porque yo puedo tener perfectamente una máquina para recibir correo (que sería mi MX) y otra (con diferente IP y hostname) para enviar (sólo para enviar, lo que significaría que no es ningún MX).

    Según tú, rechazarías mis correos, aún siendo perfectamente legítimos.


    PD: "uve", "u baja", "ve"... :-? WTF! jejejeje

    -r

    ResponderEliminar
  7. No roman, no lo rechazaría, símplemente se quedaría en dudoso porque no se puede comprobar, pero si sale del MX se toma como legítimo.

    ResponderEliminar
  8. No son gordos, ni muchos, pero:

    a) -> A)
    dificil->difícil
    Laa -> La
    o del pra->¿Eing?
    (podo divertido)->Poco divertido

    S!

    ResponderEliminar
  9. @Ayak, gracias. Ya lo he arreglado. Lo del pra es pra... saludos!

    ResponderEliminar
  10. Muy buena la serie de artículos.

    Pude comprobar todo lo que hacen los smtp de gmail y lo que no hace su interfaz web hoy, ya que estoy teniendo problemas en envíos masivos de correos que entran en spam.

    Al principio pensé que era del SPF, que no lo tenía configurado y me salía "neutral".

    Posteriormente lo arreglé y en las cabeceras veía que estaba bien, sin embargo entraba como spam. Esto último aún no entendí muy bien porqué (hotmail está aceptando correctamente los envíos) pero a ver que se saca en claro.

    Un saludete

    ResponderEliminar