Las amenazas a la privacidad y la seguridad en Internet son cada vez más graves. Nosotros en Mozilla los seguimos de cerca. Consideramos nuestro deber hacer todo lo posible para proteger a los usuarios de Firefox y sus datos.
Nos preocupan las empresas y organizaciones que recopilan y venden en secreto datos de usuarios. Por lo tanto, agregamos
protección de seguimiento y creamos una
extensión de contenedor de Facebook . Más medidas de protección aparecerán en los próximos meses.

Ahora estamos agregando dos tecnologías más a la lista:
- HTTPS DNS es el nuevo estándar IETF en el que participamos en el desarrollo
- Trusted Recursive Resolver: una nueva forma segura de resolver DNS, proporcionada junto con Cloudflare
Gracias a estas dos iniciativas, se están eliminando las filtraciones de datos que han sido parte del sistema de nombres de dominio desde su creación hace 35 años. Y necesitamos su ayuda en las pruebas. Veamos cómo HTTPS DNS y Trusted Recursive Resolver protegen a nuestros usuarios.
Pero primero, veamos cómo se transmiten las páginas web a través de Internet.
Si ya sabe cómo funcionan DNS y HTTPS, puede pasar al tema de cómo
DNS ayuda sobre HTTPS .
Curso corto de HTTP
Cuando las personas explican cómo un navegador carga una página web, generalmente lo explican así:
- Su navegador realiza una solicitud GET al servidor.
- El servidor envía una respuesta, que es un archivo que contiene HTML.

Este sistema se llama HTTP.
Pero este esquema está demasiado simplificado. Su navegador no habla directamente con el servidor. Probablemente porque no están cerca el uno del otro.
Un servidor puede estar a miles de kilómetros de distancia. Y probablemente no haya una conexión directa entre su computadora y el servidor.

Por lo tanto, antes de que la solicitud llegue del navegador al servidor, pasará por varias manos. Lo mismo es cierto para la respuesta.
Pienso en ello como escolares que se pasan notas en el aula. Afuera, la nota dice a quién está destinada. El niño que escribió la nota se la entregará a un vecino. Luego, el próximo niño lo pasa a uno de los vecinos, probablemente no al destinatario final, sino a alguien que está en la dirección correcta.
- Psst ... pasa esto a SandyEl problema es que cualquiera en el camino puede abrir la nota y leerla. Y no hay forma de saber de antemano en qué dirección irá la nota, por lo que no se sabe qué personas tendrán acceso a ella.
Puede estar en manos de personas que harán cosas dañinas ...
Por ejemplo, compartirán el contenido de una nota con todos.
- Oh, es jugoso ... Hola gente! ¡Danny se enamoró de Sandy!O cambia la respuesta.
"¿Yo también te gusto?"
- Jeje, me burlaré de él y escribiré "No" ...Para resolver estos problemas, se ha creado una nueva versión segura de HTTP. Se llama HTTPS: es como un bloqueo en cada mensaje.

Solo el navegador y el servidor conocen la combinación para desbloquear. Incluso si los mensajes pasan por varios enrutadores, solo usted y el sitio web pueden leer el contenido.
Esto resuelve muchos problemas de seguridad. Pero todavía hay mensajes sin cifrar entre su navegador y servidor. Entonces, las personas en el camino aún pueden interferir en sus asuntos.
Por ejemplo, los datos aún están abiertos durante la configuración de la conexión. Al enviar el mensaje original al servidor, también envía el nombre del servidor en el campo "Indicación del nombre del servidor". Esto permite a los operadores del servidor ejecutar múltiples sitios en la misma computadora y al mismo tiempo entender con quién quieres contactar. Esta solicitud inicial es parte de la configuración de cifrado, pero la solicitud inicial en sí no está cifrada.
Otro lugar donde los datos están abiertos es DNS. ¿Pero qué es DNS?
DNS: Sistema de nombres de dominio
En una metáfora para pasar notas en una clase, dije que el nombre del destinatario debería escribirse fuera de la nota. Lo mismo es cierto para las solicitudes HTTP ... deben declarar a dónde van a ir.
Pero no puede usar el nombre habitual del sitio. Ninguno de los enrutadores entiende de quién está hablando. En su lugar, use una dirección IP. Así es como los enrutadores a lo largo del camino entienden a qué servidor desea enviar la solicitud.
- Por favor envíe esto al 208.80.154.224Esto está causando problemas. Es inconveniente para los usuarios recordar los números de la dirección IP. Quiero darle al sitio un nombre pegadizo ... que se depositará en la memoria de las personas.
Es por eso que tenemos un sistema de nombres de dominio (DNS). Su navegador utiliza DNS para resolver el nombre del sitio a la dirección IP. Este proceso, que convierte un nombre de dominio en una dirección IP, se denomina resolución o resolución de nombre de dominio.

