SybilGuard: Defending Against Sybil Attacks via Social Networks Haifeng Yu Michael Kaminsky Phillip B. Gibbons Abraham Fla...
Outline <ul><li>Introduction to Sybil Attack </li></ul><ul><li>Model & Problem formulation </li></ul><ul><li>Sybil Guard O...
Introduction to Sybil Attack <ul><li>P2p and decentralized, distributed systems particularly vulnerable </li></ul><ul><li>...
Introduction to Sybil Attack <ul><li>Malicious user obtains multiple fake identities </li></ul><ul><li>Malicious behavior ...
Introduction to Sybil Attack <ul><li>Centralized authority: </li></ul><ul><ul><li>Control Sybil attack easily </li></ul></...
Introduction to Sybil Attack <ul><li>Decentralized approach is hard: </li></ul><ul><ul><li>Harvest (Steal) IP addresses </...
Introduction to Sybil Attack <ul><li>Not very successful defense approaches: </li></ul><ul><ul><li>Resource-challenge appr...
Model & Problem Formulation <ul><li>Users: </li></ul><ul><ul><li>n honest users: single identity </li></ul></ul><ul><ul><l...
Model & Problem  F ormulation <ul><li>Bounding no. of sybil groups </li></ul><ul><ul><li>Divide all nodes into at most  g ...
Model & Problem Formulation <ul><li>Bounding size of Sybil Group </li></ul><ul><ul><li>at most  w  nodes in a group </li><...
Social Network <ul><li>Consists of users (nodes) </li></ul><ul><li>Human established trust relationships </li></ul><ul><li...
SybilGuard Overview <ul><li>Ensures honest user share at most one edge with sybil nodes created by a malicious user </li><...
SybilGuard Overview <ul><li>Random routes direct random walk for all nodes   </li></ul><ul><li>Pre-computed random permuta...
Random route <ul><li>Basis of SybilGuard </li></ul><ul><li>Honest node (verifier) decides whether or not to accept another...
Fast mixing property <ul><li>Assume social networks tend to be  fast mixing , which necessarily means that subsets of hone...
Attack edge
Key exchange <ul><li>Each pair of friendly nodes shares a unique symmetric secret key (password) called the edge key   </l...
Limits attack edges <ul><li>Limited number of attack edges (g) </li></ul><ul><li>Adding new attack edge needs  out-of-band...
Common ways adversary may use to increase g <ul><li>Befriending with honest users in real life </li></ul><ul><li>Convince ...
Random route <ul><li>Convergence property </li></ul><ul><ul><li>Once two routes traverse the same edge along the same dire...
Problems of random route <ul><li>Loop (same edge more than once) </li></ul><ul><ul><li>Unlikely to form in a fast mixing g...
SybilGuard Design <ul><li>Use redundancy </li></ul><ul><ul><li>Instead of performing one random route </li></ul></ul><ul><...
Registry table <ul><li>Each node will maintain and propagate one’s registry tables and witness tables to its neighbors   <...
Registry & Witness tables
Bandwidth consumption <ul><li>Studying a one million nodes social network </li></ul><ul><li>w=2000 </li></ul><ul><li>Data ...
Witness table <ul><li>Propagated and updated in a similar fashion as the registry table </li></ul><ul><li>Backward </li></...
Verify process <ul><li>For a node V to verify a node S </li></ul><ul><ul><li>find the intersection nodes for all of its ro...
Verify Process <ul><li>If more than half of the route from V accept S, </li></ul><ul><ul><li>node V will accept node S </l...
Route length w <ul><li>Constraints: </li></ul><ul><li>Must be sufficiently small to ensure remains entirely within the hon...
Route length w <ul><li>Determine locally by sampling </li></ul><ul><li>Node A performs short random walk (e.g. 10 hops) at...
Sybil Guard under Dynamics <ul><li>Bypass offline nodes </li></ul><ul><ul><li>V  verify other node  S </li></ul></ul><ul><...
Sybil Guard under Dynamics <ul><li>Incremental routing table maintenance </li></ul><ul><ul><li>Instead of re-create a new ...
Attacks Exploiting Node Dynamics <ul><li>Potential attacks under Node Dynamics </li></ul><ul><ul><li>Malicious user M chan...
Probability of Intersection <ul><li>Kleinberg’s synthetic social network model </li></ul><ul><li>a million-node graph with...
Results with no Sybil Attackers <ul><li>Probability of random routes being loops </li></ul><ul><ul><li>Loop reduces effect...
Results with no Sybil Attackers <ul><li>Probably of honest node being accepted </li></ul><ul><ul><li>at least one intersec...
Results with no Sybil Attackers <ul><li>Estimate random route length  w </li></ul><ul><ul><li>Sampling technique to determ...
Probability of routes in honest region <ul><li>1 million-node graph </li></ul><ul><li>100% for g <=2000;  99.8% for g=2500...
Probability of honest nodes being accepted <ul><li>Still 99.8% with 2500 attack edges </li></ul><ul><li>Redundancy is nece...
Our views <ul><li>Hard to link real life to virtual network? </li></ul><ul><ul><li>My real life friends may not join the v...
Others’ views <ul><li>Fast mixing assumption in social network </li></ul><ul><ul><li>Japanese’s social network may not mix...
Upcoming SlideShare
Loading in …5
×

