Demo: BGP Path Hijacking Vimal Stanford University August - - PowerPoint PPT Presentation

demo bgp path hijacking
SMART_READER_LITE
LIVE PREVIEW

Demo: BGP Path Hijacking Vimal Stanford University August - - PowerPoint PPT Presentation

Demo: BGP Path Hijacking Vimal Stanford University August 18 th 2014 Goals of the Assignment Understand how BGP path hijacking aGacks might happen in


slide-1
SLIDE 1

Demo: ¡BGP ¡Path ¡Hijacking ¡

Vimal ¡ Stanford ¡University ¡ August ¡18th ¡2014 ¡

slide-2
SLIDE 2

Goals ¡of ¡the ¡Assignment ¡

  • Understand ¡how ¡BGP ¡path ¡hijacking ¡aGacks ¡

might ¡happen ¡in ¡the ¡real ¡world. ¡

  • Give ¡students ¡a ¡hands-­‑on ¡experience, ¡and ¡a ¡

plaLorm ¡to ¡explore ¡beyond ¡the ¡primary ¡goal. ¡

¡

August ¡18, ¡2014 ¡ 2 ¡

slide-3
SLIDE 3

Outline ¡

  • Why ¡is ¡Mininet ¡helpful? ¡
  • Assignment ¡walk ¡through ¡
  • Behind ¡the ¡scenes ¡

August ¡18, ¡2014 ¡ 3 ¡

slide-4
SLIDE 4

Why ¡is ¡Mininet ¡helpful? ¡

  • Easy ¡to ¡setup ¡the ¡environment ¡

– No ¡need ¡for ¡expensive ¡routers ¡or ¡VMs. ¡ – No ¡need ¡to ¡simulate ¡BGP ¡protocol. ¡ ¡Use ¡ producUon-­‑quality ¡soWware! ¡ – Explore ¡various ¡parameter ¡tweaks ¡readily. ¡

  • Easy ¡to ¡access ¡state ¡informaUon ¡

– cat ¡/path/to/logfiles ¡ – tcpdump ¡

  • Easy ¡to ¡distribute ¡the ¡assignment ¡

– git ¡clone ¡ssh://git@bitbucket.org/jvimal/bgp.git ¡

August ¡18, ¡2014 ¡ 4 ¡

slide-5
SLIDE 5

Assignment ¡Walk ¡Through ¡

  • Step ¡1: ¡Set ¡up ¡the ¡environment ¡on ¡Mininet ¡

AS1

R1 11.0.0.0/8

AS2

R2 12.0.0.0/8

AS3

R3 13.0.0.0/8

AS4

R4 13.0.0.0/8

August ¡18, ¡2014 ¡ 5 ¡

slide-6
SLIDE 6

Assignment ¡Walk ¡Through ¡

  • Step ¡2: ¡Start ¡R1, ¡R2, ¡R3. ¡ ¡Log ¡into ¡R1’s ¡rouUng ¡
  • daemon. ¡

August ¡18, ¡2014 ¡ 6 ¡

slide-7
SLIDE 7

Assignment ¡Walk ¡Through ¡

  • Step ¡3: ¡Peek ¡into ¡R1’s ¡rouUng ¡entries. ¡
  • Step ¡4: ¡Start ¡browsing ¡a ¡13.0.0.0/8 ¡website ¡at ¡

AS1 ¡in ¡a ¡loop. ¡

August ¡18, ¡2014 ¡ 7 ¡

slide-8
SLIDE 8

Assignment ¡Walk ¡Through ¡

  • Step ¡5: ¡Start ¡the ¡rogue ¡AS. ¡

– Wait ¡for ¡convergence. ¡ – Watch ¡what ¡happens ¡to ¡website ¡browsing ¡loop. ¡ – Check ¡the ¡rouUng ¡informaUon ¡base ¡in ¡R1. ¡

  • Step ¡6: ¡Stop ¡the ¡rogue ¡AS. ¡

August ¡18, ¡2014 ¡ 8 ¡

slide-9
SLIDE 9

Behind ¡the ¡Scenes: ¡ Network ¡Namespace ¡(IsolaUon) ¡

AS1

R1 11.0.0.0/8

AS2

R2 12.0.0.0/8

AS3

R3 13.0.0.0/8

AS4

R4 13.0.0.0/8

h1-1 h1-2 h1-3 h3-1 h3-2 h3-3 h4-1 h4-2 h4-3 curl 13.0.1.1 13.0.1.1 python webserver.py 13.0.1.1: python webserver.py

Container: ¡Encapsulates ¡the ¡ processes ¡into ¡its ¡own ¡network ¡

  • namespace. ¡

August ¡18, ¡2014 ¡ 9 ¡

slide-10
SLIDE 10

AS2’s ¡netns ¡ AS1’s ¡Network ¡Namespace ¡

Behind ¡the ¡Scenes: ¡ Quagga ¡RouUng ¡Suite ¡

zebra ¡ bgpd ¡

AS1

R1 11.0.0.0/8

bgpd ¡

Prefix ¡ Interface ¡ Namespaced ¡RouUng ¡Table ¡ Prefix ¡ Interfac

  • Configure ¡staUc ¡IP ¡addresses ¡for ¡AS1, ¡AS2, ¡etc. ¡and ¡set ¡up ¡staUc ¡rouUng ¡entries. ¡
  • Configure ¡bgpd’s ¡peers ¡inside ¡each ¡AS. ¡
  • Set ¡up ¡zebra ¡to ¡program ¡Linux ¡Kernel’s ¡rouUng ¡entries ¡(no ¡need ¡for ¡OpenVSwitch). ¡

H1-­‑1 ¡ H1-­‑2 ¡ H1-­‑3 ¡ netlink ¡socket ¡interface ¡ BGPv4 ¡protocol ¡

August ¡18, ¡2014 ¡ 10 ¡

slide-11
SLIDE 11

Things ¡to ¡try ¡out ¡

  • Try ¡tcpdump ¡on ¡BGPv4 ¡messages ¡
  • Try ¡larger ¡topologies ¡and ¡plot ¡BGP ¡

convergence ¡Umes ¡

  • Replay ¡BGP ¡updates ¡in ¡Internet ¡(RIPE ¡data) ¡

and ¡the ¡enUre ¡Internet2 ¡(dataset ¡available ¡

  • nline) ¡
  • Try ¡other ¡kinds ¡of ¡aGacks ¡(announcing ¡more ¡

specific ¡prefix ¡with ¡a ¡larger ¡path) ¡

August ¡18, ¡2014 ¡ 11 ¡