O’mahony et al. introduce los conceptos de robusteza y estabilidad [129]. El término de robustez mide la interpretación del sistema antes y después del ataque con el objetivo de determinar la medida en que el ataque ha afectado al sistema. Se dice que un sistema de recomendación es robusto si puede mantener la calidad de sus recomendaciones a pesar de los ataques que reciba. Por otro lado, el término de estabilidad hace referencia al cambio del sistema de valoraciones que el ataque provoca mediante la introducción de perfiles en el sistema. Un término relacionado con la robusteza es el impacto. Por ejemplo, si un ataque cambia los valores de predicción de un ítem de tal forma que aun con el cambio realizado el ítem no aparece en la lista de recomendaciones de usuarios, el impacto de este ataque se considera nulo. A continuación se distinguen diferentes tipos de ataque que de un modo u otro afectan a la robustez, estabilidad o el impacto de los sistemas de recomendación atacados [115,126]:
Ataque perfecto del conocimiento (Perfect Knowledge Attack): La forma de
proceder del atacante consiste en una reproducción precisa de la distribución de los datos en el perfil de la base de datos. En otras palabras, se introducen perfiles de usuario en el sistema de forma que sean similares o idénticos al perfil del sistema a atacar. Una vez introducidos los perfiles en el sistema, se
procede a realizar valoraciones especiales para un determinado ítem. Dependiendo del tipo de valoración que se le asigne al ítem, se pueden distinguir dos casos:
o “Push”: En el que se intenta que un ítem determinado presente mayor importancia.
o “Nuke”: Es el efecto contrario al “push”, es decir, se pretende quitar importancia a la recomendación de un cierto ítem.
Ataque aleatorio (Random Attack) [130]: Es un tipo de ataque que está
enfocado en la realización de push o nuke a un determinado ítem para que tenga repercusion para todos los tipos de perfiles de usuario del sistema. El procedimiento consiste en (1) realizar la valoración del ítem en concreto, de forma positiva o negativa (depende del objetivo a conseguir) y (2) escoger una lista de ítems aleatorios del sistema para ser valorados de forma genérica. Mediante la valoración de un grupo de ítems de forma genérica, se consigue que el ataque tenga efecto para todos los tipos de perfiles de usuario del sistema.
Ataque medio (Average Attack) [130]: Procedimiento similar al ataque
aleatorio (ataque aleatorio), pero con la peculiaridad de que el atacante conoce las valoraciones promedio de los ítems aleatorios. De este modo, los ítems son apreciados con un valor promedio y el ítem a atacar con los valores deseados. El impacto del ataque es mayor que el anterior (ataque aleatorio) dado que se utiliza información adicional del sistema para realizar el ataque.
Ataque consistente (Consistency Attack): También conocido como “ataque al
ítem favorito” (Favorite item attack) [131]. La "consistencia" o regularidad de las valoraciones de los diferentes ítems son manipuladas a pesar de su valor absoluto. En la “Tabla 3 Ejemplo de ataque consistente” extraída de un ejemplo proporcionado por Mobasher et al,. en el artículo [132] muestra el funcionamiento del ataque consistente. En la tabla aparecen las valoraciones de diferentes usuarios para diferentes ítems. El valor que representa mayor agrado del usuario por el ítem es 10 mientras que el valor cero corresponde a la peor puntuación posible de un ítem. Como se puede observar, el patrón de
valorados positivamente. Por otro lado, los ítems que no son del agrado de Alicia (2 y 5) son valorados de forma distinta al patrón de ataque. Según muestra el ejemplo, el ítem que más le gusta Alicia es el primero, el cual se mueve desde un nivel muy bajo de similitud al ítem 6 a un nivel muy alto similitud una vez efectuado el ataque. El ataque consigue que un ítem que no representaba ningún valor para determinar las valoraciones de las recomendaciones (ítem 1), pase a tomar importancia para el usuario. Es importante señalar la necesidad de saber exactamente qué elementos son preferentes o agradan al usuario para poder realizar el ataque.
Ítem 1 Ítem 2 Ítem 3 Ítem 4 Ítem 5 Ítem 6
Alicia 10 2 6 6 Ø ? Usuario 1 2 Ø 8 8 Ø 2 Usuario 2 2 0 6 Ø 2 2 Usuario 3 8 2 6 6 Ø 0 Usuario 4 6 5 5 Ø 5 2 Usuario 5 Ø 6 Ø 5 5 2 Usuario 6 4 4 Ø 5 5 2 Usuario 7 Ø 10 Ø 2 10 0 Ataque 1 10 10 10 10 0 10 Ataque 2 10 0 10 10 10 10 Ataque 3 10 10 10 10 0 10 Ataque 4 10 0 10 10 10 10 Ataque 5 10 10 10 10 0 10 Cosine vs ítem 6 (antes) -7.8 0.9 114 3.8 -7 Cosine vs ítem 6 (después) 7.7 -0.9 9.2 1.1 -2.7
Tabla 3 Ejemplo de ataque consistente
Ataque de segmentación (Segmented Attack) [133]: El ataque consiste en
hacer nuke o push de un determinado ítem teniendo en cuenta los ítems similares o de misma categoría. Supóngase el caso en que el atacante quiere realizar un ataque de segmentación del tipo push sobre un determinado ítem, por ejemplo, un libro de acción. Mediante este tipo de ataque, lo que pretende es que el ítem sea recomendado a los usuarios que consumen ítems de una determinada categoría. En el ejemplo del libro, el atacante quiere que el libro a recomendar sea recomendado por el sistema a los usuarios consumidores o de preferencias de libros de acción. El resto de usuarios del sistema no se tiene en
cuenta. Para llevar a cabo el ataque, se crean perfiles de usuario que contengan altas valoraciones de ítems que estén dentro las preferencias de los usuarios del segmento (en el ejemplo del libro de acción, el segmento se refiere a los usuarios que tienen marcado como preferencias los libros de acción). Al mismo tiempo que se crean estos perfiles de usuario, se realizan valoraciones positivas para los ítems pertenecientes al segmento o grupo de usuarios en concreto y valoraciones negativas para el resto de ítems del sistema. Para llevar a cabo el ataque de segmentación, sólo es necesario saber qué tipo de ítems son similares al ítem atacado (push o nuke).
Ataque en pandilla (Bandwagon Attack)[115]: Ataque cuyo objetivo es asociar
un determinado ítem con un grupo determinado de ítems populares. Por ejemplo, el ataque intenta que un libro determinado sea asociado a la categoría de “más vendidos” o “bestsellers”. Mediante la creación de esta asociación el sistema de recomendación potenciaría la recomendación del libro.
Ataque de sondeo (Probing attack): Ataque enfocado a la averiguación del tipo
de algoritmo (o parámetros) que rige(n) detrás de las recomendaciones. Por ejemplo, el ataque consistente es más efectivo si el algoritmo de recomendación está basado en los ítems. Mediante el ataque de sondeo se puede encontrar el algoritmo que se utiliza para realizar las recomendaciones y posteriormente aplicar el ataque más conveniente dependiendo del sistema de recomendación. Una variante de este ataque es el ataque de muestra (sampling attack) cuyo objetivo es la obtención de las valoraciones de los ítems de la base de datos [129].