Defending Against Sybil Attacks Via Social Networks

2,059 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,059
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
69
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Defending Against Sybil Attacks Via Social Networks

    1. 1. SybilGuard: Defending Against Sybil Attacks via Social Networks Haifeng Yu Michael Kaminsky Phillip B. Gibbons Abraham Flaxman Presented by John Mak, Janet Yung
    2. 2. Outline <ul><li>Introduction to Sybil Attack </li></ul><ul><li>Model & Problem formulation </li></ul><ul><li>Sybil Guard Overview </li></ul><ul><li>Simulation Result & Analysis </li></ul><ul><li>Conclusion </li></ul><ul><li>Our views </li></ul>
    3. 3. Introduction to Sybil Attack <ul><li>P2p and decentralized, distributed systems particularly vulnerable </li></ul><ul><li>Malicious user obtains multiple fake identities </li></ul><ul><li>Gain large influence by “out vote” honest users </li></ul>
    4. 4. Introduction to Sybil Attack <ul><li>Malicious user obtains multiple fake identities </li></ul><ul><li>Malicious behavior becomes a norm (e.g. Byzantine failures) </li></ul><ul><li>Many protocols assume < 1/3 malicious nodes </li></ul><ul><li>Easily create 1/3 nodes  Break defense </li></ul>
    5. 5. Introduction to Sybil Attack <ul><li>Centralized authority: </li></ul><ul><ul><li>Control Sybil attack easily </li></ul></ul><ul><ul><li>Verify real life credential </li></ul></ul><ul><ul><li>Hard for worldwide to trust </li></ul></ul><ul><ul><li>Single point of failure – bottleneck, DOS </li></ul></ul><ul><ul><li>Scare away potential users – requires sensitive information </li></ul></ul>
    6. 6. Introduction to Sybil Attack <ul><li>Decentralized approach is hard: </li></ul><ul><ul><li>Harvest (Steal) IP addresses </li></ul></ul><ul><ul><ul><li>No common IP prefix  Hard to filter </li></ul></ul></ul><ul><ul><li>Advertise BGP route on unused block of IP address </li></ul></ul><ul><ul><li>Botnet - Co-opt large number of end-user machines </li></ul></ul>
    7. 7. Introduction to Sybil Attack <ul><li>Not very successful defense approaches: </li></ul><ul><ul><li>Resource-challenge approach (computational puzzles) </li></ul></ul><ul><ul><li>Network coordinates </li></ul></ul><ul><ul><li>Reputation system based on historical behavior </li></ul></ul>
    8. 8. Model & Problem Formulation <ul><li>Users: </li></ul><ul><ul><li>n honest users: single identity </li></ul></ul><ul><ul><li>1+ malicious user: multiple identities </li></ul></ul><ul><li>Identity: </li></ul><ul><ul><li>Also called “node” </li></ul></ul><ul><ul><li>Sybil identity: malicious user’s identity </li></ul></ul><ul><li>Defense system </li></ul><ul><ul><li>Verifier node V accept another node S </li></ul></ul><ul><ul><li>Ideally, V only accept honest nodes. </li></ul></ul>
    9. 9. Model & Problem F ormulation <ul><li>Bounding no. of sybil groups </li></ul><ul><ul><li>Divide all nodes into at most g equivalence groups </li></ul></ul><ul><ul><li>Sybil Group: equivalence group contains at least one Sybil node </li></ul></ul><ul><ul><li>Defense system guarantees no. of groups, without need to know if the group is sybil </li></ul></ul>
    10. 10. Model & Problem Formulation <ul><li>Bounding size of Sybil Group </li></ul><ul><ul><li>at most w nodes in a group </li></ul></ul><ul><ul><li>limit no. of sybil nodes accepted each node can accept </li></ul></ul><ul><li>Summary </li></ul><ul><ul><li>decentralized </li></ul></ul><ul><ul><li>honest node accepts, and is accepted by most other honest nodes </li></ul></ul><ul><ul><li>honest node accepts a bounded number of sybil nodes. </li></ul></ul>
    11. 11. Social Network <ul><li>Consists of users (nodes) </li></ul><ul><li>Human established trust relationships </li></ul><ul><li>Nodes connected by an edge (friend) </li></ul><ul><li>Real life relationship can bound both the number and size of sybil groups </li></ul><ul><ul><li>Usually degree ~ 30 </li></ul></ul><ul><li>Malicious user fools honest user to trust him/her </li></ul><ul><ul><li>an attack edge connected a malicious user and an honest user </li></ul></ul>
    12. 12. SybilGuard Overview <ul><li>Ensures honest user share at most one edge with sybil nodes created by a malicious user </li></ul><ul><li>A protocol enables honest nodes to accept a large fraction of the other honest nodes </li></ul><ul><li>SybilGuard does not increase or decrease the number of edges in the social network as a result of its execution </li></ul>
    13. 13. SybilGuard Overview <ul><li>Random routes direct random walk for all nodes </li></ul><ul><li>Pre-computed random permutation </li></ul><ul><ul><li>one-to-one mapping from incoming edges to out-going edges </li></ul></ul><ul><li>Random routes </li></ul><ul><ul><li>convergence property </li></ul></ul><ul><ul><li>back-traceable property </li></ul></ul><ul><li>Multiple random routes of a certain length (w) </li></ul>
    14. 14. Random route <ul><li>Basis of SybilGuard </li></ul><ul><li>Honest node (verifier) decides whether or not to accept another node (suspect ) </li></ul><ul><li>Honest node’s random route </li></ul><ul><ul><li>highly likely to stay within the honest region </li></ul></ul><ul><ul><li>Highly likely to intersect within (w) steps </li></ul></ul><ul><li>If there are (g) attack edges, the number of sybil groups is bounded by (g) </li></ul>
    15. 15. Fast mixing property <ul><li>Assume social networks tend to be fast mixing , which necessarily means that subsets of honest nodes have good connectivity to the rest of the social network </li></ul><ul><li>Assume the verifier is itself an honest node </li></ul>
    16. 16. Attack edge
    17. 17. Key exchange <ul><li>Each pair of friendly nodes shares a unique symmetric secret key (password) called the edge key </li></ul><ul><li>Key distribution is done out-of-band </li></ul><ul><li>Each honest node constrains its degree within some constant (e.g. 30) in order to prevent the adversary from increasing the number of attack edges (g) dramatically </li></ul>
    18. 18. Limits attack edges <ul><li>Limited number of attack edges (g) </li></ul><ul><li>Adding new attack edge needs out-of-band verification </li></ul><ul><li>Malicious users: </li></ul><ul><ul><li>Hard to convince honest users to be friends </li></ul></ul><ul><ul><li>Quite difficult to do on a large scale </li></ul></ul>
    19. 19. Common ways adversary may use to increase g <ul><li>Befriending with honest users in real life </li></ul><ul><li>Convince honest node to accept sybil nodes as friends </li></ul><ul><li>Compromises a large fraction of nodes in the system. </li></ul><ul><ul><li>The adversary does not even need to launch a sybil attack. SybilGuard will not help here. </li></ul></ul><ul><li>Botnet </li></ul><ul><ul><li>Challenging to acquire a botnet containing many nodes that already in the system. </li></ul></ul>
    20. 20. Random route <ul><li>Convergence property </li></ul><ul><ul><li>Once two routes traverse the same edge along the same direction, they will merge and stay merged (i.e. the convergence property) </li></ul></ul><ul><li>Back-traceable property </li></ul><ul><ul><li>Using a permutation as the routing table further guarantees that the random routes are back-traceable </li></ul></ul><ul><li>There can be only one route with length (w) that traverses the same section of route (e) </li></ul>
    21. 21. Problems of random route <ul><li>Loop (same edge more than once) </li></ul><ul><ul><li>Unlikely to form in a fast mixing graph </li></ul></ul><ul><li>Enters the sybil region </li></ul><ul><ul><li>Unlikely according to: THEOREM 1. For any connected and non-bipartite social network, the probability that a length-w random walk starting from a uniformly random honest node will ever traverse any of the g attack edges is upper bounded by gw/n. In particular, when w = Θ( √n log n ) and g = o ( √n/ log n ) , this probability is o (1) . </li></ul></ul>
    22. 22. SybilGuard Design <ul><li>Use redundancy </li></ul><ul><ul><li>Instead of performing one random route </li></ul></ul><ul><ul><li>A node with degree (d) performs random routes along each of its edges </li></ul></ul><ul><li>Verifier V accept suspect S </li></ul><ul><ul><li>If exist d/2 routes from the verifier node </li></ul></ul><ul><ul><li>One of V’s route accept S if that route intersect with one of S’s route </li></ul></ul>
    23. 23. Registry table <ul><li>Each node will maintain and propagate one’s registry tables and witness tables to its neighbors </li></ul><ul><li>SybilGuard requires a node to register with all (w) nodes along each of its routes by using public key cryptography </li></ul><ul><li>When a verifier V wants to verify S, V will ask the intersection point between S’s route and V’s route whether S is indeed registered </li></ul>
    24. 24. Registry & Witness tables
    25. 25. Bandwidth consumption <ul><li>Studying a one million nodes social network </li></ul><ul><li>w=2000 </li></ul><ul><li>Data sent by each node for registry table is small </li></ul><ul><li>Bandwidth consumption acceptable </li></ul><ul><ul><li>since the registry table updates are needed only when social trust relationships change </li></ul></ul>
    26. 26. Witness table <ul><li>Propagated and updated in a similar fashion as the registry table </li></ul><ul><li>Backward </li></ul><ul><li>Updated when a node’s IP address changes </li></ul><ul><li>Can be done lazily in the verification process </li></ul>
    27. 27. Verify process <ul><li>For a node V to verify a node S </li></ul><ul><ul><li>find the intersection nodes for all of its routes by the witness tables downstream </li></ul></ul><ul><ul><li>Authenticates the intersection node one by one by the private key </li></ul></ul><ul><ul><li>Ask that node to check if S’s public key is store in one of its registry tables. </li></ul></ul><ul><ul><li>If S’s public key is found, that route of V will accept S </li></ul></ul>
    28. 28. Verify Process <ul><li>If more than half of the route from V accept S, </li></ul><ul><ul><li>node V will accept node S </li></ul></ul><ul><ul><li>V will interact will S later by request S to encrypt its message by its private key </li></ul></ul><ul><li>For the sybil nodes region with (g) attack edges, </li></ul><ul><ul><li>Polluted entries in registry tables bounded by g*w*w/2 </li></ul></ul><ul><ul><li>still less than half of the total number of entries n*d*w </li></ul></ul><ul><ul><li>even with g*w tends to (n) with (d) being the degree of each node (d >= 2) and (n) being the total number of nodes </li></ul></ul>
    29. 29. Route length w <ul><li>Constraints: </li></ul><ul><li>Must be sufficiently small to ensure remains entirely within the honest region </li></ul><ul><li>Must be sufficiently large to ensure that routes will intersect with high probability </li></ul><ul><li>w related to n </li></ul><ul><ul><li>Challenging because we do not know n for a decentralized system </li></ul></ul>
    30. 30. Route length w <ul><li>Determine locally by sampling </li></ul><ul><li>Node A performs short random walk (e.g. 10 hops) at node B </li></ul><ul><li>Assume B is honest (with high probability) </li></ul><ul><li>A checks no. of hops for intersection with their random routes </li></ul><ul><ul><li>A asks for the witness tables from B. </li></ul></ul><ul><li>Repeat above, calculate median value. </li></ul>
    31. 31. Sybil Guard under Dynamics <ul><li>Bypass offline nodes </li></ul><ul><ul><li>V verify other node S </li></ul></ul><ul><ul><ul><li>Probably multiple intersection points </li></ul></ul></ul><ul><ul><ul><li>V have at least one intersection point online </li></ul></ul></ul><ul><ul><li>Propagate registry & witness tables </li></ul></ul><ul><ul><ul><li>User creation / deletion / ip address change </li></ul></ul></ul><ul><ul><ul><li>Infrequent changes </li></ul></ul></ul><ul><ul><li>Lookahead route table </li></ul></ul><ul><ul><ul><li>Store information of next K hops </li></ul></ul></ul>
    32. 32. Sybil Guard under Dynamics <ul><li>Incremental routing table maintenance </li></ul><ul><ul><li>Instead of re-create a new permutation </li></ul></ul><ul><ul><li>Make changes in current permutation </li></ul></ul><ul><li>Add </li></ul><ul><ul><li>X 1  X 2  X 3  X 4  (insert at end) </li></ul></ul><ul><ul><li>X 1  X 2  (insert here)  X 4  X 3 </li></ul></ul><ul><li>Delete “3” </li></ul><ul><ul><li>Before: X 1  X 2  X 3  X 4  X 5 </li></ul></ul><ul><ul><li>After: X 1  X 2  X 5  X 4 </li></ul></ul>
    33. 33. Attacks Exploiting Node Dynamics <ul><li>Potential attacks under Node Dynamics </li></ul><ul><ul><li>Malicious user M change public key to key2 </li></ul></ul><ul><ul><li>Suppose D  A  B  C </li></ul></ul><ul><ul><li>Suppose revoke key1 </li></ul></ul><ul><ul><li>Random routes along all directions </li></ul></ul><ul><ul><li>D’s key3 will overwrite key2 </li></ul></ul>
    34. 34. Probability of Intersection <ul><li>Kleinberg’s synthetic social network model </li></ul><ul><li>a million-node graph with average node degree of 24 </li></ul>
    35. 35. Results with no Sybil Attackers <ul><li>Probability of random routes being loops </li></ul><ul><ul><li>Loop reduces effective length of random route </li></ul></ul><ul><ul><li>Loop is very rare </li></ul></ul><ul><ul><li>99.3% of the routes do not form loops in their first 2500 hops </li></ul></ul>
    36. 36. Results with no Sybil Attackers <ul><li>Probably of honest node being accepted </li></ul><ul><ul><li>at least one intersection point online </li></ul></ul><ul><ul><li>If at least 10 online/offline intersection points  verification succeeds </li></ul></ul><ul><ul><li>In 1 million-node graph </li></ul></ul><ul><ul><ul><li>w = 300 </li></ul></ul></ul><ul><ul><ul><li>probability = 99.96% having >=10 intersections </li></ul></ul></ul>
    37. 37. Results with no Sybil Attackers <ul><li>Estimate random route length w </li></ul><ul><ul><li>Sampling technique to determine w </li></ul></ul><ul><ul><li>Node A choose a node B to determine w </li></ul></ul><ul><ul><li>Node B – not necessarily uniformly random </li></ul></ul><ul><ul><li>Need to re-estimate daily </li></ul></ul>
    38. 38. Probability of routes in honest region <ul><li>1 million-node graph </li></ul><ul><li>100% for g <=2000; 99.8% for g=2500 </li></ul><ul><li>0.2% -- Nodes befriending with sybil attackers </li></ul>
    39. 39. Probability of honest nodes being accepted <ul><li>Still 99.8% with 2500 attack edges </li></ul><ul><li>Redundancy is necessary </li></ul>
    40. 40. Our views <ul><li>Hard to link real life to virtual network? </li></ul><ul><ul><li>My real life friends may not join the virtual network </li></ul></ul><ul><ul><li>Maybe centralized authentication better? </li></ul></ul><ul><li>99.8% honest nodes accepted, but 0.2% not accepted. </li></ul><ul><ul><li>The 0.2% is honest </li></ul></ul>
    41. 41. Others’ views <ul><li>Fast mixing assumption in social network </li></ul><ul><ul><li>Japanese’s social network may not mix with US social network? </li></ul></ul>

    ×