Técnicas anti-spam: Presente y Futuro
Transcripción
Técnicas anti-spam: Presente y Futuro
Técnicas anti-spam: Presente y Futuro Análisis e Implementación 1/162 Iker Sagasti Markina [email protected] 1 Técnicas anti-spam: Presente y Futuro Overview Overview 2/162 Iker Sagasti Markina [email protected] 1 Técnicas anti-spam: Presente y Futuro Overview ● ● ● Introducción al correo electrónico Introducción al spam Análisis de técnicas anti-spam preventivas – ● ● Enmascaramiento, concienciación, legalidad... Análisis de tecnicas utlizadas por spammers Análisis de técnicas anti-spam correctivas – Filtros basados en contenido ● – Filtros NO basados en contenido ● ● básicos, heurísticos, bayesianos listas, esquemas autorización... Conclusiones 3/162 Version 0.11 - 01/06/05 Iker Sagasti Markina [email protected] 2 Técnicas anti-spam: Presente y Futuro Introducción al correo electrónico Introducción al correo electrónico 4/162 Iker Sagasti Markina [email protected] 2 Técnicas anti-spam: Presente y Futuro SMTP (Simple Mail Transfer Protocol) ● ● ● ● ● Protocolo estandar para enviar correos entre servidores. Protocolo simple pero muy inseguro. Cabeceras spoofeables. SPAM. Requiere de un servidor DNS que resuelva el host MX o A del destinatario. Solo soporta caracteres ascii de 7 bits. ¿ñ? La gran mayoría de los MUA envían correo a los MTA por medio de SMTP. 5/162 Iker Sagasti Markina [email protected] 2 Técnicas anti-spam: Presente y Futuro SMTP (Simple Mail Transfer Protocol) Transacción SMTP $ telnet irontec.com 25 Trying 66.111.55.10... Connected to mai.irontec.com. Escape character is '^]'. 220 mai.irontec.com ESMTP Postfix helo aktornet.ath.cx 250 mai.irontec.com mail from: [email protected] 250 Ok rcpt to: [email protected] 250 Ok data 354 End data with <CR><LF>.<CR><LF> Subject: asunto del correo · Establecimiento y fin de la Conexión · Información generada por el cliente telnet · Información del servidor SMTP · Información del cliente SMTP Cuerpo del mensaje fin . 250 Ok: queued as B105B598063 quit 221 Bye Connection closed by foreign host. 6/162 Iker Sagasti Markina [email protected] Descripcion del contenido de un correo Se añade una cabecera Received por cada MTA que pasa Cabeceras Elementos que conforman un correo electrónico Cuerpo Linea en Blanco Separador 2 Técnicas anti-spam: Presente y Futuro Return-Path: <[email protected]> X-Original-To: [email protected] Delivered-To: [email protected] Received: from pool-71-112-82-75.sttlwa.dsl-w.verizon.net (pool-71-112-82-75.sttlwa.dsl-w.verizon.net [71.112.82.75]) by mai.irontec.com (Postfix) with SMTP id 0F7AEB31E for <[email protected]>; Mon, 23 May 2005 18:16:35 +0200 (CEST) Message-ID: <[email protected]> From: Kendra L.Brown <[email protected]> Cabecera añadida To: [email protected] Subject: Adobe Creative Suite (5 CD) - wholesale price por el MUA Date: Mon, 23 May 2005 16:10:28 +0000 MIME-Version: 1.0 Content-Type: multipart/related; Cabecera tipo MIME type="multipart/alternative"; boundary="----=_NextPart_000_0000_42C4668E.98ECC1BD" X-Priority: 3 Cabeceras X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express V6.00.2900.2180 NO estandar X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Get access to all the software imaginable for extremely low prices! Our software is 2-10 times cheaper than sold by our competitors. Just a $79.95 $89.95 $99.95 $79.95 $69.95 few examples: Windows XP Professional (Including: Service Pack 2) Microsoft Office 2003 Professional / $79.95 Office XP Professional Adobe Photoshop 8.0/CS (Including: ImageReady CS) Adobe Acrobat 6.0 Professional Quark Xpress 6 Passport Multilanguage All main products from Microsoft, Adobe, Macromedia, Corel, etc. And many more... 7/162 Regards, Kendra L. Brown Iker Sagasti Markina [email protected] 3 Técnicas anti-spam: Presente y Futuro Introducción al spam Introducción al spam 8/162 Iker Sagasti Markina [email protected] 3 Técnicas anti-spam: Presente y Futuro Introducción al spam ● ¿Que es el SPAM? 9/162 Iker Sagasti Markina [email protected] 3 Técnicas anti-spam: Presente y Futuro Crecimiento Correo intercambiado a nivel mundial 100,00% 90,00% 80,00% 70,00% 60,00% HAM SPAM 50,00% 40,00% 30,00% 20,00% 10,00% 0,00% 2001 2004 2007 10/162 Iker Sagasti Markina [email protected] 3 Técnicas anti-spam: Presente y Futuro Causas ● Dilema del prisionero – – – Cada uno “elije”: ● Cooperar (ej: no contaminar) ● No cooperar (ej: contaminar) Si todos cooperan, es bueno para todos (bien colectivo) Si uno no coopera, esa persona obtiene beneficio a costa de los otros (bien individual) ● Compra/venta de listas de correo ● Open relays ● Ingenuidad en la contestación a emails ● Publicación de direcciones de email 11/162 Iker Sagasti Markina [email protected] 3 Técnicas anti-spam: Presente y Futuro Paises “Exportadores” Origen del spam mundial 35,7 42,53 Estados Unidos Corea del Sur China Francia España Canada Japon Brazil Reino Unido 1,24 1,16 2,91 2,87 2,75 2,7 2004 (%) 2005 (%) 2,1 1,95 6,171,57 1,15 1,23 1,28 Alemania 14,15 13,65 Resto 0 25 15,42 9,7 11,62 3,2 2005 (%) 10 20 30 40 2004 (%) 50 Estudio realizado por la empresa de seguridad Sophos (Abril 2005) 12/162 Iker Sagasti Markina [email protected] 3 Técnicas anti-spam: Presente y Futuro Tipos ● ● ● ● ● ● ● ● SPAM por email SPAM a máquinas de busqueda SPAM por mensajería instantánea SPAM por SMS SPAM en las news SPAM en chats SPAM por teléfono SPAM por correo postal 13/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas anti-spam preventivas Análisis de las técnicas anti-spam preventivas 14/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Tipo de Técnicas Tipos: ● Preventivas – – – – Enmascaramiento / Spambots Etiquetas anti robots Concienciación Legales 15/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Tipo de Técnicas Tipos: ● Correctivas – – – Legales Basados en contenido ● Filtros Básicos ● Filtros Heurísticos ● Filtros Bayesianos No basados en contenido ● Listas ● Filtros Distribuidos ● Esquemas de Autorización 16/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Spambot: ● Aplicación de software que se encarga de rastrear Internet (sitios web, listas de news, salas de chat...) en busca de direcciones de correo. ● Fáciles de implementar (@) ● Evolucionan en base a las dificultades que les plantean los usuarios (desgraciadamente en numerosas ocasiones son insuficientes) 17/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas de Enmascaramiento: ● Técnica conocida como “munging” ● Consiste en modificar deliberadamente con la finalidad de que no puedan ser capturadas por los spambots. 18/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento “obsoletas” ● Sustitución: – – ● “@” → at / en - “.” → dot / punto Así: [email protected] se representaría mediante: ● iker-at-irontec-dot-com ● iker en irontec punto com Sustitución Codificación-URL – – – – Lo soportan la gran mayoría de los navegadores Sustituir caracteres alfanuméricos por % y 2 dígitos hexadecimales. RFC 1738 “@” → %40 - “.” → %2E Así [email protected] se representaría mediante: ● iker%40irontec%2Ecom 19/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento “obsoletas” ● Sustitución de caracteres HTML – – – Equivale a su valor correspondiente ASCII “@” → @ - “.” → . Así [email protected] se representaría mediante: ● – iker@irontec.com http://alicorna.com/obfuscator.html 20/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento “obsoletas” ● Inserción: – – – Insertar cadena de texto fácilmente reconocible como no válida. Requiere cierto conocimiento Así: [email protected] se representaría mediante: ● [email protected] 21/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento ● Tablas HTML – – Consiste en maquetar la dirección de correo de tal forma que sea ininteligible para un spambot. Así: [email protected] se representaría mediante 22/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento ● Tablas HTML – Código HTML <div align="center"> <table cellpadding="1" cellspacing="1" border="4"> <tr> <th rowspan="2" valign="bottom">iker</th> <th align="left" colspan="2">Mi email de contacto:</th> </tr> <tr> <th><img alt="@" width="47" height="47" src="at.gif" /></th> <th valign="bottom">irontec.com</th> </tr> </table> </div> 23/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento por imágenes ● Normal – Sustituir la cadena de texto por una imagen Así: [email protected] se representaría mediante: – http://www.hashemian.com/tools/email-encoder.php – 24/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento por imágenes ● Mediante logo: – – Utilizar el logotipo de la empresa o una imagen más ofuscada Así: [email protected] se representaría mediante: 25/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento por imágenes ● Captcha: – – – Es un test tipo prueba-desafío utilizado para diferenciar a máquinas y humanos Utilizado comunmente por entidades que ofecen servicios gratuitos para evitar abusos (Yahoo, Hotmail...). Así: [email protected] se representaría mediante: 26/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento por imágenes ● Problemas – ¿Qué pasa con los estándares? ● W3C obliga a que las imágenes lleven un campo de texto descriptivo alternativo. – – http://www.w3.org/TR/REChtml40/struct/objects.html#edef-IMG ¿Qué pasa con la accesibilidad? ● El punto primero del nivel de prioridad 1 del checklist la WAI, obliga a que todos los elementos que no sean texto (imágenes...) lleven un texto alternativo. 27/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento por imágenes ● Problemas: “ataques” – Rodeo: ● – Los spammers generan sitios web con un gran número de visitas obligando a los visitantes que quieran acceder a sus servicios a introducir en texto de la imagen. Adversarial Clutter: ● Método desarrollado por la Univ. Berkeley ● 92% éxito en EZ-Gimpy (captcha de 1 palabra) ● 33% éxito en Gimpy (captcha de 3 palabras) ● No parece que aún halla implementaciones 28/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento ● Conclusiones – – No ofrecen solución frente a ataques de diccionario o cuentas genéricas (abuse, webmaster, info...). Las técnicas de enmascaramiento dificultan la labor de los spambots. Sin embargo no son suficientes. 29/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Enmascaramiento / Spambots Técnicas Enmascaramiento ● formularios – ojo!!! ● formularios de dominio público pueden tener bugs!! ● puede ser peor el remedio que la enfermedad :-( 30/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Técnicas de Concienciación Técnicas Concienciación ● no responder... ● alias para... – – – listas foros grupos de noticias 31/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Medidas Legales EEUU ● CAN-SPAM (01/01/04) – – – – Bush firma la primera ley federal contra el spam unificando las leyes de los distintos estados La Ley exige: ● Obtener permiso ● Honrar las desuscripciones ● Evitar el uso de casilleros pre-chequeados ● Un “emisor” y “asunto” claro (indicando publicidad) Sanciones de hasta 500.000 dólares y un año de prisión Solo afecta a emisores de EEUU ¿? 32/162 Iker Sagasti Markina [email protected] 4 Técnicas anti-spam: Presente y Futuro Medidas Legales España ● LSSI-CE (11/07/02) – – – “Queda prohibido el envío de comunicaciones publicitarias o promocionales por correo electrónico u otro medio de comunicación electrónica equivalente que previamente no hubieran sido solicitadas o expresamente autorizadas por los destinatarios de las mismas.” Exige: ● Obtener permiso ● Honrar las desuscripciones ● Un “emisor” y “asunto” claro (indicando publicidad) Sanciones entre 30.000 y 150.000 euros 33/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Técnicas utilizadas por los spammers Análisis de las técnicas avanzadas utilizadas por spammers 34/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Evolución de las Técnicas ● 80 % del spam utiliza trucos de ofuscación – Escribir mal una palabra viagra -> biagra – Sustituir una 'o' por un '0' buy now! -> buy n0w! – Técnicas sofisticadas de HTML enlarge your pennis 35/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Invisible Ink ● Consiste en introducir palabras inocentes en un correo de forma invisible (color blanco sobre fondo blanco). ● El filtro anti-spam las detecta pero el usuario no las lee. 36/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Invisible Ink ● Visión según “ojos” humanos 37/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Invisible Ink ● Visión según “ojos” humanos “avispados” 38/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Invisible Ink ● Visión según “ojos” binarios <body bgcolor=white> palabras de spam <font color=white> palabras innocentes </font> </body> # css compilant ;-) <body bgcolor=white> palabras de spam <span style=”color: white;”> palabras innocentes </span> </body> 39/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Black Hole ● Consiste en dividir una palabra “sospechosa” con espacios sin anchura. Los espacios sin anchura se escriben así: <font size=”0”> </font> <span style=”font-size:0;”> </span> 40/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Black Hole ● Visión según “ojos” humanos 41/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Black Hole ● Visión según “ojos” binarios V<font size=”0”> </font>i<font size=”0”> </font>a<font size=”0”> </font>g<font size=”0”> </font>r<font size=”0”> </font>a. # css compilant ;-) V<span style=”font-size:0;”> </span>i<span style=”font-size:0;”> </span>a<span style=”fontsize:0;”> </span>g<span style=”fontsize:0;”> </span>r<span style=”fontsize:0;”> </span>a. 42/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Camouflage ● Es la evolución a Invisible Ink, ya que la mayor parte de los filtros antispam eran capaces de reconorcerlo. ● Consiste en escoger dos colores muy similares, pero distintos, para que el filtro antispam no pueda detectarlo. ● Los colores #113333 y #123939 son muy similares, pero yellow (amarillo) y #113333 son bastante distintos Amarillo #113333 #123939 43/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Camouflage ● Visión según “ojos” humanos 44/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Camouflage ● Visión según “ojos” humanos “avispados” 45/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Camouflage ● Visión según “ojos” binarios <body bgcolor=#113333> <font color=#123939>palabras inocentes</font> <font color=yellow>palabras de spam</font> </body> # css compilant ;-) <body bgcolor=#113333> <span style=”color: #123939>palabras inocentes</span> <span style=”color: yellow;”>palabras de spam</span> </body> 46/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas Técnicas utilizadas por spammers Honey, I shrunk the font ● Consiste en minimizar el tamaño de las palabras inocentes, de tal manera que a penas se aprecien. ● La manera de minimizarlas es dándole tamaño 1. 47/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Honey, I shrunk the font ● Visión según “ojos” humanos 48/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Honey, I shrunk the font ● Visión según “ojos” humanos “avispados” 49/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Honey, I shrunk the font ● Visión según “ojos” binarios <font size=1>palabras inocentes</font> <span style=”font-size: 1;”>palabras inocentes </span> 50/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Microdot ● Consiste en una modificación de la técnica anterior que consiste en introducir un único caracter en el medio de una palabra. ● El tamaño es tan pequeño que parece un '.' 51/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Microdot ● Visión según “ojos” humanos 52/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Microdot ● Visión según “ojos” humanos “avispados” 53/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Microdot ● Visión según “ojos” binarios V<font size=1>z</font>iagra V<span style=”font-size: 1;”>z</span>iagra 54/162 Iker Sagasti Markina [email protected] 5 Técnicas anti-spam: Presente y Futuro Nuevas técnicas utilizadas por spammers Ascii Art (arte ascii) 55/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Técnicas anti-spam correctivas Análisis de las técnicas anti-spam correctivas 56/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Tipo de Técnicas Tipos: ● Preventivas – – – – Enmascaramiento / Spambots Etiquetas anti robots Concienciación Legales 57/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Tipo de Técnicas Tipos: ● Correctivas – – – Legales Basados en contenido ● Filtros Básicos ● Filtros Heurísticos ● Filtros Bayesianos No basados en contenido ● Listas ● Filtros Distribuidos ● Esquemas de Autorización de Envio 58/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Medidas Legales Sanciones Económicas: ● EEUU – 19/07/04 – $50.000 ● ● Scott Richter Había comprometido 500 ordenadores para enviar millones de spams. 59/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Medidas Legales Sanciones Penales: ● EEUU – XX/11/04 – 9 años de prisión ● ● ● Jeremy Jaynes, 30 años Había ganado 24 millones de dolares vendiendo productos vía spam. 10 millones de spam diarios (1 de 300.000 con éxito) 60/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Medidas Legales Sanciones Económicas: ● España – 04/05 – 4 sanciones ● Pequeñas y medianas empresas ● 2 graves y 2 leves 61/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Básicos Transacción SMTP y sintaxis de Postfix $ telnet irontec.com 25 Trying 66.111.55.10... Connected to mai.irontec.com. Escape character is '^]'. 220 mai.irontec.com ESMTP Postfix helo aktornet.ath.cx 250 mai.irontec.com mail from: [email protected] 250 Ok rcpt to: [email protected] 250 Ok data 354 End data with <CR><LF>.<CR><LF> Subject: asunto del correo Cuerpo del mensaje fin . 250 Ok: queued as B105B598063 quit 221 Bye Connection closed by foreign host. smtpd_client_restrictions smtpd_helo_restrictions smtpd_sender_restrictions smtpd_recipient_restrictions header_checks body_checks 62/162 Iker Sagasti Markina [email protected] Filtros Básicos Se añade una cabecera Received por cada MTA que pasa Cabeceras Elementos que conforman un correo electrónico Cuerpo Linea en Blanco Separador 6 Técnicas anti-spam: Presente y Futuro Return-Path: <[email protected]> X-Original-To: [email protected] Delivered-To: [email protected] Received: from pool-71-112-82-75.sttlwa.dsl-w.verizon.net (pool-71-112-82-75.sttlwa.dsl-w.verizon.net [71.112.82.75]) by mai.irontec.com (Postfix) with SMTP id 0F7AEB31E for <[email protected]>; Mon, 23 May 2005 18:16:35 +0200 (CEST) Message-ID: <[email protected]> From: Kendra L.Brown <[email protected]> Cabecera añadida To: [email protected] Subject: Adobe Creative Suite (5 CD) - wholesale price por el MUA Date: Mon, 23 May 2005 16:10:28 +0000 MIME-Version: 1.0 Content-Type: multipart/related; Cabecera tipo MIME type="multipart/alternative"; boundary="----=_NextPart_000_0000_42C4668E.98ECC1BD" X-Priority: 3 Cabeceras X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express V6.00.2900.2180 NO estandar X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Get access to all the software imaginable for extremely low prices! Our software is 2-10 times cheaper than sold by our competitors. Just a $79.95 $89.95 $99.95 $79.95 $69.95 few examples: Windows XP Professional (Including: Service Pack 2) Microsoft Office 2003 Professional / $79.95 Office XP Professional Adobe Photoshop 8.0/CS (Including: ImageReady CS) Adobe Acrobat 6.0 Professional Quark Xpress 6 Passport Multilanguage All main products from Microsoft, Adobe, Macromedia, Corel, etc. And many more... 63/162 Regards, Kendra L. Brown Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Básicos Comprobaciones en el protocolo SMTP ● Main.cf (es necesario “postmap”) smtpd_client_restrictions smtpd_helo_restrictions smtpd_sender_restrictions smtpd_recipient_restrictions check_client_access hash:/etc/postfix/client_checks check_helo_access hash:/etc/postfix/helo_checks check_sender_access hash:/etc/postfix/sender_checks check_recipient_access hash:/etc/postfix/recipt_checks smtpd_delay_reject = no ● Ejemplos de contenido de los archivos: irontec.com 66.111.50.10 spammers.com [email protected] spam.com REJECT Tu no eres irontec.com REJECT Tu no eres 66.111.50.10 554 No nos gusta el spam, gracias OK 64/162 REJECT Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Básicos Comprobaciones en las Cabeceras ● Main.cf (es necesario “postmap”) header_checks = regexp:/etc/postfix/regexp.header mime_header_checks = regexp:/etc/postfix/regexp.mime message_header_checks = regexp:/etc/postfix/regexp.msg nested_header_checks = regexp:/etc/postfix/regexp.nest ● Ejemplos de contenido de los archivos: /^Subject: Enanito si, pero con que pedazo!$/ REJECT /^From:.*hotmail\.com/ REJECT /^Content-(Type|Disposition):.*(file)?name=.*\.(asd| bat|chm|cmd|com|dll|exe|hlp|hta|js|jse|lnk|ocx|pif|scr| shb|shm|shs|vb|vbe|vbs|vbx|vxd|wsf|wsh)/ REJECT Disculpa, no se aceptan archivos del tipo .${3}. 65/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Básicos Comprobaciones en el Cuerpo ● Main.cf (es necesario “postmap”) body_checks = regexp:/etc/postfix/regexp.body ● Ejemplos de contenidos de archivos: /Palabras no deseadas/ REJECT /\&\#109;\&\#97;\&\#105;\&\#108;\&\#116;\&\#111;\&\#58 ;/ REJECT /Te mando este archivo para que me des tu punto de vista/ REJECT 66/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Básicos ● Repositorio NO oficial de filtros básicos “populares” – http://www.hispalinux.es/~data/postfix/ 67/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Base Teórica ● Los spammers suelen utilizar una serie de patrones y comporamientos determinados. – – Cadenas Típicas ● Viagra ● Free ● Penis ● Enlargement ● Buy Comportamientos ● Correos en formato HTML ● No cumplen RFC ● Mayúsculas 68/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos ● Ejemplo heurístico From: Moneymaker <[email protected]> To: [email protected] Subject: 5 DVD's for 20 Bucks The Netflix business model just went MLM. 5 DVDs, only $20 a month. More movies, less money and an opportunity to refer your friends. Take a look here: http://mygoldentertainment.com/TEH This is not SPAM. You are receiving this email because you are signed up on an opt in list with us or one of our affiliates. +Since this is a one time email you do not need to unsubscribe. However, if you would like to, send an email to: [email protected] with REMOVE in the subject line. Thank you. 69/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos ● Ejemplo heurístico pts nombre de la regla descripcion -------------------------------------------------0.0 EXCUSE_15 Decir que no es spam 0.7 EXCUSE_19 Te pide que mires o te registres 0.4 FORGED_YAHOO_RCVD From: @yahoo.com no coincide con la cabecera Received: 1.0 FROM_ENDS_IN_NUMS Acaba en números 0.5 MAILTO_TO_SPAM_ADDR Incluye un link a email tipo spammer 2.1 MLM Marketing Multi Nivel 3.6 MSGID_FROM_MTA_SHORT Cabecera Message-Id añadida por un relay 2.4 ONE_TIME_MAILING “One Time Email” no significa que no sea spam 0.3 REMOVE_SUBJ Indica como no recibir más spam 1.3 THIS_AINT_SPAM Esto no es spam Content analysis details: – – (12.4 points, 5.0 required) http://spamassassin.apache.org/tests_3_0_x.html Resultado ● 12,4 > 5.0 SPAM!!!!! 70/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Problemas ● Los patrones de búsqueda son públicos ● Los métodos empleados por los spammers son cada vez más sofisticados – – ● ● viagra vs V14gr4 Hay soluciones antispam que detectan 5.600.000 maneras de decir “viagra” Las soluciones antispam heurísticas son estáticas Su implementación práctica sobre servidores consume una enorme cantidad de recursos (expresiones regulares muy 71/162 complejas) Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Premisas para búsqueda de soluciones ● Es necesaria una nueva técnica adaptativa ● Se debe adaptar a las necesidades personales de cada usuario 72/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos SpamAssassin ● Características – – – Premio al mejor producto anti-spam del 2005 (Damation) Es un producto que ofrece más servicios que únicamente filtro heurístico (listas blancas, listas negras, aprendizaje bayesiano...) La configuración por defecto proporciona alrededor de 750 reglas bastante “eficientes” ● Listado de reglas no oficiales – http://www.stearns.org/sa-blacklist/ 73/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Spamassassin ● Implementación # apt-get install amavisd-new spamassassin ● Referencias – http://www.irontec.com/~aktor/files/sistema_correo.pdf 74/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Clamav ● Características Es un escaner de virus GPL y mantenido por la comunidad. – Detección de más de 30.000 viruses, gusanos y troyanos. El 80%* del spam mundial es generado por ordenadores “zombies” Windows infectados por algún tipo de malware En cuestión de minutos, un Windows “virgen” es infectado al conectarse a Internet directamente. – En 4 minutos el gusano Sasser – En 11 minutos el gusano MS Blaster – ● ● 75/162 * Sandvine, Junio 2004 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Clamav ● Tiempos de Respuesta (Mydoom MEW) ClamAV Sophos TrendMicro F-Prot McAfee eTrust-Iris Symantec eTrust-Vet Antivir DrWeb BitDefender Panda Norman AVG – 16.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 17.02.2005 23:02 00:02 01:11 01:48 01:53 02:35 03:30 06:35 07:11 08:10 08:54 08:54 09:25 11:10 :: :: :: :: :: :: :: :: :: :: :: :: :: :: Worm.Mydoom.M-2 W32/MyDoom-O WORM_MYDOOM.M W32/Mydoom.AY@mm W32/Mydoom.bb@MM!zip Win32/Mydoom.AU!Worm W32.Mydoom.AX@mm Win32.Mydoom.AU!ZIP Worm/MyDoom.BB Win32.HLLW.MyBot Win32.Mydoom.AQ@mm W32/Mydoom.AO.worm MyDoom.AQ@mm I-Worm/Mydoom.AP Fuente: Hispasec 76/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Clamav ● Tiempos de Respuesta (Sober.p) ClamAV Kapersky F-Prot Gdata AVK BitDefender Sophos Command Ikarus Virusbuster Panda eTrust-Iris Antivir Norman TrendMicro AVG McAfee eTrust-Vet Symantec QuickHeal DrWeb – 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 02.05.2005 03.05.2005 03.05.2005 03.05.2005 03.05.2005 18:36 18:39 18:54 18:56 19:19 19:27 20:07 20:14 20:44 20:49 21:54 22:24 22:46 23:18 23:27 23:38 01:15 03:38 03:38 10:46 Fuente: PCWelt :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: Worm.Sober.P Email-Worm.Win32.Sober.p W32/Sober.O@mm Email-Worm.Win32.Sober.p (KAV) Win32.Sober.O@mm W32/MyDoom-O W32/Sober.O@mm Email-Worm.Win32.Sober.P I-Worm.Sober.Q W32/Sober.V.worm Win32/Sober.53554!Worm Worm/Sober.P Sober.O@mm WORM_SOBER.S I-Worm/Sober.P W32/Sober.p@MM Win32.Sober.N (VET) W32.Sober.O@mm Sober.p Win32.HLLM.Generic.345 77/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Heurísticos Clamav ● Implementación – Compresores / Descompresores # apt-get install lha arj unrar zoo nomarch lzop arc unzoo – Sistema antivirus # apt-get install clamav clamav-daemon clamav-freshclam ● Referencias – http://www.irontec.com/~aktor/files/sistema_correo.pdf 78/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Base Teórica: ● Se basa en el siguiente principio matemático: – ● “La mayoría de los sucesos son dependientes y la probabilidad de que un suceso ocurra en el futuro puede ser deducida de las ocurrencias anteriores de dicho suceso.” Se utliza en múltiples campos (estudios epidemiológicos, quinielas, buscadores de internet...) 79/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Base Teórica: ● Supongamos el siguiente caso: – “Una persona padece vómitos, fiebre, diarrea...”. Los síntomas detectados indican las que las enfermedades posibles pueden ser múltiples ● ● Por probabilidad pura será una gastroenteritis. Pero si tenemos en cuenta que acaba de llegar de Laos y no se ha vacunado por probabilidad bayesiana será malaria. 80/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Base Teórica: ● En la práctica consiste en generar una base de datos con palabras y tokens (direcciones IP, dominios, $..) recogidos de ejemplos de correo spam y legítimo (ham). ● Se le asigna una probabilidad a cada palabra o token. ● La probabilidad se calcula en base a la frecuencia con la que una palabra aparece en un correo spam frente a un correo legítimo (ham). 81/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Base Teórica: 82/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Base Teórica: ● La probabilidad de que una palabra o token sea spam se rige por la siguiente expresión matemática: P= spamHits/totalSpam spamHits/totalSpaminnocentHits/totalInnocent 83/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Base Teórica: ● Ejemplo: calcular la probabilidad del termino 'microsoft' – – Supongamos que el termino 'microsoft' aparece en 400 de 3000 correos spam y en 5 de 300 correos legítimos La probabilidad de spam de 'microsoft' sería P= 400/3000 =0.8889 5/300400/3000 84/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Conclusiones: ● Es muy importante generar una base de datos en base a nuestro correo, para evitar sobre todo falsos positivos. – – Imaginad que Bill Gates usase la base de datos bayesiana de R. Stallman :-D Algunos softwares anti-spam (Outlook spam filter, Internet Message Filter de Exchange Server), vienen con una base de datos “prefabricada” ● El correo ham es público y puede ser “hackeado” – ● hay “hacks” públicos para Outlook 2003 y el filtro de spam del Exchage Server Pueden generar un mayor número de falsos negativos 85/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Conclusiones ● Ventajas – – – – – – ● Se adapta a si mismo a lo largo del tiempo Es adaptable a cada usuario / grupo Multilingüe e internacional Dificil de engañar Rápido aprendizaje Tiene en cuenta todo el mensaje y reconoce las palabras que identifican spam y las que identifican ham. Inconvenientes – – Requiere aprendizaje ( ≈ 2 semanas) Degradación de la base de datos 86/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros basados en Contenido ● ● Ningún método de filtrado es 100% efectivo Falsos Negativos – – ● Correo que es spam y no es detectado como tal por el filtro antispam Son los errores más habituales Falsos Positivos – – Correo legítimo que es detectado como spam por el filtro antispam Son los errores más peligrosos 87/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros basados en Contenidos ● ● Nunca hay que eliminar el correo considerado como spam. Es suficiente con marcarlo como tal. “El software antispam ideal es el que no no comete falsos positivos y posee un número muy bajo de falsos negativos” 88/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM ● Características – – ● Filtro exclusivamente bayesiano GPL Alcanza ratios de hasta 99,95% (1 de 2000) Más información en: – http://www.eghost.net/docs/2005/conferencias/dspam_presentaci on_SemanaEside2005.pdf 89/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM ● Sistemas Operativos soportados 90/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM ● Servidores de Correo soportados 91/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM ● “Backend” de almacenamiento soportados: 92/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM ● Para lograr un buen porcentaje de acierto (99,9x%), es necesario entrenar previamente al filtro correspondiente a cada usuario – – – Entre 1000 y 2500 mensajes inocentes Entre 100 y 200 mensajes spam Algunas de las funciones de DSPAM no se activan hasta recibir al menos 2500 mensajes inocentes. 93/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM ● Implementación – – – ● Compilar a mano Aprender la sintaxis y funcionalidades Integrar con el MTA Complicado construir paquetes para las distribuciones (opciones configure) ● .deb: http://pkg-dspam.alioth.debian.org/ (en proyecto) ● .rpm: http://dag.wieers.com/packages/dspam/ (ver. 2.X) ● gentoo: http://www.gentoo-portage.com/mail-filter/dspam 94/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM 95/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM 96/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos DSPAM 97/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Filtros Bayesianos Spamassassin ● Aprendizaje Bayesiano – Implementación ● local.cf use_bayes 1 bayes_min_ham_num bayes_min_spam_num 50 50 98/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: Sender Policy Framework ● Caracteristicas – – – Permite a los servidores de correo identificar y/o bloquear envíos falsificados haciendo una simple consulta al DNS sobre el registro TXT del dominio origen. Implementado por más de 1.000.000 de dominios en menos de 12 meses. Desarrollado por Pobox 99/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Protocolos que intervienen: – DNS ● ● ● – Necesario para poner accesibles los dominios para los cuales un MTA tiene autorización para enviar correos. Registro TXT. Permite que los servidores que reciben correos de mi dominio puedan, si quieren, comprobar su validez. SMTP ● ● El MTA será en encargado de verificar que el servidor que hace entrega del correo tiene permiso para hacerlo en nombre de dicho dominio. Necesita modificación 100/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Funcionamiento – – El servidor de correo, cuando recibe un correo, realiza una consulta al DNS del dominio origen. Si dispone de un registro SPF válido, comprueba que el correo provenga de donde el DNS anuncia que debe provenir. 101/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Funcionamiento 102/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Evolución de uso 103/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Algunas entidades que lo implementan 104/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Ejemplo DNS: $ host -t txt microsoft.com Dominio Versión del protocolo microsoft.com text "v=spf1 ip4:213.199.128.139 ip4:213.199.128.145 ip4:207.46.50.72 ip4:207.46.50.82 ip4:131.107.3.116 ip4:131.107.3.117 ip4:131.107.3.100 ip4:131.107.3.108 a:delivery.pens.microsoft.com a:mh.microsoft.m0.net mx:microsoft.com ?all" Resultado en caso de fallo 105/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Sintaxis de los parámetros DNS v=spf1 [[pre] type ] ... [mod] ● Descripción de los parámetros del DNS – – – – v (version) * pre type mod 106/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Descripción de los parámetros del DNS – pre ● Define el código de respuesta devuelto cuando se produce una coincidencia + → pass (permitido). Valor por defecto - → fail (no permitido) ~ → softfail (no concluyente) ? → neutral (no concluyente) ● Ejemplos: “v=spf1 +a mx -all” “v=spf1 a ?all” 107/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Descripción de los parámetros del DNS – type ● Define el mecanismo de verificación ip4:ipv4 → direcciones ipv4 para la verificación ip6:ipv6 → direcciones ipv6 para la verificación a → registro A para la verificación mx → registro MX para la verificación ptr → registro PTR para la verificación exists:domain → comprueba la existencia del dominio ● Ejemplos: elmundo.com text "v=spf1 ip4:200.75.73.106 mx mx:luna.elmundo.com -all" blyx.com text "v=spf1 ip4:212.163.0.0/26 -all" 108/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Descripción de los parámetros del DNS – type ● También soporta elementos que afectan a la secuencia de verificación include:domain → incluye el registro asociado a otro dominio all → finaliza el proceso de verificación ● Ejemplos: hotmail.com text "v=spf1 include:spf-a.hotmail.com include:spf-b.hotmail.com include:spf-c.hotmail.com include:spf-d.hotmail.com ~all" spf-a.hotmail.com text "v=spf1 ip4:209.240.192.0/19 ip4:65.52.0.0/14 ip4:131.107.0.0/16 ip4:157.54.0.0/15 ip4:157.56.0.0/14 ip4:157.60.0.0/16 ip4:167.220.0.0/16 ip4:204.79.135.0/24 ip4:204.79.188.0/24 ip4:204.79.252.0/24 ip4:207.46.0.0/16 109/162 ip4:199.2.137.0/24 ~all" Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Descripción de los parámetros del DNS – mod ● Modificadores finales (deben ir después del “all”) redirect=domain → Similar a include exp=txt-rr → Indica registro TXT a devolver en caso de error ● Ejemplos: irontec.com text "v=spf1 a mx ~all exp=malote.irontec.com" malote.irontec.com text "El email enviado por %(s) a traves del servidor SMTP %(i) fue rechazado por %(c) (%(r)) a las %(t) debido a un fallo en la verificacion del dominio %(p). Pongase en contacto con [email protected] para mas informacion" 110/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Asistente “orientativo” para determinar los valores adecuados de los parámetros del DNS – http://spf.pobox.com/wizard.html 111/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Ejemplo de Cabecera: X-Gmail-Received: 8acbceeba3a4e78bb82169f5e8fd14913a9e40e6 Delivered-To: [email protected] Return-Path: <[email protected]> Received: from mai.irontec.com (mai.irontec.com [66.111.55.10]) by mx.gmail.com with ESMTP id 11si280525wrl.2005.05.22.17.58.14; Sun, 22 May 2005 17:58:14 -0700 (PDT) Received-SPF: pass (gmail.com: domain of [email protected] designates 66.111.55.10 as permitted sender) Received: from www.irontec.com (mai [127.0.0.1]) by mai.irontec.com (Postfix) with ESMTP id 4F850598063 for <[email protected]>; Mon, 23 May 2005 02:58:23 +0200 (CEST) Date: Mon, 23 May 2005 02:58:23 +0200 (CEST) Subject: probando SPF de gmail From: "Iker Sagasti Markina" <[email protected]> To: [email protected] Reply-To: [email protected] MIME-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal 112/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Algunos MTA's que lo implementan 113/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Algunos MTA's que lo implementan – – – – – – Postfix: http://spf.pobox.com/postfix-policyd.txt Qmail: http://www.saout.de/misc/spf/ Exim: http://spf.pobox.com/exim4.spf.acl-2.09.txt Sendmail: http://srs-socketmap.info/spf/sendmail-milter-spf.pl Courier: http://search.cpan.org/search?query=Courier::Filter:: Module::SPF MsExchange: http://www.michaelbrumm.com/smtpspffilter.html 114/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Problemas asociados: – – – – – – Requiere que ambas partes lo soporten Sobrecarga del protocolo DNS El método de autenticación no permite validaciones de redirecciones a través de otros MTA (SRS). Los ISP necesitan implementar mecanismos de autenticación (modificar los MTA) Lo ideal sería la implementación de un nuevo registro DNS: SPF. De momento TXT. Es necesario un SMTP saliente para cada cuenta de correo. 115/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Implementación en el DNS irontec.com. IN TXT "v=spf1 a mx ~all" 116/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Implementación en el MTA – Librerías necesarias # apt-get install libmail-spf-query-perl – Filtro que implementa SPF para integrarlo con Postfix http://spf.pobox.com/postfix-policyd.txt 117/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Implementación en el MTA – Main.cf smtpd_policy_service_endpoint = unix:private/policy smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination check_policy_service unix:private/policy – Master.cf policy unix n n user=nobody argv=/usr/bin/perl \ /usr/lib/postfix/smtpd-policy.pl spawn 118/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Implementación en el MTA – Logs postfix/policy-spf[7361]: Attribute: client_address=66.111.55.10 postfix/policy-spf[7361]: Attribute: client_name=mai.irontec.com postfix/policy-spf[7361]: Attribute: helo_name=mai.irontec.com postfix/policy-spf[7361]: Attribute: instance=1cbd.4290f1d7.0 postfix/policy-spf[7361]: Attribute: protocol_name=ESMTP postfix/policy-spf[7361]: Attribute: protocol_state=RCPT postfix/policy-spf[7361]: Attribute: queue_id= postfix/policy-spf[7361]: Attribute: [email protected] postfix/policy-spf[7361]: Attribute: request=smtpd_access_policy postfix/policy-spf[7361]: Attribute: sasl_method= postfix/policy-spf[7361]: Attribute: sasl_sender= postfix/policy-spf[7361]: Attribute: sasl_username= postfix/policy-spf[7361]: Attribute: [email protected] postfix/policy-spf[7361]: Attribute: size=1136 postfix/policy-spf[7361]: : testing: stripped [email protected], stripped [email protected] postfix/policy-spf[7361]: handler testing: DUNNO postfix/policy-spf[7361]: : SPF pass: irontec.com A 66.111.55.10, header_comment=AsteriX: domain of [email protected] designates 66.111.55.10 as permitted sender postfix/policy-spf[7713]: handler sender_permitted_from: DUNNO postfix/policy-spf[7713]: decided action=DUNNO 119/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Implementación en el MTA – Cabecera ● Es necesario parchear Postfix. No oficial. ● http://www.ipnet6.org/postfix/spf/ 120/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio SPF: ● Implementación en el MTA – elmundo.com text "v=spf1 ip4:200.75.73.106 mx mx:luna.elmundo.com -all" Ejemplo de rechazo aktor@ObeliX:~$ telnet irontec.com 25 Trying 66.111.55.10... Connected to mai.irontec.com. Escape character is '^]'. 220 mai.irontec.com ESMTP Postfix helo elmundo.com 250-mai.irontec.com mail from: <[email protected]> 250 Ok rcpt to: <[email protected]> 554 <[email protected]>: Recipient address rejected: Please see http://spf.pobox.com/why.html?sender=aktor% 40elmundo.com&ip=80.35.230.140&receiver=mai.irontec.com quit 221 Bye 121/162 Connection closed by foreign host. Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● Características – Es el resultado de la unión de los protocolos SPF (Pobox) y PRA (Microsoft). ● ● – – SPF se centra en el argumento “MAIL FROM” del protocolo SMTP para realizar la verificación PRA se centra en la cabecera “From:” del cuerpo del mensaje 100% compatible con SPF También conocido como “v=spf2.0/pra” 122/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● MAIL FROM: – Los MTA (servidores de correo) son los encargados de hacer las verificaciones del valor de este campo del protocolo SMTP. MAIL FROM:<[email protected]> From:<[email protected]> MAIL FROM:<[email protected]> Sender:<[email protected]> From:<[email protected]> 123/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● PRA: Purported Responsible Address – – Los MUA (clientes de correo) son los encargados de hacer la verificación. Próximamente soportado por: 124/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● Funcionamiento: 125/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● Algunas entidades que lo implementan 126/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● Ejemplo DNS: Dominio $ host -t txt aol.com aol.com text "spf2.0/pra ip4:152.163.225.0/24 ip4:205.188.139.0/24 ip4:205.188.144.0/24 ip4:205.188.156.0/23 ip4:205.188.159.0/24 ip4:64.12.136.0/23 ip4:64.12.138.0/24 ptr:mx.aol.com ?all" Identificativo de Sender-ID 127/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● Problemas asociados – – – – Microsoft es propietario de la licencia de patente gratuita de Sender-ID Esto supone que Microsoft tiene una patente sobre un estandar de internet, que podría modificar cuando quisiera. La licencia no es compatible con la GPL y es problemática para implementaciones de software libre. Grandes grupos de software libre no la apoyan (Debian GNU/Linux, Fundación Apache, FSF, Postfix, Exim, Courier...) 128/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Sender-ID: ● Ejemplo DNS para NO dar soporte a Sender-ID: $ host -t txt anti.sender-id.com anti.sender-id.com text "spf2.0/pra -all" Vacío 129/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Características – – – Desarrollado por Yahoo! Borrador de estándar de Internet – IETF Basado en Criptografía de clave pública ● – – – – PKI (512, 768, 1024, 1536, 2048) Transparente y compatible con la infraestructura de correo existente. No requiere nueva infraestructura Se implementa independiente a los clientes No exige utilizar una Autoridad Certificadora Oficial 130/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Elementos que intervienen – DNS ● ● – Necesario para poner accesible la clave pública con la que se firman los correos enviados por terceros. Registro TXT. MTA ● El MTA será en encargado de verificar y firmar digitalmente los mensajes entrantes y salientes. 131/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Funcionamiento – – – – – – Está basado en un par de claves pública/privada Por cada correo saliente se calcula un hash A partir del hash se genera una firma con la Clave Privada. La firma se añade a la cabecera del correo, especificando donde encontrar la Clave Pública. El receptor podrá verificar la firma de la cabecera utilizando la Clave Pública encontrada en el DNS. Si coinciden el hash descifrado de la cabecera con el hash calculado del cuerpo, el correo es válido. 132/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Funcionamiento 133/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Resultados posibles: – La firma DomainKey es válida: ● – La firma DomainKey no existe o no es válida para un dominio con el registro DNS: ● – CORREO VÁLIDO CORREO INVÁLIDO Dominio sin registro DNS: ● CORREO INCIERTO 134/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Algunas entidades que lo implementan 135/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Ejemplo Cabecera: DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=clave; d=irontec.com; h=received:message-id:date:from:replyto:to:subject:mime-version:contenttype:content-transfer-encoding:contentdisposition; b=p5iW1AkeDteYhLf81bPjxjfYHoGGWU+088ZE5ln8hFP SN2sTsIY3AGMmhA8cL0a9OPAsIkigappWZ533+wI2hF8O xMZ81Lvsb9Us2r0liEsQAZhxXLpJUXUAQqgughAmuXKzG FpvR1ljtbzPDi7/LXxdCiqoj9nhE/xZpnpAl5g= 136/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Descripción de los parámetros de la Cabecera – – – – – – – a (algoritmo firma) * b (firma digital) * c (algoritmo de orden) * d (dominio) * h (listado de las cabeceras) q (consulta) * s (selector) * 137/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Descripción de los parámetros de la Cabecera – Selector ● Son nombres arbitrarios bajo el espacio de nombre _domainkey y su función es indicar el espacio de nombre al que hacer la consulta para obtener la clave pública con la que ha sido generada la cabecera DK. ● Permite trabajar simultáneamente con varias claves ● Ejemplos: clave._domainkey.irontec.com 2005.05.internet._domainkey.irontec.com 2005.05.sistemas._domainkey.irontec.com 2005.06.internet._domainkey.irontec.com 2005.06.sistemas._domainkey.irontec.com 138/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Ejemplo DNS: Selector Dominio $ host -t txt beta._domainkey.gmail.com beta._domainkey.gmail.com text "t=y\; k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC69TURXN3oNfz +G/m3g5rt4P6nsKmVgU1D6cw2X6BnxKJNlQKm10f8tMx6P6bN7juT R1BeD8ubaGqtzm2rWK4LiMJqhoQcwQziGbK1zp/MkdXZEWMCflLY6 oUITrivK7JNOLXtZbdxJG2y/RAHGswKKyVhSP9niRsZF/IBr5p8uQ IDAQAB" Modo Prueba 139/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Descripción de los parámetros del DNS – – – – – g (granularidad) k (tipo de clave) n (notas) p (clave publica) * t (flag) 140/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Espacio de Nombre reservado en el DNS para implementar DK Domain-Keys: ● Ejemplo consulta información DNS “Interino”: $ host -t txt _domainkey.yahoo.com _domainkey.yahoo.com text "t=y\; o=~\; n=http://antispam.yahoo.com/domainkeys“ 141/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Descripción de los parámetros del DNS “Interino” – – – – n (notas) o (política de firmas salientes) r (email de aviso) t (flag) 142/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Algunos MTA's que lo implementan 143/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Problemas asociados: – – – Requiere que ambas partes lo soporten Sobrecarga del protocolo SMTP y DNS ● Calcular algoritmos criptográficos para cada correo ● Aumentan el número de consultas Forwarding ● – Se añaden nuevos elementos (cabeceras, pies...) Seguridad ● DNS no es un protocolo intrínsecamente seguro 144/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Implementación en el DNS – Generar el par de claves (pública / privada) ● Clave Privada (para firmar los correos enviados) $ openssl genrsa -out rsa.private 768 ● Clave Pública (para que otros puedan verificar los correos enviados por mi) $ openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM – La clave pública (rsa.public) se coloca en el DNS clave._domainkey.irontec.com. IN TXT "t=y\;k=rsa\;p=MHwwDQYJKoZIhvcNAQEBBQADawAwaAJh AKXQl2uA4vntjblGsnkCC9lVcQZXm722Y0brubUGo6KOVpf vNQ35/OeEJvGbOYTeFGGIta+re5zyzg+cU9CbDGlwj9tEyA b6VY4HUtJOAUheJCsIYg0iiBDlCKNoURtjsQIDAQAB" 145/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Implementación en el MTA – Generar la firma del correo $ openssl dgst -sign rsa.private -sha1 < input.mail aoiDeX42BB/gP4ScqTdIQJcpAObYr+54yvctqc4rSEFYby9+omKD3pJ /TVxATeTzmsybuW3WZiamb+mvn7f3rhmnozHJ0yORQbnn4qJQhPbbPb WEQKW09AMJbyz/0lsl DomainKey-Signature: a=rsa-sha1 s=clave; d=irontec.com; c=nofws; q=dns; b=aoiDeX42BB/gP4ScqTdIQJcpAObYr+54yvctqc4rSEFYby9+omKD3 pJ/TVxATeTzmsybuW3WZiamb+mvn7f3rhmnozHJ0yORQbnn4qJQhPbb PbWEQKW09AMJbyz/0lsl; 146/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter (http://jason.long.name/dkfilter) – Requiere el módulo de PERL Crypt::OpenSSL::RSA # apt-get install libcpanplus-perl libssl-dev # apt-get install bzip2 tar lynx wget ncftp ftp gpg # cpan cpan> install Crypt::OpenSSL::RSA – – – Copiamos dkfilter en /usr/local/dkfilter Cambiamos permisos de /usr/local/dkfilter Preparamos un script de arranque y parada 147/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Filtro de Entrada ● Para iniciarlo # dkfilter.in 127.0.0.1:10025 127.0.0.1:10026 ● Master.cf # Recibe el correo desde Internet y lo inyecta al # filtro con pto. 10025 smtp inet n n smtpd -o smtpd_proxy_filter=127.0.0.1:10025 -o smtpd_client_connection_count_limit=10 148/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Filtro de Entrada ● Master.cf # Para recibir el correo desde el filtro de contenidos 127.0.0.1:10026 inet n - n smtpd -o smtpd_authorized_xforward_hosts=127.0.0.0/8 -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions= -o mynetworks=127.0.0.0/8 -o receive_override_options=no_unknown_recipient_checks 149/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Filtro de Salida ● Para iniciarlo # dkfilter.out --keyfile=/usr/local/dkfilter/private.key --selector=clave --domain=irontec.com --method=nofws 127.0.0.1:10027 127.0.0.1:10028 ● Master.cf # Instancia para el cliente DK encargado de firmar dksign unix n 10 smtp -o smtp_send_xforward_command=yes 150/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Filtro de Salida ● Master.cf # Servicio para aceptar correos del cliente DK 127.0.0.1:10028 inet n n 10 smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_ header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o smtpd_authorized_xforward_hosts=127.0.0.0/8 151/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Filtro de Salida ● Master.cf # Definimos un filtro de contenidos para los correos # enviados a través de este MTA. # Solo para usarios locales y autenticados por SASL submission inet n n smtpd -o smtpd_etrn_restrictions=reject -o smtpd_sasl_auth_enable=yes -o content_filter=dksign:127.0.0.1:10027 -o receive_override_options=no_address_mappings -o smtpd_recipient_restrictions=permit_mynetworks,permit_sa sl_authenticated,reject 152/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Ejemplo cabecera de correo válido Authentication-Results: AsteriX [email protected]; domainkey=pass DomainKey-Signature: a=rsa-sha1; b=T3l1MLH6fZyI+GrS+4tzUG2X8pBVbDgrKUf9h9UFg2nsNJ2HwdYN p9XPLEsqr4Mq5LrxULTsfJm3ll65ZrKHrBgz7S7MSZ3u9+Jm/8zPLB IDJs/vOVjM1hVOGnjRzAW7YTlnekjju5lcJNAo3VvzBtbL+5gUnaPb fwxHKKivPEw=; c=nofws; d=irontec.com; q=dns; s=clave 153/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Ejemplo cabecera de correo inválido Authentication-Results: AsteriX [email protected]; domainkey=neutral (signature invalid; key testing) DomainKey-Signature: a=rsa-sha1; b=ChzGakHHdR7KsaBbdRqIb+dyJ3ua5oDXfYZMMRpHDNFYMcZVzK9s TlipQ1eu8t2317tNbyW93SVBHFYEqLkun7zyrvnHYiJ5VXYYPYe0iU PA5RlfDurJOZHcQdsf/QZevzVsP7KDzZgdOZRIUwGF2EP6vYNs5HKE 6p6socVvVDo=; c=nofws; d=irontec.com; q=dns; s=clave 154/162 Iker Sagasti Markina [email protected] 6 Técnicas anti-spam: Presente y Futuro Esquemas de Autorización de Envio Domain-Keys: ● Dkfilter – Ejemplo cabecera de correo entrante sin firmar Authentication-Results: AsteriX [email protected]; domainkey=neutral (no signature; domain testing) 155/162 Iker Sagasti Markina [email protected] 7 Técnicas anti-spam: Presente y Futuro Fin del SPAM? ● ● Existe el SPAM porque es un negocio rentable (tiene un costo y un beneficio asociado) Si una parte de los usuarios utiliza filtros que tienen un 90% efectividad – – Ej: 20% de usuarios usan filtros ● 18% del spam se pierde ● Los spammers pierden un 18% de su negocio Ej: 50% de usuarios usan filtros ● 45% del spam se pierde ● Los spammers pierden un 45% de su negocio ● Quizás ya no sea un negocio! 156/162 Iker Sagasti Markina [email protected] Técnicas anti-spam: Presente y Futuro Referencias Referencias 157/162 Iker Sagasti Markina [email protected] Técnicas anti-spam: Presente y Futuro Referencias ● ● ● ● ● ● ● ● ● Wikipedia Project Honey Pot Sophos Cámara de Gipuzkoa Portaley Pobox Domainkeys MsExchange Blyx 158/162 Iker Sagasti Markina [email protected] Técnicas anti-spam: Presente y Futuro Agradecimientos Agradecimientos 159/162 Iker Sagasti Markina [email protected] Técnicas anti-spam: Presente y Futuro Agradecimientos ● ● ● Enpresa Digitala Toni dlF. Diaz Vosotros ;-) 160/162 Iker Sagasti Markina [email protected] Técnicas anti-spam: Presente y Futuro Licencia Copyleft Copyright 161/162 Iker Sagasti Markina [email protected] Técnicas anti-spam: Presente y Futuro Licencia Copyleft ● Este documento está protegido bajo la licencia Reconocimiento-CompartirIgual 2.1 España de Creative Commons (http://creativecommons.org/licenses/by-sa/2.1/es/) Copyright © 2005 Iker Sagasti Markina <[email protected]> Se permite la copia, modificación, distribución, uso comercial y realización de la obra, siempre y cuando se reconozca la autoría de la misma y se cite al autor original, a no sea ser que se obtenga permiso expreso del autor. Esta nota no es la licencia completa de la obra, sino una nota orientativa de la licencia original completa (jurídicamente válida). 162/162 Iker Sagasti Markina [email protected]