netfence preventing internet denial of service from
play

NetFence: Preventing Internet Denial of Service from Inside Out - PowerPoint PPT Presentation

NetFence: Preventing Internet Denial of Service from Inside Out Xiaowei Yang (Duke University) with Xin Liu (Duke University) Yong Xia (NEC Labs China) Sigcomm 2010 Delhi, India DoS is a Formidable Threat Distributed attacks: many


  1. How does NetFence Work? L • A router under attack replaces nop with L  – All traffic – Signal congestion to access router – L  link,   act, mon  mode = MAC (src, dst, ts, L, mon,  , ) – – No downstream overwrite

  2. How does NetFence Work? L • A router under attack replaces nop with L  – All traffic – Signal congestion to access router – L  link,   act, mon  mode = MAC (src, dst, ts, L, mon,  , ) – – No downstream overwrite

  3. How does NetFence Work? L • A router under attack replaces nop with L  – All traffic – Signal congestion to access router – L  link,   act, mon  mode = MAC (src, dst, ts, L, mon,  , ) – – No downstream overwrite

  4. How does NetFence Work? L A shared time-varying secret key via distributed Diffie-Hellman via BGP [Passport] • A router under attack replaces nop with L  – All traffic – Signal congestion to access router – L  link,   act, mon  mode = MAC (src, dst, ts, L, mon,  , ) – – No downstream overwrite

  5. How does NetFence Work? L A shared time-varying secret key via distributed Diffie-Hellman via BGP [Passport] • A router under attack replaces nop with L  – All traffic – Signal congestion to access router – L  link,   act, mon  mode = MAC (src, dst, ts, L, mon,  , ) – – No downstream overwrite

  6. How does NetFence Work? L A shared time-varying secret key via distributed Diffie-Hellman via BGP [Passport] • A router under attack replaces nop with L  – All traffic – Signal congestion to access router – L  link,   act, mon  mode = MAC (src, dst, ts, L, mon,  , ) – – No downstream overwrite

  7. How does NetFence Work? L • A receiver use the feedback as capabilities • Sender sends regular packets that carry the congestion policing feedback – Could be nop when there is no attack – Can’t send if receiving no feedback from receiver

  8. How does NetFence Work? L • A receiver use the feedback as capabilities • Sender sends regular packets that carry the congestion policing feedback – Could be nop when there is no attack – Can’t send if receiving no feedback from receiver

  9. How does NetFence Work? L • A receiver use the feedback as capabilities • Sender sends regular packets that carry the congestion policing feedback – Could be nop when there is no attack – Can’t send if receiving no feedback from receiver

  10. How does NetFence Work? L • A receiver use the feedback as capabilities • Sender sends regular packets that carry the congestion policing feedback – Could be nop when there is no attack – Can’t send if receiving no feedback from receiver

  11. How does NetFence Work? L • A receiver use the feedback as capabilities • Sender sends regular packets that carry the congestion policing feedback – Could be nop when there is no attack – Can’t send if receiving no feedback from receiver

  12. How does NetFence Work? L • A receiver use the feedback as capabilities • Sender sends regular packets that carry the congestion policing feedback – Could be nop when there is no attack – Can’t send if receiving no feedback from receiver

  13. How does NetFence Work? L • Access router validates feedback • Starts congestion policing – One leaky bucket per (src, L) limits sending rate – Not distinguish legitimate/malicious senders • Resets L  – now  ts,   act = MAC (src, dst, ts, L, mon,  ) –

  14. How does NetFence Work? L • Access router validates feedback • Starts congestion policing – One leaky bucket per (src, L) limits sending rate – Not distinguish legitimate/malicious senders • Resets L  – now  ts,   act = MAC (src, dst, ts, L, mon,  ) –

  15. How does NetFence Work? (src, L) L • Access router validates feedback • Starts congestion policing – One leaky bucket per (src, L) limits sending rate – Not distinguish legitimate/malicious senders • Resets L  – now  ts,   act = MAC (src, dst, ts, L, mon,  ) –

  16. How does NetFence Work? (src, L) L • Access router validates feedback • Starts congestion policing – One leaky bucket per (src, L) limits sending rate – Not distinguish legitimate/malicious senders • Resets L  – now  ts,   act = MAC (src, dst, ts, L, mon,  ) –

  17. How does NetFence Work? (src, L) L • Access router validates feedback • Starts congestion policing – One leaky bucket per (src, L) limits sending rate – Not distinguish legitimate/malicious senders • Resets L  – now  ts,   act = MAC (src, dst, ts, L, mon,  ) –

  18. How does NetFence Work? (src, L) L

  19. How does NetFence Work? (src, L) L

  20. How does NetFence Work? (src, L) L • Establishes a congestion policing loop – Bottleneck router signals • If congested, L   L  • Otherwise, L  – Access router polices • Periodic Additive Increase Multiplicative Decrease (AIMD, TCP-like) for fairness and efficiency

  21. How does NetFence Work? (src, L) L • Establishes a congestion policing loop – Bottleneck router signals • If congested, L   L  • Otherwise, L  – Access router polices • Periodic Additive Increase Multiplicative Decrease (AIMD, TCP-like) for fairness and efficiency

  22. How does NetFence Work? (src, L) L • Establishes a congestion policing loop – Bottleneck router signals • If congested, L   L  • Otherwise, L  – Access router polices • Periodic Additive Increase Multiplicative Decrease (AIMD, TCP-like) for fairness and efficiency

  23. How does NetFence Work? (src, L) L • Establishes a congestion policing loop – Bottleneck router signals • If congested, L   L  • Otherwise, L  – Access router polices • Periodic Additive Increase Multiplicative Decrease (AIMD, TCP-like) for fairness and efficiency

  24. How does NetFence Work? (src, L) L • Establishes a congestion policing loop – Bottleneck router signals • If congested, L   L  • Otherwise, L  – Access router polices L  L  • Periodic Additive Increase Multiplicative Decrease (AIMD, TCP-like) for fairness and efficiency

  25. How does NetFence Work? • Bottleneck router 1. Detect attack to start a policing cycle Loss or load based • 2. Signal congestion within a cycle Random Early Detection (RED) •

  26. Recap: Why It Works 1. Secret keys to secure congestion policing feedback 2. Periodic AIMD based on secure congestion police feedback L  L  3. Secure congestion feedback as network capabilities

  27. Properties • Provable fairness – Denial of Service  Predictable Delay of Service Theorem: Given G good and B bad senders sharing a bottleneck link of capacity C , regardless of the attack strategies, any good sender g with sufficient demand eventually obtains a fair share  v g C  G B where and is a transport efficiency factor.   v 1 g

  28. Properties • Provable fairness – Denial of Service  Predictable Delay of Service Theorem: Given G good and B bad senders sharing a bottleneck link of capacity C , regardless of the attack strategies, any good sender g with sufficient demand eventually obtains a fair share  v g C  G B where and is a transport efficiency factor.   v 1 g

  29. Properties • Provable fairness – Denial of Service  Predictable Delay of Service Theorem: Given G good and B bad senders sharing a bottleneck link of capacity C , regardless of the attack strategies, any good sender g with sufficient demand eventually obtains a fair share  v g C  G B where and is a transport efficiency factor.   v 1 g

  30. Now the Trickier Stuff

  31. More Challenges • A broad range of attacks – Flood request packets (with no feedback) – Hide L  – Evade attack detection – On/Off – … • Multiple bottlenecks • Practical constraints – Low overhead – Gradual deployment – Incentive-compatible adoption

  32. More Challenges • A broad range of attacks – Flood request packets (with no feedback) – Hide L  – Evade attack detection – On/Off – … • Multiple bottlenecks • Practical constraints – Low overhead – Gradual deployment – Incentive-compatible adoption

  33. Limiting Request Packet Floods L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles •

  34. Limiting Request Packet Floods L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles •

  35. Limiting Request Packet Floods k L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles •

  36. Limiting Request Packet Floods 2   k 1 k L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles •

  37. Limiting Request Packet Floods 2   k 1 k L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles •

  38. Limiting Request Packet Floods 2   k 1 k k-1 L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles •

  39. Limiting Request Packet Floods 2   k 1 k k-1 L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles •

  40. Limiting Request Packet Floods 2   k 1 k k-1 L 1. Separate request packet channel 2. Per-sender request packet policing 3. Priority-based backoff Emulate computational puzzles • 1. Eventual success 2. Efficient: waiting replaces proof of work

  41. Making hiding L  ineffective Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  42. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  43. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  44. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  45. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  46. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  47. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router t e t e + I ctrl Access Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  48. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router t e t e + I ctrl Access Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  49. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router t e t e + I ctrl Access Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  50. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router t e t e + I ctrl Access Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

  51. Making hiding L  ineffective t 1 t 2 t 2 + 2 I ctrl Bottleneck Router t e t e + I ctrl Access Router Robust signaling rate increase with L  • 1. Treating the absence of L  as L  2. Stamping no L  for sufficiently long after congestion ends

Recommend


More recommend