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?