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

Documentos relacionados