RPKI – Resource Public Key Infrastructure Validación de ... · Pakistan Telecom vs. YouTube •...

Preview:

Citation preview

GuillermoCicileoguillermo@lacnic.net

RPKI – Resource Public Key Infrastructure Validación de Origen en BGP

Secuestro de rutas

IANA

AFRINIC APNIC ARIN LACNIC

ISP

UsuarioFinal

UsuarioFinal

ISP UsuarioFinal

RIPE

Distribución de Recursos de Numeración de Internet

¿Quién puede usar un recurso?

• UnaorganizaciónalobtenerrecursosdeInternet(IPv6/IPv4/ASN)•  Indicaasuupstream/peerscualessonlosprefijosquevaaanunciar•  Víae-mail,formasweb,IRR(InternetRoutingRegistry)

•  Laverificaciónnosiempreestodolometiculosaquedeberíaser•  Laintegridaddelsistemadependedelaconfianzaentrepeers

Proveedores/peers: verifican derecho de uso

Whois RIRs:Informaciónnofirmada,noutilizabledirectamentepararuteoWhois IRR:Informaciónnofirmada,pocosmecanismosparaautentificacióndederechodeuso

Secuestro de rutas •  AccióndeanunciaraInternetprefijosNOautorizados.

Variossecuestrosderutasvienenocurriendoenlosúltimosaños.•  Casosmásconocidos:

•  PakistanTelecomvs.YouTube(2008)•  ChinaTelecom(2010)•  Casosennuestraregión

M5_T2:Secuestroderutas

SecuestroderutasIntencional.

Porerrorenlaoperación.

Pakistan Telecom vs. YouTube

•  ElDomingo24deFebrerode2008PakistanTelecom(AS17557)anuncióelprefijo208.65.153.0/24sinautorización

•  ElupstreamproviderPCCWGlobal(AS3491)reenvióesteanuncioalrestodeInternet,resultandoenqueYouTubequedóinaccesible

•  Análisisdetallado(porRIPENCC):http://www.ripe.net/internet-coordination/news/industry-developments/youtube-hijacking-a-ripe-ncc-ris-case-study

•  VideoenYouTubesobreelevento:http://www.youtube.com/watch?v=IzLPKuAOe50

Pakistan Telecom vs. YouTube

Secuestro de rutas

•  Lamayoríadelossecuestrosderutasocurridoshastaahorahansidoredireccionesdetráfico

•  Elproblemaesdetectadoporinaccesibilidaddelsitiooriginal(ej:casoYouTube)

•  Eventualmentepublicacióntemporaldeprefijosparahacerspamming•  Sinembargo,enuntrabajode2008,presentadoenDEFCON16,Pilosov-Kapelademuestranlaposibilidaddere-enrutartráficosinprácticamentedejarevidencias

•  Deesamanera,eltráficopuedeseranalizadoyprocesadosinsernotado

Algunos incidentes recientes

•  Abril2017: MasterCard, Visa y más de dos docenas de otras compañías de servicios financieros afectados

•  Grandes cantidades de tráfico fueron enrutados brevemente a través de una telco rusa. •  Durante varios minutos, Rostelecom estaba generando 50 prefijos para muchos otros Sistemas Autónomos,

secuestrando su tráfico.

•  Abril2018:Secuestro de DNS de Amazon mediante BGP para robar Crypto moneda: •  eNet / XLHost (AS10297) sufrió una violación que permitió a los atacantes hacerse pasar por el servicio de DNS

autorizado de Amazon. •  Los usuarios de redes que aceptaron las rutas secuestradas (incluido el servicio DNS recursivo de Google)

enviaron sus consultas DNS a un servicio DNS impostor incrustado en AS10297. •  Si estos usuarios intentaban visitar myetherwallet.com, el servicio impostor DNS no los dirigiría a Amazon Web

Services (que normalmente aloja el sitio), sino a un conjunto de direcciones IP rusas, según CloudFlare. •  Tener en cuenta que los usuarios necesitaron hacer clic a través de las alertas de fallas de certificados en sus

navegadores, pero eso no los detuvo. •  Ver https://dyn.com/blog/bgp-hijack-of-amazon-dns-to-steal-crypto-currency/

Incidentes de ruteo en 2017

• Aprox.14.000incidentesderuteo(yaseaporleaks/hijacksodesconexiones)

• Másdel10%delosSistemasAutónomosdeInternetafectados

• 3,106SistemasAutónomosfueronvíctimasdealmenosunincidentederuteo

• 1,546redescausaronalmenosunincidente.

Fuente:https://blog.apnic.net/2018/01/24/14000-incidents-routing-security-2017/

Países afectados y países que originaron incidentes

RPKI

¿Qué es RPKI?

• RPKI (Resource Public Key Infrastructure) • Validación del derecho de uso de un recurso

• Combina:

• Estandarizado en el IETF, grupo de trabajo SIDR, RFCs 6480 – 6492 •  Gran trabajo de los RIRs en la implementación

IPv4IPv6SistemaAutonomo

Modelo jerárquico de asignación de recursos a través de los RIRs Uso de certificados digitales basados en el estándar X.509

