Discouraging abusive behavior in privacy-preserving decentralized online social networks Álvaro García-Recuero To cite this version: Álvaro García-Recuero. Discouraging abusive behavior in privacy-preserving decentralized online social networks. Social and Information Networks [cs.si]. Université Rennes 1, 2017. English. <NNT : 2017REN1S010>. <tel-01548658v3> HAL Id: tel-01548658 https://tel.archives-ouvertes.fr/tel-01548658v3 Submitted on 14 Nov 2017 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Distributed under a Creative Commons Attribution - NonCommercial - NoDerivatives 4.0 International License
%% % ANNÉE%2017! % % % THÈSE%/%UNIVERSITÉ%DE%RENNES%1% sous$le$sceau$de$l Université$Bretagne$Loire$ % pour!le!grade!de! DOCTEUR%DE%L UNIVERSITÉ%DE%RENNES%1% Mention$:$Informatique$ École%doctorale%Matisse% présentée!par! Álvaro%García%Recuero% Préparée!à!l unité!de!recherche!inria!rennes!!bretagne!atlantique!!institut!national!de!recherche!en!informatique!et!en!automatique! Université!de!Rennes!1,!ISTIC! % % % % % % % % % % % % %! % Discouraging% Abusive%Behavior%in% PrivacyOPreserving% Decentralized%Online% Social%Networks% Thèse%soutenue%à%Rennes% le%19 e %Mai%2017% devant!le!jury!composé!de!:! Carmela%TRONCOSO% Chargé!de!Recherche,!IMDEA!Software/% Rapporteuse! Bogdan%CARBUNAR! Professeur!à!l'Université!de!Florida!International!/! Rapporteur$ Pierre%ALAINOFOUQUE% Professeur!à!l'Université!de!Rennes!1/!Examinateur$ Christian%GROTHOFF% Advanced!Researcher,!INRIA!Rennes/!directeur$de$ thèse!
s fl r s fl r s fl r s fl r
s r
1
.....
.........
..
....
.
.....
2
Sybil region Honest region Attack edges
......
...
...
f(i k ) i k f(i k ) f(i k ) f f
..
3
35,000...........
.....
........
.
...
depth = 1 @ @ @ depth = 0 depth = 1 depth = 2 messaging graph annotated messaging graph social graph potential perpetrators social graph potential victim victim perpetrator G f (V f, E f )
V f E f G m (V m, E m ) V m E m E m V m V f u œ (V f flv m ) E f G f E f := {(u, v) u v}. E m G m E m := {(u, v) u v u v}. i œe m G m O f i A B fl = ÿ fi œe m..
G G (V E) E G V G G maxdepth V Õ seed maxfollowers maxdepth mindegree maxdepth F(x) := {y (y, x) œe œg Add(x, y) := {(x, y) y œf(x) y x G (V E) B := { y œ F(x), y æ x x œ V œv B Õ := { y œ F(x), y æ x x œ V Õ œv Õ distance parent fifoq Ωseed parent Ω seed ÿ distance Ω seed u fifoq level Ωdistance(u) followers ΩF(u) level Æ maxdepth F(u) Æmaxfollowers v œ followers level Æmaxdepth F(u) Æmaxfollowers fifoqv B Ω Add(u, v) distance[v]level F(v) Æmaxfollowers B Õ Ωu, v mindegree u œb Õ (u, v) v Ømindegree
E m œg m 1648 1648 E m œg m 773,162 734,896 36,487 1636 374,907 359,302 14,920 1878 1765 E s œg s 27,017,119 25,042,892 1,636,161
V E 465,017 834,797 3.5904 678 38,389 0.0613 8 52,579,682 1,963,263,821 74.678 3,691,240 55,428,217,664 0.0937 18 41,652,230 1,468,365,182 70.506 3,081,112 34,824,916,864 0.0846 23 537,500,000 23,950,000,000 971,586 230,848,163 14,193 9809 2469 1912 3........
+1 1 1 +1 [ 1, 1].
E m (E m )
µ.
9088 6287 2081 720 0....
µ
S..
.
4
.
P x X
..
CCDF of age_of_account in log log scale CCDF of number of favourites tweets in log log scale CCDF of #lists in log log scale log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive 0 10 101 102 103 0 10 101 102 103 104 105 0 10 101 102 103 log(x) log(x) log(x) CCDF of number of hashtags CCDF of number of mentions in log log scale CCDF of number of badwords CCDF of #retweets in log log scale 1 p 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 acceptable abusive log[p(x > x)] 0.002 0.005 0.020 0.050 0.200 0.500 acceptable abusive 1 p 0.0 0.1 0.2 0.3 0.4 acceptable abusive log[p(x > x)] 0.005 0.010 0.020 0.050 0.100 0.200 acceptable abusive 0 1 2 3 4 5 6 10 0 101 0 1 2 3 4 5 6 7 0 10 101 102 103 104 x log(x) x log(x) CCDF of tweets_per_day in log log scale CCDF of replies over users in log log scale CCDF mentions over tweets in log log scale log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive log[p(x > x)] 0.005 0.010 0.020 0.050 0.100 0.200 acceptable abusive log[p(x > x)] 0.002 0.005 0.020 0.050 0.200 0.500 acceptable abusive 0 10 101 102 0 10 101 102 10 0 101 log(x) log(x) log(x) CCDF of followees count in log log scale CCDF of followers count in log log scale CCDF of ratio of subscribers account age in log log scale CCDF of ratio of subscriptions to age of account in log log scale log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive log[p(x > x)] 0.002 0.005 0.020 0.050 0.200 0.500 acceptable abusive log[p(x > x)] 5e 04 5e 03 5e 02 5e 01 acceptable abusive 0 10 101 102 103 104 105 1 10 102 103 104 105 0 10 101 102 0 10 101 102 log(x) log(x) log(x) log(x)
CCDF of mutual followees in log log scale CCDF of mutual followers in log log scale CCDF of mutual followers followees in log log scale CCDF of mutual followees followers in log log scale log[p(x > x)] 0.02 0.05 0.10 0.20 0.50 acceptable abusive log[p(x > x)] 0.02 0.05 0.10 0.20 0.50 acceptable abusive log[p(x > x)] 5e 04 2e 03 1e 02 5e 02 2e 01 acceptable abusive log[p(x > x)] 5e 04 2e 03 5e 03 2e 02 5e 02 2e 01 acceptable abusive 10 0 10 0 10 0 10 0 log(x) log(x) log(x) log(x)...
tp P = tp+fp tp R = tp+fn F 1=2 P R P +R
Gm / / / Gf / / / / Gf J J J s r J s r...
± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±
± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±
± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±
5
CCDF of tweets_per_day in log log scale CCDF of age_of_account in log log scale log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive 10 0 10 1 10 2 10 0 10 1 10 2 10 3 log(x) log(x)
CCDF of followers count in log log scale CCDF of followees count in log log scale log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive log[p(x > x)] 0.001 0.005 0.050 0.500 acceptable abusive 10 1 10 2 10 3 10 4 10 5 10 0 10 1 10 2 10 3 10 4 10 5 log(x) log(x) s fl r s fl r
CCDF of mutual followees in log log scale CCDF of mutual followers in log log scale log[p(x > x)] 0.02 0.05 0.10 0.20 0.50 acceptable abusive log[p(x > x)] 0.02 0.05 0.10 0.20 0.50 acceptable abusive 10 0 10 0 log(x) log(x) s fl r s fl r
s fl r s fl r s r fl log[p(x > x)] 5e 04 2e 03 1e 02 5e 02 2e 01 CCDF of mutual followers followees in log log scale log(x) acceptable abusive s r 10 0 s fl r s r
s fl r / # # # J J J s r J s r
± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±
± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±
± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±
6
.....
c i C i := g c i g A B h Z Z Õ := {h(x) x œ Z} Ÿ Ø 1 ) * X A := C t A - C œa ) - * Y A := Ĉt A Ĉ œxb = ) C t A t B - C œa * XA XB, YB ) * X B := C t B - C œb ) - Y B := C t B = ) C t B t A * - C œxa * - C œb A b =(g a ) b =(g b ) a = B a (modp) Y A fly B n := A fl B t A œ Z/pZ Ë X A := C t A È - C œa
t B,j œ Z/pZ j œ 1,...,Ÿ Ë X B,j := Y B,j := C t B,j Ë C t B,j - C œb È - C œx A È YB,i Õ i œ 1,...,Ÿ J {1,...,Ÿ} J t B,j j/œ J X B,j j œ J t B,j YB,j Õ j /œ J X B,j j œ J j œ J Ó - Ô Y A,j := Ĉt A -- Ĉ œx B,j j œ J YA,j Õ flyõ B,j J Ø1 J J Ÿ Ÿ Ÿ s r
XA X Õ B,i, YÕ B,i J XB,j tb,j (G 1,G 2 ) p e: G 1 G 2 æ G T g 2 G 2 H : {0, 1} ú æ G 1 c œ Z/pZ C := g2 c m C := H(m)c e(h(m),c)=e(, g 2 ) = H(m) c e Z Õ := {h(x) x œ Z} Z Ÿ Ø 1 C = g2 c N (C, N,C ) N,C := H(N,) c C = g2 c N n := A fl B t A œ Z/pZ X A := Ë C t A È - (C, A,C ) œa t B,j Ë X B,j := (C t B,j - Y B,j := Ë C t B,j È - (C, B,C ) œb È - C œx A œ Z/pZ j œ 1,...,Ÿ
j œ 1,...,Ÿ (C, ) œa s j,c œ Z/pZ S j,c := g s j,c 2 B,Sj,C := H 1 (B ) s j,c fi B,j X B,j Ë - È U B,j :=fi B,j C t B,j -- S j,c (C, B,C ) œb Ë V B,j :=fi B,j t - È B,j B,C -- B,S j,c (C, B,C ) œb Y Õ B,i, V Õ B,i, U B,i i œ 1,...,Ÿ J {1,...,Ÿ} J t B,j V B,j j/œ J X B,j fi B,j [s j,c (C, B,C ) œb] j œ J j/œ J t B,j Y Õ B,j Y B,j V B,j V Õ B,j V B,j U B,j e(h 1 (B ),C t B,j S j,c )=e(h 1 (B ),g 2 ) t B,jc+s j,c = e( t B,j B,C B,S j,c,g 2 ) j œ J Ó - Ô Y A,j := Ĉt A -- Ĉ œx B,j Y Õ A,j flyõ B,j = n j œ J J Ø1 J Ÿ 1:2 Ÿ
XA YB,i Õ VÕ B,i UB,i œÿ J XB,j tb,j VB,j for j /œ J fi[sj,c (C, B,C) œb] for j œ J c i C i := g c i g A B t A œ Z/pZ X := Ë C t A È - C œa t B œ Z/pZ Ë È X := C t B - C œb Ë Y := C t È B - C œx Ó - Ô Y := Ĉx A -- Ĉ œx Y A fly B = n S i Si k k Ó {Si k } = X fl C k - Ô - C œx X C S i <C<S i+1 i A
< X C k B C X Ó C œb X fl C k - Ô - C œx = ÿ C C k k Y C,C k œy C œy C œb Y Õ Y C C = C t A X K µ Z/pZ X =[C k k œ K] fi { } Y =[C k k œ K] fi { } n = K Y e(g a,g b )=e(g ab,g) t A e(c t, )=e(c Õ, t ) C Õ
O(Ÿ n) n Ÿ J O(n) Ÿ O X A A C i œa O(pk A ) pk t B,j A v w O(v + w) O(w + v) X A YB,i Õ VÕ B,i i œ 1,...,Ÿ U B,i J X B,j t B,j fi B,j := fi[s j,c (C, B,C ) œb] for j œ J V B,j for j /œ J v w O(v +w) O(w +v) O(v + w) O(v + w(loglogv)) O(v + v) O(v + w) O(wv) O(wv) O(v + w) O(v) O(v) O(v + w) O(v) O(v) O(v + w) O(v) O(v) O(v + w) O(v) O(v) O(v + w) O(v) O(v)
7
O( V + E ) O(b d+1 )) b d maxdepth...
k J 3,018,632.98 J 2,626,971.92 O(1/ Ô k) J 2,642,225.02 O(1/ Ô k) k S k S F U k F h 1 ( ) h k ( ) U h i min (S) h k (S) S i k J (A, B) i h A min ( ) hb min ( ) h k (A i ) fl h k (B i ) k J
P R
<= / / / / s s / / / / J s r J J s r J J s r J J s r J
± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±.
A
B....
........
...
.
C....
......
..........
...
...