El domain fronting es una técnica para eludir la censura en Internet que utiliza diferentes nombres de dominio en distintas capas de comunicación de una conexión HTTPS para conectarse discretamente a un dominio de destino diferente al que es discernible para terceros que monitorean las solicitudes y conexiones.
Debido a peculiaridades en los certificados de seguridad , los sistemas de redireccionamiento de las redes de distribución de contenido (CDN) utilizadas como "frentes de dominio" y la protección proporcionada por HTTPS, los censores normalmente no pueden diferenciar el tráfico de elusión ("frente de dominio") del tráfico no fronterizo evidente para cualquier nombre de dominio determinado. Por lo tanto, se ven obligados a permitir todo el tráfico al frente de dominio (incluido el tráfico de elusión) o bloquear el frente de dominio por completo, lo que puede resultar en daños colaterales costosos y se ha comparado con "bloquear el resto de Internet". [nota 1]
El dominio fronting se logra mediante una falta de coincidencia entre el encabezado HTTP Host y la extensión SNI de TLS . El estándar que define la extensión SNI desalienta dicha falta de coincidencia, pero no la prohíbe. [2] Muchos proveedores de servicios en la nube importantes, incluidos Amazon, Microsoft y Google, prohíben activamente el dominio fronting, lo que lo ha limitado como una técnica para eludir la censura. Se cree que la presión de los censores en Rusia y China ha contribuido a estas prohibiciones, [3] [4] [5] pero el dominio fronting también se puede utilizar de forma maliciosa.
Una variante más reciente del dominio fronting, el ocultamiento de dominio, pasa una solicitud cifrada de un recurso (por ejemplo, un sitio web) oculta tras una solicitud no cifrada (texto simple) de otro recurso cuyos registros DNS están almacenados en la misma nube. Tiene un efecto muy similar. [3] La red de refracción es una aplicación del principio más amplio.
La base del fronting de dominios es el uso de diferentes nombres de dominio en diferentes capas de comunicación con los servidores (que admiten múltiples dominios de destino; es decir, nombres alternativos de sujeto ) de un gran proveedor de alojamiento o una red de distribución de contenido (CDN). Las CDN se utilizan debido a las idiosincrasias en la forma en que enrutan el tráfico y las solicitudes, que es lo que permite que el fronting funcione. [6] [7]
En una solicitud HTTPS , el nombre de dominio de destino aparece en tres lugares relevantes: la consulta DNS , la extensión de indicación de nombre de servidor (SNI) TLS y el encabezado de host HTTPS. Por lo general, el mismo nombre de dominio aparece en los tres lugares. [8] : 1
En una solicitud HTTPS con dominio frontal, un dominio aparece en el "exterior" de una solicitud HTTPS en texto simple (en la solicitud DNS y la extensión SNI), que será lo que el cliente quiere simular que está apuntando en el establecimiento de la conexión y es el que es visible para los censores, mientras que un dominio encubierto aparece en el "interior" (en el encabezado del host HTTPS, invisible para el censor bajo el cifrado HTTPS), que sería el objetivo real de la conexión. [6] [8] : 2
# wget envía una consulta DNS y se conecta a www.google.com pero el encabezado HTTP Host solicita # la página web www.youtube.com, que puede obtener y mostrar. Aquí www.youtube.com # está esencialmente dirigido por el dominio www.google.com; es decir, al bloquear www.youtube.com # pero permitir www.google.com, se puede eludir un censor de manera trivial mediante una solicitud dirigida por el dominio
wget -q -O - https://www.google.com/ --header 'Host: www.youtube.com' | grep -o '<title>.*</title>' <título>YouTube</título>
Debido al cifrado del encabezado de hosts HTTPS por el protocolo HTTPS, el tráfico de elusión es indistinguible del tráfico "legítimo" (no fronted). Las implementaciones de fronting de dominio complementan el HTTPS con el uso de grandes redes de distribución de contenido (como varias CDN grandes) como sus dominios fronted, [8] de las que dependen grandes partes de la web para su funcionalidad. [9] Para bloquear el tráfico de elusión, un censor tendrá que bloquear directamente el dominio fronted. [8] El bloqueo de las redes de distribución de contenido populares es económica, política y diplomáticamente inviable para la mayoría de los censores. [9] [6]
Cuando Telegram fue bloqueada en abril de 2018 tras una sentencia judicial en Rusia, debido al bloqueo por parte de los ISP de las CDN que Telegram utilizaba como fachada para evadir los bloqueos de sus propias direcciones IP, 15,8 millones de direcciones IP asociadas con las CDN de Google y Amazon fueron bloqueadas de forma colateral. Esto dio lugar a cortes de red a gran escala para los principales bancos, cadenas minoristas y numerosos sitios web; la forma de bloqueo fue criticada por incompetencia. [10]
El dominio fronting funciona con las CDN porque, cuando se atienden con dos dominios diferentes en una solicitud, están (o históricamente hablando, estaban; consulte §Deshabilitación) configurados para cumplir automáticamente una solicitud para ver/acceder al dominio especificado en el encabezado Hosts incluso después de encontrar que la extensión SNI tiene un dominio diferente. Este comportamiento no era y no es universal entre los proveedores de alojamiento; hay servicios que validan si se usa el mismo dominio en las diferentes capas de una solicitud HTTP. Una variación de la técnica habitual de dominio fronting, conocida como domainless fronting, puede funcionar en este caso, que deja el campo SNI en blanco. [11]
Si la solicitud de acceso al dominio de encabezado Hosts tiene éxito, para el censor o terceros que monitorean las conexiones, parece que la CDN ha reenviado internamente la solicitud a una página que no interesa dentro de su red; esta es la conexión final que normalmente monitorean. En escenarios de elusión, el dominio en el encabezado Hosts será un proxy . El dominio del encabezado Hosts, al ser un proxy, sería bloqueado por el censor si se accede directamente; el fronting oculta su dirección al censor y permite a las partes evadir los bloqueos y acceder a él. Ningún tráfico llega nunca al dominio frontend especificado en la solicitud DNS y la extensión SNI; el servidor frontend de la CDN es el único tercero en esta interacción que puede descifrar el encabezado Hosts y conocer el verdadero destino de la solicitud encubierta. Es posible emular este mismo comportamiento con servicios de host que no reenvían solicitudes automáticamente, a través de una aplicación web "reflectora". [8] : 2
Como regla general, los servicios web sólo reenvían solicitudes a los dominios de sus propios clientes, no a los arbitrarios. Por lo tanto, es necesario que los dominios bloqueados, que utilizan domain fronting, también estén alojados por el mismo gran proveedor que los sitios inofensivos que utilizarán como fronting en sus solicitudes HTTPS (para DNS y STI). [8] : 2
Las conexiones seguras a Internet comunes (que utilizan TLS ) tienen un mensaje inicial no cifrado, en el que el cliente solicitante se pone en contacto con el servidor. A continuación, el servidor y el cliente negocian una conexión cifrada y el contenido real enviado entre ellos se cifra. Esto oculta el contenido de la comunicación, pero no los metadatos : quién se está conectando con quién, cuándo y cuánto se están comunicando. [12] [13] Una variante del dominio frontal, la ocultación del dominio, pasa una solicitud cifrada para un recurso (por ejemplo, un sitio web), oculta detrás de una solicitud no cifrada (texto simple) para otro recurso. Si ambos recursos tienen sus registros DNS alojados en la misma nube, los servidores de Internet que lean la dirección de texto simple reenviarán la solicitud al destinatario correcto, la nube. El servidor de la nube negociará entonces una conexión cifrada, ignorará la dirección no cifrada y enviará el mensaje a la dirección (diferente) enviada a través del canal cifrado. Un tercero que espíe la conexión solo puede leer el texto simple y, por lo tanto, se equivoca en cuanto a qué recurso se está conectando el solicitante. [3]
Lantern (software) se vio afectado. [14]
Signal , un servicio de mensajería segura, implementó un dominio fronting en las compilaciones de sus aplicaciones entre 2016 y 2018 para evitar bloqueos de conexiones directas a sus servidores desde Egipto, Omán, Qatar y los Emiratos Árabes Unidos. [15] [9]
La red de anonimato Tor utiliza una implementación de dominio fronting llamada 'meek' en su navegador web oficial para evitar los bloqueos a la red Tor. [7] [9] [6]
Telegram utilizó Amazon Web Services como dominio fachada para resistir los intentos de bloquear el servicio en Rusia. [16]
El télex se vio afectado. [14]
Tor se vio afectado, incluidos los transportes conectables obsf4, ScrambleSuite, meek y meek_lite. [14]
GreatFire , una organización sin fines de lucro que ayuda a los usuarios a eludir el Gran Cortafuegos , utilizó el dominio fronting en un momento dado. [9]
El dominio fronting ha sido utilizado por individuos y grupos privados y patrocinados por estados para cubrir sus huellas y lanzar ciberataques discretamente y diseminar malware . [9] [6]
Se ha observado que el grupo de hackers ruso Cozy Bear , clasificado como APT29 , ha utilizado el dominio fronting para obtener acceso no autorizado a sistemas de forma discreta haciéndose pasar por tráfico legítimo de las CDN. Su técnica utilizaba el complemento Meek (desarrollado por el Proyecto Tor para su red de anonimato) para evitar ser detectado. [17] [18] [19]
La persistencia del domain fronting como método para eludir la censura se ha atribuido a los costosos daños colaterales que supone el bloqueo. Para bloquear el domain fronting, hay que bloquear todo el tráfico que entra y sale de los domain fronting (CDN y grandes proveedores), de los que dependen, por diseño, muchos otros servicios web. [9] La Signal Foundation utilizó la analogía de que para bloquear un sitio domain fronting "hay que bloquear también el resto de Internet". [20]
Rusia se enfrentó a un problema similar cuando intentó bloquear Telegram (una aplicación de mensajería que utiliza domain fronting), bloqueando todos los servidores de Google y Amazon . Esto bloqueó muchos servicios web no relacionados (como sitios web bancarios y aplicaciones móviles) que usaban contenido de las nubes de Google y Amazon. [21] [22] No logró bloquear Telegram. [23] La prohibición y los bloqueos comenzaron el 13 de abril de 2018. [24]
El 14 de abril de 2018, Google bloqueó silenciosamente el domain fronting en su nube, y el 27 de abril, Amazon anunció que lo estaba bloqueando. [25] Cloudflare , otra nube importante, también lo bloqueó. [4] [5] Akamai también se vio afectada. [26] [25] Inicialmente, Microsoft (cuya nube es necesaria para los servicios en la nube de Microsoft y las actualizaciones en vivo, entre otras cosas) no siguió, [25] pero en marzo de 2021, Microsoft anunció su intención de prohibir el domain fronting en la nube Microsoft Azure . [27]
Cloudflare deshabilitó el dominio fronting en 2015. [28]
En abril de 2018, Google y Amazon deshabilitaron el fronting de dominio de sus servicios de entrega de contenido al eliminar las idiosincrasias en los esquemas de redireccionamiento que permitían que ocurriera el fronting. [29] Google rompió el fronting de dominio al eliminar la capacidad de usar 'google.com' como un dominio fronting al cambiar la forma en que se estructuró su CDN. [30] Cuando se les pidió que comentaran, dijeron que el fronting de dominio "nunca había sido una característica compatible" y que los cambios realizados eran actualizaciones planificadas desde hace mucho tiempo. [31] [30] [32] Amazon afirmó que el fronting "ya se manejaba como una violación de los Términos de servicio de AWS" e implementó un conjunto de cambios que prohibían la ofuscación que permitía a los sitios hacerse pasar por dominios CloudFront de otros sitios web y usarlos como fronting. [33] [20] [34]
Varias publicaciones especularon que el esfuerzo tanto de Google como de Amazon se debió en parte a la presión del gobierno ruso y su autoridad de comunicaciones Roskomnadzor, que bloquearon millones de dominios de Google y Amazon, también en abril de 2018, debido a que Telegram los utilizó como fachadas. [35] [30] [36] [37] [4] [5]
Los defensores de los derechos digitales han comentado que la medida socava la capacidad de las personas de acceder y transmitir información de forma libre y segura en estados represivos. [38]
Según el fundador de Signal, Moxie Marlinspike , la dirección de Google llegó a preguntarse si querían actuar como fachada para sitios y servicios que estados enteros querían bloquear a medida que el dominio fronting ganaba atención popular con aplicaciones como Signal que lo implementaban. Dijo que el uso del fronting como herramienta de evasión "ahora es en gran medida inviable" en los países en los que era necesario. [20] Sin embargo, algunos servicios, como Tor y Lantern, todavía lo utilizan.
{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )