Ataques(contra(el(DNS - The Security Skeptic
Transcripción
Ataques(contra(el(DNS - The Security Skeptic
Ataques(contra(el(DNS( Dave(Piscitello( VP(Security(and(ICT(Coordina:on( 27(June(2016( [email protected]( Introducción • VP(Security(and(ICT(Coordina:on,(ICANN( • 40(year(network(and(security(prac::oner( • Roles(at(ICANN:( • Technology(Advisor( • Threat(responder( • Inves:gator( • Researcher( | 2 Part(1( • ¿Cómo(funciona(el(DNS?( • Vistazo(y(ejemplos(de(los(escenarios(de( ataque(en(el(DNS( | 3 ¿Qué es el Sistema de Nombres de Dominio? Una(base(de(datos(distribuida(usada( primordialmente(para(obtener(la(dirección( numérica( 192.168.23.1(o(fe80::226:bbff:fe11:5b32( ( asociada(a(un(nombre( ( humanamente(recordable( (www.ejemplo123.com)( ( ( ! | 4 Estructura de la base de datos del DNS ( La(estructura(formal(de(la(base(de(datos(del(DNS(es(un( árbol(inver:do(con(la(raíz(en(la(punta(superior( La(raíz(se(designa( ( Cada(nodo(:ene( usando(un(“punto”( una(e:queta( (Raíz( ( Nodo(de(alto(nivel( Nodo(de(alto(nivel( Nodo(de(alto(nivel( ( Nodo(de(2do(nivel( Nodo(de(2do(nivel( Nodo(de(2do(nivel ( Nodo(de(2do(nivel( Nodo(de(2do(nivel( ( ( Nodo(de(3er(nivel( Nodo(de(3er(nivel(Nodo(de(3er(nivel( ( El(DNS(es(un(espacio(de(nombres((namespace)(público( ( Es(uno,(de(muchos(usados(en(el(Internet.( ( ( | 5 ( 5( Nombres(de(dominio(y(e:quetas( Cada(nodo(en(el(espacio(de(nombres(del(DNS(:ene(una(e:queta( El(nombre(de(dominio(de(un(nodo(es(una(lista(de(las(e:quetas( desde(el(nodo(hasta(la(raíz( nodo(raíz( Nodo(raíz( .”( ( Dominio(de(Alto( nododaltodnivel( topdlevel(node( topdlevel(node( ( Nivel(ej.( ( COM( Nodo(2do(nivel( 2do(nivel( 2nddlevel(node( 2nddlevel(node( 2nddlevel(node( ( ( Dominio(2do(nivel( ( Nodo(3er(nivel( 3rddlevel(node( 3rddlevel(node( ej.(( Cuando(todas(las(e:quetas( EJEMPLO( están(presentes,(se(llama( Dominio(3er(nivel( FULLY%QUALIFIED%DOMAIN%NAME%(FQDN)% ej.( Los(FQDNs(son(únicos(a(nivel( WWW( global(en(el(DNS(público( 6( | 6 Elementos(operacionales(del(DNS( • Los(servidores(de(resolución(autorita:vos(alojan( información(de(las(zonas( – Los(datos(de(DNS(publicados(por(el(registrante( • Resolutores(recursivos((“resolutores”)( – Sistemas(que(encuentran(respuestas(a(consultas(al(DNS( • Resolutores(de(memoria(temporal((cache)( – Resolutores(recursivos(que(encuentran(y(guardan( localmente(respuestas(por(un(período(de(:empo(=(TTL( • Clientes(o(resolutores(de(cliente( – Sokware(en(aplicaciones,(aplicaciones(móviles(o(sistemas( opera:vos(que(consultan(al(DNS(y(procesan(las(respuestas( 7( | 7 El(DNS(es(como(el(directorio(del(Internet( • Los(resolutores(de(cliente( envían(consultas:( – Sokware(en(aplicaciones,( aplicaciones(móviles(o( sistemas(opera:vos(que( consultan(al(DNS(y( procesan(las(respuestas( – Los(resolutores( recursivos(encuentran( las(respuestas(con( información(del(DNS( ¿Cuál(es(la( dirección(IPv6(de( www.icann.org?( My PC dns1.icann.org Yo(encuentro(esa( respuesta( 8( | 8 El(DNS(actúa(como(un(directorio(telefónico( ¿Cómo(encuentra(un(resolutor(la(dirección(de(ICANN.ORG?( • La(encuentra(enviando(preguntas(de(forma(reitera:va( m.root-servers.net dns.icann.org 2 3 1 8 4 6 7 www.icann.org? a0.org.afilias-nst.info 5 ns1.icann.org 9( | 9 ¿Qué es caching? • Los(resolutores(pueden( guardar(en(memoria( temporal(los(registros(de(DNS( que(reciben(de(otros( My PC servidores(de(DNS( ¿Cuál(es(la(dirección( IPv6(de( www.icann.org?( – Acelera(la(resolución( – Ahora(ancho(de(banda( – Respuestas(nodautorita:vas( • Los(registros(guardados(en( memoria(temporal(son( válidos(para(siempre?( – No.(El(campo(TTL(()me!to!live)( en(el(registro(de(DNS(indica(su( :empo(de(validez.( Guardo( temporalmente(la( respuesta( Mi resolutor local www.icann.org( AAAA(2001:500:88:200::7( Servidor autoritativo de ICANN 10( | 10 Resumiendo… 1 El DNS es una base de datos pública, distribuida 2 El DNS nos permite usar nombres, en lugar de números, para navegar en Internet 3 Los elementos operacionales del DNS abarcan desde infraestructura crítica hasta dispositivos de usuario | 11 Agenda • ¿Cómo(funciona(el(DNS?( • Atacando(al(DNS( | 12 Motivaciones para atacar al DNS Los!diferentes! actores!)enen! mo)vaciones!o! incen)vos! específicos!para! atacar! infraestructuras! crí)cas,! incluyendo!el!DNS! ¿En(dónde(quedan(el(cíber( crimen(y(el(cíber(espionaje?( | 13 Superficie de ataque del DNS Obje3vo% Servidor% Autorita3vo% Servidor% Resolutor% Recursivo% de% Cliente% Ancho(de(banda(de(acceso( ✔( ✔( ✔( Elementos(de(acceso(a(red( ✔( ✔( ✔( Hardware( ✔( ✔( ✔( Sokware(Sistema(Op.( ✔( ✔( ✔( Sokware(nameserver( ✔( ✔( NS(o(disposi:vo:( Cache( ✔( Sokware(de(aplicación( ✔( ✔( Administración( ✔( ✔( ✔( Configuración( ✔( ✔( ✔( | 14 Ataques contra servidores de resolución “Exploit(to(fail”(Ataque(de(DOS( “Exploit(to(own”(Ataque(de(DOS( Ataque(de(reflexión( Ataque(de(amplificación( Ataque(de(DDoS( Ataque(de(envenenamiento(de(memoria( temporal( • Ataque(de(agotamiento( Veamos!algunos!ejemplos…! • • • • • • | 15 “Exploit To Fail” Ataque de DOS • Explotar(una(vulnerabilidad(en(algún( elemento(de(la(infraestructura(de(un(servidor( de(resolución(para(interrumpir(el(servicio(de( resolución( • Ejemplo:(Inyección(de(mensaje(malicioso(de( DNS(hrp://www.cvedetails.com/cve/CVEd2002d0400/( Atacante( Name(Server( corriendo(BIND( ( Mensaje(de(DNS( malformado((ej.( CVEd2002d0400)( El(nameserver( falla(al(procesar( el(mensaje( | 16 “Exploit To Own” Ataque de DOS • Explotar(una(vulnerabilidad(en(algún( elemento(de(la(infraestructura(de(un(servidor( de(resolución(para(ganar(privilegios(de(admon( • Ejemplo:(Ejecución(arbitraria/remota(de( código(hrp://www.kb.cert.org/vuls/id/844360( Nameserver( corriendo(BIND( Atacante( Consulta(de(DNS( manipulada,(ej.( VU#844360( El(mensaje( provoca(un( BUFFER! OVERFLOW,(el( atacante(puede( ejecutar(código( arbitrario( | 17 Ataque(de(reflexión( Atacante( Consulta(de(DNS( Falsifique(dirección(IP( de(víc:ma:(10.0.0.1( • El(atacante( Resolutor(Abierto( falsifica(la(IP(de(la( víc:ma( • Envía(consultas(al( resolutor(abierto( • El(resolutor( responde(a(la( víc:ma( IP(de(víc:ma:( 10.0.0.1( | 18 Ataque de reflexión y amplificación Atacante( Consulta(de(DNS( Falsifica(dirección(de( la(víc:ma:(10.0.0.1( Víc:ma:( 10.0.0.1( • Atacante(falsifica( Resolutor(abierto( dirección(de( víc:ma( • Atacante(envía( consultas(a( recursores(para( que(envíen( respuestas( enormes( • Resolutores( responden:( paquetes(enormes( • Las(respuestas( agotan(recursos(de( la(víc:ma( | 19 Ataque distribuido de reflexión y amplificación Atacantes( Consulta(de(DNS( Consulta(de(DNS( Consulta(de(DNS( Todas(las(fuentes( falsifican(dirección( de(víc:ma:(10.0.0.1( Víc:ma:(10.0.0.1( Resolutor(abierto( • Dispara( ataque(desde( miles(de( disposi:vos( • Reflexión(a( través(de( resolutores( abiertos( • Envían(miles( de(respuestas( PESADAS(a(la( víc:ma( | 20 Ataque de DOS – Agotamiento de Recursos Atacante( TCP(SYN( TCP(SYN( TCP(SYN( Falsifica(dirección( de(víc:ma:(10.0.0.1( Víc:ma:(10.0.0.1( • Atacante(envía( Resolutor(abierto( mensajes(de(DNS( masivamente((vía( TCP(desde(IP( falsificada( • Nameserver( reserva(recursos( para(todas(esas( conexiones(hasta( que(agota(sus( recursos( • Resolución(de( nombres(se( degrada(o( interrumpe( | 21 Envenenamiento(básico(de(cache( El(atacante( ¿Cuál(es(la(IP(de( loseweighwastnow.com?( – Envía(campaña(de(spam(con( links(a( Mi PC hrp://loseweighwastnow.com( – El(nameserver(del(atacante( Guardo(esta( responde(con(información(de( respuesta(en(mi( DNS(maliciosa(sobre(ebay.com( cache:( – Los(resolutores(que(son( www.ebay.com(( vulnerables(añaden(la( información(maliciosa(a(su( memoria(cache( – La(información(maliciosa(dirigirá( Mi resolutor local a(las(víc:mas(a(un(si:o(de( phishing(the(eBay(mientras(esa( entrada(de(data(del(DNS(sea( loseweighwastnow.com(IPv4( váida( está(en(192.168.1.1(( ADEMÁS%www.ebay.com*está* nameserver criminal en*192.168.1.2( 22( | 22 Agotamiento de memoria NXDOMAIN • El(atacante(inunda(el(resolutor(con(consultas(de(DNS(respecto( de(dominios(no(existentes( • El(resolutor(intenta(resolver(las(consultas(y(añade(cada( respuesta(NXDOMAIN(a(su(memoria(cache( • La(memoria(cache(del(resolutor(se(llena(de(respuestas(inú:les( • El(procesamiento(de(consultas(legí:mas(se(degrada(o(interumpe( Atacante( Consulta(DNS(de( dominio(inexistente( Consulta(DNS(de( dominio(inexistente( Consulta(DNS(de( dominio(inexistente( Resolutor( Cache(llena(de( respuestas( NXDOMAIN( Ataque de phantom domain tiene efectos similares | 23 Ataques contra resolutores de cliente • Ataque(de(interceptación(de(consulta( • Modificación(de(respuesta(de(DNS( – Llamada(también(Name(Error(resolu:on( • Ataque(de(envenenamiento(de(configuración( • Ataque(de(overflow(de(DNS(hostname(( ! Veamos!algunos!ejemplos…( | 24 Interceptación de consultas (DNS Hijacking) • Un(hombredendeldmedio((MITM)(o(a(través(de(un(ataque(de( spoofing,(envía(consultas(de(DNS(a(nameserver(que( responde(con(información(manipulada( – Puede(ocurrir(usando(un(proxy(de(DNS,(un(router(o(servidor( comprome:do,(ARP(poisoning,(o(‘gemeleando’(accesos(Wifi( Resolutor(malicioso( Gemelo(malicioso(o( router(comprome:do( redirige(consultas(de(DNS( a(nameserver(del( atacante( Ruta%manipulada% Gemelo(malicioso( Ruta% Nameserver( malicioso(envía( dirección(falsa(del( banco( Web(del( banco( falso( a% d a l u p mani Banco( legí:mo( Ruta%legí3ma%para%transacciones%con%el%banco% 8/16/16( 25( | 25 Modificación de respuestas Nameserver(de(example.com( ¿Cuál(es(la(dirección( de( ww.example.com?( ww.example.com( no(existe( (NXDOMAIN)( Respuesta%manipulada% La(dirección(de( ww.example.com( es(192.168.12.113( 192.168.12.113( • El(resolutor( recursivo(es( configurado(para( responder(con( dirección(de(si:o(de( paydperdclick(o(si:o( de(búsqueda(cuando( recibe(respuestas(NX( DOMAIN( • Implementado(por( algunos(ISPs(y(otros( terceros(para( generar(ingresos( | 26 Modificación(de(la(configuración:(DNSChanger( El(atacante(distribuye(el( malware(que(modifica(la( la(configuración(de(DNS( vía(spam,(drivedby( download…( El(malware(DNSChanger:( • Altera(la(configuración(de( DNS(de(la(máquina( infectada( • Redirigie(todas(las( consultas(de(DNS(a(un( nameserver(operado(por( los(criminales( • El(atacante(actualiza(el( malware(para(redirigir(el( tráfico(web(a(los(des:nos( de(su(escogencia( Malware( DNSChanger( 192.168.3.13( Su(resolutor( recursivo(está( en(192.168.3.13( El(resolutor(del( atacante(envía( a(la(víc:ma(a( si:o(web( malicioso( Ruta%legí3ma%hacia%el%resolutor%local% | 27 Ataque de overflow de DNS Hostname • El(atacante(crea(un(mensaje(de(respuesta(con(dominio(de( más(de(255(bytes( • El(cliente(vulnerable(consulta(al(nameserver,(no(verifica(la( extensión(del(hostname(incluido(en(la(respuesta( • El(buffer(overflow(permite(al(atacante(conseguir(privilegios( de(root(y(ejecutar(código(arbitrario( El(cliente(es(inducido,( vía(spam,(URL,(etc.,(a( consultar(el( nameserver(del( atacante( El(servidor(del( atacante(responde( con(hostname(de( más(de(255(bytes( Nameserver( del(atacante( Consulta(de(DNS( | 28 Robo de dominios (hijacking) • El(atacante(compromete(la(cuenta(del(registrante( – Lo(logra(con(fuerza(bruta,(ingeniería(social(u(otro(login(arack( – Lanza(un(ataque(de(phishing(suplantando(al(registrador! – El(compromiso(le(da(al(atacante(control(sobre(los(dominios( registrados(por(la(cuenta( • El(atacante(modifica(o(añade(registros(de(nameserves( para(el(dominio(incluyendo(IP(de(su(servidor( • El(atacante(publica(datos(hos:les(en(la(zona(del( dominio( • Los(registros(de(recursos(en(la(zona(del(dominio( permite(phishing,(fraude,(spam,(etc.(Nota:(el(atacante( puede(comprometer(el(nameserver(directamente.( | 29 Resumen 1 El(DNS(es(un(sistema(abierto(y(está(abierto( al(abuso! 2 El(DNS(es(una(base(de(datos(crí:ca(para( Internet,(por(lo(que(es(blanco(de(ataques( 3 Cualquier(elemento(del(DNS(puede(ser( abusado(para(facilitar(otros(ataques( | 30 Lecturas recomendadas Title% URL% Top(10(DNS(aracks( hrp://www.networkworld.com/ar:cle/2886283/security0/topd10ddnsdaracksdlikelydtodinfiltrated yourdnetwork.html( Manage(your(domain(porwolio( hrp://securityskep:c.typepad.com/thedsecuritydskep:c/2014/01/avoiddrisksdmanagedyourd domaindporwolio.html( Securing(open(DNS(resolvers( hrp://www.gtri.com/securingdopenddnsdresolversdagainstddenialdofdservicedaracks/( DNS(Tunneling( hrps://www.cloudmark.com/releases/docs/whitepapers/dnsdtunnelingdv01.pdf( DNS(cache(bus:ng( hrp://blog.cloudmark.com/2014/10/07/addnsdcachedbus:ngdtechniquedfordddosdstyledaracksd againstdauthorita:vednamedservers/( DNS(Cache(Poisoning( hrp://www.securityskep:c.com/dnsdcachedpoisoning.html( Anatomy(of(a(DDOS(arack( hrp://www.securityskep:c.com/anatomydofddnsdddosdarack.html( DNS(reflec:on(defense( hrps://blogs.akamai.com/2013/06/dnsdreflec:onddefense.html( Protect(the(world(from(your(network( hrp://securityskep:c.typepad.com/thedsecuritydskep:c/2013/04/protec:ngdthedworlddfromdyourd network.html( DNS(Traffic(Monitoring(Series( hrp://www.securityskep:c.com/2014/09/dnsdtrafficdmonitoringdseriesdatddarkdreading.html( Protect(your(DNS(servers(against(DDoS( aracks( hrp://www.gtcomm.net/blog/protec:ngdyourddnsdserverdagainstdddosdaracks/( Fast(Flux(Botnet(Detec:on(in(Real:me( hrp://www.iis.sinica.edu.tw/~swc/pub/fast_flux_bot_detec:on.html( DNS(resource(exhaus:on( hrps://www.cloudmark.com/releases/docs/whitepapers/dnsdresourcedexhaus:ondv01.pdf( | 31 Thank You and Questions ¿Preguntas?( [email protected] @isitreallysafe Contact(ICANN:( [email protected]( @icann( icann.org( safe.mn/icannsecurityteam( | 32