¿El cifrado HTTPS en un sitio impide que la NSA sepa que visitó su dominio / la URL?

11

La razón por la que pregunto si HTTPS protege los metadatos de su actividad de Internet de una entidad de escuchas telefónicas en la red troncal como la NSA o no, es el siguiente escenario:

Diga que estoy navegando por el https://xsite.com/page.html encriptado y que llama a una biblioteca de javascript sin cifrar en http://ysite.com/library.js o una imagen externa en http://ysite.com/image.jpg .

¿La solicitud GET para esta solicitud entre sitios pasa la URL de la página encriptada que estoy visitando en el servidor de ysite.com sin cifrar, y por lo tanto, si bloqueo la solicitud entre sitios usando un complemento de navegador como RequestPolicy , evitaré que la NSA sepa que mi dirección IP visitó https://xsite.com/page.html (o incluso el dominio xsite.com en su totalidad)?

O bien, ¿se trata de un problema tan importante para la privacidad? HTTPS no en realidad oculta (a una conexión de red telefónica) que su dirección IP visitó https://xsite.com (o incluso /page.html ), de todos modos ?

    
pregunta 08.01.2015 - 11:52
fuente

4 respuestas

14
  

¿La solicitud GET para esta solicitud entre sitios pasa la URL de la página cifrada que estoy visitando en el servidor de ysite.com sin cifrar

No. ysite.com no sabrá la URL de la página que está visitando. xsite.com no aparecerá en ninguna solicitud que realice a ysite.com.

  

si bloqueo una solicitud de este tipo a través de un complemento del navegador como RequestPolicy, evitaré que la NSA sepa que mi dirección IP visitó https://xsite.com/page.html (o incluso el dominio xsite.com por completo)?

Todos sabrán que has visitado xsite.com ya que HTTPS no cifra el nombre de host. Esto se debe a que necesita el nombre de host para configurar la conexión. Sin embargo, no será posible saber si visitó page.html o page2.html ya que la ruta se cifrará.

Sin embargo, si NSA sabe que http://ysite.com/image.jpg está incrustado solo en page.html y recientemente realizó una consulta de DNS y se conectó a xsite.com , pueden suponer que probablemente haya visitado https://xsite.com/page.html .

Editar: la longitud aproximada de la ruta de la URL es visible para todos los escuchadores. Por lo tanto, si xsite.com tiene solo unas pocas páginas, también es posible que un atacante adivine qué página está visitando.

Recurso adicional sobre análisis de tráfico HTTP: ¿Se ven las URL durante las transacciones HTTPS a uno o más sitios web desde una única IP distinguible?

    
respondido por el limbenjamin 08.01.2015 - 12:44
fuente
7

Sí y no . Para comprender por qué, debemos analizar la estructura de Internet.

Internet no se compone de un solo protocolo, sino de varios protocolos que se apilan uno encima del otro . Puede clasificar los protocolos de acuerdo con su ubicación en la pila, y los temas que surgen al hacer esto se denominan capas .

Hay dos modelos que compiten por cómo funciona esto, y voy a hablar brevemente sobre la capa más baja del modelo OSI: este no es el modelo que usan las personas de IP, pero nos da una base interesante. El nivel más bajo, según la gente de OSI, es la capa física : lo que se usa para enviar señales. Es probable que la capa física que usa su computadora ahora sea "un cable de cobre" o "ondas de radio", pero hay otras: en el pasado, las personas han usado cables de fibra óptica, ondas de sonido, rayos láser, etc. . Como broma del Día de los locos de abril, alguien incluso encontró una manera de hacerlo con palomas mensajeras, y si bien eso no es algo que alguien quisiera usar, realmente funciona.

El modelo más bajo usado por la gente de TCP / IP (segundo más bajo en el modelo OSI) se llama capa de enlace . La capa física nos da una conexión directa entre dos máquinas, pero no dice nada sobre cómo transmitir una señal a través de esa conexión: esto es lo que la capa de enlace para Ethernet es un protocolo de capa de enlace común en la actualidad para las máquinas que son Conectado permanentemente a través de cables, y Wi-Fi (que se deriva de Ethernet) hace lo mismo para las ondas de radio. PPP es el protocolo de capa de enlace más popular para los módems en estos días. También hay otros protocolos de capa de enlace.

Pero lo que es realmente interesante para esta pregunta es la segunda y la tercera capa . La segunda capa se denomina capa de red o capa de internet (tenga en cuenta el pequeño I ; esto no es lo mismo que Internet). Aquí es donde las señales en vivo intentan obtener una señal entre dos máquinas que no están conectadas directamente, utilizando una cadena de máquinas que están conectadas directamente. IP, el Protocolo de Internet, vive en esta capa; es de donde vienen las direcciones IP.

La tercera capa, la capa de transporte , es donde dejamos de hablar de las señales y comenzamos a hablar de los datos: dada la señal, comenzamos a hacer algo coherente con ella. Si ha oído hablar de TCP y UDP, aquí es donde viven: TCP le permite encadenar paquetes en sesiones, mientras que UDP es un protocolo de capa más baja para aquellos momentos en que la infraestructura de TCP no es realmente necesaria. El trabajo de la capa de transporte es hacer que los hosts de cada extremo de la conexión hablen de manera coherente.