RPKI

• Defineunainfraestructuradeclavepúblicaespecializadaparaseraplicadaalenrutamiento

•  Enparticular,paraBGP

LACNIC

ISPs/End-UsersOrganizacionesposeedorasde

recursos

Certificadodigital

(X.509v3,extensionespararepresentarIPv4,IPv6yASNs)

Pruebaverificabledesu

posesión

¿Qué compone la solución RPKI?

• PublicKeyInfrastructurederecursos(IP+ASN+certificados)• Objetosfirmadosdigitalmenteparasoportarseguridaddelenrutamiento(ROAs)

• UnrepositoriodistribuidoquealmacenalosobjetosPKIylosobjetosdeenrutamientofirmados(ROAs+CRL+MNF)

•  UnMecanismodevalidacióndeprefijos

Certificados de recursos • CertificadosDigitalesX.509

•  Informacióndelsujeto,plazodevalidez,llavepublica,etc

• Conextensión:•  RFC3779estándarIETFdefineextensiónpararecursosinternet.

•  ListadodeIPv4,IPv6,ASNasignadosaunaorganización

SignatureAlgorithm

SerialNumber

Version

Issuer

Subject

SubjectPublicKey

Extensions

Addr:10.10.10.0Asid:65535

SubjectInformationAuthority(SIA)

AuthorityInformationAccess(AIA)

Certificados de Recursos

ResCert #1192.168.1.0/2410.1.0.0/16

ClavepúblicaparaResCert#1

Firma

Nosealmacenaningunaidentidadenelcertificado,elcampo“Sujeto”seseteaaunacadenadecaractereshasheada

PKI de Recursos

Certificado Raíz

ResCert #3192.168.3.0/2410.3.0.0/16

ClavepúblicaparaResCert#3

Firma

ResCert #1192.168.0.0/2010.1.0.0/16

ClavepúblicaparaResCert#1

Firma

ResCert #2192.168.1.0/2410.1.2.0/24

ClavepúblicaparaResCert#2

Firma

Estructura de la RPKI de LACNIC

LACNICRTARecursosdeLACNIC

LACNICProducción

<<INHERITED>>

ISP#2RecursosdelISP#2

ROAEndEntitycert.

ROAEndEntitycert.

ISP#1RecursosdelISP#1

EndUserCA#1

