domingo, 27 de abril de 2008

El spam y Gmail (Enseñando a las máquinas)

Uno de los aspectos que más me gustan del correo de Google es su sistema antispam, ya que es muy efectivo y pocos correos basura se cuelan en la bandeja de entrada de Gmail.

Es posible que sea una de las maneras de parar este fenómeno del SPAM. Si todos tuviéramos un cliente de correo tan eficaz como Gmail pienso que los spammers desistirían de enviar correos, puesto que su tasa de éxito sería mínima.

Esta gráfica de Google acerca de la evolución en el tiempo del % de correo basura sobre correo total, da una idea de la cantidad de spam que se mueve en la red. Máximo en diciembre de 2006 con cerca del 80% del tráfico de correos y decreciendo en la actualidad pero en tasas muy altas (70%).

Todos sabemos que los correos Spam son cada vez más sofisticados para eludir su detección por sistemas de filtrado. A continuación comento cómo ha ido evolucionando el correo SPAM:
  • Mutando el asunto del mensaje: en las primeras versiones de correos SPAM el asunto del mensaje era el mismo para todos los destinatarios. Los correos SPAM modernos cambian el asunto del mensaje para que sea más difícil de detectar.

  • A través de imágenes: Con el paso del tiempo los filtros spam aprendieron a interpretar los mensajes y cuando aparecían palabras como “viagra, casino, win, discount,…” lo calificaban como posible spam. Pero si dentro de mensaje aparece una imagen con texto, los filtros no podrán interpretar el texto y el spam se colará. Para solventar este problema los filtros se volvieron más refinados e incorporaron sistemas OCR para detectar mensajes en imágenes.

  • Con faltas de ortografía: Si en vez de viagra aparece la palabra Viagr@ o Vaiagra, los filtros pueden pasar por alto estos mensajes. A partir de este momento los filtros antispam aprendieron sobre variaciones en palabras.

  • Anti OCR: imágenes con puntos para engañar al OCR, con faltas de ortográfía, mensajes mutantes,….
[Poniéndoselo difícil al antispam. Foto de: waxpancake]

¿Cómo se detecta que un correo es SPAM?
  • Sistemas sencillos: Con listas negras de correos SPAM y mediante palabras que suelen aparecer en estos correos (casino, viagra, win, ...).

  • A través de alguna características del spam: Por ejemplo, que se envía un mismo mensaje o un mensaje similar a mucha gente al mismo tiempo. Gmail puede detectar esto ya que todos los mensajes spam que van a usuarios xxxxx@gmail.com están llegando a sus servidores.

  • Pasando a las imágenes que incluyen los correos sistemas OCR para descifrar los mensajes, incorporando detectores de mutaciones, faltas ortografía, spam anti OCR, etc.
Esto es una guerra sin cuartel entre los diseñadores de correos basura y los programadores de filtros antispam. Cada vez los sistemas son más efectivos, pero al final... siempre hay algun correo que se cuela, porque aunque sea muy fácil de identificar por parte del usuario, los sistemas antispam se basan en reglas y normas que tratan de caracterizar al spam, y puede aparecer un correo que no encaje en esas reglas y que sin embargo sea spam.

Pero lo más interesante del sistema Antispam de Google, desde mi punto de vista, es que aprende de la información que le proporciona el usuario. El usuario final de Gmail puede marcar un correo de su bandeja de entrada como spam y entonces le dice al motor de detección de Google que se ha equivocado, que tiene que mejorar porque no ha detectado un correo que era SPAM.

En ese momento, el motor incorpora esta información a sus sistema y trata de mejorar su filtro que se convierte en más efectivo. Es un filtro que se adapta según la información que le proporciona el usuario final. Esto da un poco que pensar... ¿Estamos enseñando a las máquinas?.

Hasta otro día,

PD: No os perdáis el siguiente video promocional de Google donde vende las bondades de Gmail.