Aviso: o macOS Sequoia 15 pode contornar a criptografia de DNS
Criptografia de DNS 101
- Quando você digita um nome de host no navegador (por exemplo, apple.com), esse nome precisa ser convertido em um endereço IP para que o computador consiga se conectar ao servidor
- Essa consulta normalmente é feita sem criptografia, permitindo que o provedor de internet e outras partes que monitoram a conexão vejam quais sites você visita
- Para proteger essas consultas, o Little Snitch 6 oferece um novo recurso: criptografia de DNS
- Quando a criptografia de DNS está ativada, todas as consultas de nomes são feitas de forma criptografada por meio do Little Snitch
- Para isso, o Little Snitch registra um proxy DNS, e o macOS envia todas as requisições de DNS para esse proxy, realizando as consultas de forma criptografada
Mas...
- Durante a investigação de problemas relacionados a DNS no macOS 15 Sequoia, foi descoberto que algumas requisições de DNS, especialmente as feitas por determinadas APIs legadas de baixo nível, não estão sendo encaminhadas ao proxy
- Parece haver um bug no macOS Sequoia que faz com que algumas requisições contornem o proxy DNS instalado e sejam enviadas sem criptografia para o servidor de nomes padrão do sistema
- Esse bug pode afetar não só o Little Snitch, mas qualquer tipo de proxy DNS
- Portanto, se você usa o novo recurso de criptografia de DNS do Little Snitch 6 ou qualquer outro proxy DNS de terceiros, deve estar ciente de que algumas consultas de DNS podem contornar o proxy até que a Apple corrija isso em uma futura atualização do macOS
- Vale observar que consultas de DNS feitas por APIs de nível mais alto não são afetadas por esse bug. Por exemplo, a navegação na web no Safari ou no Chrome continua se beneficiando de consultas criptografadas. Já o Firefox pode ser afetado
Como reproduzir
- Ative a criptografia de DNS nas configurações do Little Snitch
- Inicie o Wireshark com o filtro de captura
port 53
- Execute o seguinte código em um Playground do Xcode:
import Foundation
let domain = "dnsproxytest.com"
var result: UnsafeMutablePointer<addrinfo>?
let status = getaddrinfo(domain, nil, nil, &result)
- Você pode confirmar no Wireshark que a consulta para
dnsproxytest.com aparece sem criptografia na porta UDP 53 (o padrão para consultas não criptografadas)
- Além disso, o monitor de rede do Little Snitch não mostra nenhum tráfego referente à consulta. Isso indica que a consulta contornou completamente o filtro de rede
- Esse bug já foi reportado à Apple, e a expectativa é de uma correção rápida. Novas atualizações serão publicadas conforme houver novidades
Atualização 2024-09-17, 19:10
- Investigações adicionais mostraram que esse bug existe pelo menos desde o macOS 14.5 Sonoma, e pode estar presente também em versões anteriores. No momento, não há acesso a sistemas 14.x mais antigos para realizar testes
Resumo do GN⁺
- Este artigo trata de um bug no macOS Sequoia 15 que pode permitir o contorno da criptografia de DNS
- A criptografia de DNS é um recurso importante para proteger a privacidade dos usuários na internet
- Esse bug afeta especialmente requisições de DNS feitas por APIs legadas de baixo nível
- Até que a Apple resolva o problema, os usuários devem estar cientes de que algumas consultas de DNS podem não ser criptografadas
- Outros projetos com funcionalidade semelhante incluem soluções de filtragem de DNS como o Pi-hole
1 comentários
Obrigado pelas informações importantes.
Antes de mais nada, é um alívio saber que Safari e Chrome parecem estar seguros.