Operadora Oi passará a vender iPhone no Brasil antes do Natal

Nós estávamos aguardando alguma posição oficial da Apple ou da operadora, mas, com tantas informações quentes e correspondentes, não há mais muita escapatória: a Oi passará a vender o iPhone no Brasil antes do Natal. …

Continue lendo »
Home » Apple, Internet, Mac OS X, Segurança

Problema crítico de segurança do DNS e a falta de resposta da Apple

Colaboração especial por Ricardo Rocha.

Há duas semanas, foi divulgada uma falha crítica de segurança no serviço de DNS que, sem ser alarmista, tem o potencial de colocar em risco cada usuário da internet. Desta vez, a falha não foi descoberta nesse ou naquele produto ou sistema operacional: é o próprio protocolo de DNS que possui uma falha e que afeta todo cliente e servidor de DNS, em qualquer sistema operacional.

A solução temporária para o problema foi modificar softwares de maneira a tornar a exploração da falha mais difícil. Para entender o problema, é necessário entender o que é e como funciona o serviço de DNS. Se você já sabe o que é o DNS, pule os primeiros parágrafos deste artigo.

O DNS (Domain Name Server) é um serviço que converte (ou resolve) nomes de máquinas em endereços IP. Por exemplo, quando digitamos no navegador o endereço http://www.macmagazine.com.br, a primeira tarefa que ele executa é solicitar a conversão deste nome para o respectivo endereço IP (no caso, 72.47.239.48). Sem este endereço IP, o navegador ou qualquer software que acessa a internet não pode fazer nada.

A conversão é solicitada ao cliente de DNS local da máquina, que repassa o pedido ao servidor de DNS para o qual a máquina está configurada. O endereço do servidor de DNS é configurado na máquina no mesmo momento em que a estação obtém um endereço IP (além de outras informações) do provedor, considerando um acesso residencial tradicional. Para saber o servidor de DNS no Mac OS X, basta vá nas Preferências do Sistema » Rede » Avançado e clique na aba DNS.

A internet mantém servidores de DNS distribuídos, responsáveis por fazer esses mapeamentos de nomes em endereços. Cada domínio ou sub-domínio na internet mantém o seu próprio servidor e ela mantém um conjunto de servidores-raízes, responsáveis por fazer a primeira resolução de domínios. Uma resolução deve passar por todos os servidores, desde o de nível mais alto, até o mais específico.

Para simplificar a discussão: quando um servidor recebe a resposta de uma resolução de nome, para manter as próximas resoluções mais eficientes, ele mantém por um tempo na memória (cache) o endereço IP obtido. Assim, na próxima resolução basta acessar a memória, ao invés de repassar novamente o pedido aos vários servidores de DNS. O servidor de DNS do provedor de acesso para o qual nossa máquina está configurada mantém na memória cache os IP de todas as resoluções solicitadas pelos clientes do provedor.

A própria máquina cliente mantém um cache local das resoluções efetuadas, de maneira a solicitar ao servidor apenas quando precisa resolver um nome diferente. No Mac OS X, você pode verificar as entradas que estão no cache local digitando o seguinte comando no Terminal:

dscacheutil -cachedump -entries host

Não é difícil perceber que o funcionamento do DNS é crítico para a internet. Só para você ter uma idéia, no recente apagão da Telefônica, houve relatos de usuários que conseguiram acessar a internet normalmente apenas modificando o endereço do servidor de DNS para um servidor externo à rede da Telefônica.

Há uma técnica conhecida há anos para enganar servidores de DNS conhecida por “envenenamento de cache”. Nesta técnica, um usuário mal intencionado envia uma resposta a um pedido de resolução de nome para um servidor de DNS antes do servidor correto, enganando quem fez o pedido que coloca a resposta no seu cache. Por exemplo, o usuário mal intencionado poderia colocar o endereço de uma máquina que ele controla como resultado da resolução do endereço de um banco. Neste caso, quem está acessando o banco não teria idéia de que está acessando uma outra máquina. Não é difícil perceber o tamanho do estrago que isso pode causar!

O que há de novidade nisso tudo é que um pesquisador chamado Dan Kaminsky descobriu que, devido a uma falha no protocolo de DNS, é possível realizar o envenenamento de cache em poucos segundos em virtualmente qualquer servidor de DNS, como o BIND (usado no Mac OS X).

