48
Prac%cal BGP Origin Valida%on using RPKI Moderators: Doug Montgomery / NIST ([email protected]) Sandra Murphy / Parsons (sandy@%slabs.com) Prac%cal BGP Origin Valida%on Using RPKI Track J NANOG 67 1 13 Jun 2016

Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Prac%cal'BGP'Origin'Valida%on''using'RPKI'

Moderators:**•  Doug'Montgomery'''/'NIST'([email protected])''

•  Sandra'Murphy''/''Parsons'(sandy@%slabs.com)'''

Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 1'13'Jun'2016'

Page 2: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  RPKI'Introduc%on''–  Sandra'Murphy/PARSONS,'Doug'Montgomery/NIST'

•  ARIN'RPKI'Services'–  Mark'Kosters'/'ARIN'–'Users''guide'to'ARIN'RPKI'services.'

•  RPKI'Implementa%ons'J'Doug'Montgomery,''

•  Router'Vendor'Implementa%ons''–  Greg'Hankins/Nokia','John'Scudder/Juniper,'Keyur'Patel'&'Arjun'Sreekan%ah/Cisco'

•  RPKI'Test,'Training,'Monitoring,'Management,'tools.''–  MaZhias'Wählisch/FU'Berlin,'Sandy'Murphy,'Doug'Montgomery,''

•  Deployment'Experiences'Panel'&'Q&A'–  JR'Mayberry/Microsoa,'Tony'Tauber/Comcast,'Thomas'King/'DEJCIX,'Henk'Steenman/AMSJIX'

Track'Agenda'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

2'

Page 3: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

The'Need'for'BGP'Origin'Valida%on'•  Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten'the'security'and'robustness'of'the'global'Internet.*–  Invisible)Hijacking:)A)case)study)of)hijacking)millions)of)IP)address)invisibly.))

•  hZps://ripe72.ripe.net/presenta%ons/45JInvisible_Hijacking.pdf'–  Large)Hijack)Affects)Reachability)of)High)Traffic)DesCnaCons)

•  hZp://www.bgpmon.net/largeJhijackJaffectsJreachabilityJofJhighJtrafficJdes%na%ons/'–  Breaking)HTTPS)with)BGP)Hijacking)

•  hZps://www.blackhat.com/docs/usJ15/materials/usJ15JGavrichenkovJBreakingJHTTPSJWithJBGPJHijackingJwp.pdf'

–  BGP)Hijacking)for)Cryptocurrency)Profit)•  hZps://www.secureworks.com/research/bgpJhijackingJforJcryptocurrencyJprofit'

•  The'incidents,'methods'and'mo%ves'con%nue'to'evolve,'the'systemic'problem'remains'the'same.'–  See:'hZps://securerou%ng.net/incident'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 3'

Page 4: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

BGP'Origin'Valida%on'Using'RPKI'

•  Resource'Public'Key'Infrastructure'(RPKI)'–  Over'the'last'several'years'the'IETF,'RIRs,'router'vendors,'and'researchers'have'developed'and'implemented'an'approach'to'BGP'origin'valida%on'based'upon'a'global'resource'public'key'infrastructure'(RPKI).'

–  Address'owners'digitally'sign'Route*Origin*Authoriza4ons*(ROAs)*to'specify'the'ASN(s)'authorized'to'announce'their'prefixes.'

–  The'approach'that'permits'operators'anywhere'in'the'Internet'to'detect'unauthorized'route'origina%ons'and'implement'local'polices'to'mi%gate'(e.g.,'filter)'these'events.'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 4'

Page 5: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

This*track*will*examine*the*current*state*of*RPKI*Origin*Valida4on*(ROV)*technologies,*services,*products*and*opera4onal*experience.*

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 5'

Page 6: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Cer4fica4on**•  (Securing*routes*to*your*

addresses)*•  Get'cer%ficates'for'your'

address'space'•  Sign'ROAs'•  Maintain'a'CA'repository'•  Create'cer%ficates'for'your'

customers'•  If'you'give'them'addresses'

•  Think&of&this&as&signing&the&back&of&your&credit&card&&

•  ….or&registering&a&route&object&

Two*Sides*of*RPKI*Use*

Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 6'

Page 7: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Origin*Valida4on**•  (Securing*routes*to*others�addresses)*•  Retrieve'ROAs'from'other'

CA'repositories'•  Validate'received'routes'

against'the'RPKI'data'•  Think&of&this&as&checking&

the&back&of&a&credit&card&presented&to&you&

•  or&prefix&filtering&&

Two*Sides*of*RPKI*Use*

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 7'

Page 8: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

*•  RPKI*Cer4ficate*Hierarchy*

•  Rooted'trust'anchors'at'each'RIR'

•  Sub'alloca%ons'represented'by'CA'cer%ficates.'

•  ROAs&signed&by&cer>ficate&holders.&

•  RPKI&Objects&published&in&repository.&

•  Hosted)Model)•  All'RPKI'opera%ons'hosted'by'

RIR.'

RPKI*Resource*Cer4ficates*

Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 8'

Page 9: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  Delegated*Model*•  Up'/'Down'protocol'to'

register'resources.'•  Users'operate'their'own'

RPKI'Cer%ficate'Authori%es.'•  Publica%on'protocol'to'

publish'RPKI'objects'•  Operates'own'RPKI'

repository'or'uses'public'aggregator.'

RPKI*Resource*Cer4ficates*

Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 9'

Page 10: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Valida4on*in*single*AS*•  Local'RPKI'valida%ng'

caches'synchronize'with'global'repositories.'

•  Caches'do'all'crypto'/'PKI'valida%on'opera%ons.'

•  Routers'only'receive'a'digested'lists'of'ROA'data.'

•  No*crypto*on*the*router!*

RPKI*Origin*Valida4on*

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 10'

Page 11: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  RPKI'Introduc%on''–  Sandra'Murphy/PARSONS,'Doug'Montgomery/NIST'

•  ARIN'RPKI'Services'–  Mark'Kosters'/'ARIN'–'Users''guide'to'ARIN'RPKI'services.'

•  RPKI'Implementa%ons'J'Doug'Montgomery,''

•  Router'Vendor'Implementa%ons''–  Greg'Hankins/Nokia','John'Scudder/Juniper,'Keyur'Patel'&'Arjun'Sreekan%ah/Cisco'

•  RPKI'Test,'Training,'Monitoring,'Management,'tools.''–  MaZhias'Wählisch/FU'Berlin,'Sandy'Murphy,'Doug'Montgomery,''

•  Deployment'Experiences'Panel'&'Q&A'–  JR'Mayberry/Microsoa,'Tony'Tauber/Comcast,'Thomas'King/'DEJCIX,'Henk'Steenman/AMSJIX'

Track'Agenda'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

11'

Page 12: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Regional'RPKI'Services'•  For'cer%fica%on,'the'one'who'allocated'your'addresses'to'you'is'the'one'that'cer%fies'that'alloca%on'

•  RPKI'services'in'other'regions:'–  AFRINIC:''

•  hZp://afrinic.net/en/ini%a%ves/rpkiJcer%fica%on'–  APNIC:''

•  hZp://www.apnic.net/services/servicesJapnicJprovides/resourceJcer%fica%on'–  LACNIC:''

•  hZps://rpki.lacnic.net/rpki/'–  RIPE'NCC:''

•  hZp://www.ripe.net/cer%fica%on/'

•  For*the*North*American*region,*that*is*ARIN*

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 12'

Page 13: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  RPKI'Introduc%on''–  Sandra'Murphy/PARSONS,'Doug'Montgomery/NIST'

•  ARIN'RPKI'Services'–  Mark'Kosters'/'ARIN'–'Users''guide'to'ARIN'RPKI'services.'

•  RPKI'Implementa%ons'J'Doug'Montgomery,''

•  Router'Vendor'Implementa%ons''–  Greg'Hankins/Nokia','John'Scudder/Juniper,'Keyur'Patel'&'Arjun'Sreekan%ah/Cisco'

•  RPKI'Test,'Training,'Monitoring,'Management,'tools.''–  MaZhias'Wählisch/FU'Berlin,'Sandy'Murphy,'Doug'Montgomery,''

•  Deployment'Experiences'Panel'&'Q&A'–  JR'Mayberry/Microsoa,'Tony'Tauber/Comcast,'Thomas'King/'DEJCIX,'Henk'Steenman/AMSJIX'

Track'Agenda'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

13'

Page 14: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  To'use'RPKI'data'for'BGP'origin'valida%on,'you'will'want'to'deploy'one'or'more'“valida%ng'caches”.'•  These'tools'collect'and'cache'global'

RPKI'data,'perform'X.509'valida%on'on'the'objects,''

•  …'and'then'provides'a'highly'summarized'version'to'eBGP'speaking'routers.'

•  The'RPKIJtoJRTR'protocol'enables'eBGP'routers'to'download'this'processed'data'for'route'filtering.''

•  Mul4ple*open*source*valida4ng*cache*implementa4ons*are*available!*

RPKI*Valida4ng*Caches*

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

Page 15: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

RPKI'Implementa%ons'RIPE*RPKI*Validator*•  hZps://www.ripe.net/manageJipsJandJ

asns/resourceJmanagement/cer%fica%on/toolsJandJresources'

•  Valida%ng'Cache'

•  Repository'Fetch'–  RSYNC'–  RRDP'(RPKI'Repository'Delta'Protocol)'

•  Service'Interface'–  rpkiJrtr'protocol'

•  Mgmt'Interfaces'–  Web'GUI,'REST'API,'CLI'(outdated)'

•  Distribu%on'–  App'/'Java'source'

•  Support'–  RIPE'NCC'

Dragon*Research*Labs*rpki.net*•  hZps://rpki.net/'

•  Valida%ng'Cache'•  Cer%ficate'Authority'•  Repository'Fetch'

–  RSYNC'–  RRDP'

•  Service'Interface'–  rpkiJrtr'protocol'

•  Mgmt'Interfaces'–  Web'GUI,'CLI'

•  Distribu%on'–  Binary'/'Python'source'

•  Support'–  Open'source;'[email protected]'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 15'

BBN*Technologies*RPSTIR*•  hZps://github.com/bgpsecurity/

rps%r''

•  Valida%ng'Cache'

•  Repository'Fetch'•  RSYNC'

•  Service'Interface'•  rpkiJrtr'protocol'

•  Mgmt'Interfaces'•  CLI'

•  Distribu%on'•  C'source'

•  Support'•  Open'Source'

Page 16: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  RPKI'Introduc%on''–  Sandra'Murphy/PARSONS,'Doug'Montgomery/NIST'

•  ARIN'RPKI'Services'–  Mark'Kosters'/'ARIN'–'Users''guide'to'ARIN'RPKI'services.'

•  RPKI'Implementa%ons'J'Doug'Montgomery,''

•  Router'Vendor'Implementa%ons''–  Greg'Hankins/Nokia','John'Scudder/Juniper,'Keyur'Patel'&'Arjun'Sreekan%ah/Cisco'

•  RPKI'Test,'Training,'Monitoring,'Management,'tools.''–  MaZhias'Wählisch/FU'Berlin,'Sandy'Murphy,'Doug'Montgomery,''

•  Deployment'Experiences'Panel'&'Q&A'–  JR'Mayberry/Microsoa,'Tony'Tauber/Comcast,'Thomas'King/'DEJCIX,'Henk'Steenman/AMSJIX'

Track'Agenda'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

16'

Page 17: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  RPKI'Origin'Valida%on'requires'a'router'that'can:'•  Interface'with'a'RPKI'valida%ng'cache'to'

download'lists'of'authorized'origins:'•  <prefix,'max_length,'origin_AS>,'…..'

•  Match'incoming'BGP'updates'against'the'list'of'authorized'origins.'

•  Enforce'local'policies'based'upon'on'the'results'of'these'matches:'•  Valid,'Invalid,'Unknown'

•  Major*router*vendors*support*these*capabili4es*in*shipping*products*today!*

RPKI*Router*Implementa4ons*

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

Page 18: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  RPKI'Introduc%on''–  Sandra'Murphy/PARSONS,'Doug'Montgomery/NIST'

•  ARIN'RPKI'Services'–  Mark'Kosters'/'ARIN'–'Users''guide'to'ARIN'RPKI'services.'

•  RPKI'Implementa%ons'J'Doug'Montgomery,''

•  Router'Vendor'Implementa%ons''–  Greg'Hankins/Nokia','John'Scudder/Juniper,'Keyur'Patel'&'Arjun'Sreekan%ah/Cisco'

•  RPKI'Test,'Training,'Monitoring,'Management,'tools.''–  MaZhias'Wählisch/FU'Berlin,'Sandy'Murphy,'Doug'Montgomery,''

•  Deployment'Experiences'Panel'&'Q&A'–  JR'Mayberry/Microsoa,'Tony'Tauber/Comcast,'Thomas'King/'DEJCIX,'Henk'Steenman/AMSJIX'

Track'Agenda'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

18'

Page 19: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

RPKI'Test,'Training,'Experimenta%on,''Monitoring,'Management,'etc.'

•  What'Resources'Exists'to'help'us:'– Learn'about'RPKI'provisioning'and'origin'valida%on?'– Monitor'the'state'of'RPKI'deployment'and'my'resources'in'par%cular?'

– Manage'the'deployment'of'origin'valida%on'services?'– Experiment'with'implementa%ons'/'soaware'routers?'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 19'

Page 20: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

EARS'Tools'

•  See'securerou%ng.net''•  Tools:'

– WorkshopJinJaJbox'•  See'videos'securerou%ng.net/workshop'

– Emula%on'and'Opera%on'Monitoring'– RPKI'Visualiza%on'– RPKI'Monitor'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 20'

Page 21: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

VM'totally'selfJcontained'environment'–'no'outside'dependencies'Comes'with'local'trust'anchor'so'you'can'generate'certs'for'your'own'prefixes'Use'for'experimenta%on,'training,'tes%ng,'whatever'

BIRD*1* BIRD*2*

Quagga*1* Quagga*8*.**.**.**.**.**.**.*

RPKI*Cache*

Workshop'in'a'Box'

13'Jun'2016' 21'Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

Announcing'192.168.0.0/16'192.168.1.0/24'etc'

Page 22: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Workshop'In'a'Box'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 22'

Page 23: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

EOM'(Emula%on'and'Opera%on'Monitoring)'

EOM'Trigger'script:'pull'in'full'routes'

RpkiJrtr:'pull'in'valid'origins'

Check'local'incoming'routes'against'RPKI'data'Intended'use:'''•  What'RPKI'would'say'about'your'current'feeds'J'without'

