Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Segurana Informtica
3.Ano, 2.Semestre
2014/2015
Relatrio do Trabalho
Tecnologia DNSSEC
Elementos do Grupo:
Eduardo Barata
n 62009028
Joo Barata
n 20130554
Docente:
Osvaldo Santos
Contedo
ndice de Ilustraes ........................................................................................................................... 3
Introduo .............................................................................................................................................. 4
DNS ( Domain name System) .......................................................................................................... 5
Exemplo de um pedido dns ......................................................................................................... 8
Vulnerabilidade DNS Spoofing........................................................................................................ 9
Breve Histria do DNSSEC..............................................................................................................10
O que o DNSSEC?.............................................................................................................................11
O Funcionamento do DNSSEC .......................................................................................................12
A arquitetura DNSSEC ......................................................................................................................15
Formato DNSKEY ..........................................................................................................................15
Exemplo de DNSKEY ...............................................................................................................16
Formato RRSIG ...............................................................................................................................17
Exemplo RRSIG ..........................................................................................................................18
Formato NSEC3 ..............................................................................................................................18
Formato DS ......................................................................................................................................19
Exemplo DS .................................................................................................................................19
Concluso ..............................................................................................................................................20
Bibliografia ...........................................................................................................................................21
ndice de Ilustraes
Ilustrao 1- Hieraquia DNS [2] ..................................................................................................... 5
Ilustrao 2- Localizao dos Root Name Servers [3] ........................................................... 7
Ilustrao 3- Nome e Responsveis e IP dos Root Name Servers [4] .............................. 7
Ilustrao 4 - Pedido DNS [5] .......................................................................................................... 8
Ilustrao 5 DNS Spoofing [7] ......................................................................................................... 9
Ilustrao 6 Cadeia de autenticao [13] .................................................................................13
Introduo
Este trabalho pretende fazer uma breve introduo ao DNS e aos seus problemas,
tentando evidenciar a necessidade de uma nova alternativa.
Essa alternativa o DNSSEC o qual vamos explorar melhor o seu modo de
funcionamento a sua histria e a sua arquitetura.
Cada domnio repartido em zonas, sendo que cada zona uma parte de um
domnio que est registada num ficheiro da base de dados DNS (zone file). Esta
diviso permite dividir a informao em diversos ficheiros e por diversos
computadores, evitando a sobrecarga de uma mquina.
Um servidor pode administrar uma ou mais zonas sendo que deve existir um
servidor de nomes primrio e um secundrio para cada zona. [1]
Servidores Primrios:
-So aqueles onde os domnios e registos so configurados.
- Conhecem os servidores secundrios e enviam-lhes as atualizaes das
suas tabelas periodicamente.
Servidores Secundrios:
-Funcionam como backup e distribuidores de carga de um servidor
primrio.
Root Name Server:
-Servidor do mais alto nvel hierrquico da rvore de DNS
-Contm o mapeamento para os servidores dns primrios dos domnios de
topo.
-Existem apenas 13 Root Name Servers [1]
Hostname
a.root-servers.net
b.root-servers.net
c.root-servers.net
d.root-servers.net
e.root-servers.net
f.root-servers.net
g.root-servers.net
h.root-servers.net
i.root-servers.net
j.root-servers.net
k.root-servers.net
l.root-servers.net
m.root-servers.net
IP Addresses
198.41.0.4, 2001:503:ba3e::2:30
192.228.79.201, 2001:500:84::b
192.33.4.12, 2001:500:2::c
199.7.91.13, 2001:500:2d::d
192.203.230.10
192.5.5.241, 2001:500:2f::f
192.112.36.4
128.63.2.53, 2001:500:1::803f:235
192.36.148.17, 2001:7fe::53
192.58.128.30, 2001:503:c27::2:30
193.0.14.129, 2001:7fd::1
199.7.83.42, 2001:500:3::42
202.12.27.33, 2001:dc3::35
Manager
VeriSign, Inc.
University of Southern California (ISI)
Cogent Communications
University of Maryland
NASA (Ames Research Center)
Internet Systems Consortium, Inc.
US Department of Defence (NIC)
US Army (Research Lab)
Netnod
VeriSign, Inc.
RIPE NCC
ICANN
WIDE Project
O que o DNSSEC?
O Domain Name System Security Extensions (DNSSEC) um conjunto de
especificaes da Internet Engineering Task Force (IETF) com vista a fornecer
segurana informao fornecida pelo Domain Name System (DNS). Esta extenso
ao DNS permite aos clientes de DNS (resolvers) a autenticao da origem dos
dados DNS, a autenticao da negao de existncia e a integridade dos dados mas
no assegura a sua disponibilidade nem confidencialidade. [8]
Para alm disso tambm adicionam dois novos message bits ao header DNS:
O Funcionamento do DNSSEC
O DNSSEC oferece autenticao associando assinaturas criptogrficas geradas
digitalmente aos DNS RRs. Estas assinaturas so guardadas num novo RR, o RRSIG.
Normalmente existe apenas uma chave privada que assina todos os registos de
uma zona ainda que seja possvel o uso de vrias chaves. Por exemplo podem
existir diferentes chaves para cada um dos diferentes tipos de algoritmos de
assinatura digital. [9]
Uma vez que um security-aware resolver obtm de forma segura a chave pblica
da zona, este pode autenticar os dados assinados dessa zona. Um conceito
importante desta aproximao que uma chave assina a zona e no o servidor que
responsvel pela zona. [9]
Um security-aware resolver obtm a chave pblica da zona de duas maneiras
distintas. Uma tendo a chave pblica j guardada no sistema e configurada no
sistema a segunda atravs de uma resoluo de DNS normal. Para permitir a
obteno da chave pblica da segunda maneira, as chaves pblicas so guardadas
num novo tipo de RR, o DNSKEY. Por forma a garantir a segurana, as chaves
privadas devem ser guardadas offline sempre que possvel. Para garantir a
autenticidade da chave pblica obtida atravs da resoluo de DNS essa chave
pblica tem de ser assinada por outra chave previamente autenticada. [9]
Os security-aware resolvers autenticam a informao de zona formando uma
cadeia de confiana desde a chave pblica descoberta at a uma chave publica
autenticada previamente conhecida, chave esta que foi autenticada previamente ou
ento foi configurada no sistema de resolver. Assim sendo o resolver tem de estar
configurada com pelo menos uma chave pblica confivel previamente
configurada. [9]
Este tipo de cadeia de confiana muito semelhante cadeia de confiana dos
certificados digitais onde as autoridades certificadoras tm de vir j configuradas
no sistema do utilizador (normalmente no sistema operativo).
Se a ncora de confiana for uma chave pblica de zona, esta vai autenticar a zona
associada, se no entanto for uma chave pblica que assina uma chave de zona, esta
vai autenticar a chave de zona que por sua vez pode ser usada para autenticar a
zona associada. Se a ncora de segurana for no entanto o hash da chave pblica
em vez da chave em si, o resolver tem de obter a chave atravs de uma query DNS.
[9]
Para ajudar os security-aware resolvers a estabelecer esta cadeia de confiana,
sempre que haja espao na mensagem, os name servers (Servidores DNS que
suportam DNSSEC) enviam na sua resposta as assinaturas necessrias para a
autenticao da chave publica da zona bem como a prpria chave pblica da zona.
[9]
O tipo de RR Delegation Signer (DS) simplifica algumas das tarefas administrativas
envolvidas na delegao de assinaturas ao longo dos limites organizacionais. O RR
DS encontra-se nu ponto de delegao da zona Pai e indica a chave ou chaves
pblicas correspondentes s chaves privadas que foram usadas para assinar a
chave auto assinada no RR DNSKEY que usada na zona filha delegada. Por sua vez
o administrador da zona filha vai usar a chave privada associada a esse DNSKEY
para assinar os registos da zona filha. Tipicamente a cadeia de autenticao a
seguinte:
Este mecanismo apenas oferece uma maneira de assinar RR existentes numa zona.
O problema de fornecer respostas negativas com o mesmo nvel de autenticidade e
integridade requer o uso de um novo tipo de RR, o NSEC. O NSEC permite a um
security-aware resolver autenticar a resposta negativa para um nome ou tipo no
existente com os mesmos mecanismos com que se autenticam outros pedidos DNS.
O uso de RR NSEC requer uma representao cannica e a ordenao dos nomes de
domnio nas zonas. As cadeias NSEC descrevem explicitamente as falhas ou
espaos em branco numa zona e listam os tipos de RR presentes e os seus nomes.
Cada RR NSEC assinada e autenticado como qualquer outro tipo de RR
introduzidos pelo DNSSEC. [9]
Esta implementao apresenta um problema no entanto, a chamada zone
walking. Este problema consiste no facto de um atacante fazer queries sequenciais
ao servidor de DNSSEC por forma a conseguir obter um mapa da rede uma vez que
as respostas NSEC devolvem uma resposta do intervalo de nomes no existentes
podendo por isso obter os nomes de domnio existentes. Este tipo de ataque no
existia no DNS pois este limitava-se a responder com a no existncia de um
determinado nome de domnio, j o DNSSEC responde com o intervalo de nomes
no existentes divulgando logo partida dois nomes existentes.
Por forma a contrariar este problema o RFC5155 veio substituir o NSEC pelo
NSEC3. Ao contrrio do NSEC que autenticava as falhas entre nomes numa zona o
NSEC3 autentica hashes das falhas dos nomes numa zona com um algoritmo de
hash mltiplas vezes adicionado um salt a cada processo de hashing. O salt deve
ser do tamalho do maior algoritmo de hash utilizado por exemplo se se usar o
sha256 o slat deve ser de 256bits. Esta soluo no impede a zone walking mas
em vez de nomes o atacante obtm os hashs desses nomes cujo processo de hash
pode ter sido repetido varias vezes dificultando exponencialmente o processo de
descoberta do nome a cada passagem de hash tornando todo o processo menos
apetecvel para o atacante. [10]
A arquitetura DNSSEC
Formato DNSKEY
O RDATA para o DNSKEY consiste em dois octetos para as Flags, um octeto para o
Protocolo, um octeto para o Algoritmo e um campo para a Chave Pblica. [11]
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Flags
|
Protocol
|
Algorithm
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
/
/
Public Key
/
/
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
[11]
Campo Flags
O bit 7 representa a Zone Key Flag. Se o bit 7 tiver o valor 1, ento trata-se de uma
DNSKEY que guarda uma chave de zona DNS e o nome do dono da DNSKEY deve
ser o nome da zona. Se o valor for 0 a DNSKEY guarda outro tipo de chave pblica
de DNS e no deve ser utilizada para validar RRSIGs.
O bit 15 representa a Secure Entry Point Flag descrita no RFC3757. Se o bit estiver
a 1, a DNSKEY guarda o registo de uma chave que usada como ponto de entrada
seguro. Esta flag usada como auxiliar na assinatura de zona ou em software de
debugging.
Os bits 0-6 e 8-14 esto reservados e devem ter o valor de 0 durante a criao de
DNSKEYs e ser ignorados na leitura. [11]
Campo Protocolo
Este campo deve ter o valor 3, qualquer outro tipo de valor faz com que a DNSKEy
seja considerada invlida.
Campo Algoritmo
Este campo identifica o algoritmo utilizado na criao da chave publica e
determina o formato do campo chave pblica. [11]
Alguns dos algoritmos disponveis e o seu valor:
Value Algorithm [Mnemonic] Signing References
Status
----- -------------------- --------- ---------- --------0
reserved
1
RSA/MD5 [RSAMD5]
n
[RFC2537] NOT RECOMMENDED
2
Diffie-Hellman [DH]
n
[RFC2539]
3
DSA/SHA-1 [DSA]
y
[RFC2536] OPTIONAL
4
Elliptic Curve [ECC]
TBA
5
RSA/SHA-1 [RSASHA1]
y
[RFC3110] MANDATORY
252
Indirect [INDIRECT]
n
253
Private [PRIVATEDNS]
y
see below OPTIONAL
254
Private [PRIVATEOID]
y
see below OPTIONAL
255
reserved
6 - 251
Exemplo de DNSKEY
Formato RRSIG
O RDATA para o RRSIG consiste em dois octetos Type Covered para o tipo de RR
que coberto por este registo RR, um octeto para o algoritmo utilizado, um octeto
para Labels, 4 octetos para o TTL original, 4 octetos para a expirao da assinatura,
4 octetos para determinar a data a partir da qual a assinatura valida, 2 octetos
para a tag da chave, o nome do assinante e a assinatura. [11]
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Type Covered
| Algorithm
|
Labels
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Original TTL
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Signature Expiration
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Signature Inception
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Key Tag
|
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Signer's Name
/
/
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
/
/
Signature
/
/
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Exemplo RRSIG
Formato NSEC3
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Hash Alg.
|
Flags
|
Iterations
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Salt Length |
Salt
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hash Length |
Next Hashed Owner Name
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
Type Bit Maps
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Formato DS
O RDATA para o DS consiste em dois octetos para a tag da chave, um octeto para o
algoritmo, um octeto para o tipo de Digest e o campo de Digest. [11]
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Key Tag
| Algorithm
| Digest Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/
/
/
Digest
/
/
/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Exemplo DS
Exemplo de um DNSKEY e o seu correspondente DS.
dskey.example.com. 86400 IN DNSKEY 256 3 5 ( AQOeiiR0GOMYkDshWoSKz9Xz
fwJr1AYtsmx3TGkJaNXVbfi/
2pHm822aJ5iI9BMzNXxeYCmZ
DRD99WYwYqUSdjMmmAphXdvx
egXd/M5+X7OrzKBaMbCVdFLU
Uh6DhweJBjEVv5f2wwjM9Xzc
nOf+EPbtG9DMBmADjFDc2w/r
ljwvFw==
) ; key id = 60485
dskey.example.com. 86400 IN DS 60485 5 1 ( 2BB183AF5F22588179A53B0A
98631FAD1A292118 )
Concluso
Apesar de ser um grande passo em frente ao nvel da segurana o DNSSEC ainda
apresenta algumas falhas que tm de ser solucionadas at que tenhamos um
sistema verdadeiramente robusto e eficiente de DNS.
O NSEC3 veio mitigar algumas das falhas mais graves do DNSSEC mas o problema
subjacente do zone walking ainda existe e existem testes em que o bruteforce
com recurso a placas grficas conseguiu obter resultados ainda que tenha levado
algum tempo.
Apesar de tudo o DNSSEC apresente um nvel de segurana muito superior ao DNS
e espera-se que a sua disseminao seja cada vez maior por forma a termos uma
internet mais segura.
Bibliografia
[1]
A. Fonte, O. Santos e V. Soares, Aplicaes Internet - Servio DNS, Introduo ao DNS, Castelo Branco,
2014.
[2]
[3]
N. I. Exchange, Many rootservers connected to NL-ix, 21 10 2013. [Online]. Available: https://www.nlix.net/news/95/many_rootservers_connected_to__nlix/. [Acedido em 28 05 2015].
[4]
[5]
Fir3Net, DNS / nslookup - How to find the root servers ?, 31 10 2008. [Online]. Available:
https://www.fir3net.com/Networking/Protocols/dns-nslookup-how-to-find-the-root-servers.html.
[Acedido em 28 05 2015].
[6]
[7]
S. N. Labs, A Short Story of DNSSEC, Stichting NLnet Labs, 27 9 2013. [Online]. Available:
http://www.nlnetlabs.nl/projects/dnssec/history.html. [Acedido em 28 05 2015].
[8]
Wikipedia, Domain Name System Security Extensions, Wikipedia, 26 05 2015. [Online]. Available:
http://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions. [Acedido em 28 05 2015].
[9]
R. Arends, R. Austein, M. Larson, D. Massey e S. Rose, RFC4033, Network Working Group - IETF, 03
2005. [Online]. Available: http://www.ietf.org/rfc/rfc4033.txt. [Acedido em 28 05 2015].
[10] R. v. Rein, Cryptographic sanity: NSEC3 parameters, Surf Net, 20 05 2010. [Online]. Available:
https://dnssec.surfnet.nl/?p=60. [Acedido em 28 05 2015].
[11] R. Arends, R. Austein, M. Larson, D. Massey e S. Rose, RFC4034, Network Working Group - IETF, 03
2005. [Online]. Available: http://www.ietf.org/rfc/rfc4034.txt. [Acedido em 28 05 2015].
[12] B. Laurie, G. Sisson, R. Arends e D. Blacka, RFC5155, Network Working Group -IETF, 03 2008. [Online].
Available: http://www.ietf.org/rfc/rfc5155.txt. [Acedido em 28 05 2015].
[13] R. v. Rijswijk, How many keys #2, Surf Net, 9 09 2010. [Online]. Available:
https://dnssec.surfnet.nl/?p=509. [Acedido em 28 05 2015].
[15] O. N. Cert, Signs of a DNS Cache Poisoning Attack, Oman Natianal Cert, [Online]. Available:
http://www.cert.gov.om/media_news_details.aspx?news=20#.VWjaqEarFXM. [Acedido em 28 05 2015].