Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BGP Link Evaluator

BGP Link Evaluator

BGP is subject to several attacks that misuse the principle of implicit trust used by the protocol. Various solutions have been proposed to improve security of the protocol, but most of them remained at the onset stage. However, instead of resolving BGP issues, visualization solutions with their user-friendly analysis approch stand out and become more and more popular.
In this work an algorithm has been developed for evaluation of link reputation on the basis of objective metrics. The work proceeded in three steps: first, we collect BGP data and use BGPStream to overcome difficulties related to the collection of BGP record files from various collectors and projects. In the analysis phase (second phase), we apply our algorithm on collected data. The final phase is to visualize the results with a modified version of BGPlayJs to display reputation cost of links by coloring them from green to red. The algorithm has been successfully tested on the case of Malaysia Telekom route leaks.

Alfred Arouna

August 22, 2017
Tweet

More Decks by Alfred Arouna

Other Decks in Research

Transcript

  1. BGP Link Reputation Evaluator An Algorithm based tool to identify

    legitimate or malicious/hijack BGP link Alfred Arouna1 Lionel Metongnon2 Pr. Marc Lobelle3 12Université d’Abomey-Calavi,23Université Catholique de Louvain [email protected],[email protected],[email protected] AfPIF 2017 - 22,23,24 August 2017 - Abidjan, Côte D’Ivoire
  2. Disclamer • Ongoing study... • Community input to improve current

    result. • Code not yet ready for production (alpha release). • Code available at: https://bitbucket.org/alfredarouna/bgplink 0
  3. Outline 1. Base Idea 2. Tools 3. Our proposal 4.

    Hypothesis & verification 5. Malaysia Telecom test cases results 6. Other tests cases results 7. Improvement (proposals) 1
  4. Tools available and missing components Tools available: • BGPStream2 (from

    CAIDA) framework to easily collect BGP records. 2https://bgpstream.caida.org/ 3https://bgplayjs.com/?section=bgplay 4https://www.team-cymru.org/Services/Bogons/fullbogons-ipv4.txt 3
  5. Tools available and missing components Tools available: • BGPStream2 (from

    CAIDA) framework to easily collect BGP records. • BGPlayJs3 (from RIPE NCC) as user-friendly view and event animation. 2https://bgpstream.caida.org/ 3https://bgplayjs.com/?section=bgplay 4https://www.team-cymru.org/Services/Bogons/fullbogons-ipv4.txt 3
  6. Tools available and missing components Tools available: • BGPStream2 (from

    CAIDA) framework to easily collect BGP records. • BGPlayJs3 (from RIPE NCC) as user-friendly view and event animation. • Updated list of bogon freely available4 (Team Cymru). 2https://bgpstream.caida.org/ 3https://bgplayjs.com/?section=bgplay 4https://www.team-cymru.org/Services/Bogons/fullbogons-ipv4.txt 3
  7. Tools available and missing components Tools available: • BGPStream2 (from

    CAIDA) framework to easily collect BGP records. • BGPlayJs3 (from RIPE NCC) as user-friendly view and event animation. • Updated list of bogon freely available4 (Team Cymru). Missing components: 2https://bgpstream.caida.org/ 3https://bgplayjs.com/?section=bgplay 4https://www.team-cymru.org/Services/Bogons/fullbogons-ipv4.txt 3
  8. Tools available and missing components Tools available: • BGPStream2 (from

    CAIDA) framework to easily collect BGP records. • BGPlayJs3 (from RIPE NCC) as user-friendly view and event animation. • Updated list of bogon freely available4 (Team Cymru). Missing components: An acceptable algorithm for link reputation evaluation. 2https://bgpstream.caida.org/ 3https://bgplayjs.com/?section=bgplay 4https://www.team-cymru.org/Services/Bogons/fullbogons-ipv4.txt 3
  9. Tools available and missing components Tools available: • BGPStream2 (from

    CAIDA) framework to easily collect BGP records. • BGPlayJs3 (from RIPE NCC) as user-friendly view and event animation. • Updated list of bogon freely available4 (Team Cymru). Missing components: An acceptable algorithm for link reputation evaluation. 2https://bgpstream.caida.org/ 3https://bgplayjs.com/?section=bgplay 4https://www.team-cymru.org/Services/Bogons/fullbogons-ipv4.txt 3
  10. Our proposal Before going further, what do we have: •

    Test case: Telekom Malaysia leak. • Metric: link weight. 5
  11. Our proposal Before going further, what do we have: •

    Test case: Telekom Malaysia leak. • Metric: link weight. Will be interesting to have: 5
  12. Our proposal Before going further, what do we have: •

    Test case: Telekom Malaysia leak. • Metric: link weight. Will be interesting to have: • New metrics: link bogon degree and link stability. • 5
  13. Our proposal Before going further, what do we have: •

    Test case: Telekom Malaysia leak. • Metric: link weight. Will be interesting to have: • New metrics: link bogon degree and link stability. • Rename: link weight to link rank. 5
  14. Our proposal Before going further, what do we have: •

    Test case: Telekom Malaysia leak. • Metric: link weight. Will be interesting to have: • New metrics: link bogon degree and link stability. • Rename: link weight to link rank. • New Objective: 5
  15. Our proposal Before going further, what do we have: •

    Test case: Telekom Malaysia leak. • Metric: link weight. Will be interesting to have: • New metrics: link bogon degree and link stability. • Rename: link weight to link rank. • New Objective: • Algorithm to easily identify link with good/bad reputation. • Graphical view with intuitive color code: green to red. 5
  16. Our approach (1/2) Hypothesis Links with good reputation: • does

    not carry bogon, • have positive stability, • are used by many AS. 6
  17. Our approach (1/2) Hypothesis Links with good reputation: • does

    not carry bogon, • have positive stability, • are used by many AS. Veri cation (1/2) 6
  18. Our approach (1/2) Hypothesis Links with good reputation: • does

    not carry bogon, • have positive stability, • are used by many AS. Veri cation (1/2) Developed an algorithm based on the hypothesis metrics: 6
  19. Our approach (1/2) Hypothesis Links with good reputation: • does

    not carry bogon, • have positive stability, • are used by many AS. Veri cation (1/2) Developed an algorithm based on the hypothesis metrics: • bogon degree - bogonst(⟨A, B⟩), • link stability - stabilityt(⟨A, B⟩), • link rank - rankt(⟨A, B⟩). 6
  20. Our approach (2/2) Veri cation (2/2) Modified BGPlayJS to: 5https://bgpmon.net/massive-route-leak-cause-internet-slowdown/

    6https://www.ripe.net/publications/news/industry-developments/ youtube-hijacking-a-ripe-ncc-ris-case-study 7http://www.sigcomm.org/sites/default/files/ccr/papers/2013/ April/2479957-2479959.pdf 8
  21. Our approach (2/2) Veri cation (2/2) Modified BGPlayJS to: •

    Draw each link instead of AS_PATH. • Use specific color (from green to red) based on link reputation cost. 5https://bgpmon.net/massive-route-leak-cause-internet-slowdown/ 6https://www.ripe.net/publications/news/industry-developments/ youtube-hijacking-a-ripe-ncc-ris-case-study 7http://www.sigcomm.org/sites/default/files/ccr/papers/2013/ April/2479957-2479959.pdf 8
  22. Our approach (2/2) Veri cation (2/2) Modified BGPlayJS to: •

    Draw each link instead of AS_PATH. • Use specific color (from green to red) based on link reputation cost. Tested on three cases: 5https://bgpmon.net/massive-route-leak-cause-internet-slowdown/ 6https://www.ripe.net/publications/news/industry-developments/ youtube-hijacking-a-ripe-ncc-ris-case-study 7http://www.sigcomm.org/sites/default/files/ccr/papers/2013/ April/2479957-2479959.pdf 8
  23. Our approach (2/2) Veri cation (2/2) Modified BGPlayJS to: •

    Draw each link instead of AS_PATH. • Use specific color (from green to red) based on link reputation cost. Tested on three cases: • Routes leak with Telekom Malaysia 5. • Censorship with Youtube hijack by Pakistan Telecom 6. • Malicious activities with Link Telecom incident7. 5https://bgpmon.net/massive-route-leak-cause-internet-slowdown/ 6https://www.ripe.net/publications/news/industry-developments/ youtube-hijacking-a-ripe-ncc-ris-case-study 7http://www.sigcomm.org/sites/default/files/ccr/papers/2013/ April/2479957-2479959.pdf 8
  24. Leak and Control cases (Telekom Malaysia) Figure 1: Leak case

    reputation • 08:43 to 10:45 UTC. • 14
  25. Leak and Control cases (Telekom Malaysia) Figure 1: Leak case

    reputation • 08:43 to 10:45 UTC. • Most links have bad reputation. 14
  26. Leak and Control cases (Telekom Malaysia) Figure 1: Leak case

    reputation • 08:43 to 10:45 UTC. • Most links have bad reputation. Figure 2: Control case reputation 14
  27. Leak and Control cases (Telekom Malaysia) Figure 1: Leak case

    reputation • 08:43 to 10:45 UTC. • Most links have bad reputation. Figure 2: Control case reputation • 12:45 to 14:45 UTC. • 14
  28. Leak and Control cases (Telekom Malaysia) Figure 1: Leak case

    reputation • 08:43 to 10:45 UTC. • Most links have bad reputation. Figure 2: Control case reputation • 12:45 to 14:45 UTC. • Mix of good and bad reputation. 14
  29. Censorship test case (YouTube Hijack) Figure 3: Hijack case reputation

    • 19:00 to 20:51 UTC. • Youtube links have bad reputation. 15
  30. Censorship test case (YouTube Hijack) Figure 3: Hijack case reputation

    • 19:00 to 20:51 UTC. • Youtube links have bad reputation. Figure 4: Control case reputation 15
  31. Censorship test case (YouTube Hijack) Figure 3: Hijack case reputation

    • 19:00 to 20:51 UTC. • Youtube links have bad reputation. Figure 4: Control case reputation • 21:05 to 22:56 UTC. • 15
  32. Censorship test case (YouTube Hijack) Figure 3: Hijack case reputation

    • 19:00 to 20:51 UTC. • Youtube links have bad reputation. Figure 4: Control case reputation • 21:05 to 22:56 UTC. • Mix of good reputation and bad reputation. 15
  33. Malicious activities test case (Link Telecom Hijack) Figure 5: Leak

    case reputation • 08:00 to 10:00 UTC (August 24, 2011). • 16
  34. Malicious activities test case (Link Telecom Hijack) Figure 5: Leak

    case reputation • 08:00 to 10:00 UTC (August 24, 2011). • Most links have bad reputation. 16
  35. Malicious activities test case (Link Telecom Hijack) Figure 5: Leak

    case reputation • 08:00 to 10:00 UTC (August 24, 2011). • Most links have bad reputation. Figure 6: Control case reputation 16
  36. Malicious activities test case (Link Telecom Hijack) Figure 5: Leak

    case reputation • 08:00 to 10:00 UTC (August 24, 2011). • Most links have bad reputation. Figure 6: Control case reputation • 08:00 to 10:00 UTC (September 9, 2011). • 16
  37. Malicious activities test case (Link Telecom Hijack) Figure 5: Leak

    case reputation • 08:00 to 10:00 UTC (August 24, 2011). • Most links have bad reputation. Figure 6: Control case reputation • 08:00 to 10:00 UTC (September 9, 2011). • No event. 16
  38. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). 17
  39. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility 17
  40. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • 17
  41. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. 17
  42. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing 17
  43. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing • • 17
  44. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing • [Problem] Only three test cases. • 17
  45. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing • [Problem] Only three test cases. • [Proposal] Add more (well-known) BGP incidents. 17
  46. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing • [Problem] Only three test cases. • [Proposal] Add more (well-known) BGP incidents. • Large scale algorithm 17
  47. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing • [Problem] Only three test cases. • [Proposal] Add more (well-known) BGP incidents. • Large scale algorithm • • 17
  48. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing • [Problem] Only three test cases. • [Proposal] Add more (well-known) BGP incidents. • Large scale algorithm • [Problem] BGP is large scale protocol vs limited resources. • 17
  49. Improvement (proposals) • Better view • [Problem] Unclear view with

    BGPlayJS. • [Proposal] Draw One line between links (using netJSON ?). • Inputs flexibility • [Problem] Collectors and time interval are hard coded. • [Proposal] Allow user to select collectors and time interval for analysis. • More testing • [Problem] Only three test cases. • [Proposal] Add more (well-known) BGP incidents. • Large scale algorithm • [Problem] BGP is large scale protocol vs limited resources. • [Proposal] Use Massive Data/AI tools for link classification. 17