deploying'RPKI'•  Monitor'rou%ng'table'RPKI'state'during'deployment'

Output'route'valida%on'states'&'why'(certs)'

13'Jun'2016' 23'Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

Page 24: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 24'

EOM'(Emula%on'and'Opera%on'Monitoring)'J'GUI'

Page 25: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 25'

EOM'(Emula%on'and'Opera%on'Monitoring)'J'CLI'

Router:'172.16.0.6''' 'Network''' 'Next'Hop'Metric 'LocPrf 'Weight 'Path'V':'*'10.1.1.0/24 '172.16.0.5 '0 '0 '0 '65005'65004 'i'

'65004:10.1.1.0/[24J24]'V':'*> '10.1.1.0/24 '172.16.0.4 '0 '0 '0 '65004 'i'

'65004:10.1.1.0/[24J24]'I':'*>'10.1.1.0/25 '172.16.0.5 '0 '0 '0 '65005'65004'65004'65004'65004 'i'

'65004:10.1.1.0/[24J24]'I':'*>'10.1.1.128/25'172.16.0.5 '0 '0 '0 '65005'65004'65004'65004'65004 'i'

'65004:10.1.1.0/[24J24]''

Page 26: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Monitor:'RPKI'Visualiza%on'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 26'

Page 27: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Monitor:'RPKI'Visualiza%on'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 27'

