Link Spam Alliances di Zoltàn Gyöngyi Hector Garcia-Molina Stanford University Computer Science Department Presentazione a cura del gruppo 7: Cristian Caruso Matteo Degli Esposti Claudia Fontan Relatore: Claudia Fontan Sistemi Informativi LS a.a. 2005-06
Outline Introduzione al web spam Formulazione del PageRank “Conosci il tuo nemico; Conoscilo e l’avrai per metà vinto.” (Confucio) Introduzione al web spam Formulazione del PageRank Studio delle Spam Farm: Analisi di una singola Farm Alleanze tra due Farm Caso multi-Farm Spam detection Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Spam: perché? …e se non si è ai primi posti L’uso di motori di ricerca per rintracciare indirizzi Internet è sempre più diffuso [FMN] Assicurarsi un ranking alto coincide con l’aumentare le proprie entrate Nel periodo aprile-giugno 2005 negli USA le vendite tramite eCommerce hanno rappresentato il 2.2% del totale (941.282 milioni di dollari) [USC] …e se non si è ai primi posti si cerca di “plasmare” i risultati… Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Spam: definizione Spamming: ingannare i motori di ricerca per ottenere un ranking più elevato di quanto ci si meriti in realtà Lo spamming è dannoso [NAJ] Per gli utenti Rende più difficile trovare le informazioni desiderate Scoraggia l’utente Per i motori di ricerca Spreca la banda del crawler Inquina la rete con pagine di spam Distorce il ranking reale dei risultati Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Link Spam: si costruiscono strutture di pagine interconnesse per aumentare il PageRank di uno o più target Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
PageRank della pagina p0: Link Spam Alliances - gruppo 7 link uscenti da pi p0 = cΣipi/|F(i)| + (1-c) damping factor PageRank di pi che punta a p0 random jump Generalizzando: cT’p (1 – c) p = N + 1N matrice di transizione Una pagina è importante se è puntata da tante altre pagine importanti Essendo basato sulla struttura dei collegamenti, l’algoritmo del PageRank può essere vulnerabile al Link Spamming Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Spam Farm: pagine λ1 p1 λ0 ? λ2 p2 p0 Target page Ogni Farm ne ha una sola L’obiettivo dello spammer è aumentare il suo ranking λk pk Boosting pages Sono controllate dallo spammer Puntano al target per aumentare il suo PageRank Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Spam Farm: link esterni λ1 p1 λ0 ? λ2 p2 p0 λk pk Leakage PageRank aggiunto al target da pagine al di fuori della Farm (forum, blog, …) Lo spammer non ne ha il controllo λ = λ0 + … + λk Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Optimal Farm Intuitivo Ogni boosting page punta unicamente al target Ottimale Il target punta alle boosting pages q0 = p0 / (1 – c2) Intuitivamente: target e boosting pages si rinforzano a vicenda (1 – c)(ck + 1) p0 = cλ N + qk q2 q1 q0 λ pk p2 p1 p0 λ qk q2 q1 q0 λ Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Redistribuzione del PageRank Link Spam Alliances - gruppo 7 Alleanze tra due Farm Intuitivo Ogni boosting page punta ad entrambi i target pk p2 p1 p0 qm q2 q1 q0 Economico Si interconnettono unicamente i target pk p2 p1 p0 qm q2 q1 q0 (k + m) nuovi link solo 2 nuovi link Redistribuzione del PageRank conveniente per la Farm più piccola q0 = p0 = d(k + m)/2 [d = c/N(1 + c)] Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Incremento del PageRank Link Spam Alliances - gruppo 7 Alleanze tra due Farm Ottimo Ogni target punta all’altro target I target non hanno link alle boosting pages qm q2 q1 q0 pk p2 p1 p0 Intuitivamente: questo modello risulta vincente perché concentra tutto il PageRank sui target minimizzando quello delle boosting pages Incremento del PageRank conveniente per entrambe le Farm ck + c2m p0 = (1 + c)N 1 N + Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Alleanze multi-Farm Due strutture fondamentali: Web ring Complete core qm q2 q1 q0 pk p2 p1 p0 rn r2 r1 r0 core Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Web ring Modalità di connessione più semplice ed intuitiva ck + c2m + c3n p0 = (1 + c + c2)N 1 N + qm q2 q1 q0 pk p2 p1 p0 rn r2 r1 r0 la distanza influenza il contributo di ogni Farm al PageRank delle altre Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Complete core Il core è un sotto-grafo completamente connesso 2ck – c2k + c2m + c2n p0 = (2 + c)N 1 N + qm q2 q1 q0 pk p2 p1 p0 rn r2 r1 r0 il contributo di ogni Farm al PageRank delle altre è uniforme Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Riassumendo Web ring: Il PageRank del target della Farm 10 diminuisce rispetto al caso di non connessione Complete core: aumentano tutti i PageRank, soprattutto quelli dei target delle Farm di minori dimensioni Farm non connesse: il PageRank del target è lineare nella dimensione della Farm (numero di boosting pages) Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Riassumendo Contributo della Farm 1 agli altri target Complete core: si conserva la maggiorparte del PageRank, agli altri target viene dato un identico contributo molto minore Web ring: i valori dei contributi sono vicini tra loro e diminuiscono all’aumentare della distanza Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Entrare in un’alleanza Web ring Perchè p0 accetti r0 in un’alleanza con q0 organizzata secondo la struttura del Web ring è necessario rispettare le seguenti condizioni: PR(alleanza p, q, r) > PR(alleanza p, q) ck + c2m + c3n (1 + c + c2)N ck + c2m (1 + c)N > n k + cm (1 + c) > Le dimensioni delle Farm già presenti determinano la dimensione minima che deve avere una Farm per essere accettata La media pesata delle dimensioni delle Farm già presenti costituisce un lower bound sulla dimensione della nuova Farm Il punto di inserimento della Farm entrante ne influenza la dimensione minima Es: k = 20; m = 10: Con FL a q n = 16 Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Entrare in un’alleanza Complete core Perchè p0 accetti r0 in un’alleanza con q0 organizzata secondo la struttura del Complete core è necessario rispettare le seguenti condizioni: PR(alleanza p, q, r) > PR(alleanza p, q) La dimensione minima che deve avere una Farm per essere accettata è determinata considerando la Farm più piccola già presente nell’alleanza: n k + m – (1 – c)min{k, m} (1 + c) > La media aritmetica delle dimensioni delle Farm già presenti costituisce un lower bound sulla dimensione della nuova Farm Es: k = 20; m = 10 n = 16 per m; n = 15 per k media aritmetica = 15 La terza Farm deve avere almeno 16 boosting pages n arithmetic mean > Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
PR(10, non connessa) > PR(10, ring) Lasciare un’alleanza Prima abbiamo osservato che: Intuizione: la Farm 10 contribuisce troppo al PageRank dei suoi alleati e riceve troppo poco in cambio PR(10, non connessa) > PR(10, ring) Nell’alleanza tra 10 Farm, risulta che il limite per la Farm 10 è 9091 avendo 10000 boosting pages, le conviene uscire dall’alleanza Web ring La Farm p0 decide di lasciare l’alleanza se: PR(non connessa) > PR(ring) > ck + c2m + c3n (1 + c + c2)N 1 N + (1 + c)N ck + 1 c - m(1 - c2) - cn(1 - c2) (1 - c) k Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
PR(non connessa) > PR(complete core) Link Spam Alliances - gruppo 7 Lasciare un’alleanza Complete core La Farm p0 decide di lasciare l’alleanza se: PR(non connessa) > PR(complete core) > 2 + c + (1 + c)(k + m + n) 7c2 k (1 + c)N ck + 1 2ck – c2k + c2m + c2n (2 + c)N 1 N + Nell’alleanza tra 10 Farm, risulta che nessuna raggiunge la dimensione limite a tutte conviene restare nell’alleanza Contributi distribuiti in modo più uniforme rispetto al Web ring Piccole differenze tra i limiti di dimensione per le diverse Farm Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Spam detection Idea di base: identificare strutture come quelle descritte in precedenza Obiettivo: determinate potenziali candidati per il link spamming Zipfian distribution Amplification factor Spam mass Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Zipfian distribution Fetterly et al., 2004 pk p2 p1 p0 λ Le Farm sono spesso generate automaticamente ed hanno strutture molto regolari Si analizzano i gradi di entrata ed uscita delle pagine Molte pagine seguono la distribuzione di Zipfian pk p2 p1 p0 λ Agglomerati di pagine i cui gradi di ingresso ed uscita seguono questa distribuzione in modo esatto risultano spesso essere parte di una Farm ZD(p) = |F(1)| = |F(2)| = … = |F(k)| ZD(p) = |B(1)| = |B(2)| = … = |B(k)| Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Amplification factor Zhang et al., 2004 Una caratteristica comune delle Farm è la capacità dei target di catturare il PageRank proveniente dalle boosting pages I target amplificano il contributo delle boosting pages Amplification factor Amp(H): in un gruppo di H pagine, è il rapporto tra il PageRank delle pagine nel gruppo ed il contributo di quelle esterne Se Amp(H) è dell’ordine di 1/(1–c), le pagine del gruppo possono essere target di Farm connesse in un’alleanza pk p2 p1 p0 qm q2 q1 q0 colluding pages p0 + q0 = O 1 1 - c Σi pi + Σj qj Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Spam mass Zyöngyi et Garcia-Molina, 2005 I target aumentano il proprio PageRank soprattutto grazie alle boosting pages Il PageRank delle boosting pages è dovuto al random jump 1-c Relative spam mass Mass(i): relativo alla pagina i, è il rapporto tra PageRank totale e PageRank con apporto del random jump posto a 0: pk p2 p1 p0 λ p0 – p’0 p0 p0 = PageRank totale p’0 = PageRank parziale pk p2 p1 p’0 λ Per pagine che non hanno grandi benefici da boosting pages, Mass(i) tende a 0 Se Mass(i) è elevato, la pagina i è probabilmente un target all’interno di una Farm Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Conclusioni Le tecniche di Spam Detection presentate sono ancora sperimentali Riescono spesso ad identificare solo il core di un’alleanza Possono risultare utili, ma presentano ancora problemi La tecnica riguardante la distribuzione di Zipfian non identifica strutture non regolari La tecnica dell’Amplification factor identifica come alleanze di Farm anche gruppi di pagine che non lo sono La tecnica basata sulla Spam Mass non identifica target che aumentano il proprio PageRank soprattutto grazie al leakage Il primo passo per combattere realmente il Link Spam è conoscere a fondo le strutture proprie di questa tecnica Il percorso che porta ad individuare tecniche realmente efficaci per combattere il Link Spamming è comunque ancora molto lungo… Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Riferimenti [FMN] “Spam, Damn Spam, and Statistics”, Dennis Fetterly, Mark Manasse, Mark Najork, 2004. research.microsoft.com/research/sv/PageTurner/webdb2004.pdf [GGM] “Link spam alliances” Technical Report, Stanford University, 2005. infolab.stanford.edu/~zoltan/publications.html [NAJ] “Heuristics for Detecting Spam Web Pages”, Mark Najork – Microsoft Research, Silicon Valley, 2005. www.cise.ufl.edu/~adobra/DaMn/talks/2005-10-26-Bertinoro.ppt [USC] U.S. Census Bureau, E-Stats www.census.gov/eos/www/ebusiness614.htm Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7
Link Spam Alliances - gruppo 7 Demo …and now… WE WANT YOU see our Demo Link Spam Alliances - gruppo 7 Link Spam Alliances - gruppo 7