DISCO: Sidestepping RPKIs Deployment Barriers Tomas Hlavacek 1 Italo - - PowerPoint PPT Presentation

disco sidestepping rpki s deployment barriers
SMART_READER_LITE
LIVE PREVIEW

DISCO: Sidestepping RPKIs Deployment Barriers Tomas Hlavacek 1 Italo - - PowerPoint PPT Presentation

DISCO: Sidestepping RPKIs Deployment Barriers Tomas Hlavacek 1 Italo Cunha 23 Yossi Gilad 4 Amir Herzberg 5 Ethan Katz-Bassett 3 Michael Schapira 4 Haya Shulman 1 1 Fraunhofer SIT 2 Universidade Federal de Minas Gerais 3 Columbia University 4


slide-1
SLIDE 1

DISCO: Sidestepping RPKI’s Deployment Barriers

Tomas Hlavacek1 Italo Cunha23 Yossi Gilad4 Amir Herzberg5 Ethan Katz-Bassett3 Michael Schapira4 Haya Shulman1

1Fraunhofer SIT 2Universidade Federal de Minas Gerais 3Columbia University 4Hebrew University of Jerusalem 5University of Connecticut

slide-2
SLIDE 2

The Border Gateway Protocol (BGP)

◮ The Internet is composed of many Autonomous Systems (ASes)

◮ Aka ISPs or Domains

◮ Inter-AS routing uses BGP ◮ Example: AS 10 announces it has prefix 1.2.0.0/16 to AS 2

Inter-AS routing with BGP: AS 10 announces prefix 1.2.0.0/16 to AS 2.

slide-3
SLIDE 3

The Border Gateway Protocol (BGP)

◮ The Internet is composed of many Autonomous Systems (ASes)

◮ Aka ISPs or Domains

◮ Inter-AS routing uses BGP ◮ Example: AS 10 announces it has prefix 1.2.0.0/16 to AS 2 ◮ AS 2 forwards to AS 3

Inter-AS routing with BGP: AS 10 announces prefix 1.2.0.0/16 to AS 2, who forwards to AS 3.

slide-4
SLIDE 4

The Border Gateway Protocol (BGP)

◮ The Internet is composed of many Autonomous Systems (ASes)

◮ Aka ISPs or Domains

◮ Inter-AS routing uses BGP ◮ Example: AS 10 announces it has prefix 1.2.0.0/16 to AS 2 ◮ AS 2 forwards to AS 3 ◮ AS 3 routes to 1.2/16 via AS 2

Inter-AS routing with BGP: AS 10 announces prefix 1.2.0.0/16 to AS 2, who forwards to AS 3. Now AS 3 sends traffic to 1.2/16 (via AS 2).

slide-5
SLIDE 5

Internet Inter-Domain Routing (In)Security

◮ BGP has no built-in security mechanism ◮ Long history of attacks and problems:

◮ route manipulations, mostly prefix hijacks ◮ route leaks ◮ intentional and benign - but always painful...

◮ Example of prefix hijack: AS 666 claims to host 1.2.0.0/16.

AS 666 announces prefix 1.2.0.0/16 to AS 3.

slide-6
SLIDE 6

Internet Inter-Domain Routing (In)Security

◮ BGP has no built-in security mechanism ◮ Long history of attacks and problems:

◮ route manipulations, mostly prefix hijacks ◮ route leaks ◮ intentional and benign - but always painful... AS 666 announces prefix 1.2.0.0/16 to AS 3. AS 3 sends traffic to 666 (e.g., shorter path)

slide-7
SLIDE 7

Internet Inter-Domain Routing (In)Security

◮ BGP has no built-in security mechanism ◮ Long history of attacks and problems:

◮ route manipulations, mostly prefix hijacks ◮ route leaks ◮ intentional and benign - but always painful...

◮ Defenses? ad-hod, proprietary (expensive), weak

slide-8
SLIDE 8

Internet Inter-Domain Routing (In)Security

◮ BGP has no built-in security mechanism ◮ Long history of attacks and problems:

◮ route manipulations, mostly prefix hijacks ◮ route leaks ◮ intentional and benign - but always painful...

◮ Defenses? ad-hod, proprietary (expensive), weak ◮ BGPsec (RFCs published in 2017)

◮ Ambitious: prevent all route manipulations

slide-9
SLIDE 9

Internet Inter-Domain Routing (In)Security

◮ BGP has no built-in security mechanism ◮ Long history of attacks and problems:

◮ route manipulations, mostly prefix hijacks ◮ route leaks ◮ intentional and benign - but always painful...

◮ Defenses? ad-hod, proprietary (expensive), weak ◮ BGPsec (RFCs published in 2017)

◮ Ambitious: prevent all route manipulations ◮ But deployment is hard/unlikely ◮ And: builds on RPKI...