Errors*

Page 28: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Monitor:'RPKI'Visualiza%on'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 28'

History*

Page 29: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Monitor:'RPKI'Visualiza%on'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 29'

Warnings*

Page 30: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

NIST'Tools'to'Foster'RPKI'Deployment'•  NIST*RPKI*Monitor*

–  hZp://rpkiJmonitor.antd.nist.gov/'–  Monitoring'/measurement'service'characterizing'the'state'of'the'global'RPKI'and'its'implica%ons'

for'global'BGP'rou%ng.'–  Snap'shot'and'historical'tracking.''Global,'perJRIR,'perJAS'analyses'and'comparisons.'

•  BGP*Secure*Rou4ng*Extension*(BGP\SRx)*–  hZps://wwwJx.antd.nist.gov/bgpsrx/'–  Open'source'reference'implementa%on'for'RPKI'origin'(and'path)'valida%on'in'a'router.'–  Pla|orm'for'architectural'experimenta%on'–'on'board'/'off'board'processing'of'BGP'security'

extensions.'

•  BGP*RPKI*Interoperability*Tester*and*Evalua4on*(BRITE)*–  hZps://brite.antd.nist.gov/sta%cs/about'–  Web'based'interoperability'test'system'with'full'ROV'test'scenarios,'diagnos%cs,'etc.'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 30'

