Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of: uppercase, lowercase, numbers, and special characters.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    Français
    v4.5

      SybilRank

      ✓ File Writeback ✓ Property Writeback ✓ Direct Return ✓ Stream Return ✕ Stats

      Vue d’ensemble

      L'algorithme SybilRank classe la confiance des nodes par des marches aléatoires interrompues tôt dans le réseau, généralement un Réseau Social en Ligne (OSN). L'essor des OSNs s'est accompagné de l'augmentation des attaques Sybil, sous lesquelles un attaquant malveillant crée plusieurs faux comptes (Sybil), dans le but de faire du spam, de distribuer des logiciels malveillants, de manipuler les votes ou les comptages de vues pour des contenus de niche, etc.

      SybilRank a été proposé par Qiang Cao et al. en 2012, il est efficace sur le plan computationnel et peut s'adapter à de grands graphs.

      Concepts

      Modèle de Menace et Graines de Confiance

      SybilRank considère un OSN comme un graph non dirigé, où chaque node correspond à un utilisateur du réseau, et chaque edge correspond à une relation sociale bilatérale.

      Dans le modèle de menace de SybilRank, tous les nodes sont divisés en deux ensembles disjoints : non-Sybil H, et Sybil S. Désignons la région non-Sybil GH comme le sous-graph induit par l'ensemble H, qui inclut tous les non-Sybil et les edges entre eux. De même, la région Sybil GS est le sous-graph induit par S. GH et GS sont connectés par attack edges entre les Sybil et les non-Sybil.

      Certains nodes considérés comme non-Sybil sont spécifiés comme des graines de confiance pour le fonctionnement de SybilRank. La transmission de la confiance sur plusieurs nodes rend SybilRank robuste aux erreurs de sélection de graines, car désigner incorrectement un node qui est Sybil ou proche de Sybil comme graine entraîne seulement une petite fraction de la confiance totale à être initialisée et propagée dans la région Sybil.

      Vous trouverez ci-dessous un exemple de modèle de menace avec des graines de confiance :

      Une hypothèse importante de SybilRank est que le nombre d’attack edges est limité. Puisque SybilRank est conçu pour des attaques à grande échelle, où les faux comptes sont créés et maintenus à faible coût, et sont donc incapables de se lier d'amitié avec de nombreux vrais utilisateurs. Cela résulte en une faible coupe entre GH et GS.

      Marche Aléatoire Interrompue Tôt

      Dans un graph non dirigé, si la probabilité de transition d’une marche aléatoire vers un node voisin est uniformément distribuée, lorsque le nombre d'étapes est suffisant, la probabilité de se retrouver à chaque node convergerait pour être proportionnelle à son degré. Le nombre d'étapes qu'une marche aléatoire nécessite pour atteindre la distribution stationnaire est appelé le temps de mélange du graph.

      SybilRank repose sur l'observation qu'une marche aléatoire interrompue tôt partant d’un node non-Sybil (graine de confiance) a une probabilité plus élevée de se retrouver à un node non-Sybil qu'à un node Sybil, puisque la marche est peu susceptible de traverser un des rares attack edges. C'est-à-dire qu'il y a une différence significative entre le temps de mélange de la région non-Sybil GH et l'ensemble du graph.

      SybilRank se réfère à la probabilité de se retrouver sur chaque node comme la confiance du node. SybilRank classe les nodes selon leurs scores de confiance ; les nodes avec des scores de confiance faibles sont classés plus haut, et ce sont potentiellement des faux utilisateurs.

      Propagation de Confiance via Itération de Puissance

      SybilRank utilise la technique de l'itération de puissance pour calculer efficacement la probabilité de se retrouver à un endroit des marches aléatoires dans de grands graphs. L'itération de puissance implique des multiplications matricielles successives où chaque élément de la matrice représente la probabilité de transition d'une marche aléatoire d'un node à un node voisin. Chaque itération calcule la distribution de la probabilité de se retrouver sur tous les nodes au fur et à mesure que la marche aléatoire avance d'une étape.

      Dans un graph non dirigé G = (V, E), initialement une confiance totale TG est distribuée de manière égale parmi toutes les graines de confiance. Lors de chaque itération de puissance, un node distribue d'abord sa confiance de manière égale à ses voisins ; il recueille ensuite la confiance distribuée par ses voisins et met à jour sa propre confiance en conséquence. La confiance du node v à la i-ème itération est :

      où le node u appartient à l'ensemble voisin du node v, deg(u) est le degré du node u. Le montant total de confiance TG reste inchangé tout le temps.

      Avec suffisamment d'itérations de puissance, la confiance de tous les nodes convergerait vers la distribution stationnaire :

      Cependant, SybilRank termine l'itération de puissance après un certain nombre d'étapes avant la convergence, et il est suggéré de le définir comme log(|V|). Ce nombre d'itérations est suffisant pour atteindre une distribution stationnaire approximativement de la confiance sur la région non-Sybil à mélange rapide GH, mais limite la confiance s'échappant vers la région Sybil GS, donc les non-Sybil seront classés plus haut que les Sybil.

      En pratique, le temps de mélange de GH est affecté par de nombreux facteurs, donc log(|V|) est seulement une référence, mais il doit être inférieur au temps de mélange de l'ensemble du graph.

      Considérations

      • Chaque boucle auto-ajoutée ajoute deux degrés à son sujet node.
      • L'algorithme SybilRank ignore la direction des edges mais les calcule comme des edges non dirigés.
      • Le coût computationnel de SybilRank est O(n log n). Cela est dû au fait que chaque itération de puissance coûte O(n), et il itère O(log n) fois. Il n'est pas lié au nombre de graines de confiance.

      Syntaxe

      • Commande : algo(sybil_rank)
      • Paramètres :
      Nom
      Type
      Spéc
      Défaut
      Optionnel
      Description
      total_trust float >0 / Non Confiance totale du graph
      trust_seeds []_uuid / / Oui UUID des graines de confiance, il est suggéré d'assigner des graines de confiance pour chaque communauté; tous les nodes sont spécifiés comme des graines de confiance si non défini
      loop_num int >0 5 Oui Nombre d'itérations, il est suggéré de définir comme log(|V|) (base-2)
      limit int ≥-1 -1 Oui Nombre de résultats à retourner, -1 pour retourner tous les résultats

      Exemples

      Le graph d'exemple est le suivant :

      File Writeback

      Spéc Contenu
      filename _id,rank
      algo(sybil_rank).params({
        total_trust: 100,
        trust_seeds: [2,3,5],
        loop_num: 4
      }).write({
        file:{
          filename: 'sybilRank'
        }
      })
      

      Résultats : Fichier sybilRank

      S1,0
      S4,3.61111
      S2,4.45602
      S3,4.71065
      H9,5.0434
      H8,5.09259
      H4,6.66667
      H10,7.87037
      H5,8.67766
      H1,9.59491
      H2,9.9537
      H7,10.4167
      H3,11.305
      H6,12.6013
      

      Property Writeback

      Spéc Contenu Écrire à Type de Donnée
      property rank Node property float
      algo(sybil_rank).params({
        total_trust: 100,
        trust_seeds: [2,3,5],
        loop_num: 4
      }).write({
        db:{
          property: 'trust'
        }
      })
      

      Résultats : Score de confiance pour chaque node est écrit dans une nouvelle propriété nommée trust

      Direct Return

      Ordinal Alias Type
      Description
      Colonnes
      0 []perNode Node et sa confiance _uuid, rank
      algo(sybil_rank).params({
        total_trust: 100,
        trust_seeds: [2,3,5],
        loop_num: 4
      }) as trust 
      return trust
      

      Résultats : trust

      _uuid rank
      11 0.0000000
      14 3.6111109
      12 4.4560180
      13 4.7106481
      9 5.0434031
      8 5.0925918
      4 6.6666660
      10 7.8703699
      5 8.6776609
      1 9.5949059
      2 9.9537029
      7 10.416666
      3 11.304976
      6 12.601272

      Stream Return

      Ordinal Alias Type
      Description
      Colonnes
      0 []perNode Node et sa confiance _uuid, rank
      algo(sybil_rank).params({
        total_trust: 100,
        trust_seeds: [2,3,5],
        loop_num: 4,
        limit: 4
      }).stream() as trust
      find().nodes({_uuid == trust._uuid}) as nodes
      return table(nodes._id, trust.rank)
      

      Résultats : table(nodes._id, trust.rank)

      nodes._id trust.rank
      S1 0.0000000
      S4 3.6111109
      S2 4.4560180
      S3 4.7106481
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写