◮ RPKI (RFCs published in 2012)

◮ (only) prevent prefix hijacks ◮ Our focus

slide-10
SLIDE 10

RPKI: Resource Public Key Infrastructure

◮ Routing Certificate (RC): binds IP prefix π to public key pk ◮ Route Origin Authorization (ROA): binds (prefix,origin) pair

◮ Max-Length: most-specific subprefix allowed ◮ Signed by public key pk (certified for π)

◮ Route Origin Validation (ROV): validate origin in BGP announcements

◮ Deployed by BGP routers ◮ Discard announcement with ‘invalid’ (prefix,origin) pair (differ from ROA)

slide-11
SLIDE 11

RPKI: Resource Public Key Infrastructure

◮ Routing Certificate (RC): binds IP prefix π to public key pk ◮ Route Origin Authorization (ROA): binds (prefix,origin) pair

◮ Max-Length: most-specific subprefix allowed ◮ Signed by public key pk (certified for π)

◮ Route Origin Validation (ROV): validate origin in BGP announcements

◮ Deployed by BGP routers ◮ Discard announcement with ‘invalid’ (prefix,origin) pair (differ from ROA) ◮ 18.5% of (prefix,origin) pairs are ‘valid’, 0.8% ‘invalid’ [NIST]

◮ Others (81.7%): no ROA

◮ Concern: most ‘invalid’ due to ‘wrong’ ROA, not to hijack ◮ Limited security benefits - esp. for partial adoption ◮ ⇒ Slow adoption

slide-12
SLIDE 12

Research on Deploying RPKI

◮ RPKI ecosystem and deployment: Wahlisch*CCR12, Iamartino*PAM15, Wahlisch*HotNet15, Gilad*NDSS17, Gilad*HotNts18, Reuters*CCR18, Hlavacek*DSN18, Chung*IMC19, Testart*PAM20 ◮ RPKI security concerns, extensions:

◮ Misbehaving authority: Cooper*HotNts13, Heilman*SigCom14 ◮ ‘Path-end’ extension: Cohen*SigComm16 ◮ Max-Length considered harmful: Gilad*CoNext17

slide-13
SLIDE 13

Research on Deploying RPKI

◮ RPKI ecosystem and deployment: Wahlisch*CCR12, Iamartino*PAM15, Wahlisch*HotNet15, Gilad*NDSS17, Gilad*HotNts18, Reuters*CCR18, Hlavacek*DSN18, Chung*IMC19, Testart*PAM20 ◮ RPKI security concerns, extensions:

◮ Misbehaving authority: Cooper*HotNts13, Heilman*SigCom14 ◮ ‘Path-end’ extension: Cohen*SigComm16 ◮ Max-Length considered harmful: Gilad*CoNext17

◮ This work (DISCO):

◮ Complementary, automated Routing Certification mechanism ◮ Goal: easy-to-issue and correct ROAs, RCs

slide-14
SLIDE 14

Pitfalls with RPKI Issuing of RCs, ROAs

◮ Routing Certificates (RCs):

◮ Manual application by Origin-AS network manager

◮ Errors have legal/business implications!

◮ Room for errors, e.g., forgotten/wrong prefix, origin-AS ◮ No (immediate) feedback on errors ◮ Validation: manual - based on records of assignment, transfer

◮ Route Origin Authorizations (ROAs):

◮ Manual issuing by Origin-AS network manager

◮ Errors have legal/business implications!

◮ Large space for errors

◮ Forgotten prefix/originAS/subprefix, wrong/missing Max-Length,. . .

◮ No validation, no (immediate) feedback on errors

slide-15
SLIDE 15

Pitfalls with RPKI Issuing of RCs, ROAs

◮ Routing Certificates (RCs):

◮ Manual application by Origin-AS network manager

◮ Errors have legal/business implications!

◮ Room for errors, e.g., forgotten/wrong prefix, origin-AS ◮ No (immediate) feedback on errors ◮ Validation: manual - based on records of assignment, transfer

◮ Route Origin Authorizations (ROAs):

◮ Manual issuing by Origin-AS network manager

◮ Errors have legal/business implications!

◮ Large space for errors

◮ Forgotten prefix/originAS/subprefix, wrong/missing Max-Length,. . .

◮ No validation, no (immediate) feedback on errors

◮ Like Waltz: great - if done well... But few do it (right)! ◮ Let’s DISCO: easier, and: ‘fool-proof’

slide-16
SLIDE 16

DISCO

Decentralized Infrastructure for Securing & Certifying Origins

◮ Automated to reduce errors, ease adoption

◮ Let’s focus on issuing of Route Certificate (RC)

◮ ROAs: later

◮ DISCO-agent distributes (prefix π, pk) via BGP ◮ Registrar-agents (1) validate, (2) certify and send to repositories