¿Cómo resuelve el problema el navegador?
Una opción es hacer una lista grande como un directorio telefónico en un navegador. Pero a medida que aparezcan nuevos sitios web o se trasladen a nuevos servidores, será difícil mantener esta lista actualizada.
Por lo tanto, en lugar de una lista única para todos los nombres de dominio, hay muchas listas pequeñas vinculadas entre sí. Esto les permite ser controlados de forma independiente.

Para obtener la dirección IP correspondiente a un nombre de dominio, debe encontrar una lista específica que contenga el nombre de dominio deseado. Esto es como encontrar un tesoro.
¿Qué aspecto tiene una búsqueda de tesoros para un sitio como Wikipedia en inglés,
en.wikipedia.org
?
El dominio se puede dividir en partes.

Con tales partes, puede comenzar a buscar una lista que contenga la dirección IP del sitio. Pero necesitamos ayuda para encontrar. La herramienta que realiza esta búsqueda en lugar de nosotros y encuentra la dirección IP se llama resolutor.
Primero, el solucionador accede al llamado servidor DNS raíz. Él conoce varios servidores DNS raíz diferentes, por lo que envía una solicitud a uno de ellos. El solucionador solicita el DNS raíz donde encontrar información adicional sobre las direcciones en la zona de dominio de nivel superior
.org
.
- ¿No sabes cómo llegar a en.wikipedia.org?
- No sé nada en la zona .org, pero 5.6.7.8 puede ayudarEl siguiente servidor se llama servidor de nombre de dominio de nivel superior (TLD). El servidor de TLD conoce todos los dominios de segundo nivel que terminan en
.org
.
Sin embargo, él no sabe nada acerca de los subdominios
wikipedia.org
, por lo que tampoco conoce la dirección IP de
en.wikipedia.org
.
El servidor de nombres de TLD aconsejará al solucionador que haga esta pregunta al servidor de nombres de Wikipedia.
- ¿No sabes cómo llegar a en.wikipedia.org?
- Ve y pregunta 11.21.31.41, él sabe acerca de los sitios en el dominio wikipedia.orgEl resolutor está casi listo. Un servidor de nombres de Wikipedia es lo que se llama un servidor autorizado. Él conoce todos los subdominios de
wikipedia.org
. Por lo tanto, sabe sobre
en.wikipedia.org
y otros subdominios, como la versión alemana de
de.wikipedia.org
. Un servidor autorizado le dice al solucionador en qué dirección IP se pueden recuperar los archivos HTML para este sitio.
- ¿No sabes cómo llegar a en.wikipedia.org?
- Oh sí, solo ve al 208.80.154.224La resolución devolverá la dirección IP
en.wikipedia.org
al sistema operativo.
Este proceso se llama resolución recursiva porque tiene que ir y venir, haciendo diferentes servidores esencialmente la misma pregunta.
Dije que necesitamos un solucionador para ayudar con la búsqueda. Pero, ¿cómo encuentra el navegador este solucionador? En general, le pregunta al sistema operativo.
"Necesito un solucionador". Puedes ayudar
- Por supuesto, déjame presentarte la resolución que uso¿Cómo sabe el sistema operativo qué resolutor usar? Hay dos formas posibles.
Puede configurar su computadora para usar un dispositivo de resolución específico en el que confíe. Pero muy pocas personas hacen esto.
En cambio, la mayoría simplemente usa la configuración predeterminada. Y por defecto, el sistema operativo usará cualquier resolución que la red diga. Cuando una computadora se conecta a la red y recibe su dirección IP, la red recomienda un solucionador específico.
- ¿Puedo obtener una dirección IP?
- No hay problema! Y si necesitas un solucionador, te recomiendo esteEsto significa que la resolución utilizada puede cambiarse varias veces al día. Si te diriges a un café para trabajar durante el día, probablemente estés usando un resolutor diferente al de la mañana. Y esto sucede incluso si configura su propio resolutor, porque no hay seguridad en el protocolo DNS.
¿Cómo puedo explotar DNS?
Entonces, ¿cómo pone en peligro este sistema a los usuarios?
Por lo general, la resolución le dice a cada servidor DNS qué dominio está buscando. Esta solicitud a veces incluye su dirección IP completa. Y si no es una dirección completa, con mayor frecuencia la solicitud incluye la mayor parte de su dirección IP, que puede combinarse fácilmente con otra información para establecer su identidad.
Contiene la mayor parte de su dirección IP ...
... y el dominio completo que estás buscandoEsto significa que cada servidor que solicite ayuda con la resolución de nombres de dominio ve qué sitio está buscando. Además, cualquiera que se dirija a estos servidores también verá sus solicitudes.
Hay varias formas en que dicho sistema compromete los datos del usuario. Los dos principales son tracking (tracking) y spoofing (spoofing).
Seguimiento
Como dije anteriormente, no es difícil determinar la identidad de la persona que solicita acceso a un sitio específico utilizando información completa o parcial sobre la dirección IP. Esto significa que el servidor DNS y cualquier usuario en camino a este servidor DNS (enrutador en camino) pueden crear un perfil de usuario. Pueden hacer una lista de todos los sitios que has visto.
Y estos son datos valiosos. Muchas personas y empresas están dispuestas a pagar mucho para ver su historial de navegación.
¿Cuánto está dispuesto a pagar por la información sobre lo que John Doe estaba mirando?Incluso si no tuvimos que preocuparnos por servidores DNS o enrutadores potencialmente infames en el camino, aún existe el riesgo de que sus datos se recopilen y vendan. Porque el solucionador en sí mismo, que la red le proporcionó, puede no ser confiable.
Incluso si confía en el solucionador recomendado de la red, probablemente solo lo use en casa. Como mencioné, cada vez en una cafetería, hotel o en cualquier otra red, probablemente se le dará un resolutor diferente. ¿Y quién sabe cuál es su política de recopilación de datos?
Además del hecho de que sus datos se recopilan y luego se venden sin su conocimiento o consentimiento, el sistema se utiliza de una manera aún más peligrosa.
Spoofing
Con la suplantación de identidad, alguien en el camino entre usted y el servidor DNS cambia la respuesta. En lugar de una dirección IP real, el estafador le indica la dirección IP incorrecta para el sitio. Por lo tanto, pueden bloquear el acceso a un sitio real o enviar una versión falsa de los estafadores.
Envíelo a 1.6.6.6 ... esta es una dirección absolutamente correcta, y no un sitio web falso que controloDe nuevo, aquí el propio resolutor puede actuar infamemente.
Supongamos que realiza una compra en una tienda Megastore. Desea comparar precios y ver si dicho producto se vende más barato en la tienda en línea de la competencia big-box.com.
Pero si usa Megastore WiFi en su sala de negociación, entonces probablemente use su resolutor. Puede interceptar una solicitud a big-box.com y mentirle que el sitio no está disponible.
¿Cómo solucionar la situación usando Trusted Recursive Resolver (TRR) y DNS sobre HTTPS (DoH)?
En Mozilla, creemos firmemente que somos responsables de proteger a los usuarios y sus datos y, por lo tanto, estamos trabajando para abordar estas vulnerabilidades.
Presentamos dos nuevas características para remediar esto: Trusted Recursive Resolver (TRR) y DNS sobre HTTPS (DoH). Porque en realidad hay tres amenazas:
- Puede terminar usando un solucionador poco confiable que rastrea sus solicitudes o respuestas falsas de servidores DNS.
- Los enrutadores a lo largo del camino pueden rastrear solicitudes o intervenir de la misma manera.
- Los servidores DNS pueden rastrear consultas DNS.