Essa descoberta foi alarmante, sendo discutida secretamente entre as várias empresas que produziam servidores e clientes de DNS. Depois de seis meses, essas empresas lançaram patches ao mesmo tempo para todos os seus produtos, em uma iniciativa conjunta inédita, até então. Só foi aí que o problema se tornou público, embora ninguém tivesse revelado como explorar a falha (e enganar os servidores). O segredo durou 13 dias: a informação apareceu em um blog e na última quinta (dia 24) já havia pelo menos duas ferramentas cracker prontas para explorar a falha.

E qual a relação disso tudo com a Apple?, você me pergunta.

Apesar dos seis meses em que as empresas — incluindo a Apple — conheciam a falha, do lançamento no dia 08 de julho de uma correção em conjunto de todos as empresas e de já existirem, desde o último dia 24, ferramentas prontas para explorá-la, até agora a Apple não lançou uma correção para o Mac OS X! E o pior de tudo: o BIND já foi corrigido desde o dia 08, também. Todas as versões do Mac OS X estão vulneráveis, embora os alvos mais interessantes para os crackers sejam os servidores baseados em Mac OS X.

Enquanto a Apple não solta uma atualização, não há muito o que fazer nas máquinas clientes Mac OS X. Entretanto, é necessário garantir que o servidor de DNS para o qual a máquina está configurada não é um servidor Mac OS X Server. Se for este o caso, pode-se configurar a máquina para utilizar outro servidor de DNS primário, sendo uma opção segura os servidores do OpenDNS. Os IPs do OpenDNS são 208.67.222.222 e 208.67.220.220.

Para quem possui máquinas Mac OS X Server e que atuam como servidores de DNS de algum domínio, então é necessário urgentemente instalar uma versão mais recente do BIND (9.0.5-P1). Este processo terá que ser manual, talvez envolva a compilação do código fonte do BIND e irá sobrescrever a configuração padrão do SO. Portanto, cuidado! Para quem usa o Mac Ports, a instalação se torna bem mais fácil e a versão mais recente do BIND já está disponível.

Agora, nem tudo são flores para quem não usa Mac OS X. De nada adianta ter o SO atualizado e com o problema corrigido se o servidor de DNS do seu provedor de acesso ou domínio não instalou a atualização. E, pelos comentários recentes, a taxa de atualização dos servidores tem sido mais lenta do que esperado. Em caso de dúvida, pode-se utilizar também o OpenDNS.

Uma discussão aprofundada sobre este problema e a falta de resposta da Apple pode ser encontrada aqui. Minha última recomendação é torcer para que a Apple faça o dever de casa e lance uma atualização ainda nesta semana! Run, Forrest, run!

« Pixar libera primeiro teaser de 45 segundos da sua próxima grande produção: “Up” Mac é Pop no seriado gay “Queer as Folk” »

Artigos relacionados

Quem escreve?

Autor Convidado
Autor Convidado
Este artigo foi escrito por um autor convidado do MacMagazine. Se você quiser enviar uma colaboração especial para nós, saiba que ela será muito bem-vinda! ;-) Não garantimos a publicação de qualquer artigo aqui no site, mas se for pertinente e bem escrito, a probabilidade de ir ao ar é muito grande.

Produtos do seu interesse

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