La cuarta capa, la capa de aplicación , es donde se lleva a cabo la mayor parte de las emocionantes acciones: se basa en la infraestructura de la capa de transporte para lograr lo que normalmente consideramos tareas de red. HTTP, el protocolo sobre el que se construye la Web, vive en esta capa; al igual que los protocolos de transferencia de archivos FTP y BitTorrent, el trío de protocolos de correo electrónico SMTP / POP / IMAP, el protocolo de chat IRC y muchos otros.

TLS (y su predecesor SSL) viven en la capa de transporte . TLS incluso recibe su nombre de allí: Seguridad de la capa de transporte. Proporciona una infraestructura común para los protocolos de capa de aplicación, como HTTP, para hablar entre ellos, y para esto, funciona bien.

Debido a que TLS cifra HTTP, protege (teóricamente) datos como la URL. Sin embargo, todavía realiza esa solicitud (incluida la dirección IP del servidor al que se conecta), y TLS vive demasiado alto en la pila para cifrarla . Por lo tanto, si solicita un sitio del mismo host en el que se encuentra, la NSA (o algún otro agente) podría averiguar el host al que se estaba conectando al ver lo que estaba enviando en la capa de Internet. No pueden obtener el resto de la URL, porque se maneja dentro de HTTP (que TLS cifra), pero podrían obtener el host.

Si está utilizando un túnel HTTP, puede solucionar esto en parte . Si canaliza una conexión HTTP a través de otra conexión HTTP, entonces no se conecta directamente a xsite.com o ysite.com: en su lugar, se conecta a zsite.com, le dice que desea conectarse a estos otros lugares, y esto hará que la solicitud para usted. Debido a que el túnel HTTP vive en HTTP, TLS lo protegerá: la NSA podría detectar que usted se conectó a zsite.com, pero no podría decirle nada más, incluido a qué sitios le pidió a zsite.com que se conecte. Por supuesto, eventualmente se darán cuenta y comenzarán a ver lo que hace zsite.com, pero primero deben notarlo.

Nada de esto entra en la practicidad de romper TLS. Solo trato de ofrecer una visión general de lo que TLS puede proteger (siempre que sea válido) y de lo que no puede proteger, incluso si funciona perfectamente.

    
respondido por el The Spooniest 08.01.2015 - 22:28
fuente
2

No

Si accede a un javascript externo a través de HTTP, entonces es posible que la NSA administre su solicitud de este javascript y sirva una versión pirateada, que transmita su información a ellos o peor. .

Sin embargo, existe la posibilidad de que se descubra un ataque como este, por lo que decidirían si usarlo en función del valor de la información que esperaban recopilar y la probabilidad de que el objetivo detecte el ataque.

Para objetivos de alto valor, también pueden emplear otras técnicas, como:

  • Instalación de equipos de vigilancia, ya sea en sus instalaciones o en xsite.com
  • Uso de vulnerabilidades de seguridad para obtener acceso a sus sistemas o xsite.com, posiblemente desde su biblioteca de días cero, o posiblemente porque uno de ustedes no pudo proteger sus sistemas
  • Emitir un certificado SSL falso y mitigar su conexión a xsite.com, por ejemplo, usar una CA comprometida
  • Enviar un topo para infiltrarse en xsite.com, o chantajear a un empleado existente para que les sirva
  • Técnicas que están clasificadas y aún no se han filtrado
  • Golpearte con un saco de tiradores de puerta hasta que les digas qué sitios visitaste
respondido por el James_pic 08.01.2015 - 18:20
fuente
1

Alguien que detecte su tráfico no verá el nombre de host que ha solicitado con HTTPS. HTTPS no es más ni menos que simplemente cifrar todo el socket utilizando TLS. Una vez que se completa el protocolo de enlace TLS, no se envía nada en texto plano a través de ese socket (a menos que, por alguna extraña razón, TLS lo negocie). Sin embargo, verán la dirección IP y el número de puerto al que se envía la solicitud. . Y, a partir de ahí, generalmente es trivial determinar quién es el propietario. Además, solo un único nombre de dominio puede usar HTTPS en una combinación de dirección IP y número de puerto, por lo que podrán determinar el nombre de dominio que visitó, a pesar de no poder rastrearlo por completo. Por supuesto, también podrían haberlo olido en la solicitud de búsqueda de DNS A no cifrada (y la respuesta correspondiente) que su navegador envió justo antes de iniciar la conexión HTTPS. En resumen: HTTPS (y TLS en general) solo protege la confidencialidad, la integridad del origen y la integridad de los datos de su comunicación. No hace su comunicación anónima. De hecho, está diseñado para, al menos opcionalmente, hacer exactamente lo contrario a eso mediante el uso de certificados para realizar la autenticación mutua del servidor y el cliente.

Cómo solucionar esto: use Tor . Tor está diseñado para proporcionar confidencialidad y anonimato.

    
respondido por el reirab 08.01.2015 - 22:24
fuente

Lea otras preguntas en las etiquetas