web-dev-qa-db-fra.com

Le cryptage HTTTPS sur un site empêche-t-il le NSA de savoir que vous avez visité son domaine / l'URL?

La raison pour laquelle je demande si HTTPS protège les métadonnées de votre activité Internet à partir d'une entité à écaillage sur la colonne vertébrale comme le NSA ou non, est le scénario suivant:

Dis que je navigue dans le cryptage https://xsite.com/page.html et cela appelle à une bibliothèque JavaScript non cryptée à http://ysite.com/library.js ou image externe à http://ysite.com/image.jpg.

Est-ce que la demande d'obtention de cette demande de réponse croisée sur l'URL de la page cryptée Je visite au serveur Ysite.com non crypté et donc, si je bloque la demande de cross-site à l'aide d'un add-on par un navigateur comme Demandepolicy , je vais empêcher le NSA de savoir que mon adresse IP a visité https://xsite.com/page.html (ou même le domaine xsite.com entièrement)?

Ou, est une telle confidentialité concernait un point de théorie, par https non en cas de masquage (à une écriture orthographique) que votre adresse IP a visité https://xsite.com (ou même /page.html), De toute façon?

11
user21377

Est-ce que la demande GET pour ce passage demande cross-site sur l'URL de la page cryptée je visite au serveur du ysite.com non crypté

Non ysite.com ne saura pas l'URL de la page que vous visitez. xsite.com ne sera pas affiché sur toutes les demandes que vous apportez à ysite.com.

si je bloque une telle demande intersite à l'aide d'un module complémentaire de navigateur comme RequestPolicy, je préviendrai le NSA de savoir que mon adresse IP visité https://xsite.com/page.html (Ou même le xsite.com de domaine entièrement)?

Tout le monde saura que vous avez visité xsite.com depuis HTTPS ne cryptent pas le nom d'hôte. En effet, vous avez besoin du nom d'hôte pour configurer la connexion. Cependant, il ne sera pas possible de dire si vous visitiez page.html ou page2.html Car le chemin sera crypté.

Toutefois, si NSA sait que http://ysite.com/image.jpg Est intégré uniquement sur page.html Et vous avez récemment fait une requête DNS et connecté à xsite.com, Ils peuvent deviner que vous avez probablement visité https://xsite.com/page.html.

Edit: La longueur approximative du chemin d'URL est visible à tous les indiscrets. Ainsi, si xsite.com A seulement quelques pages, il pourrait également être possible pour un attaquant de deviner quelle page que vous visitez.

Ressources supplémentaires sur l'analyse du trafic HTTP: des URL HTTPS vues au cours des transactions à un ou plusieurs sites Web à partir d'un seul distinguable IP?

13
limbenjamin

oui et non. Pour comprendre pourquoi, nous devons examiner la façon dont Internet est structuré.

Internet n'est pas composé d'un seul protocole, mais un certain nombre de protocoles qui s'empilent sur l'autre. Vous pouvez classer les protocoles selon l'endroit où ils correspondent à la pile et les thèmes qui émergent lorsque vous faites cela s'appelle couches .

Il y a deux modèles concurrents pour la façon dont cela fonctionne, et je vais parler brièvement de la couche la plus basse du modèle OSI: ce n'est pas le modèle que les personnes IP utilisent, mais cela nous donne une mise à la terre intéressante. Le niveau le plus bas, selon les personnes OSI, est la couche physique : la chose réelle que vous utilisez pour envoyer des signaux. Les chances sont que la couche physique que votre ordinateur utilise actuellement est "un fil de cuivre" ou "vagues de radio", mais il y en a d'autres: dans le passé, les personnes ont utilisé des câbles à fibres optiques, des ondes sonores, des faisceaux laser, etc. . En tant que blague de la fête des imbéciles d'avril, quelqu'un a même proposé un moyen de le faire avec des pigeons porteurs et, alors que ce n'est pas quelque chose que quiconque voudrait utiliser, cela fonctionne vraiment.