(RecursosdelEU#1)

ROAEndEntitycert.

ROAEndEntitycert.

RTAesauto-firmado

Cadenadefirmas

RPKI

•  LosISPsuorganizacionespuedendefinirycertificarlosanunciosderutasqueautorizanrealizar

•  MedianteobjetosdigitalesllamadosROAs•  Firmadosconlaclaveprivadadelcertificado

•  Esungranpasohaciaunenrutamientomásseguro•  PermitelavalidacióndelsistemaautónomoqueoriginaunanuncioporBGP(validacióndeorigen).

ROAs

• Usandocertificadospodemoscrearobjetosquedescribanelorigendeunprefijo

• ROAs:RoutingOriginAuthorization

•  LosROAscontieneninformaciónsobreelASdeorigenpermitidoparaunconjuntodeprefijos

•  LosROAssonfirmadosusandoloscertificadosgeneradosporRPKI•  LosROAsfirmadossoncopiadosalrepositorio

ROAs • Usandolacadenadecertificadospodemoscrearobjetosfirmadosquedescribanelorigendeunprefijo.

• ROAs:RoutingOriginAuthorization•  LosROAscontieneninformaciónsobreelASdeorigenpermitidoparaunconjuntodeprefijos.•  LosROAssonfirmadosusandoloscertificadosgeneradosporRPKI.•  LosROAsfirmadossoncopiadosenunrepositoriopublicamenteaccesible

ResCert #34

OriginAS:10

10.1.1.0/16maxLen24192.168.1.0/24maxLen20

Validación

• UnrouterpodríaentoncesutilizarlosROAsparavalidarunarutayeventualmente,rechazarla

RPKI

provee

Posibilidaddevalidarelusodeunrecurso

ValidacióndelafirmadelosROAs

UnafuentedeinformaciónextraquepermiteverificarlainformaciónderuteoquenossuministraBGP.

Validación

• MedianteRPKIesposiblevalidarelderechoausodeunrecursoporpartedeunaorganización

• Posibilidades:

ConstruccióndefiltrosparaanunciosutilizandoBGP(BorderGatewayProtocol).

Construccióndereglasdeenrutamientobasadasenlavalidezcriptográficadelosprefijosanunciados

FirmadeinformaciónenserviciosdeWhoisoenobjetosRPSL(RoutingPolicySpecificationLanguage).

RPKI en acción

Cache

SistemadeGestióndeRPKI

Repositorio

LoscachestraenyvalidancriptográficamenteloscertificadosyROAsdelosrepositorios

LoscachesalimentanalosroutersusandoelprotocoloRTRconinformacióndeROAs

LosroutersvalidanlosupdatesdeotrospeersBGP

RPKI en acción (ii)

•  Elprocesodevalidaciónaniveldelainfraestructuradeenrutamientoestádivididoendos

•  ValidacióndelosROAscomoobjetosfirmados•  Lorealizaelcachévalidador

•  ValidacióndelainformaciónrecibidaenlosUPDATEdeBGP•  Lorealizanlos“bgpspeakers”delared

•  Existeunprotocolodecomunicaciónentrecachéyrouters(RTR)queestádefinidoenlaRFC6810

RPKI en funcionamiento (iii)

•  Enelcaché•  SebajanporRSYNCloscontenidosdelosrepositoriosRPKI•  SevalidanloscertificadosyROAs

•  Criptográficamente(cadenadefirmas)•  Inclusióncorrectaderecursos

•  Enlosrouters•  SeconstruyeunabasededatosconlarelaciónentreprefijosyASdeorigen

Validación de Origen

•  Losroutersarmanunabasededatosconlainformaciónquerecibendeloscaches

•  Estatablacontiene•  Prefix,Minlength,Maxlength,Origin-AS

• Aplicandounconjuntodereglas,seasignaunestadodevalidezacadaUPDATEdeBGP

•  Losoperadoresderedpuedenusarelatributo“validez”paraconstruirpolíticasderuteo

•  Elestadodevalidezpuedeser:•  Válido:ElASdeorigenyelLargoMáximocoincidenconlainformacióndelROA•  Inválido:LainformacióndelROAnocoincide•  Noencontrado:NohayunROAparaelprefijodado

Validación de Origen IPprefix/[min_len–max_len] OriginAS

172.16.0.0/[16-20] 10

200.0.0.0/[8-21] 20

•  SielprefijodelUPDATEnoestácubiertoporningunaentradaenlaBD->"notfound"

•  SielprefijodelUPDATEestácubiertoalmenosporunaentradaenlaBD,yelASdeorigencoincideconelASenlaBD->"valid"

•  SielASdeorigennocoincide->"invalid"

UPDATE200.0.0.0/9ORIGIN-AS20

VALID

Validación de Origen IPprefix/[min_len–max_len] OriginAS

172.16.0.0/[16-20] 10

200.0.0.0/[8-21] 20

UPDATE200.0.0.0/22ORIGIN-AS20

INVALID

•  SielprefijodelUPDATEnoestácubiertoporningunaentradaenlaBD->"notfound"

•  SielprefijodelUPDATEestácubiertoalmenosporunaentradaenlaBD,yelASdeorigencoincideconelASenlaBD->"valid"

•  SielASdeorigennocoincide->"invalid"

Validación de Origen IPprefix/[min_len–max_len] OriginAS

172.16.0.0/[16-20] 10

200.0.0.0/[8-21] 20

UPDATE200.0.0.0/9ORIGIN-AS66

INVALID

•  SielprefijodelUPDATEnoestácubiertoporningunaentradaenlaBD->"notfound"

•  SielprefijodelUPDATEestácubiertoalmenosporunaentradaenlaBD,yelASdeorigencoincideconelASenlaBD->"valid"

•  SielASdeorigennocoincide->"invalid"

Validación de Origen IPprefix/[min_len–max_len] OriginAS

172.16.0.0/[16-20] 10

200.0.0.0/[8-21] 20

UPDATE189.0.0.0/9ORIGIN-AS66

NOTFOUND

•  SielprefijodelUPDATEnoestácubiertoporningunaentradaenlaBD->"notfound"

•  SielprefijodelUPDATEestácubiertoalmenosporunaentradaenlaBD,yelASdeorigencoincideconelASenlaBD->"valid"

•  SielASdeorigennocoincide->"invalid"

Políticas de Ruteo con Validación de Origen

• UsandoelatributodevalidezdeBGPlosoperadoresderedpuedenconstruirpolíticasderuteo

• Porejemplo:•  Alasrutasconestado“valid”asignarlesmayorpreferenciaquealasrutasconestado“notfound”

•  Descartarrutasconestado“invalid”• MUYIMPORTANTE:RPKIesunafuentedeinformación!Losoperadoressonlibresdeusarlacomolesparezcamejor

Interacción con BGP

•  Elestado{valid,invalid,notfound}deunprefijopuedehacersepesarenlaselecciónderutas

route-map rpki permit 10 match rpki invalid set local-preference 50 route-map rpki permit 20 match rpki incomplete set local-preference 100 route-map rpki permit 30 match rpki valid set local-preference 200

Conclusiones

•  ElsistemaderuteoesunodelospilaresdeInternet•  Sinembargo,aúnesvulnerableaataquesyaconfiguracioneserróneas

•  Sehahechoungranavance(RPKI,OriginValidation)• Peroesnecesarioseguirtrabajando

•  Despliegue(Filtrado,RPKI,OriginValidation)•  SeguimientodelaoperacióndeRPKI:WGSIDRopsdelaIETF

•  LoscertificadosderecursosylosROAssonunaherramientaparaquienestienenrecursosasignados

•  Importante:firmarlosrecursosydefinirlosROAsqueespecificanlosanunciosderutas

Muchasgracias…

Preguntas?

Recommended