¿Cómo evitar esto?
- Evite los solucionadores poco confiables con TRR.
- Protéjase contra la escucha y la suplantación de identidad mediante DNS a través de HTTPS.
- Transfiera la menor cantidad de datos posible para proteger a los usuarios de la anonimización.
Evite los solucionadores poco confiables con TRR
Las redes pueden dejar de recomendar solucionadores poco confiables que recopilan datos de usuarios o consultas DNS falsas, porque muy pocos usuarios son conscientes de los riesgos o de cómo protegerse.
Incluso para los usuarios que son conscientes de los riesgos, es difícil para un usuario individual estar de acuerdo con su proveedor u otra organización de que serán manejados responsablemente con sus consultas DNS.
Sin embargo, hemos estudiado estos riesgos ... y tenemos cierta influencia. Hemos estado buscando una empresa durante mucho tiempo que nos ayude a proteger los datos DNS de los usuarios. Y encontraron uno de estos:
Cloudflare .
Cloudflare proporciona un servicio de resolución recursivo con una política de privacidad para los usuarios. Se comprometieron a eliminar todos los datos de identificación personal después de 24 horas y nunca transferir estos datos a terceros. Se realizarán verificaciones periódicas para garantizar que los datos se eliminen realmente como se prometió.
Gracias a esto, tenemos un solucionador de confianza para proteger la privacidad del usuario. Esto significa que Firefox puede ignorar el solucionador de red e ir directamente a Cloudflare. Ahora no tiene que preocuparse de que los atacantes usen una resolución para vender datos de usuarios o falsificación de DNS.
¿Por qué elegimos un solucionador? Al igual que nosotros, Cloudflare está preocupado por crear un servicio de DNS privado. Junto con nosotros, desarrollaron una buena resolución transparente DoH. La compañía rápidamente solicitó protección adicional del servicio, por lo que nos complace cooperar con ellos.
Pero esto no significa que deba usar Cloudflare. Los usuarios pueden configurar Firefox para usar cualquier solucionador recursivo habilitado para DoH. A medida que los nuevos servicios estén disponibles, planeamos implementar un descubrimiento simple y cambiar entre ellos.
Protéjase contra la escucha y la suplantación de identidad utilizando DNS sobre HTTPS
Pero el resolutor no es la única amenaza. Los enrutadores en el camino pueden rastrear y falsificar consultas DNS, porque también ven el contenido de las consultas y respuestas DNS. Afortunadamente, ya existe tecnología en Internet para proteger contra la escucha de enrutadores en el camino. Este es el cifrado del que estaba hablando.
El uso de HTTPS para intercambiar paquetes DNS protege las consultas DNS de nuestros usuarios contra el espionaje.
Transfiera la menor cantidad de datos posible para proteger a los usuarios de la anonimización
Además del solucionador de confianza que se ejecuta bajo el protocolo DoH, Cloudflare y yo estamos trabajando en medidas de seguridad adicionales.
Normalmente, el solucionador envía el nombre de dominio completo a cada servidor: el DNS raíz, el dominio de nivel superior, el servidor de nombres de dominio de segundo nivel, etc. Pero el servidor Cloudflare funcionará de manera diferente. Solo enviará la parte relacionada con un servidor DNS en particular. Esto se llama
minimización de QNAME .
"¿No sabes cómo llegar al servidor .org?"A menudo, el solucionador también incluye los primeros 24 bits de su dirección IP en la solicitud. Esto ayuda al servidor DNS a averiguar dónde se encuentra y seleccionar el CDN más cercano. Pero los servidores DNS pueden usar esta información para vincular consultas dispares entre sí.
En cambio, Cloudflare realizará una solicitud desde una de sus propias direcciones IP, que está al lado del usuario. Esto proporciona geolocalización sin referencia a una persona específica. También estamos explorando cómo implementar un equilibrio de carga aún mejor y más fino teniendo en cuenta la privacidad.
Todo esto, eliminar partes innecesarias del dominio y la dirección IP, significa que el servidor DNS puede recopilar muchos menos datos sobre usted.

