Advertencia: macOS Sequoia 15 puede omitir el cifrado DNS
DNS encryption 101
- Cuando escribes un nombre de host en el navegador web (por ejemplo, apple.com), ese nombre debe convertirse en una dirección IP para que la computadora pueda conectarse al servidor
- Esta consulta normalmente se realiza sin cifrado, por lo que el proveedor de internet y otras partes que monitorean la conexión pueden ver qué sitios visitas
- Para proteger estas consultas, Little Snitch 6 ofrece una nueva función llamada cifrado DNS
- Cuando el cifrado DNS está activado, todas las consultas de nombres se realizan de forma cifrada a través de Little Snitch
- Para ello, Little Snitch registra un proxy DNS, y macOS envía todas las solicitudes DNS a ese proxy para resolverlas de forma cifrada
Pero...
- Mientras investigaban problemas relacionados con DNS en macOS 15 Sequoia, descubrieron que algunas solicitudes DNS (en especial las hechas mediante ciertas API heredadas de bajo nivel) no se envían al proxy
- Al parecer, hay un bug en macOS Sequoia que hace que algunas solicitudes eviten el proxy DNS instalado y se envíen sin cifrado al servidor de nombres predeterminado del sistema
- Este bug podría afectar no solo a Little Snitch, sino a cualquier tipo de proxy DNS
- Por lo tanto, si usas la nueva función de cifrado DNS de Little Snitch 6 o cualquier otro proxy DNS de terceros, debes saber que algunas consultas DNS podrían omitir el proxy hasta que Apple lo corrija en una futura actualización de macOS
- Como referencia, las consultas DNS realizadas mediante API de nivel superior no se ven afectadas por este bug. Por ejemplo, la navegación web en Safari o Chrome sigue beneficiándose de consultas cifradas. En cambio, Firefox podría verse afectado
Cómo reproducirlo
- Activa el cifrado DNS en la configuración de Little Snitch
- Inicia Wireshark con el filtro de captura
port 53
- Ejecuta el siguiente código en un playground de Xcode:
import Foundation
let domain = "dnsproxytest.com"
var result: UnsafeMutablePointer<addrinfo>?
let status = getaddrinfo(domain, nil, nil, &result)
- Puedes confirmar que la consulta para
dnsproxytest.com aparece en Wireshark sin cifrado por el puerto UDP 53 (el valor predeterminado para consultas no cifradas)
- Además, el monitor de red de Little Snitch no muestra ningún tráfico para esa consulta. Esto se debe a que la consulta evitó por completo el filtro de red
- Este bug ya fue reportado a Apple, y esperan una corrección rápida. Seguirán compartiendo actualizaciones
Actualización 2024-09-17, 7:10 p. m.
- Según una investigación adicional, este bug existe al menos desde macOS 14.5 Sonoma, y es posible que también esté presente en versiones anteriores. Actualmente no tienen acceso a sistemas 14.x más antiguos, por lo que no pueden probarlo
Resumen de GN⁺
- Este artículo trata sobre un bug en macOS Sequoia 15 que puede omitir el cifrado DNS
- El cifrado DNS es una función importante para proteger la privacidad de los usuarios de internet
- Este bug afecta especialmente a las solicitudes DNS realizadas mediante API heredadas de bajo nivel
- Hasta que Apple resuelva este problema, los usuarios deben saber que algunas consultas DNS podrían no estar cifradas
- Otros proyectos que ofrecen funciones similares incluyen soluciones de filtrado DNS como Pi-hole
1 comentarios
Gracias por la información importante.
Por lo pronto, es un alivio saber que Safari y Chrome parecen ser seguros.