kaminsky bug - bailiwicks

5

Eu tenho lido sobre o bug do DNS kaminsky, tentando entender melhor como ele funciona. Acho que tenho a essência disso, mas Dan menciona bailiwicks, sendo usado para direcionar servidores DNS por trás de firewalls.

Alguém pode explicar o que é um bailiwick e dar um exemplo de como ele é usado para direcionar servidores atrás de firewalls para explorar o bug kaminsky?

    
por Bill Gray 15.07.2009 / 01:40

2 respostas

3

Bailiwick

O artigo do Linux Journal que Ehtyar postado tem uma boa explicação sobre o que é um bailiwick e como ele se relaciona com o DNS. Basicamente, registros extras são adicionados a uma resposta de DNS para ajudar a localizar servidores DNS delegados. Para citar o exemplo do artigo:

$ dig @ns1.example.com www.example.com
;; ANSWER SECTION:
www.example.com.    120      IN    A    192.168.1.10

;; AUTHORITY SECTION:
example.com.        86400    IN    NS   ns1.example.com.
example.com.        86400    IN    NS   ns2.example.com.

;; ADDITIONAL SECTION:
ns1.example.com.    604800   IN    A    192.168.2.20
ns2.example.com.    604800   IN    A    192.168.3.30


Ataque

Detalhes sobre o ataque estão nos slides de Dan (ver slides 24/25). Para atacar um servidor atrás de um firewall:

  • Uma pesquisa por um subdomínio de um domínio que o invasor controla (por exemplo, ' 1.badguy.com ') é acionada.
  • O servidor atacante responde com um registro CNAME para o domínio que está tentando envenenar (por exemplo, ' debian.org '). Isso faz com que uma consulta DNS do destino seja ' debian.org '.
  • Assim que o servidor atacante envia o referencial CNAME, ele começa a transmitir respostas DNS falsificadas que incluem uma resposta adicional (por exemplo, ' security.debian.org ' apontando para o endereço IP ' badguy.com ').
  • Se o ID da transação na resposta for adivinhado corretamente, o servidor atrás do firewall agora acredita que ' security.debian.org ' resolve o endereço do vilão.

Existem várias maneiras de colocar o servidor atrás do firewall para procurar um endereço IP, solicitações internas do cliente, resolução de endereços IP em logs do servidor, etc. bortzmeyer menciona que o firewall é amplamente irrelevante neste ataque.

    
por 15.07.2009 / 08:45
6

Como mencionado por Mark Johnson, o bailiwick de um servidor DNS é o conjunto de domínios para os quais é autoritativo. De cada vez, servidores de nomes recursivos dados aceitos fora do bailiwick de servidores de nomes com autoridade. Assim, o servidor de nomes autoritativo para foo.example poderia adicionar dados em sua resposta informando o endereço IP de www.bar.example e ele foi acreditado. Essa foi a base do ataque Kashpureff . Para longo tempo, os servidores de nomes não acreditam mais em dados fora do instruído por RFC 2181 , seção 5.4.1.

O ataque Kaminsky não não usa dados fora do bailiwick e portanto, trabalhou com servidores de nomes recentes também. o Linux Journal artigo mencionado por Luke Quinane explica isso muito bem (mas o resto do post do Luke Quinane, especialmente sobre firewalls, é questionável.)

Em relação aos firewalls, isso é principalmente um problema não relacionado. Se um servidor de nomes quer receber respostas para suas consultas, ele precisa estar acessível para se tem um firewall ou nem na frente dele não importa: o Ataque Kaminsky precisa de apenas um canal, o DNS.

Como o ataque Kaminsky está no servidor de nomes, as máquinas clientes usará, se essas máquinas estão protegidas ou não pelo firewall não importa. (Um bom exemplo do porque um firewall não é uma mágica dispositivo e não protege tudo.)

    
por 20.07.2009 / 12:36