Encore un matin difficile, j’ouvre un oeil pour entrevoir et le monde et force est de constater qu’il n’est pas mieux qu’hier.
Je vais parler d’un truc que j’ai découvert seulement cette semaine mais ça fait au moins un an que ça existe, voire plus…
Je suis tombé sur ce petit article du Wall Street Journal :
http://projects.wsj.com/surveillance-catalog/#/
Ce petit article parle des outils développés par le secteur privé pour faciliter, automatiser l’espionnage. L’espionnage de qui ? L’espionnage de toute la planète.
On sait déjà que facebook et la CIA sont liés, on sait aussi que vos tweet se retrouvent dans des bases de données pour être analysées… On sait moins que les blog wordpress (comme celui-ci) font aussi partie de ce qui est analysé, mais y’a aussi linkedin, flickr, youtube… Bref.
Lorsque ce matin donc, chaussé de mes deux yeux de campagnards naïf, je découvris avec désespoir ce que l’homme est en train de faire de ce que l’on croyait tous être un terrain de liberté, j’ai vraiment eu envie de me recoucher.
MAIS NON ! Captain Posix ne peut sauver le monde mais il doit vous expliquer pourquoi il est pourri. Heureusement il existe une parade à cette mise en place crapuleuse d’espionnage.
Je dresse le pavillon et j’attaque les explications

à l'attaque
D’abord, sachez que les communications qui voyagent sur le net, via le protocole http, sont en clair. N’importe qui se trouvant entre vous et le site que vous souhaitez contacter peut voir ce que vous faites avec internet.
La chose n’était plus possible avec le https, car votre browser crypte vos communications jusqu’au serveur avec lequel vous communiquez. Ce qu’un espion peut alors découvrir c’est simplement que vous allez sur le site. Après il ne peut pas lire ce que vous faites dessus.
La sécurité du https est assurée par le SSL.
Si vous êtes un webmaster et que vous voulez implémenter le SSL vous devez mettre un certificat sur votre site internet avec la clé privée associée. Dans ce certificat se trouve la clé publique. ce certificat (et donc cette clé publique) est envoyé au client et le client crypte une clé de session (et donc symétrique) grâce à cette clé publique et l’envoie au serveur. Le serveur est le seul a pouvoir voir cette clé symétrique car il possède la clé privée qui correspond à la clé publique.
Le serveur et le client commencent à parler de manière cryptée avec une clé sur laquelle ils sont d’accord.
Ca tout le monde peut le faire. Mais si tout le monde le fait sans passer par un CA que votre OS connait, alors vous avez des gros avertissements dans votre browser du style

Faut se casser... ou pas ???
Du coup, il faut d’abord générer un certificat et puis le faire signer par un CA que votre OS connait, style Verisign (qui se sont déjà fait hacké), Commodo (qui se sont déjà fait hacké). diginotar (alors eux, tellement hacké qu’ils en ont fait faillite…) Bref, le monde des CA est une vaste connerie qui ne tient plus la route depuis l’attaque du comodo hacker mais tant que les browsers suivent les trusts des platformes et que les platformes trustent les CA, on est pas sorti de la merde c’est moi qui vous le dit.
Voilà donc si le certificat qui est présenté par le site que vous tentez de contacter en https, et que ce certificat est signé par un CA que votre browser reconnait, alors vous n’avez pas de méchant avertissement et vous vous sentez protégé comme une colombe dans un bunker.
Maintenant présentation de la machine, voici la bête:

La belle bête
L’idée est d’espionner ce que vous faites sur des sites protégés par la couche SSL. Comment faire ? C’est relativement simple. ils implémentent l’attaque du milieu, donc ils se mettent entre vous et le serveur.
En HTTP c’est très très facile, même si on était pas là au début de la communication, il suffit de se mettre au milieu et de prendre tous les paquets qui arrivent d’un côté , de les analyser, puis de les balancer de l’autre côté. Impossible de constater qu’on est écouté.
En HTTPS on ne peut pas faire ça, si on se met au milieu quand la conversation a commencé, on ne sait rien lire car c’est crypté, on a pas eu la clé symétrique d’encryption, donc il faut être là au moment de l’établissement de la connexion.
Comment ça se passe ?
Comme je vous l’ai expliqué il faut avoir un complice, l’employeur, qui a accepté d’installer sur toutes les machines des employés le certificat du CA de la machine SSL Inspector (relativement facile via des updates automatiques windows…)
L’employé va vouloir alors se connecter sur le site https://mail.google.com (l’adresse gmail)
Le SSL Inspector, va recevoir cette demande vu qu’il est au milieu et intercepte TOUT le traffic des employés.
Le SSL Inspector va LUI-MEME contacter le site gmail pour obtenir le certificat. Ce certificat il va le REFABRIQUER complètement. Un certificat est consititué de données telles :
- Le site à qui il appartient
- La date de validité du certificat
- Les références de la société
- …
Tout ça va être recopié dans un nouveau certificat. ce certificat va être signé par le CA du SSL Inspector, ce CA qui a été installé par l’employeur sur toutes les machines des employés.
Le SSL va envoyer ce certificat à l’employé qui veut se connecter et le client va l’accepté puisqu’il truste ce CA. La vraie communication avec gmail est en réalité établie avec le SSL Inspector uniquement.
Le flux pirate
Le moyen de voir que c’est une écoute illégale c’est d’ouvrir le certificat de gmail et de constater que c’est bien le CA Thawte qui l’a certifié, et de remonter la chaine de certification vous même…mais personne ne fait ça…
Alors maintenant cet exemple il est “basique” parce que c’est un espionnage d’une société avec un complice etc…
Mais il y a plus simple… Et SI le gouvernement achetait simplement un sous-CA à verisign par exemple… Et qu’il foutait cette putain de boite chez un ISP ? Hein ? Au hasard là, comme ça… Et SI un groupe mal intentionné achetait les clés privées qu’un hacker aurait dérobé chez un CA trusté par les plateformes ? Faut pas aller chercher loin, le cas du comodo hacker est un exemple d’un gars qui a fait des tas de trucs dans le dos des CA et qui s’en est vanté.
…Mais combien sont restés discrets ???
Heureusement, il y a encore un moyen d’échapper à ce contrôle. C’est Convergence. Je vous renvoie à ce post pour plus d’info