Le modèle le plus bas utilisé par les personnes TCP/IP (le plus bas du modèle OSI) est appelé la couche de liaison . La couche physique nous donne une connexion directe entre deux machines, mais cela ne dit rien sur la manière d'obtenir un signal sur cette connexion: c'est ce que la couche de liaison est pour Ethernet est un protocole de couche de liaison commun de nos jours pour les machines qui sont Connecté de manière permanente via des câbles et Wi-Fi (qui est dérivé d'Ethernet) fait la même chose pour les ondes radio. PPP est le protocole de couche de liaison le plus populaire pour modems ces jours-ci. Il existe également d'autres protocoles de couche de liaison.

Mais ce qui est vraiment intéressant pour cette question sont les deuxième et troisième couches. La deuxième couche s'appelle la couche réseau ou La couche Internet (Notez le Petit [~ # ~] I [~ # ~] ; ce n'est pas la même chose que l'Internet). C'est ici que les signaux vivent qui essaient d'obtenir un signal entre deux machines ne sont pas directement connectées, à l'aide d'une chaîne de machines qui sont directement connectés. IP, le protocole Internet, vit dans cette couche; C'est là que viennent les adresses IP.

La troisième couche - la couche de transport - est l'endroit où nous arrêtons de parler de signaux et commencez à parler de données: étant donné le signal, nous commençons à faire quelque chose de cohérent de celui-ci. Si vous avez entendu parler de TCP et UDP, c'est là qu'elles vivent: TCP====== Laissez-vous chaîner des paquets ensemble en sessions, tandis que UDP est un plus bas- Protocole de couche Pour ces moments où l'infrastructure de TCP n'est pas vraiment nécessaire. Le travail de la couche de transport consiste à obtenir les hôtes à l'une ou l'autre extrémité de la connexion parle de manière cohérente.

La quatrième couche - la couche d'application - est l'endroit où la plus grande partie de l'action passionnante a lieu: elle s'appuie sur l'infrastructure de la couche de transport pour accomplir ce que nous pensons généralement de comme tâches de réseautage. HTTP, le protocole que le Web est construit, vit dans cette couche; Ainsi, les protocoles de transfert de fichiers FTP et BitTorrent, le trio SMTP/POP/IMAP de protocoles de messagerie, le IRC et de nombreux autres.

TLS (et son prédécesseur SSL) vivent dans la couche de transport. TLS obtient même son nom de là: sécurité de la couche de transport. Il fournit une infrastructure commune pour les protocoles de couche d'application, comme HTTP, de se parler, et pour cela, cela fonctionne bien.

parce que TLS chiffre http, il protège (théoriquement) protège des données telles que l'URL. Toutefois, vous faites toujours cette demande - comprenant l'adresse IP du serveur que vous connectez à IP, et que TLS vit trop haut dans la pile chiffrer cela. Donc, si vous demandez un site à partir du même hôte que le site est activé, le NSA (ou un autre agent) pourrait comprendre l'hôte que vous vous connectaiez en regardant ce que vous envoyiez La couche Internet. Ils ne peuvent pas obtenir le reste de l'URL, car cela est traité à l'intérieur de HTTP (que TLS crypte), mais ils pourraient obtenir l'hôte.

Si vous utilisez Tunneling HTTP, vous pouvez en faire partie de cela. Si vous tunnelez une connexion HTTP via une autre connexion HTTP, vous ne vous connectez pas directement à xsite.com ou ysite.com: vous vous connectez à zsite.com, dites-lui que vous souhaitez vous connecter à ces autres endroits et que cela fera. la demande pour vous. Parce que le tunneling HTTP vit dans http, TLS le protégera: THE NSA==== Pour pouvoir détecter que vous avez connecté à zsite.com, mais ils ne pourraient rien dire d'autre, y compris les sites que vous avez posés. zsite.com pour se connecter. Bien sûr, ils vont éventuellement attraper et commencer à regarder ce que Zsite.com fait, mais ils doivent d'abord remarquer.

Aucun de cela ne va dans la pratique de la rupture de TLS. J'essaie juste de donner un aperçu de ce que TLS peut protéger (tant qu'il contient) et ce qu'il ne peut protéger même si cela fonctionne parfaitement.

7
The Spooniest

Non

Si vous accédez à un JavaScript externe via HTTP, il est possible pour le NSA à l'homme dans le milieu de votre demande de ce JavaScript et servez une version piratée, qui relie vos informations. retour à eux ou pire.

Cependant, il est possible qu'une attaque comme celle-ci soit découverte, de sorte qu'ils décideraient de l'utiliser sur la base de la valeur des informations qu'ils espéraient collecter et la probabilité de la cible détectant l'attaque.

Pour des objectifs de grande valeur, ils pourraient également employer d'autres techniques, telles que:

  • Installation de matériel de surveillance, dans vos locaux ou sur xsite.com
  • Utilisation des vulnérabilités de sécurité pour accéder à vos systèmes ou xsite.com, éventuellement à partir de leur bibliothèque de jours nulle, ou éventuellement parce que l'un d'entre vous n'a pas réussi à sécuriser vos systèmes
  • Émettre un faux certificat SSL et mitm-ing votre connexion à xsite.com - par exemple, en utilisant une CA compromise
  • Envoi d'une mole pour infiltrer xsite.com ou chanter un employé existant pour les servir
  • Techniques classées et n'ont pas encore été divulguées
  • Vous battre avec un sac de portes jusqu'à ce que vous leur disiez quels sites vous avez visités
2
James_pic

Quelqu'un de paquet reniflant votre trafic non Voir le nom d'hôte que vous avez demandé avec HTTPS. HTTPS n'est rien de plus ou moins que de crypter tout simplement la prise entière à l'aide de TLS. Une fois que la prise de main TLS est terminée, rien n'est envoyé en texte brut sur cette prise (à moins que, pour une raison quelconque bizarre, TLS la négocie.) Cependant, ils verront l'adresse IP et le numéro de port qui La demande est envoyée à. et, à partir de là, il est généralement trivial de déterminer qui le possède. De plus, seul un seul nom de domaine peut utiliser HTTPS sur une combinaison d'adresse IP et de numéros de port donnée, il sera donc en mesure de déterminer le nom de domaine que vous avez visité, malgré de ne pas être capable de renifler le fil. Bien entendu, ils pourraient également le renifler dans le DNS non crypté une demande de recherche (et la réponse correspondante) que votre navigateur a été envoyé juste avant d'initier la connexion HTTPS. En résumé: HTTPS (et TLS en général) protège simplement la confidentialité, l'intégrité d'origine et l'intégrité des données de votre communication. Cela ne fait pas votre communication anonyme. En fait, il est conçu pour, du moins éventuellement, faites exactement le contraire de cela en utilisant des certificats pour effectuer une authentification mutuelle du serveur et du client.

Comment se déplacer sur ceci: Utilisez TOR . Tor est conçu pour fournir à la fois la confidentialité et l'anonymat.

1
reirab