Page 31: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

NIST'RPKI'Monitor'•  Con4nuous*Monitoring*Service*

–  Status'of'global'RPKI'•  Size'/'shape'of'RPKI'

–  Comparison'to'global'rou%ng'•  ROV'vs'BGP'collector'data'

–  Mul%ple'views'•  Snapshots'&'historical'data'•  Global'/'regional'sta%s%cs'and'comparisons'•  Tracking'of'top'adopters'•  Query'AS'specific'data'

•  Coming*soon*…*–  ROV'anomaly'detec%on'–  RPKI'dynamics'–  Cache'interoperability'tes%ng'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 31'

Page 32: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Analysis'of'Underlying'Details'

•  Error'analysis' •  Analysis'of'global'structure'and'scale.'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 32'

Page 33: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Tracking'Early'Adopters'•  Those'off'to'a'good'start' •  Those'that'are'not'…..'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 33'

Page 34: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Regional'Comparisons'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 34'

Page 35: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

BGPJSecure'Rou%ng'eXtension'(BGPJSRx)'•  Open*Source*Reference*Implementa4on*

–  Soaware'router'with'extensions'for:'RPKI/RTR'protocol,'maintenance'ROA'dis%lled'data,'ROV'and'RPKIJaware'BGP'route'policies.'

–  Designed'to'support'experimenta%on'with'different'architectural'configura%ons'of'SRx'and'RPKI'components'and'different'tradeJoffs'performance'and'router'impact.'