¿Qué queda de TRR con DoH?
Estas medidas de protección reducen el número de personas que pueden ver el historial de las páginas que visita. Pero no eliminan completamente la fuga de datos.
Después de realizar una búsqueda de DNS, aún necesita conectarse al servidor web en esa dirección para obtener una dirección IP. Para hacer esto, envíe una solicitud. La solicitud incluye un SNI (indicación del nombre del servidor) que indica el sitio específico en el servidor. Y esta solicitud no está encriptada.
Es decir, su ISP aún puede averiguar qué sitios visita, porque están enumerados allí mismo en el SNI. La información también está abierta para los enrutadores que transmiten la solicitud inicial de su navegador al servidor web.
Pero tan pronto como se conecta al servidor web, todo está encriptado. Y lo más importante, esta conexión encriptada se puede usar para cualquier sitio en este servidor, y no solo para el que solicitó originalmente.
En ocasiones, esto se denomina fusión de conexión HTTP / 2 o simplemente reutilización de una conexión. Cuando abre una conexión a un servidor compatible, le permitirá saber qué otros sitios están alojados en él. Luego puede visitar estos sitios utilizando su conexión cifrada existente.
¿Por qué es útil esto? Porque no necesita abrir una nueva conexión para conectarse a estos otros sitios. Es decir, no necesita enviar otra solicitud inicial sin cifrar que indique el SNI y la divulgación de información sobre el sitio al que se dirigirá. Por lo tanto, puede visitar cualquiera de los otros sitios en el mismo servidor sin revelarlos a su proveedor y enrutadores en el camino.
Con la creciente popularidad de CDN, cada vez más sitios individuales son atendidos por un solo servidor. Y dado que puede tener varias conexiones unificadas abiertas, simultáneamente se conecta a varios servidores compartidos o CDN, visitando todos los sitios en diferentes servidores sin pérdida de datos. Entonces, esta función funciona cada vez más eficazmente como una pantalla protectora.
Cual es el estado?
Ya en Firefox puede habilitar DNS sobre HTTPS, y le
recomendamos que lo haga .
Queremos habilitar DoH de forma predeterminada para todos los usuarios, ya que todos merecen privacidad y seguridad, independientemente de si conocen o no las fugas de DNS.
Pero este es un cambio significativo y debe probarse primero. Por lo tanto, estamos realizando un estudio. La mitad de nuestros usuarios de
Firefox Nightly piden ayuda para recopilar datos de rendimiento.
En las pruebas, se utiliza el solucionador predeterminado, tal como está ahora, pero las solicitudes también se envían al solucionador Cloudflare DoH. Luego comparamos el resultado para verificar que todo funcione como se esperaba.
Para los participantes del estudio, la respuesta DNS de Cloudflare aún no se utiliza. Simplemente verificamos que todo funcione y luego descartamos la respuesta de Cloudflare.

Gracias a los usuarios de Nightly que ayudan a probar Firefox todos los días. Esperamos que nos ayudes también.