36 Comentários »

  • ilo disse:

    tao preocupados demais com o fucking iphone

  • Pedro disse:

    Não entendo muito sobre problemas de DNS, mas deu pra ter uma ideia do grande problema….

    eu começei a usar o OpenDNSa 2 semanas atrás, não notei diferença na conexão, mas deve ser usado para segurança, não?? :)

  • Felipe Lucena disse:

    Sinceramente, titio Jobs se esqueceu por que ele realmente lutou grande parte de sua vida ! o sistema Mac OS ! sim mas o iPhone ? …. iPhone não passa de um celular com inumeras funções, baseado em algum smartphone Dái. Pelo que sei titio, não foi o iPhone que fundou a Apple não, nem seu hardware, que no começo era baseado no Atari !!

    Sei que o Mac OS veio da Xerox, idaí ? ele lutou mais pelo Mac OS do que qualquer outro Hardwarezinho fulerage aii, e agora olha a situação. Eu aposto que se a AMD, Transmeta, ou qualquer outra impresa aí que apareçer com um processador Custo x Desempenho Obvio que a Apple iria ultiliza-lo, mas o que a Apple ou Jobs não iria deixar era seu precioso “Felino” Que faz sucesso não só em computadores Apple, mas em todos que tem coração e dignidade por um sistema e um mundo melhor !!!

    Se errei algo ou falei alguma besteira sinto muito, mas o que não posso deixar e de falar o correto e o que penso !!!

  • liquuid disse:

    Quem é do ramo sabe que o bind é um lixo, um poço de bugs … Quem tem algum juizo usa qualquer outra opção de DNS… E olha que não falta opções, tem uns 20 servidores DNS diferentes para sistemas Unix e muitos deles rodam bem no OSX.

    A configuração de um servidor DNS é complicada, exige um bom conhecimento e eu garanto que nem 1/10 dos garotos que saem das faculdades de TI tem noção de como configurar um server DNS, mesmo nas faculdades gringas.

    A não ser que o sysadmin do mac osx server seja um banana, um verdadeiro inútil por assim dizer ele sabe que não deve em hipotese alguma usar os servidores padrão do OSX server, pois em sua maioria eles são capados de várias possibilidades, e são bem desatualizados quando comparados com distros linux bem conservadoras.

    Eu até entendo que os OSX server seja voltado para um público n00b, mas qualquer sysadmin competente vai rodar o bind em jail, e por ser uma solução não trivial a apple provavelmente não suporta esse tipo de solução. Ou seja, não depende da apple pra atualizar o bind ou qualquer outra coisa.

    Não to menospresando a falha, ela é grave porém servidores DNS sempre foram risco de segurança quando mal configurados, e quase sempre eles estão mal configurados, então o problema sempre existiu e vai continuar assim. Só não vemos tantos casos de envenenamento de DNS porque a molecada tem preguiça de entender como essas coisas funcionam…

    Anyway, imagino que a maior rede gerenciada por um OSX server com servidor DNS deve ser a da casa do Jobs, então o mundo tá seguro.

  • Alexandre disse:

    a solucao temporaria para o bind 9. é fechar o acesso recursivo para apenas classe ip dos clientes. essa configuracao sempre foi OBRIGATORIA. mas vários admins simplesmente ignoram essa configuração e deixam ela aberta para qualquer um usar o servidor de dns.

    outra solução é setar o dnssec na configuração. nesse site explica
    http://www.howtoforge.com/how-to-patch-bind-to-avoid-cache-poisoning-fedora-centos

    a um tempo atras coloquei no meu blog um pequeno tutorial de como configurar o acesso recursivo apenas para a rede da empresa. se alguem tiver interesse o endereco:
    http://algorges.blogspot.com/2007/12/dns-recursivo-e-zonas-separadas.html

  • TIGOS disse:

    Sei lá… to achando que esse iPhone ta estragando a Apple!

    Quanto ao OpenDNS, é bom, mas LEEEEEEEEEEEEEEEEEEEEEENTO!

    Uso da Optiglobe e o resultado é muito mais satisfatorio.

  • herbertgeo disse:

    Só fazendo uma pequena lembrança ao colega Ricardo, que o serviço em questão é o O DNS (Domain Name Server System).

  • House disse:

    Tenho Iphone, comprei na O2 aqui em Londres e estou decepcionado demaisssssss…..lentissimo, nao funciona muitas vezes programas comprados na app store, reinicia do nada, bateria que acaba depois de 2 horas de internet, gps que funciona nas coxas, enfim pequenos grandes problemas…assinei um contrato e vou respeitar rezando que o prossimo update resolva estes problemas…quanto ao ME esta uma merd…tao grande que estou cancelando minha assinatura e pedindo o dinheiro de volta…acho que a apple deve retornar a fazer mac…e deixar o Iphone caminhar sem pressao, porque se o Titio Jobs morre agora, a apple depende de muitas coisas e a maioria esta ligada a dobradinha Iphone aap store…isso nao e bom.

  • Dkyle disse:

    Gente desculpe a ignorância, mas a única coisa realmente que ficou clara para mim nesse artigo foi que leopard tem uma falha grave de segurança quando se navega pela internet (acertei!?). bem no mais só queria saber como em termos práticos, do dia-dia, de quem baixa, navega pela rede – usuário comum – como seremos afetados?
    Valeu.

  • ezequiel disse:

    @liquuid, os caras que saem das faculdades gringas têm apenas noção de programação básica… trabalho com estrangeiros que não sabem nada quase de programação quando saem da faculdade … enquanto os que mais sabem, nunca sentaram numa cadeira de faculdade… os que saíram das faculdades, sabem pouco ou, por exemplo, tem um cara da minha antiga equipe que é fã dos brasileiros pq a gente praticamente “ensinou” ele a programar… há menos de 6 meses, após eu falar para uma consultora (contratada para programar) que ela deveria olhar o código da classe X, ela respondeu com: What do you mean by code? (”O que tu quer dizer com código?”)
    imagina o nível dos caras em relação a DNS, redes, etc…

  • ASF disse:

    Parabéns Rafael, ótimo post!

  • ASF disse:

    Desculpe liquuid, mas BIND não é um lixo e acho que você não compreendeu que o problema não diz respeito a uma implementação específica e sim a um problema de DNS do serviço.

    Informe-se!

  • Dragão Silente disse:

    Bind é um lixo??? Pombas, primeira vez que vejo alguém falar isso.

  • Alexandre disse:

    o problema acontece apenas no servidor de DNS. no caso o BIND. para quem usa o Mac apenas para navegação, não existe problema, visto que se usa apenas o client de dns e não o servidor de dns para navegação.

  • Deny Dias disse:

    Realmente, o artigo é bom do ponto de vista técnico, mas pouco instrutivo do ponto de vista do usuário, aqueles como a maioria de nós.

    Basicamente, o perigo para nós mortais reside no fato de um servidor DNS ser atacado por um cracker (o cara do mal) e usar a falha para resolver um endereço para um IP de um servidor que não é o que você procura. Por exemplo, você acessa http://www.macmagazine.com.br e deveria esperar o IP 72.47.239.48, como colocado pelo Rafael. Contudo, se o seu provedor NÃO ATUALIZOU o servidor DNS deles E FOR ATACADO, o cara do mal faz com que o servidor DNS do seu provedor responda para o endereço http://www.macmagazine.com.br o IP 83.140.176.146. Acontece que, este IP pode ser o do cara do mal com uma penca de virus, malwares, trojans e tudo o mais que for de ruim pronto para ser enviado ao seu computador, enquanto você vê nada mais do que um fake da página do MacMagazine. Sinistro, não?

    O melhor para “o resto de nós” é usar o OpenDNS mesmo.

  • ASF disse:

    Retificando: o problema não diz respeito a uma implementação específica do DNS e sim ao design do serviço.

  • ASF disse:

    Alexandre,

    É isso mesmo, o problema diz respeito aos servidores DNS.

    Portanto o sistemas do usuário/cliente de rede (desde que não possua um DNS server instalado) aparentemente está livre do problema. Digo aparentemente porque como ele depende do funcionamento correto do servidor, também acaba sendo afetado pela vulnerabilidade em questão.

  • Alexandre disse:

    Isso ASF. o usuário pode ser enganado e encaminhado a uma página fake, porque o servidor de dns que o usuario usa pode ter sido atacado.

    Mas para o usuario existe outras proteções, como anti phising nos navegadores e tal.
    O problema mais grave é no servidor.

  • Antonio Augusto Grisi Pizolato disse:

    Pelo que entendi o problema afeta o servidores DNS dos provedores e não tem muito o que os clientes possam fazer a não ser mudar manualmente os DNS padrão de seus provedores por outros DNS que já atualizaram seu servidores, Eu só quer saber uma coisa eu uso speedy e será que a telefone já atualizou seu servidores DNS ou vou ter que configurar outros.

  • Alexandre disse:

    Você pode acessar o site do cara q descobriu o bug e fazer um teste. http://www.doxpara.com/

    o site identifica usando o seu ip, o servidor de dns que responde a classe ip da telefonica.

  • Hiro disse:

    Ultimamente não tenho conseguido acessar certos sites. Aqui na rede, todos os outros computadores (PCs), acessam os sites normalmente. Só o meu que não consegue. Poderia um provedor ou serviço de hospedagem bloquear o acesso de máquinas com OSX para prevenir ataques da natureza discutida nestes posts? O servidor em questão é o do TeHospedo. Alguém usa este serviço? Eu não consigo nem mais efetuar conexão em FTP. Já falei com o suporte e ninguém soube me responder com certeza, já que disseram que o meu problema “deve ser de configuração local”… Mas eu acesso qualquer outro site, menos os hospedados lá… Se vocês puderem tentar entrar para ver se seus macs acessam, eu agradeço. Um outro site hospedado lá é http://www.altamiraeditorial.com.br
    Se está havendo este problema com DNS e alguém começar a bloquear acessos de máquinas identificadas como macs para prevenir ataques, o que daria pra fazer?

  • Antonio Augusto Grisi Pizolato disse:

    Alexandre
    fiz o Teste no site http://www.doxpara.com como vc disse e ele respondeu:

    Your name server, at 200.204.0.155, appears to be safe, but make sure the ports listed below aren’t following an obvious pattern (:1001, :1002, :1003, or :30000, :30020, :30100…).

    gostaria de uma ajuda na tradução.

  • ASF disse:

    Hiro,

    O problema com o DNS não diz respeito especificamente ao Mac e não há qualquer motivo para bloquear o acesso de usuários do Mac OS X a qualquer serviço ou site na Internet (e ponto).

    Existe um problema em praticamente todos os DNS servers de todos os sistemas operacionais em uso (WIndows, Linux, BSD, Mac OS X, etc).

    A maioria dos desenvolvedores destes sistemas já liberou correções para seus softwares exceto a Apple até o momento. Mas o DNS da Apple roda no Mac OS X Server, não no sistema que está instalado no seu Mac, portanto nesse sentido você não tem com o que se preocupar.

    Quanto a URL que você passou ((http://www.altamiraeditorial.com.br) ), ela está perfeitamente acessível e funcionando corretamente.

    Se você não consegue acessá-la verifique com o seu provedor de acesso a internet a razão disse ele precisa ajudá-lo a resolver o problema (provavelmente você está pagando por isso).

    Se você suspeita que o problema pode estar relacionado com a configuração do servidor de DNS do seu provedor e ele se recusa a ajudá-lo, experimente utilizar os serviços do OpenDNS (leia dica acima).

  • Joaquim disse:

    @ Rafael

    O texto está com um problema, ou pelo menos ficou estranho.

    “O que há de novidade nisso tudo é que um pesquisador chamado Dan Kaminsky descobriu que, devido a uma falha no [b]protocolo[/b] [i]protocolo[/] de DNS, é possível realizar o envenenamento de cache em poucos segundos em virtualmente qualquer servidor de DNS, como o BIND (usado no Mac OS X).”

    Mas no geral continua num ótimo nível!

    Abraço!

  • @Joaquim: obrigado, corrigido! ;)

  • Dkyle disse:

    Galera, tudo muito técnico, mesmo que bem explicado, porém uma dúvida, quem é apenas usuário comum também tem que migrar (usei o termo correto?) para o OpenDNS?

  • ASF disse:

    Dkyle,

    Respondendo sem rodeios a sua pergunta: Não, não precisa ‘migrar’ para OpenDNS.

    Como já dito aqui, o assunto deve preocupar essencialmente os administradores de sistemas (responsáveis pelos servidores de rede), não o usuário final.

  • Tem outro erro ali também:

    “Enquanto a Apple não solta uma solta uma atualização, não há muito o que fazer nas máquinas clientes Mac OS X. ”

    []’s

  • Bandeira disse:

    A 1 mês eu passei usar o maradns do macports, se é melhor que o bind não sei, mas pelo menos gasta 1/10 de memória a menos que o bind.

    PS: Ele tem um erro no script do launchctl, fiquei de reportar mas tinha que fazer cadastro.

    nano /opt/local/etc/LaunchDaemons/org.macports.maradns/maradns.wrapper

    Linha 18 deixar assim: [ -x ${BIN} ] && ${BIN} & echo $! > ${PID}

    Era assim: [ -x ${BIN} ] && ${BIN} &; echo $! > ${PID}

  • Alexandre disse:

    para servidor de cache de dns eu uso o djbdns. super rapido para essa funcao.
    para servidor de nomes eu uso o bind por questoes de compatibilidade com os clientes

  • Bandeira disse:

    Alexandre, você sabe se fica bom maradns + djbdns? Esse não conhecia.

    Com o djbdns mesmo eu reiniciando o computador o comando dig vai ser sempre perto de 0?

    Uso madadns + squid :)

  • [...] lendo Problema crítico de segurança do DNS e a falta de resposta da Apple (945 [...]

  • Bandeira disse:

    Nesse site http://www.doxpara.com/ , na sidebar da direita tem um botão que checa o DNS, basta clicar para fazer o teste.

Deixe um comentário!

Envie o seu comentário abaixo, ou um trackback do seu próprio site. Você também pode assinar estes comentários via RSS.

Seja legal. Jogue limpo. Foque-se no tópico. Sem spam.

Você pode usar estas tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Este blog é integrado ao Gravatar. Crie um você também!

Aviso: todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste weblog ou de seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste weblog reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação de seu autor (nome completo e endereço válido de email) também poderão ser excluídos.