link spam detection based on mass estimation sessione di conferenza 1 di: zoltan gyongyi hector...
TRANSCRIPT
Link Spam DetectionLink Spam DetectionBased on Mass Based on Mass EstimationEstimation
Sessione di conferenza 1
di:di:Zoltan GyongyiZoltan GyongyiHector Garcia-MolinaHector Garcia-MolinaPavel BerkingPavel BerkingJan PedersonJan Pederson
Presentazione Presentazione didi::
Cristina ValentCristina ValentElisa SilenziElisa Silenzi
Fabrizio PintoFabrizio PintoRelatore: Cristina Relatore: Cristina ValentValent
Gruppo 6
SommarioSommario
Cenni storiciCenni storici ObiettiviObiettivi Soluzioni inizialiSoluzioni iniziali Spam Detection AlgorithmSpam Detection Algorithm Caso di studioCaso di studio ConclusioniConclusioni
Un po’ di storia…Un po’ di storia…
Fin dagli inizi di Internet sono state applicate tecniche
di web spamming per influenzare maliziosamente il ranking:
1. Agli albori term spamming• Farcire le pagine con parole chiave spesso non
inerenti al contenuto2. Al giorno d’oggi link spamming
• Insiemi di pagine intercorrelate tra loro, per alterare a proprio vantaggio il loro PageRank
• Si è diffusa enormemente in seguito all’affermazione del PageRank come tecnica di ranking
• Costruzione delle spam farms da parte degli spammer
ObiettiviObiettivi
Contrastare il link spamming, calcolando un
PageRank corretto e trascurando i
contributi delle spam farm
Concetti di Concetti di riferimento (1)riferimento (1) Modello del web:
• Grafo orientato senza autoanelli• Nodi: Pagine, Host, Siti• Inlink archi entranti in un dato nodo• Outlink archi uscenti da un dato nodo
Spam Farm• Gruppo di nodi interconnessi che linkano un singolo
nodo target con l'obiettivo di incrementare il PageRank di quest'ultimo
• Più spam farm si possono alleare ed avere più nodi target
Concetti di Concetti di riferimento (2)riferimento (2) Stray link
Link da nodi autorevoli che vengono coinvolti inconsapevolmente nel link spamming da parte
degli spammer stessi
Possono esistere per diverse ragioni:• spammer pubblicizza un commento che include
un link spam in un sito autorevole (blog, bacheca, …)
• honey pot. Pagina che contiene informazioni utili, ma è comunque coinvolta nella spam farm
• acquisto di domini popolari scaduti di recente
Assunzioni di baseAssunzioni di base
Partizione dei nodi webPartizione dei nodi web::• V V ++ = { nodi buoni } = { nodi buoni }• V V – – = { nodi spam }= { nodi spam }
Conoscenza a priori della tipologia Conoscenza a priori della tipologia dei nodi vicinidei nodi vicini
c c fattore di riduzione usato nel calcolo del fattore di riduzione usato nel calcolo del PageRank (damping factor) PageRank (damping factor)
Legenda:Legenda: = 1-c= 1-c c = 1-c = 1- out(y) out(y) n° outlink di y n° outlink di y A A insieme degli archi insieme degli archi n
c
yout
pcp
Axy
yx
1
)(),(
Approccio Naive BaseApproccio Naive Base
Idea baseIdea base::Considerare la tipologia degli Considerare la tipologia degli inlink diretti inlink diretti di un di un
nodo, nodo, etichettando quest’ultimo aetichettando quest’ultimo a maggioranza maggioranza
ProcedimentoProcedimento::1.1. si sceglie il nodo xsi sceglie il nodo x2.2. si considerano i nodi degli inlink diretti di xsi considerano i nodi degli inlink diretti di x3.3. si contano quanti nodi appartengono alle si contano quanti nodi appartengono alle
due tipologie (buoni/spam)due tipologie (buoni/spam)4.4. si assegna al nodo x l’etichetta prevalentesi assegna al nodo x l’etichetta prevalente
Approccio Naive Base: Approccio Naive Base: funziona?funziona?
Nodi Spam
?
Nodi Good
inlink good = 2inlink spam = 4PageRank(x) = (6c + 1)(1 -
c)/n
Contributo g0, g1 = c(1-c)/n Contributo s1, s2, s3, s4 = c(1-c)/n
=
g0
g1
s1
s2
s3
s4
x
Approccio Naive Base:Approccio Naive Base:funziona davvero? funziona davvero?
?
inlink good = 2inlink spam = 1
s1
s2
sk
s0
Nodi Spam
Nodi Good
g0
g1
PageRank(x) = (1 + 3c + kc2)(1 - c)/n
Contributo g0, g1 = c(1-c)/n
Contributo s0 = (c+kc2)(1-c)/n
x
Per questo viene usato solo come primo schema di “labeling”Per questo viene usato solo come primo schema di “labeling”
Ma… ?!?
Approccio Naive: Approccio Naive: variante 1variante 1
Come primaCome prima::Considerare:Considerare: inlink diretti al nodoinlink diretti al nodo numero degli inlink diretti al nodonumero degli inlink diretti al nodo
Idea di base nuovaIdea di base nuova::Considerare anche il contributo Considerare anche il contributo PageRankPageRank degli degli
inlinkinlink
direttidiretti..
Variante 1 Naive:Variante 1 Naive:funziona? funziona?
?
s1
s2
sk
s0
Nodi Spam
Nodi Good
g0
g1
PageRank(x) = (1 + 3c + kc2)(1 - c)/n
Contributo g0, g1 = c(1-c)/n
Contributo s0 = (c+kc2)(1-c)/n
x
Variante 1 Naive:Variante 1 Naive:funziona davvero?funziona davvero?
?
s1
s2
s0
g0
g2
PageRank(x) = (1 + 3c + 8c2)(1 - c)/n
x
s3
s5
s4 s6
g3
g1
Contributo g0 + g2 = (2c+4c2)(1-c)/n
Contributo s0 = (c+4c2)(1-c)/nProblemaProblema: guarda : guarda solosolo gli inlink gli inlink direttidiretti..
SoluzioneSoluzione: guardare anche quelli indiretti.: guardare anche quelli indiretti.
Problemi comuniProblemi comuni
Conoscenza a priori dei nodi buoni e di Conoscenza a priori dei nodi buoni e di quelli spam:quelli spam:
• non disponibilenon disponibile• difficile da produrredifficile da produrre• tende a diventare datata in breve tende a diventare datata in breve
tempotempo
Spam Detection Spam Detection AlgorithmAlgorithm
Concetti base:Concetti base: PageRank ContributionPageRank Contribution PageRank ScorePageRank Score Spam Mass:Spam Mass:
assolutoassoluto relativorelativo
PageRank ContributionPageRank Contribution
Definizione PageRank Contribution:Definizione PageRank Contribution:Si introduce il concetto di:Si introduce il concetto di: cammino (walk) da x a ycammino (walk) da x a y contributo del contributo del PageRank lungo il camminoPageRank lungo il cammino
considerazione degli inlink indiretticonsiderazione degli inlink indiretti
Da notare:Da notare: il contributo di un nodo a se stesso è pari alla il contributo di un nodo a se stesso è pari alla
probabilità di “saltare” casualmente su quel probabilità di “saltare” casualmente su quel nodo [(1-c)nodo [(1-c)n]n]
in assenza di un cammino da x a y, il in assenza di un cammino da x a y, il contributo di x su y, in termini di PageRank, è contributo di x su y, in termini di PageRank, è nullonullo
PageRank Score & PageRank Score & Spam MassSpam MassDefinizione PageRank Score:Definizione PageRank Score:
Il PageRank Score di un nodo y è la somma dei Il PageRank Score di un nodo y è la somma dei contributi di tutti gli altri nodi (collegati contributi di tutti gli altri nodi (collegati direttamente o indirettamente) nei confronti di direttamente o indirettamente) nei confronti di y. y.
Definizione Spam MassDefinizione Spam Mass::E’ la misura dell’impatto del link spamming sul E’ la misura dell’impatto del link spamming sul PageRank dei nodiPageRank dei nodi
• AssolutoAssoluto : misura di quanto i nodi spam : misura di quanto i nodi spam incrementano il PageRank del nodo consideratoincrementano il PageRank del nodo considerato
• RelativoRelativo : è la frazione di PageRank del nodo : è la frazione di PageRank del nodo considerato dovuto al contributo dei nodi spamconsiderato dovuto al contributo dei nodi spam(spam mass assoluto / PageRank del nodo (spam mass assoluto / PageRank del nodo considerato)considerato)
Nuove AssunzioniNuove Assunzioni
1.1. Uso di approssimazioni:Uso di approssimazioni: Ṽ Ṽ + + : approssimazione dell’insieme dei nodi good: approssimazione dell’insieme dei nodi good Ṽ Ṽ – – :: approssimazione dell’insieme dei nodi approssimazione dell’insieme dei nodi
spamspamDeve essere disponibile almeno uno dei 2 sottoinsiemiDeve essere disponibile almeno uno dei 2 sottoinsiemi
2.2. Uso di Ṽ Uso di Ṽ + + (good-core). Molto più stabile di Ṽ (good-core). Molto più stabile di Ṽ ––
3.3. Si considerano:Si considerano: p : vettore dei PageRank Score normalep : vettore dei PageRank Score normale p’ : vettore dei PageRank Score calcolato sulla p’ : vettore dei PageRank Score calcolato sulla
base base di Ṽ di Ṽ ++
: soglia di confronto con lo spam mass relativo : soglia di confronto con lo spam mass relativo approssimato (m). Se m è superiore il nodo approssimato (m). Se m è superiore il nodo viene etichettato come spamviene etichettato come spam
ρ : soglia di confronto con il PageRank (PR). Se ρ : soglia di confronto con il PageRank (PR). Se PR è inferiore il nodo non viene consideratoPR è inferiore il nodo non viene considerato
Spam Spam Detection AlgorithmDetection AlgorithmProcedimentoProcedimento::
1.1. Si calcolano i vettori:Si calcolano i vettori:• pp• p’p’• m = (p - p’)/p m = (p - p’)/p vettore degli spam vettore degli spam
mass relativi approssimatimass relativi approssimati
2.2. Per ogni nodo il cui PageRank è >= ρ Per ogni nodo il cui PageRank è >= ρ a)a) se lo spam mass relativo approssimato se lo spam mass relativo approssimato
del nodo è >= del nodo è >= , il nodo viene , il nodo viene etichettato come spametichettato come spam
b)b) altrimenti si passa al nodo successivoaltrimenti si passa al nodo successivo
Spam Detection: Spam Detection: funziona?funziona?
s1
s2
s0
g0
g2
s3
s5
s4 s6
g3
g1?x
V V ++
Ṽ Ṽ ++
PageRank(x) beneficia parecchio del contributo dei nodi spam
Spam Mass Relativo di xSpam Mass Relativo di x
m(x) = (p(x) – p’m(x) = (p(x) – p’ṼṼ++(x)) / p(x)(x)) / p(x)
link spamming in corso!!!!
Oh… yeah
!!
Caso Yahoo!Caso Yahoo!
Considerati 73,3 milioni di host distinti Considerati 73,3 milioni di host distinti estrapolati dagli indici di Yahoo! del 2004estrapolati dagli indici di Yahoo! del 2004
Composizione good core:Composizione good core:– host di una web directory ritenuta host di una web directory ritenuta
affidabileaffidabile– host governativi USAhost governativi USA– host di istituti scolastici di più di 150 paesihost di istituti scolastici di più di 150 paesi
Dimensione finale del good core poco più di Dimensione finale del good core poco più di 500.000 host distinti500.000 host distinti
Caso Yahoo!: Caso Yahoo!: valutazione algoritmovalutazione algoritmo Calcolo degli spam mass relativiCalcolo degli spam mass relativi
Filtraggio dei PageRank con uso di una soglia Filtraggio dei PageRank con uso di una soglia ρ pari a 10ρ pari a 10 Host risultanti circa 900.000 (insieme T)Host risultanti circa 900.000 (insieme T)
Selezione di un insieme campione pari allo Selezione di un insieme campione pari allo 0,1% di T che vengono:0,1% di T che vengono:– verificati manualmenteverificati manualmente– suddivisi in 20 gruppi in base allo spam suddivisi in 20 gruppi in base allo spam
mass relativomass relativo
Caso Yahoo!:Caso Yahoo!:composizione composizione campionecampione
Caso Yahoo!:Caso Yahoo!:precisione algoritmo precisione algoritmo (1)(1)PrecisionePrecisione
rapporto tra:rapporto tra: il numero di il numero di
host valutati host valutati manualmente manualmente come spam come spam
il numero di il numero di host host considerati considerati spam spam dall’algoritmodall’algoritmo
Caso Yahoo!:Caso Yahoo!:precisione algoritmo precisione algoritmo (2)(2)
OsservazioniOsservazioni
Il Good Core deve:Il Good Core deve:• essere di dimensione opportunaessere di dimensione opportuna• offrire una buona copertura dello scenario web da offrire una buona copertura dello scenario web da
valutare (rappresentativo)valutare (rappresentativo)
Spam mass relativo vs assolutoSpam mass relativo vs assolutoAlcuni host molto popolari e autorevoli possono Alcuni host molto popolari e autorevoli possono avere uno spam mass assoluto elevato (contributo avere uno spam mass assoluto elevato (contributo dei nodi spam), ma questo valore è trascurabile se dei nodi spam), ma questo valore è trascurabile se rapportato al loro PageRank. rapportato al loro PageRank.
Quindi lo spam mass relativo permette di pesare Quindi lo spam mass relativo permette di pesare meglio i contributi dei nodi spam.meglio i contributi dei nodi spam.
Alt... Alt... Attenzione!!! Attenzione!!!
Fare attenzione a:Fare attenzione a: comunità isolate che ricevono uno comunità isolate che ricevono uno
spam mass positivo dal:spam mass positivo dal:– reciproco ed elevato link tra i partecipantireciproco ed elevato link tra i partecipanti– basso numero di inlink esternibasso numero di inlink esterni
Esempio: Warcraft fans Esempio: Warcraft fans
acquisizione da parte degli spammer di acquisizione da parte degli spammer di domini popolari scaduti di recentedomini popolari scaduti di recente
NON CONSIDERATI DALL’ALGORITMONON CONSIDERATI DALL’ALGORITMO
ConclusioniConclusioni
Algoritmo si basa sullo spam mass. Facile da Algoritmo si basa sullo spam mass. Facile da calcolarecalcolare
Con il minimo sforzo è capace di identificare Con il minimo sforzo è capace di identificare parecchie decine di migliaia di link spam hostparecchie decine di migliaia di link spam host
E’ robusto rispetto all’intervento degli spammer E’ robusto rispetto all’intervento degli spammer che dovrebbero manipolare in maniera non che dovrebbero manipolare in maniera non ovvia il grafo dei nodi goodovvia il grafo dei nodi good
Manipolazione impossibile senza conoscenza dell’insieme Manipolazione impossibile senza conoscenza dell’insieme dei dei
nodi good in input all’algoritmonodi good in input all’algoritmo
Ottimo per la gestione di strutture link irregolariOttimo per la gestione di strutture link irregolari
Grazie Grazie
per per
l’attenzione!!!l’attenzione!!!