◮ Details: next

DISCO: automated issuing of RC for prefix π. DISCO registrars validate the (π, pk) pair sent by agent.

slide-17
SLIDE 17

DISCO

Decentralized Infrastructure for Securing & Certifying Origins

◮ Automated to reduce errors, ease adoption

◮ Let’s focus on issuing of Route Certificate (RC)

◮ ROAs: later

◮ DISCO-agent distributes (prefix π, pk) via BGP ◮ Registrar-agents (1) validate, (2) certify and send to repositories

◮ Details: next

◮ DISCO RCs complement RPKI RCs

◮ Conflict handling TBD

DISCO: automated issuing of RC for prefix π. DISCO registrars validate the (π, pk) pair sent by agent.

slide-18
SLIDE 18

DISCO: (1) automated validation of (pk,π) to issue RC

◮ DISCO-agent announces prefix π, via iBGP, as

  • ptional transitive attribute

◮ RFC: should relay such attributes ◮ Experiments: relayed by almost all ASes DISCO: automated issuing of RCs. DISCO Registrars validate the (π, pk) pair sent by agent. Agent encodes pk in transitive attribute.

slide-19
SLIDE 19

DISCO: (1) automated validation of (pk,π) to issue RC

◮ DISCO-agent announces prefix π, via iBGP, as

  • ptional transitive attribute

◮ RFC: should relay such attributes ◮ Experiments: relayed by almost all ASes

◮ Registrars validate same pk received from (most) announcements of π

◮ Same or different origin AS DISCO: automated issuing of RCs. DISCO Registrars validate the (π, pk) pair sent by agent. Agent encodes pk in transitive attribute.

slide-20
SLIDE 20

DISCO: (1) automated validation of (pk,π) to issue RC

◮ DISCO-agent announces prefix π, via iBGP, as

  • ptional transitive attribute

◮ RFC: should relay such attributes ◮ Experiments: relayed by almost all ASes

◮ Registrars validate same pk received from (most) announcements of π

◮ Same or different origin AS

◮ Works for ≥ 97% of prefixes

◮ N/A for un-announced prefixes, multi-home (< 1%) DISCO: automated issuing of RCs. DISCO Registrars validate the (π, pk) pair sent by agent. Agent encodes pk in transitive attribute.

slide-21
SLIDE 21

DISCO: (2) automated issuing, distributing RC (after validation)

◮ Each DISCO registrar Ri has a share of threshold signing-key si ◮ Registrar Ri uses share si to partially-sign (pk,π) pair, and sends to repository

DISCO: automated issuing of RCs. Registrar Ri validates the (π, pk) pair, then partially-signs it and sends to

  • repositories. Repositories combine

partial-signatures to create RC for π.

slide-22
SLIDE 22

DISCO: (2) automated issuing, distributing RC (after validation)

◮ Each DISCO registrar Ri has a share of threshold signing-key si ◮ Registrar Ri uses share si to partially-sign (pk,π) pair, and sends to repository ◮ Repositories combine partial-signatures and issue RC, i.e. certified (pk, π) ◮ Resiliency and security by redundancy of paths, registries and repositories ◮ Repositories provide both DISCO-RCs and RPKI-RCs

DISCO: automated issuing of RCs. Registrar Ri validates the (π, pk) pair, then partially-signs it and sends to

  • repositories. Repositories combine

partial-signatures to create RC for π.

slide-23
SLIDE 23

DISCO: (3) Issuing ROAs

◮ ROA automatically issued by DISCO-agent ◮ Agent detects RC was certified and is in repositories ◮ Agent signs ROA for each (sub)prefix announced by AS DISCO: automated issuing of correct ROAs to all announced (sub)prefixes. Max-Length used if more efficient (and then for all subprefixes).

slide-24
SLIDE 24

DISCO: (3) Issuing ROAs

◮ ROA automatically issued by DISCO-agent ◮ Agent detects RC was certified and is in repositories ◮ Agent signs ROA for each (sub)prefix announced by AS

◮ Max-Length: only for all subprefixes

DISCO: automated issuing of correct ROAs to all announced (sub)prefixes. Max-Length used if more efficient (and then for all subprefixes).

slide-25
SLIDE 25

DISCO: (3) Issuing ROAs

◮ ROA automatically issued by DISCO-agent ◮ Agent detects RC was certified and is in repositories ◮ Agent signs ROA for each (sub)prefix announced by AS

◮ Max-Length: only for all subprefixes

DISCO: automated issuing of correct ROAs to all announced (sub)prefixes. Max-Length used if more efficient (and then for all subprefixes). ◮ AS 0: un-announced subprefix ◮ AS *: unprotected subprefix (!!)

slide-26
SLIDE 26

