¿Cómo funciona el envenenamiento bayesiano?

24

Esta respuesta menciona el envenenamiento bayesiano al pasar y he leído el wikipedia page pero no siento que lo haya comprendido por completo.

El primer caso, donde un spammer envía un spam con una carga útil (enlace, archivo malicioso, etc.) e incluye muchas palabras "no seguras" que no son spam, parece suficientemente obvio. El objetivo es aumentar la clasificación de ese correo electrónico individual para que los filtros de correo no deseado puedan clasificarlo como "no correo no deseado".

El segundo caso es más sutil y (para mí) confuso:

  

Los spammers también esperan que el filtro de spam tenga una tasa más alta de falsos positivos al convertir palabras inocentes en palabras spam en la base de datos bayesiana (errores estadísticos de tipo I) porque un usuario que entrena su filtro de spam en un mensaje envenenado será indicando al filtro que las palabras agregadas por el spammer son una buena indicación de spam.

¿Cómo ayuda esto al spammer? Claro, los falsos positivos (si he entendido correctamente que esto significa que los correos electrónicos legítimos clasificados incorrectamente como spam) son molestos, pero tendrían que ser muy comunes para desactivar los filtros de spam por completo. Parece que esto no cambiaría la calificación de las palabras spam reales, ¿o solo afecta su calificación de relativa ?

Finalmente, ¿este enfoque, o cualquier otro, ayuda a un spammer individual con unas pocas palabras spam que les gustaría escabullirse a través de los filtros, o podría ayudar a todos los spammers?

¿Podría alguien proporcionar o vincular una explicación basada en ejemplos?

    
pregunta James Bradbury 19.11.2014 - 11:10
fuente

3 respuestas

21

Se ha publicado un buen artículo llamado por Martijn Sprengers.

Intentaré hacer TL; DR:

Los filtros de spam bayesianos intentan decidir si un correo electrónico es spam o no al mirar las palabras clave en un correo electrónico. Lo que hace es revisar las palabras presentes en el correo electrónico normal y de spam y actualizar las puntuaciones de cada palabra. Estas puntuaciones se utilizan para deducir si un correo electrónico es spam o no al hacer una puntuación basada en la puntuación general de las palabras presentes en el correo electrónico.

Las palabras se vuelven a calificar, lo que significa que si "Viagra" aparece en varios correos electrónicos normales, obtendrá una puntuación más baja con el tiempo. Los spammers abusan de esto generando correos electrónicos con varias palabras de bajo puntaje, que comúnmente se encuentran en correos electrónicos legítimos y añadiendo una sola palabra mala. Debido a que el puntaje del correo electrónico en general se considerará bueno, "Viagra" obtendrá un puntaje más bajo con el tiempo, lo que lo convierte en una palabra legítima y hace que el correo electrónico no deseado pase a través de filtros de correo no deseado.

Hay tres ataques de los que habla el documento:

  

Palabras aleatorias: Este método de ataque se basa en la investigación de Gregory et   Alabama. [6]. Puede ser visto como un ataque estadístico débil, porque usa   Datos puramente aleatorios para agregar a los correos electrónicos no deseados.

     

Palabras comunes: Este método de ataque se basa en la investigación de Stern et al. [7]. Añadieron palabras comunes en inglés a los correos electrónicos no deseados en orden.   Para confundir el filtro de spam. Este ataque puede ser visto como más fuerte.   ataque estadístico que el método de palabras aleatorias, porque los datos utilizados   es menos aleatorio y contiene palabras que tienen más probabilidades de estar en   Correos electrónicos que las palabras agregadas con el ataque anterior.

     

Frases de jamón: Este ataque se desarrolla en esta investigación y se compara con los otros dos. Se basa en una enorme colección de jamón.   correos electronicos De esa colección, solo el jamón envía correos electrónicos con la más baja.   Probabilidad combinada se utilizan como veneno. A continuación se agrega el correo electrónico de jamón.   al final del correo spam original. La mayoría de la gente lee hacia abajo, así que   Se mantiene la efectividad del mensaje. Esto también es un fuerte   ataque estadístico, tal vez incluso más fuerte que el ataque de las palabras comunes,   porque las palabras son aún menos aleatorias.

Aspectos destacados de la conclusión del documento:

  

Desde el punto de vista de un spammer, la técnica de "HamPhrases" parece funcionar mejor. Disminuye el rendimiento del filtro de spam. ... Las técnicas "Aleatorio" y "Palabras comunes" parecen tener una puntuación peor desde el punto de vista de los spammers. ... Cuando entrenamos el filtro de spam en esos métodos de veneno, el rendimiento es incluso mejor de lo normal. ...

     

Sin embargo, el método HamPhrases utilizado en esta investigación es un poco engañoso. Esto se debe a que el algoritmo está disponible para los correos electrónicos de correo no deseado y de correo no deseado que utiliza el filtro de correo no deseado para las pruebas y la capacitación. Los spammers reales no tienen los correos electrónicos de usuarios reales.

    
fuente
17
La respuesta de

Lucas Kauffman explica muy bien cómo, por qué:

Si el usuario no recibe correos electrónicos importantes y resulta que quedaron atrapados en el filtro de correo no deseado, se enojarán con su administrador. Los falsos positivos pueden tener un costo muy alto.

Cuando muchos usuarios se enojan con el administrador, es probable que el administrador cambie las cosas, de modo que el filtro de correo no deseado sea más indulgente, lo que probablemente permita que más correo no deseado sea bueno para los spammers.

    
respondido por el Murphy 19.11.2014 - 19:05
fuente
4

Tengo un gran ejemplo de un mensaje de spam con envenenamiento bayesiano en una antigua publicación de blog .

Los filtros de spam bayesianos básicamente rastrean cada palabra utilizada en cada mensaje. Cuando un mensaje está marcado como spam, el filtro trata las palabras del mensaje como representativas del spam. Al utilizar esta información, el filtro puede determinar con buena precisión si un mensaje en particular es spam o no.

Sin embargo, el hecho de que los filtros bayesianos usen las palabras en cada mensaje para determinar si un mensaje es spam es susceptible a las técnicas que evitan este proceso.

Un mensaje de spam puede insertar palabras sin sentido, separar las palabras de una manera legible por el hombre (pero no legible por la máquina) (por ejemplo, insertar "minúsculas" invisibles entre cada letra de la palabra spam), use marcas de acento o entidades HTML para dificultar la distinción por filtros, o utilice formularios HTML en lugar de enlaces. Esto es esencialmente lo que es el envenenamiento bayesiano, y todas estas técnicas se demuestran y explican en la publicación de mi blog.

En particular, las "palabras sin sentido" se pueden elegir cuidadosamente para ser aquellas que se encuentran comúnmente en los mensajes normales. Un usuario que marca un mensaje de spam que contiene estas palabras como spam es esencialmente indicando al filtro que lo trate como una indicación de spam. Con suficientes mensajes de este tipo, el filtro pensará que estas palabras representan spam y comenzará a marcar los mensajes legítimos que contengan estas palabras como tales.

La primera imagen en la publicación del blog muestra cómo se hace esto:

email