Anais do XVII Encontro de Iniciação Científica – ISSN 1982-0178
Anais do II Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
25 e 26 de setembro de 2012
IMPLEMENTAÇÃO E AVALIAÇÃO DE MÉTODOS DE
DESCOBERTA DE SERVIÇOS WEB: AVALIAÇÃO DA
ESTABILIDADE E ROBUSTEZ DE ALGORITMOS DE FILTRAGEM
COLABORATIVA EM FACE DE ATAQUES DE INJEÇÃO DE
PERFIS
Pedro Henrique Grandin
Juan Manuel Adán Coello
Faculdade de Engenharia de Computação
CEATEC
[email protected]
Grupo de Pesquisa em Sistemas Inteligentes
CEATEC
[email protected]
Resumo: Em trabalhos anteriores do Grupo de Pesquisa em Sistemas Inteligentes da PUC-Campinas
foram implementados algoritmos de filtragem colaborativa usando os algoritmos IMEAN, UMEAN, K-nn e
K-means, visando a recomendação de serviços Web
semânticos. Nesses trabalhos, verificou-se que considerar a similaridade semântica entre serviços no
momento de calcular o grau de semelhança entre
usuários e prever avaliações reduz significativamente
o erro médio das previsões feitas em cenários de
dados esparsos. Entretanto, sistemas de recomendação baseados em filtragem colaborativa são abertos por natureza, o que os torna vulneráveis a ataques de injeção de perfis. Neste tipo de ataque, perfis tendenciosos são inseridos na base de dados de
avaliações, o que possibilita que atacantes possam
manipular as recomendações feitas pelo sistema.
Neste plano de trabalho foram avaliadas a estabilidade e a robustez dos algoritmos implementados em
face de ataques de injeção de perfis. O UMEAN
mostrou-se o algoritmo mais tolerante a ataques e o
IMEAN o menos tolerante, sendo que o K-nn e o Kmeans apresentam bom resultados, particularmente
se for considerado que o UMEAN apresenta taxas de
erro elevadas em situações de dados esparsos, como mostram trabalhos anteriores.
Palavras-chave: ataque de injeção de perfil, serviços Web, algoritmos de filtragem colaborativa.
vulneráveis a ataques de injeção de perfis. Neste tipo
de ataque, perfis tendenciosos são inseridos na base
de dados de avaliações, o que permite que atacantes
possam manipular as recomendações feitas pelo
sistema. Seus principais objetivos são elevar o grau
de recomendação (push) ou diminuir o grau de recomendação (nuke) de um item, tendo como alvo um
usuário ou um grupo de usuários [1].
Os tipos de ataques de injeção de perfis mais estudados são o ataque aleatório (random attack), o ataque pela média (average attack), o ataque a segmento (segment attack) e o ataque bandwagon
[1][2][3].
Pretende-se avaliar algoritmos de recomendação
implantados sob a perspectiva da robustez e estabilidade do sistema que os usa. A robustez mede o
desempenho do sistema antes e depois do ataque,
para verificar como o ataque afetou o sistema como
um todo. A estabilidade verifica o desvio nos valores
sugeridos pelo sistema para o item atacado, induzido
pelos perfis de ataque.
As principais métricas de avaliação do sucesso de
um ataque são o desvio de previsão (prediction shift),
a taxa de acerto (hit ratio) [1] e o erro médio absoluto
normalizado (Nomalized Mean Absolute Error –
NMAE) [2] .
Área do Conhecimento: Ciências Exatas e da Terra
– Ciência da Computação.
2.
ALGORITMOS
COLABORATIVA
1. INTRODUÇÃO
Algoritmos de filtragem colaborativa (FC) podem ser
usados para prever o valor que um determinado
usuário (usuário alvo) atribuiria a um item (item alvo)
ainda não avaliado por ele, a partir das avaliações de
outros usuários.
Sistemas de recomendação baseados em filtragem
colaborativa são abertos por natureza, o que os torna
DE
FILTRAGEM
Anais do XVII Encontro de Iniciação Científica – ISSN 1982-0178
Anais do II Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
25 e 26 de setembro de 2012
A previsão pode ser feita por algoritmos simples
como IMEAN (item mean) e o UMEAN (user mean).
O primeiro estima o valor da avaliação de um item
com base na média dos valores das avaliações feitas
por todos os usuários do item alvo. Já o UMEAN
estima o valor da avaliação de um item a partir da
média de todos os itens avaliados pelo usuário alvo.
Entretanto, a literatura mostra que algoritmos mais
elaborados e mais precisos têm sido usados em
sistemas de recomendação baseados em filtragem
colaborativa. Esses algoritmos podem ser de três
tipos: baseado em memória, baseado em modelo e
híbrido [3].
Algoritmos baseados em memória permitem prever
que nota um usuário alvo daria a um item usando
diretamente as avaliações disponíveis. Um exemplo
desse tipo de algoritmo é o K-nn (K-nearest neighbors) que utiliza as avaliações dos K usuários mais
semelhantes ao usuário alvo para prever o valor de
uma avaliação que esse usuário atribuiria a um item
ainda não avaliado por ele.
A figura 1 mostra um exemplo de matriz usuárioitem, que registra os valores das avaliações feitas
por seis usuários para seis itens quaisquer (livros,
filmes, serviços Web etc.). A coluna mais à direita
mostra a similaridade entre Alice e os demais usuários, utilizando a correlação de Pearson, a ser apresentada abaixo. Se for considerado apenas o usuário
mais próximo à Alice (K=1), um algoritmo baseado em
memória preveria que Alice atribuiria ao item 6 um
valor próximo ao atribuído a esse item pelo Usuário 5.
Item Item Item Item Item Item
1
2
3
4
5
6
Alice
5
Usuário 1
2
Usuário 2
3
Usuário 3
2
3
3
Similaridade
com Alice
?
4
4
1
- 1.00
1
3
1
2
0.76
4
2
3
1
1
0.72
Usuário 4
3
3
2
1
3
1
0.21
Usuário 5
4
3
3
3
2
0.94
Figura 1. Exemplo de uma matriz usuário-item
respectivamente; e I o conjunto de todos os item
quem ambos os usuários avaliaram.
Sim(u, v) =
∑iϵI (ru,i – r’u) * (rv,i – r’v)
(∑iϵI (ru,i – r’u)² )
1/2
(1)
1/2
* (∑iϵI (rv,i – r’v)² )
Nos algoritmos baseados em modelo, o valor previsto não é obtido diretamente dos usuários mais próximos, mas sim, através de um modelo formado a
partir dos dados das avaliações disponíveis.
Um exemplo de algoritmo baseado em modelo é o Kmeans, que pode ser utilizado para agrupar perfis de
usuários em K grupos (clusters). Em linhas gerais, o
funcionamento do algoritmo é o seguinte: inicialmente k pontos (vetores de perfis de usuários definidos
pelos valores atribuídos pelos usuários aos itens)
são escolhidos como centróides dos grupos. A seguir
um passo de atribuição e um passo de atualização
são repetidos até a convergência do algoritmo. No
passo de atribuição, cada ponto (perfil) é associado
ao grupo com o centróide mais próximo. No passo de
atualização, os centróides dos grupos são atualizados para a média dos pontos associados ao grupo. O
algoritmo converge quando os centróides tornaremse estáveis, ou seja, não mudarem na fase de atualização. A equação (1) pode ser usada para calcular a
distância entre um usuário e o centróide do grupo.
Algoritmos híbridos buscam combinar as características de algoritmos baseados em memória e em modelo. Este tipo de algoritmo não foi tratado no presente plano de trabalho.
A partir dos k usuários ou grupos mais próximos ao
usuário alvo a equação (2) pode ser usada para prever a nota que o usuário u atribuiria ao item i. Nessa
equação, u representa o usuário alvo e v um usuário
próximo ou um grupo próximo, conforme se esteja
usando o k-nn ou o k-means, respectivamente; rv,i é
o valor da avaliação que v fez do item i; r’v e r’u as
médias das notas atribuídas por v e u,
respectivamente; sim(u,v) a semelhança entre u e v;
e V o conjunto dos vizinhos próximos (usuários ou
grupos) do usuário u.
P(ru,i) = r’u + ( ∑vϵV sim(u,v) (rv,i – r’v)) / ∑vϵV sim(u,v)
A correlação de Pearson, computada pela equação
(1), pode ser usada para determinar o quão semelhantes são dois usuários. Na equação, rv,i e ru,i são
as avaliações dos usuários v e u, respectivamente,
para o item i; r’v e r’u as médias de todas as
avaliações feitas pelos usuários v e u,
(2)
3. TIPOS DE PERFIS DE ATAQUE
Um ataque de injeção de perfis contra um sistema de
recomendação consiste de um conjunto de perfis
adicionados ao sistema pelo atacante. A forma genérica desses perfis é mostrada na figura 2. Cada ele-
Anais do XVII Encontro de Iniciação Científica – ISSN 1982-0178
Anais do II Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
25 e 26 de setembro de 2012
mento i na figura corresponde à avaliação de um
item. Is é um conjunto de itens com valores que caracterizam o tipo de ataque; IF é o conjunto de itens
de preenchimento, usualmente com valores aleatórios, e que irão compor a maior parte das avaliações;
IØ é o conjunto de itens não avaliados, ou de avaliações nulas; e it, representa o item alvo do ataque.
Figura 2. Estrutura de um perfil de ataque; Fonte: [1]
Em [1] apresentam-se quatro tipos de ataques: o
ataque aleatório (random attack), o ataque pela média (average attack), o ataque a segmento (segment
attack) e o ataque bandwagon. Destes, o ataque
aleatório é considerado o mais efetivo e o ataque a
segmento o que oferece o melhor compromisso entre
efetividade e facilidade de ser posto em prática, sendo, por essa razão, esses os ataques que foram
considerados nos experimentos descritos neste artigo.
No ataque aleatório (random attack), os itens em Is
não são preenchidos e os de IF são preenchidos
aleatoriamente, de acordo com a distribuição de
Poisson, obtida a partir das avaliações existentes
para esses itens; e it é preenchido com o valor máximo que uma avaliação pode ter.
No ataque a segmento (segment attack), os itens em
Is permitem definir uma categoria, ou segmento. Esses itens recebem avaliações máximas, quando se
deseja promover um item (push), ou mínimas, quando se deseja rebaixá-lo (nuke). Se esses itens forem,
por exemplo, filmes de terror famosos, o ataque a
segmento estaria voltado a essa categoria. Esse
ataque é notavelmente mais efetivo se seus alvos
também pertencem à mesma categoria [1]. Os valores em IF são preenchidos com a avaliação mínima e
it com a avaliação máxima.
4. MÉTRICAS DE AVALIAÇÃO
Para que se possa medir a efetividade de ataques
em uma determinada situação e ambiente é preciso
definir que métricas serão utilizadas.
Uma das métricas mais utilizadas para isso é o desvio de previsão (prediction shift), calculado pela equação (3), onde P’(ru,i) é o valor previsto para a avaliação que o usuário u faria do item i depois do ata-
que e P(ru,i) representa o valor previsto antes do ataque.
∆ u, i = P’ (ru,i) - P(ru,i)
(3)
Um desvio de previsão positivo indica que o ataque
teve sucesso em fazer o item mais positivamente
avaliado. Todavia, um aumento elevado do desvio de
previsão não garante que um item será recomendado. É possível que outros itens também sejam afetados pelo ataque ou que o item fosse inicialmente
avaliado com um valor muito baixo de modo que
mesmo um desvio elevado não o coloque na categoria de recomendável.
Sendo assim, foi utilizada também a métrica taxa de
acerto (hit ratio), que mede a eficácia do ataque sobre um item comparado com outros itens. A taxa de
acerto é calculada pela equação (4), onde Hui será
igual a 1 se o item i aparecer na lista dos N itens
recomendados ao usuário u (top-N recommendations), em caso contrário seu valor será 0; UT é o
conjunto de usuários alvo.
Hit Ratio i = ∑ H u,i / |UT|
(4)
uϵUT
Foi utilizada também a métrica erro médio absoluto
(Mean Absolute Error – MAE), obtida a partir da diferença entre os valores previstos para as avaliações
do usuário e os valores reais dessas avaliações,
calculados pela equação (5), onde ru,i é a nota real
atribuída pelo usuário u ao item i, r’u,i a nota prevista
pelo algoritmo para esse item e N o número de notas
previstas pelo algoritmo.
MAE = ∑ u,i | r u,i – r’ u,i | / N
(5)
Para calcular o MAE, foram feitos vários experimentos para que fosse possível calcular a variação dos
resultados e obter um resultado com a média desses
erros. O MAE foi normalizado de modo a torná-lo
independente da escala de avaliações usada, dando
origem ao erro médio absoluto normalizado, ou
NMAE (Normalized Mean Absolute Error), calculado
pela equação (6).
NMAE = MAE / (∑ u,i r u,i / N)
(6)
Anais do XVII Encontro de Iniciação Científica – ISSN 1982-0178
Anais do II Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
25 e 26 de setembro de 2012
5. AVALIAÇÃO EXPERIMENTAL
Os experimentos realizados tiveram por objetivo
avaliar o impacto dos ataques de injeção de perfis
dos tipos aleatório e segmento sobre os algoritmos
de filtragem colaborativa IMEAN, UMEAN, K-nn e Kmeans implementados por Ming [5] no sistema
OWLS-MX versão 2.2, [4]. Nos experimentos, os
itens da matriz usuário-item consistem de serviços
Web semânticos do repositório que acompanha esse
sistema.
A matriz usuário-item e os ataques foram elaborados
seguindo a abordagem utilizada em [1]. Foram criados 50 usuários, sendo 20 classificados como “turistas” e 30 como “estudantes”. Os itens a serem avaliados totalizam 108 serviços, incluindo serviços relacionados aos assuntos “carros”, “comida”, “livros”,
“hotéis”, “câmeras”, “publicações”, “surf” e “filmes”.
Cada usuário avaliou 18 serviços de modo a caracterizar seu grupo. Um turista, por exemplo, se interessaria mais em hotéis que estudantes, e, portanto, há
a possibilidade de encontrar mais avaliações positivas de hotéis no grupo dos turistas que no grupo dos
estudantes.
Os perfis de ataque continham 6% do total de serviços avaliados como filler size (IF na figura 2). A quantidade de perfis de ataque foi de 15% do total de
usuários, resultado na injeção de oito usuários atacantes, todos com objetivo de promover um item
(push), o objetivo mais comum de ataques [1]. Para
alvos, foram escolhidos aleatoriamente 5 usuários e
4 serviços, que correspondem a aproximadamente
5% do total de usuários e 3% do total de itens, respectivamente, seguindo a proporção dos experimentos descritos em [1].
A escolha dos itens para o preenchimento do ataque
aleatório é feita automaticamente após especificar a
quantidade de perfis a serem criados. No ataque a
segmento, foi escolhido manualmente um segmento
caracterizado por três itens (IS). O segmento escolhido para os ataques foi o de “comida”, pois se presume que tanto os estudantes quanto os turistas se
interessariam por comida, de modo que essa escolha
deve afetar ambos os grupos de usuários.
6. RESULTADOS E DISCUSSÕES
Após realizar os testes com base no algoritmo
UMEAN, foi possível perceber que se tratava de um
algoritmo imune aos ataques, o que faz sentido, já
que a adição de perfis não interfere na previsão de
uma avaliação, pois a nota prevista para um item é a
média das avaliações feitas pelo usuário alvo. O
NMAE para o algoritmo foi de 0,33111, com e sem
ataque, conforme mostrado na tabela 1.
Tabela 1. NMAE dos algoritmos avaliados
Sem ataque
Ataque
aleatório
Ataque a
segmento
UMEAN
0,33111
0,33111
0,33111
IMEAN
0,33064
0,48232
0,47835
K-nn
0,27781
0,28239
0,28415
K-means
0,29305
0,30015
0,30193
Para o algoritmo IMEAN esperava-se que os ataques
tivessem grande impacto no NMAE e na taxa de
acerto, já que suas previsões são baseadas inteiramente nos demais usuários, o que é confirmado pela
tabela 1 e pela figura 3. Nessa figura, o eixo das
abscissas representa a quantidade de itens (serviços) com as melhores avaliações que serão recomendadas ao usuário, os tops-N itens. O eixo das
ordenadas representa o taxa de acerto em valores
absolutos, lembrando que quanto mais próximo ao
valor 1, mais itens alvo serão recomendados aos
usuários.
Figura 3. Taxa de acerto do algoritmo IMEAN
Observa-se que tanto o ataque aleatório quanto o
ataque a segmento apresentaram resultados semelhantes. Isso acontece, pois para que seja feito o
cálculo do IMEAN, são usadas as avaliações dos
itens alvo de todos os usuários, o que leva os dois
tipos de ataques a efeitos semelhantes nesse con-
Anais do XVII Encontro de Iniciação Científica – ISSN 1982-0178
Anais do II Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
25 e 26 de setembro de 2012
texto. De toda forma, ambos os ataques foram efetivos, resultando e um desvio de previsão igual a
2,70966 e a um NMAE de 0,48232, para o ataque aleatório e de 0,47835 para o ataque a segmento, versus
0,33064 sem ataque, conforme mostrado na tabela 1.
figura 5, e uma semelhança mínima de 50% para o
algoritmo K-means, resultando a figura 6.
Para a avaliação da taxa de acerto dos algoritmos Knn e K-means, variou-se o valor de semelhança mínima entre os usuários (K-nn) e entre um usuário e o
centróide de um grupo (K-means) usada no momento de escolher os K vizinhos mais próximos e, assim,
aplicar a equação 2. Além disso, deixou-se fixo o
número de usuários semelhantes (cinquenta) e o
número de clusters (dois) a utilizar durante a realização dos testes. A figura 4 apresenta os resultados
para o algoritmo K-nn e para o algoritmo K-means.
Figura 5. Taxa de acerto do algoritmo K-nn
Figura 4. Desvio de previsão dos algoritmos K-nn e Kmeans em função da similaridade mínima entre usuários
Observe-se que a partir de uma semelhança entre
usuários de 20% para o algoritmo K-nn e de 70% para
o K-means, o desvio de previsão permanece com valor
zero, o que significa que, a partir desses valores a semelhança exigida foi suficiente para que não fossem
incluídos os perfis de ataque no cálculo de previsão das
notas, levando assim a uma constante 0 de desvio de
previsão.
Para analisar a taxa de acerto foram escolhidos valores
de similaridade que resultaram em um desvio de previsão alto e que estivessem próximos ao valor em que o
desvio cai a zero. Os valores adotados foram de 5%
para o algoritmo K-nn, obtendo como resultado a
Figura 6. Taxa de acerto do algoritmo K-means
Nota-se na figura 5 que os ataques tiveram efeito sobre
a taxa de acerto a partir do top 20, destacando-se que
o ataque a segmento tem maior eficácia para o top 20,
40 e 50. O efeito dos de ambos os ataques sobre o
NMAE é pequeno, conforme mostrado na tabela 1.
A figura 6 mostra que para o K-means só se observa
uma variação nas curvas para o top 50 e 60. O efeito
sobre o NMAE também foi pequeno, conforme mostra a tabela 1.
Anais do XVII Encontro de Iniciação Científica – ISSN 1982-0178
Anais do II Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
25 e 26 de setembro de 2012
7. CONCLUSÃO
Os experimentos realizados para avaliar a estabilidade e robustez dos algoritmos IMEAN, UMEAN, Knn e K-means, implementados em [5] para a recomendação de serviços Web semânticos, em face de
ataques de injeção de perfis, mostraram que o algoritmo UMEAN não é afetado pelos ataques e que o
IMEAN é o mais sensível a esses ataques. Entretanto esses dois algoritmos são usados apenas como
um referencial para a análise dos demais algoritmos,
já que ambos apresentam baixa precisão em suas
previsões, particularmente quando a matriz usuárioitem é esparsa, como mostrado em [5], não sendo
utilizados por sistemas de recomendação atuais.
Nos experimentos apresentados, verificou-se que o
K-nn permite atingir um desvio de previsão próximo a
zero para taxas de semelhança entre usuários consideravelmente reduzida (20%), enquanto que no kmeans isso só é possível para valores mais elevados
(70%). Por outro lado, nos experimentos apresentados para analisar a taxa de acerto, o K-means apresenta melhores resultados. No entanto, é importante
notar que nesses experimentos foi utilizado para o Knn um valor de semelhança entre usuários muito
inferior ao utilizado em K-means. Com valores elevados de semelhança entre usuários, o K-nn apresenta
melhores resultados também neste quesito. Em contraposição, a literatura mostra que o K-means é mais
escalável que o K-nn.
Os algoritmos foram também avaliados considerando
a utilização do valor da similaridade semântica entre
serviços Web quando do cálculo da semelhança
entre usuários utilizando a correlação de Pearson e
no momento de prever o valor de uma avaliação,
conforme discutido em [5]. Constatou-se que essa
abordagem não influenciou de forma significativa os
resultados, o que confirma os resultados de [5], onde
se verificou que a semelhança entre serviços afeta
de forma relevante a precisão dos algoritmos apenas
quando a matriz usuário-item é esparsa. Recomenda-se que em trabalhos futuros sejam feitos experimentos para avaliar o comportamento dos algoritmos
em face de ataques também em situações de dados
esparsos.
8. AGRADECIMENTOS
Agradeço ao CNPq pela bolsa de iniciação científica
que possibilitou a execução desse projeto, à Pontifícia Universidade Católica de Campinas-SP pela oportunidade de realizar este trabalho e à atenção e
motivação do orientador Prof. Dr. Juan Manuel Adán
Coello.
9. REFERÊNCIAS
[1] B. Mobasher, R. Burke, R. Bhaumik, and C. Williams, “Toward trustworthy recommender systems: An analysis of attack models and algorithm
robustness,” ACM Transactions on Internet Technology (TOIT), vol. 7, no. 4, p. 23–es, 2007.
[2] J. J. Sandvig, B. Mobasher, and R. Burke, “A survey of collaborative recommendation and the robustness of algorithms,” IEEE Data Engineering
Bulletin, vol. 31, no. 2, pp. 3–13, 2008.
[3] X. Su and T. M. Khoshgoftaar, “A survey of collaborative filtering techniques,” Advances in Artificial Intelligence, vol. 2009, p. 4, 2009.
[4] M. Klusch, B. Fries, and K. Sycara, “OWLS-MX: A
hybrid Semantic Web service matchmaker for
OWL-S services,” Web Semantics: Science, Services and Agents on the World Wide Web, vol. 7,
no. 2, pp. 121–133, 2009.
[5] Y. Yuming, "Algoritmos de previsão de avaliação
de serviços Web semânticos", Trabalho de Conclusão de Curso, Faculdade de Engenharia de
Computação, PUC-Campinas, 2010.
[6] B. Mobasher, R. Burke, J.J. Sandvig, "ModelBased Collaborative Filtering as a Defense
Against Profile Injection Attacks", Center for Web
Intelligence - Information Systems Journal, 2006 AAAI Press.
Download

visualizar resumo expandido