Filtrado e-mail spam

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

Favorites, Groups & Events

Filtrado e-mail spam - Presentation Transcript

  1. Filtrado de SPAM
      • Referencias:
      • Hulten & Goodman: Tutorial on Junk e-mail filtering.
      • Boykin: Personal Email Networks: An Effective Anti-Spam Tool, 2004
      • Newman et al. : Email networks and the spread of computer viruses, 2002
      • www.paulgraham.com
      • Curso: Recuperación de Información
      • -- ChaTo
  2. Adversarial – IR
    • Recuperación de información cuando toda la colección, o una parte de la colección, contiene ítems maliciosamente diseñados para afectar los resultados.
  3. Definición de spam
    • Envío de numerosos mensajes no-solicitados
      • “Unsolicited Bulk E-mail” (UBE)
    • Mensajes comerciales son una categoría
      • “Unsolicited Commercial E-Mail” (UCE)
    • Pero mensajes no-comerciales también cuentan
    • Opt-in : yo elijo cuáles mensajes recibir
    • Opt-out : yo elijo cuáles mensajes dejar de recibir
      • ... después de recibirlos :(
  4. Origen de la palabra “spam”
    • Carne de cerdo enlatada
    • Sketch de Monty Python: café donde todo en el menú contiene SPAM. El cliente pide algo sin SPAM, pero el mesero le lee de nuevo el menú completo con SPAM.
      • El colmo es cuando los vikingos ( ! ) en el café empiezan a cantar “ "SPAM, SPAM, wonderful SPAM, glorious SPAM".
  5. Tipos de spam
    • SPAM a máquinas de búsqueda (spamdexing?)
      • Links, blogs, palabras
    • SPAM por e-mail
    • SPAM por mensajería instantánea (spim)
    • SPAM por SMS
    • SPAM en las News.
    • SPAM en chats.
  6. Composición del spam por e-mail
    • Viagra + similares 34%
    • Seguros 4%
    • Medicamentos 10%
    • Préstamos, etc. 13%
    • Viajes, casinos 3%
    • Fraude 6%
    • Pornografía 7%
    • Diplomas, software 10%
  7. Causas del spam
    • “Tragedia del bien comunitario”
      • Cada uno trata de maximizar su utilidad, pero genera una externalidad que minimiza la satisfacción global
      • La acción del individuo produce una “externalidad”
    • Dilema del prisionero colectivo
      • Cada uno elije cooperar (ej.: no contaminar) o no cooperar (ej.: contaminar)
      • Si todos cooperan, hay un óptimo global
      • Si uno no coopera , esa persona obtiene un beneficio a costa de los otros
  8. Causas del spam (cont.)
    • Bien colectivo : e-mail, libre de cargos
    • Ingenuidad de los que contestan el spam
    • Costos
      • Uso de red
      • Tiempo perdido en leer el spam
      • Tiempo perdido en borrar el spam
      • 40-80% de los mensajes en USA son spam
    • Otros usos
      • Uso malicioso (estafas), usos religiosos/políticos
  9. Obtención de destinatarios
    • Crawlers orientados a e-mail
      • Algunos incluso capturan palabras cerca de la dirección para asociarlas al e-mail
    • Grupos, news, listas de correo, whois, búsqueda exhaustiva con validación (Web Bugs)
    • Compra de listas de correo
    • Protección
      • Esconder la dirección en la Web (ej.: esconderla con javascript)
      • No dar la dirección real
  10. Creación de los mensajes
    • Ingeniería social
      • “old photos”
      • “I saw your profile”
      • “re: Request”
    • Contra-ataque hacia filtros automáticos
      • V.I.A.G.R.A.
      • /14GR4, V-IAGRA, V1A-GRA
      • Uso de HTML
  11. Técnicas más usadas
    • Enredar las palabras 20%
    • Partir las palabras 15%
    • Incluír otras URLs 10%
    • Falsear el dominio 50%
    • MIME (text/html distintos) 11%
    • Texto legítimo al ppio/fin 56%
      • Fuente: Hotmail, 2004
  12. Envío de los mensajes
    • Open relays
      • Máquinas que admiten e-mail de cualquiera a cualquiera
      • Open proxies: proxies abiertos al puerto 25
    • Virus de spammer (ej.: SoBig, Mimail)
    • Cuentas de correo gratis
      • Protección: imágen con texto
      • Ataque: pedir a usuarios de otros sitios que decifren la imágen (ej.: sitios de pornografía gratis)
  13. Cómo testear un open relay
        • % telnet chato.cl 25
        • Trying 192.80.24.37...
        • Connected to terminus.todocl.cl.
        • Escape character is '^]'.
        • 220 terminus.todocl.cl ESMTP Sendmail 8.11.0/8.11.0; Tue, 22 Jun 2004 13:13:33 -0400
        • mail from: vendo@viagra.com
        • 250 2.1.0 vendo@viagra.com... Sender ok
        • rcpt to: ejemplo@example.com
        • 550 5.7.1 ejemplo@example.com... Relaying denied
        • quit
        • 221 2.0.0 terminus.todocl.cl closing connection
        • Connection closed by foreign host.
  14. Algunas soluciones técnicas al spam
    • Filtrado por similaridad
    • Lista blanca o Lista negra
      • IP, segmentos, direcciones de e-mail, dominios
    • Pago por enviar
    • Filtrado por aprendizaje automático
  15. Solución: filtrado por similaridad
    • Ej.: modelo vectorial
      • El e-mail recibido es la consulta
    • Necesita almacenar ejemplos de spam
      • Direcciones “ honeypot ” para capturar mensaje que son 100% spam
      • Feedback del usuario
    • Los e-mail son variaciones unos de otros
    • Se requiere una función robusta para similaridad (ej.: modelo vectorial + heurísticas)
  16. Solución: lista negra de IPs
    • Algunas listas son demasiado agresivas
      • Ej.: la red de un cierto ISP tiene un subscriptor que envía spam, al mensaje número 1,000 detectado se bloquea el segmento de red completo
    • Algunas listas reaccionan muy tarde
      • Después de que ya muchos mensajes han sido recibidos
  17. Solución: pago por enviar
    • Pago con test de turing
      • Recibo el mensaje y envío una imágen con letras
      • El remitente debe enviarme las letras
      • Una vez que lo hace, leo su mensaje y lo agrego a lista blanca
    • Pago con computación
      • Recibo el mensaje y envío una operación matemática compleja
      • El remitente debe enviarme la respuesta
    • Se usa en forma selectiva ( sólo sospechosos )
  18. Más soluciones ...
    • Pago en dinero por enviar
      • Micropagos
      • Autoridad certificadora: les pago y además deposito US$1,000, cuando me quiero ir me devuelven US$1,000 – (US$100 * número-de-reclamos)
    • Direcciones efímeras
      • www.sitio.com me pide mi e-mail
      • Le contesto “ [email_address] “
      • Una vez que recibo el e-mail de ellos, sólo el sender de ese e-mail puede enviar a esta dirección
  19. Filtrado automático
    • Se parte con un corpus de mensajes de spam y mensajes no-spam clasificados manualmente
    • Se entrena un clasificador
    • El clasificador entrega una probabilidad de que el mensaje sea spam
  20. Filtrado automático (problemas)
    • En la práctica
      • Difícil que la gente entrene el filtro
      • ¿Cómo damos un filtro pre-entrenado? (ej.: si le pido a académicos/investigadores que entrenen el filtro, pero sus e-mails son principalmente texto, el e-mail de la gente normal no)
  21. Evaluación
    • Problema 1: “ falsos negativos ”
      • Era spam pero el filtro no lo detectó
      • Equivalente a tener mal recall
    • Problema 2: “ falsos positivos ”
      • Era correo válido y quedó como spam
      • Equivalente a tener mala precisión
    • Trade-off entre estos dos problemas
    • Difícil de comparar (¿2%-0.1% ó 0.5%-0.2%?)
  22. Evaluación de filtrado automático spam que pasa el filtro (1-RECALL) falsos positivos (1-PRECISIÓN) filtro muy conservador filtro muy agresivo (óptimo) 1% 1% (valores usados)
  23. Elección de parámetros para el filtro spam que pasa el filtro falsos positivos filtro muy conservador filtro muy agresivo (óptimo) 1% 1% Lo detectado como spam será borrado (> /dev/null), elijo un valor conservador
  24. Elección de parámetros spam que pasa el filtro falsos positivos filtro muy conservador filtro muy agresivo (óptimo) 1% 1% Lo detectado como spam será sólo marcado [SPAM], me arriesgo más
  25. Filtrado bayesiano de spam
    • Teorema de Bayes
      • P(B|A) = ( P(A|B) * P(B) ) / P(A)
    • Teorema de Bayes para filtro de e-mail
      • Evento “spam” = mensaje es spam
      • Evento “palabras” = mensaje contiene palabras malas
    • P(spam|palabras) =
        • P(palabras|spam) * P(spam) / P(palabras)
      • Probabilidad de que un mensaje es spam, dado que contiene palabras malas
  26. Naïve bayesiano
    • Asumimos que las palabras son independientes
      • P(spam | x, y) = P(spam | x) * P(spam | y)
    • Probabilidad de que sea spam dado que aparecen las palabras x e y, es el producto de las probabilidades.
    • Esto no es cierto en general (las ocurrencias de las palabras no son independientes)
  27. Ejemplo
    • P( credit, thank | spam ) =
      • 0.4 * 0.4 = 0.16
    • P( credit, thank | nospam ) =
      • 0.2 * 0.4 = 0.08
    • En ausencia de más evidencia, el mensaje es spam
    • Más probable si recibo mucho spam
    • Más probable si las palabras son poco usadas
  28. Problemas de filtros bayesianos
    • Usuarios tienen que clasificar mensajes
      • A veces se equivocan clasificando
    • Degradación del filtro en ciertos casos
      • Ej.: siempre recibo correo en español, así que todo el correo en inglés lo considero spam. PERO cuando empiezo a recibir correo en inglés el filtro lo considera spam.
    • Frases “ Click here to enter ”, la frase es buena para separar spam, los términos individuales no .
  29. Lo bueno de los filtros bayesianos
    • No necesitas guardar los mensajes
      • Privacidad
      • Espacio en disco
    • Buena precisión y recall
    • Se pueden dar pre-entrenados con un set básico
  30. Otro filtraje automático
    • Separación lineal de mensajes
    Hiper-plano separador Razgo-1 Razgo-N
  31. Otro filtraje automático (cont.)
    • A veces no son linealmente separables, y además es computacionalmente difícil
    Hiper-plano separador Razgo-1 Razgo-N
  32. Mejora de filtros automáticos
    • No sólo las palabras
    • Usar otra evidencia:
      • Frases a mano “free money”, etc.
      • % de caracteres no-alfanuméricos
      • Encoding
      • Attachments
      • Hora en que fue enviado/recibido
      • Texto grande en HTML
      • Texto invisible
  33. Heurística buena: re-definición de tokens
    • Preservar mayúsculas/minúsculas
      • “FREE” es peor que “free”
    • Incluir los signos de exclamación
      • “WIN!!!!” es peor que “win”
    • Números precedidos de un $ y con puntos y comas son tokens
      • $20,000 y US$18.00 son tokens
    • Marcar los tokens del encabezado
      • “Subject*Free”, “To*Friend” son tokens
    • También usado: lematización
  34. Esta heurística ayuda:
    • Subject*FREE 0.9999
    • free!! 0.9999
    • To*free 0.9998
    • Subject*free 0.9782
    • free! 0.9199
    • Free 0.9198
    • Url*free 0.9091
    • FREE 0.8747
    • From*free 0.7636
    • free 0.6546
  35. Problema: tokens no vistos
    • Transformación del token, ej.: “Free!!!!”
      • Subject*Free!!!
      • Subject*free!!!
      • Subject*FREE!
      • Subject*Free!
      • Subject*free!
      • Subject*FREE
      • Subject*Free
      • Subject*free
      • FREE!!!
      • Free!!!
      • free!!!
      • FREE!
      • Free!
      • free!
      • FREE
      • Free
      • free
  36. Múltiple evidencia (SpamAssasin) 1.3 X_PRIORITY_HIGH Sent with 'X-Priority' set to high 1.0 FROM_ENDS_IN_NUMS From: ends in numbers 1.9 REMOVE_REMOVAL_1WORD BODY: List removal information 0.1 HTML_FONTCOLOR_BLUE BODY: HTML font color is blue 0.1 HTML_MESSAGE BODY: HTML included in message 0.1 HTML_FONTCOLOR_RED BODY: HTML font color is red -4.9 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0048] 0.9 MAILTO_SUBJ_REMOVE BODY: mailto URI includes removal text 0.1 RCVD_IN_SORBS RBL: SORBS: sender is listed in SORBS [200.112.35.101 listed in dnsbl.sorbs.net] 0.1 RCVD_IN_RFCI RBL: Sent via a relay in ipwhois.rfc-ignorant.org [200.112.35.101 has inaccurate or missing WHOIS] [data at the RIR] 1.0 FROM_HAS_ULINE_NUMS From: contains an underline and numbers/letters 0.7 PLING_PLING Subject has lots of exclamation marks 0.5 MIME_BOUND_NEXTPART Spam tool pattern in MIME boundary 1.2 PRIORITY_NO_NAME Message has priority setting, but no X-Mailer Subject: Vier. 25 fiesta gratis en Viña!! [...]Viernes 25 Fiesta GRATIS en VIÑA:: ::No te pierdas este viernes 25, la mejor fiesta de la V Region. Viña y Santiago se reunen en un solo y exclusivo lugar: Puerto Madero, unico con su terraza bailable con vista al mar:: [...] Content analysis details: ( 4.0 points, 3.5 required )
  37. Más heurísticas
    • HTML
      • Formularios
      • Texto en color/grande/chico
    • Instrucciones para salir de la lista
      • mailto:email?Subject=remove
      • To remove, ...
    • “This is a one time mailing”
    • Encabezado To: vacío
    • From terminado en números
  38. Más heurísticas (cont.)
    • Lista blanca - negra - gris (amigos de amigos)
    • Mensajes muy grandes no son spam, pero pueden ser virus
    • Listas a mano, ejemplo de SpamBouncer:
    • * ^From:.*[^-_0-9a-z](ABACHA|
    • momoh abdul|
    • Rebecca Abdulmalik|
    • remmy abu|
    • Abdulsalami Abubakar|
    • Haruna Abubakar|
    • FRANK ABUDU|
            • (¡300 líneas más!)
  39. Pesos para las reglas
    • Cuando hay 500 reglas o más, ¿cómo se asignan los pesos?
    • Método 1: algoritmo genético
      • Individuo = vector de pesos de las reglas
      • Aptitud = f( falsos_negativos, falsos_positivos)
      • Cruce = intercambio de reglas
    • En cada generación cada individuo es testeado contra todos los mensajes para ver su probabilidad de sobrevivir -> LENTO
  40. Pesos para las reglas (cont.)
    • Mejor: red neuronal con retropropagación de gradiente (el truco más antiguo en la caja de herramientas).
    Reglas SPAM NO SPAM Si el resultado es correcto, se refuerza positivamente Si el resultado es incorrecto, se refuerza negativamente El corpus completo pasa por el perceptron k=15 veces (cada vez en orden aleatorio) El resultado son pesos positivos y negativos
  41. Análisis de enlaces
    • Nodos = Usuarios
    • Enlace desde u1 a u2 si:
      • u1 envió un mensaje To:u2
      • u1 envió un mensaje Cc:u2
  42. Caracterización enlaces
    • Difícil de obtener datos
    • Boykin: Personal Email Networks: An Effective Anti-Spam Tool, 2004
    • Newman et al. : Email networks and the spread of computer viruses, 2002
      • Intercambio de correo interno en una universidad (entre miembros de la misma universidad, descartando mensajes hacia/desde el exterior)
  43. Estadísticas grafo E-Mail
    • ¡ Es scale-free ! --- Grado promedio = 3.4
    • Reciprocidad (cuántos de los que yo le escribo me escriben también) 0.23
    • Correlación(grado interno,grado externo)=0.5
  44. Detección spam con grafo Boykin & Roychowdhury '04
    • Grafo típico de SPAM
      • Spammers en rojo
      • Direcciones comunes al centro
    • Grafo típico de NO-SPAM
      • Hay muchos triángulos, que son comunidades
  45. Detección spam con grafo ...
    • SPAM
      • Bajo coeficiente de clustering
    • NO-SPAM
      • Alto coeficiente de clustering
      • Muchos triángulos y cuadrados
  46. Software
    • SpamAssasin
      • Incluye un daemon para acelerar el proceso, si está corriendo, el mensaje es enviado de ida y vuelta al daemon
    • SpamBouncer
      • Reglas basadas en procmail
    • Bogofilter
      • Principalmente bayesiano sobre el texto
  47. ¿Cuando termina el SPAM?
    • Beneficio de enviar mensaje = $b per mensaje
      • b = (costo envío) * (tasa respuesta) * (profit)
    • Si una fracción de los usuarios usa un filtro que es 99% efectivo, la tasa de respuesta baja
      • Ejemplo: 10% de los usuarios usa filtro => un 9.9% de los mensajes de SPAM será perdido, los spammers pierden ahora un 9.9% del negocio
      • Ejemplo: 50% de los usuarios usa filtro => 49.5% de los mensajes de SPAM se pierden, el beneficio ahora es la mitad, quizás en estas condiciones ya no es negocio
  48. Conclusion
    • Problema difícil
    • ¿Por cuánto tiempo será problema?
      • Mientras haya la posibilidad de avisar casi-gratis y la gente siga comprando
    • La tasa de respuesta tiene que descender
      • Solución autoritaria : “ si alguien contesta un spam, se le cierra la cuenta ”, porque nos perjudica a todos
    • Un filtro será absolutamente necesario

+ Carlos CastilloCarlos Castillo, 3 years ago

custom

2702 views, 0 favs, 1 embeds more stats

More info about this document

CC Attribution License

Go to text version

  • Total Views 2702
    • 2697 on SlideShare
    • 5 from embeds
  • Comments 1
  • Favorites 0
  • Downloads 39
Most viewed embeds
  • 5 views on http://www.tejedoresdelweb.com

more

All embeds
  • 5 views on http://www.tejedoresdelweb.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories

Tags