–  Also'supports'bgpsec'(i.e,'RPKI'path'valida%on).'

•  BGP\SRx*Status*–  SRx'Server'–  SRx'API'–  Quagga'SRx'(integrates'SRx'API'into'Quagga'router)'–  src'&'yum'repository:'hZps://wwwJx.antd.nist.gov/bgpsrx/'

RPKI*Valida4ng*Cache*

BGP'SRx'BGP*Router*

RPKI*Valida4ng*Cache*

BGP'SRx'

BGP*Router*

RPKI*Valida4ng*Cache*

BGP'SRx'

BGP*Router*

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 35'

Page 36: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

BGPJSRx'System'Architecture'

AS'1'

One'BGPJSRx'suppor%ng'mul%ple'

'routers'

BGP'SRx'

BGP'SRx'

RPKI'Valida%on'Cache' One''

BGPJSRx''per'router'

AS'2'

BGP'SRx'

RPKI'Valida%on'Cache'

BGP'SRx'

BGP'Protocol'SRx'Router'Prot.'RPKI/RTR'Prot.'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 36'

Page 37: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Quagga'SRx'Integra%on'Validation Cache

SRx Server (Origin / Path Validation)

Policy RIB in

Decision Process

Local RIB RIB out

SRx Server (Path Signing)

[<id>,<method>,<origin>, <prefix>+, <data1>*] [ < i d > , < r e s u l t > ] [<BGP>]

[<BGP>]

[ < i d >

BGP Router

[<id>,<signature>*]

Key Cache for Path Signing

PROXY

unmodified

NIST SRx Modules

Slightly modified

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 37'

Page 38: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Quagga'SRx'Policy'Set'•  Ac%va%on'of'BGPJSRx'Evalua%on'

–  no'srx'evalua%on'–  srx'evalua%on'(origin_only|bgpsec)'

•  Ignore'Policies'–  [no]'srx'policy'ignoreJno|ound'–  [no]'srx'policy'ignoreJinvalid'–  [no]'srx'policy'ignoreJundefined'

•  Local'Preference'Policies'–  [no]'srx'policy'localJpreference'valid'<int>'(add|subtract)'–  [no]'srx'policy'localJpreference'no|ound'<int>'(add|subtract)'–  [no]'srx'policy'localJpreference'invalid'<int>'(add|subtract)'

•  Prefer'Policies'–  [no]'srx'preferJvalid'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 38'

Page 39: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

BRITE'Overview'•  BGPSEC / RPKI Interoperability Test & Evaluation

– Distributed test and evaluation framework for: •  ROV implementation testing. •  Configuration and deployment testing.

– XML based test scripts •  Library of canned tests. •  Exercise ROV scenarios •  … or write you own.

– Test Scenarios •  Live RPKI/RTR protocol •  Live BGP sessions •  Diagnostics, log files,

traffic traces.

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 39'

h^ps://brite.antd.nist.gov/*

Page 40: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

BRITE'Usage'

•  Test'Selec%on' •  Test'Execu%on'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 40'

Page 41: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  RPKI'Introduc%on''–  Sandra'Murphy/PARSONS,'Doug'Montgomery/NIST'

•  ARIN'RPKI'Services'–  Mark'Kosters'/'ARIN'–'Users''guide'to'ARIN'RPKI'services.'

•  RPKI'Implementa%ons'J'Doug'Montgomery,''

•  Router'Vendor'Implementa%ons''–  Greg'Hankins/Nokia','John'Scudder/Juniper,'Keyur'Patel'&'Arjun'Sreekan%ah/Cisco'

•  RPKI'Test,'Training,'Monitoring,'Management,'tools.''–  MaZhias'Wählisch/FU'Berlin,'Sandy'Murphy,'Doug'Montgomery,''

•  Deployment'Experiences'Panel'&'Q&A'–  JR'Mayberry/Microsoa,'Tony'Tauber/Comcast,'Thomas'King/'DEJCIX,'Henk'Steenman/AMSJIX'

Track'Agenda'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67'

41'

Page 42: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Backup'Slides'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 42'

Page 43: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Tools'Summary'/'Index'

Par%al'Lis%ng'….'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 43'

Page 44: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

•  NIST'–  hZp://rpkiJmonitor.antd.nist.gov/'

Monitoring:'RPKI'/'Origin'Valida%on'

•  LACNIC'–  hZp://www.labs.lacnic.net/rpkitools/looking_glass/'

•  Dragon'Research'–  hZps://www.hactrn.net/opaque/rcynic/'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 44'

Page 45: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Monitoring:'RPKI'/'Origin'Valida%on'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 45'

•  RIPE'–  hZp://cer%fica%onJstats.ripe.net/'

•  SURFnet'–  hZp://rpki.surfnet.nl/'

•  Realmv6.org'–  hZp://rpkiJbrowser.realmv6.org/'

Page 46: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Monitoring:'RPKI'/'Origin'Valida%on'

•  RPKIViz'–  hZps://securerou%ng.net/tools/RPKIViz'

•  EOM''–  hZps://securerou%ng.net/tools/eom'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 46'

Page 47: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Experimenta%on:'Soaware'Routers'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 47'

•  RTRJLib'–  CJlibrary'for'origin'valida%on'BIRD'and'Quagga.'–  hZp://rpki.realmv6.org/'

•  BGPJSrX'–  Server'based'origin'valida%on'engine.''Off'loads'state/processing'for'

origin'/'path'valida%on.''Quagga'integra%on.'–  'hZp://wwwJx.antd.nist.gov/bgpsrx/'

•  GOBGP'–  Go'BGP'implementa%on'with'RPKI'Origin'Valida%on'–  hZps://github.com/osrg/gobgp'

Page 48: Prac%cal'BGP'Origin'Valida%on'' using'RPKI' · The'Need'for'BGP'Origin'Valida%on' • Malicious'BGP'route'hijacks'and''accidental'misorigina%ons'threaten' the'security'and'robustness'of'the'global'Internet

Test''&'Training:'Tools'/'Services''

•  WorkshopJinJaJbox'–  hZps://securerou%ng.net/workshop'

•  BRITE'–  hZps://brite.antd.nist.gov/'

•  EOM'– hZps://securerou%ng.net/tools/eom'

13'Jun'2016' Prac%cal'BGP'Origin'Valida%on'Using'RPKI'Track'J'NANOG'67' 48'