DISCO: (3) Issuing ROAs

◮ ROA automatically issued by DISCO-agent ◮ Agent detects RC was certified and is in repositories ◮ Agent signs ROA for each (sub)prefix announced by AS

◮ Max-Length: only for all subprefixes ◮ Automated - or semi-automated, for

  • ff-line signing key

◮ Exchange ROAs with repositories, routers DISCO: automated issuing of correct ROAs to all announced (sub)prefixes. Max-Length used if more efficient (and then for all subprefixes). ◮ AS 0: un-announced subprefix ◮ AS *: unprotected subprefix (!!)

slide-27
SLIDE 27

DISCO: Experimental Evaluation

◮ PK sent via Transitive Attribute 0xff

◮ reserved for testing and development

0.0 0.2 0.4 0.6 0.8 1.0

Origin Prevalence [fraction of (day, vantage point) pairs]

10

4

10

3

10

2

10

1

100

  • Cum. Fraction of Blocks (log)

2018.11 2019.08

% of announcements with most-common prefix: 97% of prefixes has just one origin!

12:00 13:00 14:00 15:00 16:00 17:00

Time

200 400 600 800 1000 1200

Thousands of Updates/Minute

  • Jan. 7th (14:30-14:45)
  • Jan. 23th (14:00-14:15)
  • Jan. 6th (baseline)
slide-28
SLIDE 28

DISCO: Experimental Evaluation

◮ PK sent via Transitive Attribute 0xff

◮ reserved for testing and development

0.0 0.2 0.4 0.6 0.8 1.0

Origin Prevalence [fraction of (day, vantage point) pairs]

10

4

10

3

10

2

10

1

100

  • Cum. Fraction of Blocks (log)

2018.11 2019.08

% of announcements with most-common prefix: 97% of prefixes has just one origin!

12:00 13:00 14:00 15:00 16:00 17:00

Time

200 400 600 800 1000 1200

Thousands of Updates/Minute

  • Jan. 7th (14:30-14:45)
  • Jan. 23th (14:00-14:15)
  • Jan. 6th (baseline)

Prefix updates; buggy-routers caused ‘peak’ in both experiments (less in 2nd - patching).

◮ Triggered bug in few FRR routers (patch exists)

slide-29
SLIDE 29

Evaluation results

◮ Can we send pk in BGP announcements as transitive attribute?

◮ << 1% of ASes drop announcement or attribute ◮ Few un-patched, buggy routers failed

slide-30
SLIDE 30

Evaluation results

◮ Can we send pk in BGP announcements as transitive attribute?

◮ << 1% of ASes drop announcement or attribute ◮ Few un-patched, buggy routers failed

◮ Can registrars certify pk from > x% of vantage points?

◮ Used simulations of BGP topology, for reachability to 262 RouteView and RIPE RIS collectors ◮ Result: Even with over 1% drop of both announcements and attribute, more than 95% of the vantage points report pk

slide-31
SLIDE 31

Evaluation results

◮ Can we send pk in BGP announcements as transitive attribute?

◮ << 1% of ASes drop announcement or attribute ◮ Few un-patched, buggy routers failed

◮ Can registrars certify pk from > x% of vantage points?

◮ Used simulations of BGP topology, for reachability to 262 RouteView and RIPE RIS collectors ◮ Result: Even with over 1% drop of both announcements and attribute, more than 95% of the vantage points report pk

◮ Can attacker get DISCO-certified by prefix hijacking?

◮ Prefix-hijacks: < 3% certified, and 81% of these are by sole upstream provider of victim

slide-32
SLIDE 32

Evaluation results

◮ Can we send pk in BGP announcements as transitive attribute?

◮ << 1% of ASes drop announcement or attribute ◮ Few un-patched, buggy routers failed

◮ Can registrars certify pk from > x% of vantage points?

◮ Used simulations of BGP topology, for reachability to 262 RouteView and RIPE RIS collectors ◮ Result: Even with over 1% drop of both announcements and attribute, more than 95% of the vantage points report pk

◮ Can attacker get DISCO-certified by prefix hijacking?

◮ Prefix-hijacks: < 3% certified, and 81% of these are by sole upstream provider of victim

◮ ⇒ DISCO appears deployable.

slide-33
SLIDE 33

Conclusion

◮ Adoption of RPKI is critical and challenging ◮ Automation, validation may help adoption, reduce conflicts ◮ DISCOmay help: automation, validation, avoid dependency

  • n records

◮ At costs... e.g., prefix-squatters ◮ Maybe adoption will improve anyway? there is hope! ◮ Improving security benefits and incentives may help, too

Further work ◮ Specifications ◮ Production-ready implementation

slide-34
SLIDE 34

Thank you!

Questions?

Amir.Herzberg@UConn.edu