Journal Petit problème de sécurité réseaux

Posté par  (site web personnel) .
Étiquettes : aucune
0
4
avr.
2003
Si j'utilise SSL entre 2 machines qui ne se connaisse pas (https par exemple), si quelqu'un écoute l'échange entre les 2 machines, il ne pourra pas extraire d'info, c'est le but du cryptage.

Le seul moyen que l'espion a est de se mettre au milieu de l'échange et faire une attaque man-in-the-middle. Il est actif.

Comment faire pour éviter cela ? On est obligé de passer par un tier pour obtenir un certificat ? Est-ce que ce certificat ne pourrait pas être modifié en cours de route ? La mise en place de certificat est quelques choses de très lourd, non ?
  • # Re: Petit problème de sécurité réseaux

    Posté par  . Évalué à 4.

    J'adore les questions de sécurité :)

    Il y a un article passionnant dans MISC N°4, qui décrit en détail la technique de l'homme du milieu.

    Lors d'échanges cryptés, la faiblesse se trouve au moment des échanges de clé (normalement, la toute première connexion, puisque l'on prend la précaution de mémoriser les clefs). C'est à ce moment que Pirate se fait passer pour Client aux yeux de Serveur, et pour Serveur aux yeux de Client, il fait routeur entre les deux (d'ou "l'homme du milieu").

    Client <====> Pirate <====> Serveur

    Sachant que Pirate detient les clefs il peut décrypter ce qu'il retransmet.

    >Est-ce que ce certificat ne pourrait pas être modifié en cours de route?

    Normalement, non puisqu'il est envoyé au début de la connexion et va servir à décrypter le reste. Si le certificat change Client s'en rend compte tout de suite puisqu'il ne pourra plus décrypter les infos envoyés par Serveur (dans la logique https; en ssh les deux doivent s'en rendre compte immédiatement, je pense que les deux partis vont automatiquement couper la communication). Par contre, si Pirate est habile, il peut effectivement changer le certificat de façon transparente lors des échanges de clef. Mais cela ne présente pas d'interêt, puisqu'à partir du moment ou Pirate prend possession du certificat (ou clefs) toute la communication est à sa portée. Il va préferer déformer les communications à son avantage :

    NicoNico est Client.
    mandrake.com est serveur.
    Astennu est Pirate.

    NicoNico veut commander un PowerPack en ligne. Il se connecte donc en https sur mandrakestore.

    Astennu est devenu l'homme du milieu en faisant routeur entre les deux (voir misc 4 pour la technique en détail) dès les premieres transactions (chance de cocu, il devrait peut-être surveiller sa femme celui-là ... :P)

    NicoNico <====> Astennu <====> Mandrake.com

    A noter que si Astennu s'y prend trop tard, c'est foutu : il faut être capable d'être routeur AVANT l'échange des clefs. Autant dire qu'il faut savoir à l'avance qu'une connexion NicoNico <====> Mandrake.com va avoir lieue.

    NicoNico appelle la page commander_un_powerpack.php. Astennu transmet la comm sans broncher.

    NicoNico renseigne ses coordonnées bancaires et postales sur la page. Il clique sur "Commander" ce qui envoie les données saisies dans le formulaire au script valider_commande.php. ET LA, c'est interressant : Astennu intercepte les données, change les coordonnées postales (pour recevoir le powerpack chez lui), puis les transmet à mandrake.com. mandrake.com enregistre la commande (avec les coordonnées bancaires de NicoNico et les coordonnées postales d'Astennu) puis renvoie une page de confirmation récapitulative de la commande (Ou toutes les coordonnées seront affichées). Pour éviter que NicoNico se doute de quelque chose, Astennu prend le soin de modifier cette page avec les coordonnées postales de NicoNico.

    ==> Merci Nico pour le PowerPack, il est bien arrivé ce matin! :P

    En théorie c'est bien beau mais en pratique :

    -il faut être au milieu au bon moment (surveille ta femme)
    -il faut réussir à transformer les données "intelligemment" puis les crypter avant de les renvoyer, sans que le délai soit choquant.

    En gros amuse toi !
    • [^] # Re: Petit problème de sécurité réseaux

      Posté par  (site web personnel) . Évalué à 1.

      Je pense que le risque est moins théorique que ça. J'imaginais plutot un system de sniff chez les FAI contre freenet par exemple.

      Comment marche les certificats ? Le but est d'avoir un hash de la clef public par un moyen autre ? Mais le FAI la voit passé. Les certifications doivent donc être signé par une clef en laquelle on fait confiance mais on doit l'avoir avant.

      Pas simple.

      "La première sécurité est la liberté"

      • [^] # Re: Petit problème de sécurité réseaux

        Posté par  . Évalué à 1.

        Je ne comprends pas bien la technique de l'homme du milieu. D'après ce que je sais, c'est un cryptage par clé publique/clé privée qui permet le transfert de la clé qui servira à crypter tous les échanges.
        Comment l'homme du milieu pourrait décrypter cette dernière clé ? En se faisant passer pour le serveur vis à vis du client. Mais son certificat ne sera pas signé par un organisme de certification, ce qui va faire biper le navigateur.
        Quelqu'un pourrait m'éclairer ?
        • [^] # Re: Petit problème de sécurité réseaux

          Posté par  (site web personnel) . Évalué à 2.

          Le moyen pour empécher l'attaque de l'homme du milieu est d'avoir un certificat signé (le hash de la clef public) par un tier dont tu as la clef publique.

          Mais que faire quand il n'est pas possible d'avoir un certificat de ce type ? (l'hote n'a pas de certificat) Je ne pense pas qu'il y est de solutions.

          "La première sécurité est la liberté"

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.