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?