Les mots de passe des premiers développeurs‐utilisateurs d’UNIX, notamment celui de Ken Thompson

38
14
oct.
2019
Sécurité

En 2014, une ingénieure, Leah Neukirchen, trouve un fichier /etc/passwd archivé avec du vieux code source BSD et décide de déchiffrer les mots de passe des premiers développeurs‐utilisateurs d’UNIX.

Assez facilement, les mots de passe sont trouvés les uns après les autres. Je ne sais quels étaient vos premiers mots de passe, mais, personnellement, j’utilisais le même sur beaucoup de mes comptes et c’était soit des mots de la langue française faciles à taper, soit le nom de ma copine.

Ces tout premiers développeurs‐utilisateurs d’UNIX étaient‐ils plus inventifs ? À vous d’en juger, les voici en deuxième partie.

À cette époque, ce fichier /etc/passwd contenait l’empreinte (hash) de chaque mot de passe des utilisateurs. Aujourd’hui, un demi‑siècle après, ce fichier /etc/passwd existe toujours, mais il ne contient plus les empreintes des mots de passe depuis très longtemps.

N. D. M. : Les mots de passe étaient stockés dans le fichier /etc/passwd (lisible par tous les utilisateurs), en utilisant DES, étaient limités à huit caractères et n’étaient pas « salés ». La page de manuel de crypt(3) (chez Debian ou OpenBSD est un bon point de départ pour connaître les formes plus modernes de mots de passe, qui sont stockées dans /etc/shadow (non lisible par tous les utilisateurs), salés, avec des fonctions de hachage comme MD5 (dépassé), Blowfish, SHA-256 ou SHA-512.

La liste :

  • dmac, pour Dennis MacAlistair Ritchie ;
  • bourne, pour Stephen Bourne, auteur du Bourne shell (bsh) ;
  • wendy!!!, pour Eric Schmidt, actuellement président du conseil d’administration d’Alphabet (Google), développeur de logiciels UNIX à cette époque, à laquelle il venait également de rencontrer sa femme Wendy Boyle ;
  • axolotl (un amphibien mexicain), pour Stuart Feldman, auteur de make ;
  • /.,/., (duplication de trois caractères adjacents d’un clavier QWERTY), pour Brian Kernighan ;
  • uio ;
  • foobar ;
  • apr1744 ;
  • network ;
  • whatnot ;
  • ...hello ;
  • sacristy ;
  • sherril. ;
  • uucpuucp ;
  • cowperso ;
  • 5%ghj ;
  • pdq;dq ;
  • jilland1 ;
  • theik!!! ;
  • sn74193n.

Mais il en manquait quelques‑uns qui résistaient et qui restaient indéchiffrables !

Après avoir demandé de l’aide pour craquer ces mots de passe, quelques personnes s’y sont collées et ont fait tourner un logiciel qui essaye toutes les combinaisons (force brute) en utilisant les possibilités de parallélisation des cartes graphiques.

Arthur Krewat a trouvé quatre mots de passe en quelques heures :

Mais impossible de trouver le dernier qui résistait encore et encore, et qui restait totalement indéchiffrable !

C’était le mot de passe utilisé par Ken Thompson, un développeur talentueux qui est à l’origine du premier UNIX, dont tous les UNIX d’aujourd’hui utilisent les mêmes concepts dont la plupart ont été inventés par Ken Thompson lui‑même. Voir aussi son portrait biographique.

Et finalement, Nigel Williams, au bout du cinquième jour, a enfin craqué le mot de passe de Ken : p/q2-q4!.

Mais, qu’est‐ce que cela veut dire ?

p/q2-q4* est une ouverture très connue aux échecs : Pion (p) devant la dame (q = queen) avance de deux cases, de la ligne 2 à la ligne 4 (q2-q4). Avec la notation moderne des échecs, on utilise plutôt **1. d4. Voir aussi les ouvertures fermées et semi‑fermées.

Enfin, le mystère a été résolu ! Ken Thompson a félicité Nigel Williams par un « Congratulations » pour son travail.

Néanmoins, Rob Pike se souvient qu’une partie de ces mots de passe avait déjà été trouvée et imprimée sur les T‑shirts de commémoration de Belle (ordinateur d’échecs développé par Joe Condon et Ken Thompson).

Dennis Ritchie et Ken Thompson en train de (faire semblant de) travailler sur un ordinateur de la fin des années 1970, copyright Peter Hamer sous CC BY‑SA, modifié par boingboing.netDennis Ritchie et Ken Thompson en train de (faire semblant de) travailler sur un ordinateur de la fin des années 1970 — copyright Peter Hamer sous CC BY‑SA, modifié par boingboing.net

Voir aussi :


Je place ce document dans le domaine public si possible, sinon sous licence CC0 1.0 ou version ultérieure.

Aller plus loin

  • # Ethique ?

    Posté par . Évalué à 10 (+10/-0). Dernière modification le 14/10/19 à 07:35.

    Je suis intrigué par la réaction de Rob Pike, qui grosso modo dit que ça reste une idée de merde de publier les mots de passe des gens.

    S’en suit une discussion courte mais la question demeure : qu’est-ce qui autorisait un chercheur a publier sa trouvaille sans demander leur avis aux intéressés ? A quel point la valeur historique/culturelle de ces mots de passe justifie son action ?

    • [^] # Re: Ethique ?

      Posté par . Évalué à 2 (+3/-2).

      Pour le coup c'est eux qui ont publier leur mot de passe, encodé certes mais avec des techniques désuètes. Voir un whitehat les publier est sans le moindre doute, la moins pire des sanctions qu'ils encourraient.

      L'erreur est humaine, mais internet n'oublie pas. À eux d'assumer ce problème.

      Après on peut sans doute imaginer qu'après 40 ans ils ont changé leur mot de passe.

      Donc pour faire simple :

      qu’est-ce qui autorisait un chercheur a publier sa trouvaille sans demander leur avis aux intéressés ?

      C'est eux qui ont publié leur mot de passe. Le chercheur n'a fait que traiter des données accessible publiquement et a rendu son travail publique.

      A quel point la valeur historique/culturelle de ces mots de passe justifie son action ?

      Montrer les usages à l'époque ?
      Montrer comment on peut péter ces encodages ?
      Montrer que publier ces mots de passe même encoder c'est belle idée de merde ?

      • [^] # Re: Ethique ?

        Posté par (page perso) . Évalué à 5 (+2/-0).

        C'est eux qui ont publié leur mot de passe. Le chercheur n'a fait que traiter des données accessible publiquement et a rendu son travail publique.

        Mouaif. Haveibeenpowned ne s'amuse pas à publier les mots de passe associés aux compte qu'ils ont, même s'ils ont accès aux hash. D'ailleurs, ce n'est parce qu'il y en a un dans le lot qui a publié la liste de hash que ce n'était pas voulu d'exposer les mots de passe ou que tous aient donner leur accord.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

        • [^] # Re: Ethique ?

          Posté par . Évalué à 2 (+3/-2).

          On parle d'une machine qui a 40 ans. Il y a une forme de prescription. Quels sont les problèmes potentiels ?

          • quelqu'un peu aujourd'hui accéder à cette installation, ils ont pas modifiés leur mot de passe depuis donc il peut se connecter en tant qu'eux ?
          • ils continuent à réutiliser leur mot de passe un peu partout ? Du coup je peux accéder à leur compte github ? Et depuis 40 ans ils croisent les doigts qu'un blackhat n'est pas passé par là ?

          Il aurait pu être courtois de les prévenir avant, mais d'un point de vu de sécurité le problème ne vient pas du travaille en question ni de la publication en question…

          Tu parle de haveibeenpowned, mais on peut régulièrement trouver des publications des mot de passe faibles les plus souvent utilisés. En publiant ça, on publie beaucoup plus de mot de passe fonctionnant pour beaucoup plus de monde sur beaucoup plus de plateformes et actuels. Et personne ne vient pleurer « Vous avez publié mon mot de passe "azerty123" ! Vous vous rendez-compte de ce que vous faites ?! ».

          Au passage si vraiment ça pose problème faudra éviter de republier la news 2 fois sur linuxfr par exemple (+ 1 sur le compte twitter) ;)

          • [^] # Re: Ethique ?

            Posté par . Évalué à 9 (+7/-0).

            Moi le problème éthique je ne le vois pas sur la potentielle faille de la réutilisation de mot de passe, mais plutôt sur la violation d'une donnée à caractère personnel : un mot de passe c'est une des choses qu'on garde le plus secret possible pour une raison évidente, mais qui peut être aussi quelque-chose qui a trait à des idées/valeurs/sentiments qui sont personnels. Les dévoiler est pour moi une forme de violation de la vie privée.

          • [^] # Re: Ethique ?

            Posté par . Évalué à 8 (+6/-0).

            La comparaison me semble hasardeuse.

            D'un côté (haveibeenpowned) on a une publication des mots de passe courants sans dire à qui ils appartiennent, de l'autre on a des mots de passe pas si courants que ça (même si certains sont bateaux) en donnant explicitement qui les utilisait.

            Je vais faire une analogie qui va donc être foireuse. Je laisse mes clés sous mon paillasson. Comme beaucoup de monde. Oui, c'est débile, c'est une mauvaise pratique, et en plus je suis serrurier. Si quelqu'un s'amuse à annoncer à la terre entière que je mets mes clés sous mon paillasson, je pense quand même que c'est un gros abruti, tout en reconnaissant que c'est con de mettre mes clés sous mon paillasson.

            Par contre, quelqu'un qui publie une étude qui montre que 43% des gens laissent les clés sous un paillasson, et 27% derrière le pot de fleur, ça ne me gêne pas. Ca m'encourage à changer d'endroit.

            • [^] # Re: Ethique ?

              Posté par . Évalué à -1 (+0/-2).

              Je vais faire une analogie qui va donc être foireuse. Je laisse mes clés sous mon paillasson. Comme beaucoup de monde. Oui, c'est débile, c'est une mauvaise pratique, et en plus je suis serrurier. Si quelqu'un s'amuse à annoncer à la terre entière que je mets mes clés sous mon paillasson, je pense quand même que c'est un gros abruti, tout en reconnaissant que c'est con de mettre mes clés sous mon paillasson.

              T'a quand même laissé une vidéo youtube qui te montrant aller chercher ta clef sous ton paillasson. Encore une fois ce sont des données publiques. S'il y a un problème de sécurité c'est déjà mort.

              Il existe des bots qui scrutent tous les dépôts publique possible pour chercher des mots de passe et des clefs utilisables de manière automatique. S'il y avait quelque chose à utiliser, ce serait déjà fait.

          • [^] # Re: Ethique ?

            Posté par (page perso) . Évalué à -1 (+1/-2).

            s/travaille/travail

    • [^] # Re: Ethique ?

      Posté par . Évalué à 2 (+2/-0).

      Le fichier source /etc/passwd étant publiquement disponible, il n'y a pas vraiment de faute à mon avis : les mots de passe n'ont pas été volé puis exposé sur la place publique, il y a juste une analyse/exploitation des données faite publiquement (dans l'esprit du libre, et à l'inverse de la sécurité par l'obscurité)

  • # Rubik's

    Posté par . Évalué à 2 (+3/-2).

    p/q2-q4* est une ouverture très connue aux échecs : Pion (p) devant la dame (q = queen) avance de deux cases, de la ligne 2 à la ligne 4 (q2-q4). Avec la notation moderne des échecs, on utilise plutôt **1. d4. Voir aussi les ouvertures fermées et semi‑fermées.

    Ça me fait imaginer qu'on pourrait utiliser les algo de rubik's cube pour ça aussi…

    Par contre les algo de rubik's ont un alphabet plus simple : uUdDrRlLfFbBmMeEsSxyz' → 22 (éventuellement on peut ajouter les parenthèses et les chiffres pour passer à 34).
    Donc sur 8 caractère on a une entropie d'environ 36… (41 avec les parenthèses) et encore ça ne prend pas en compte la syntaxe (On ne verra pas de )(0Uu par exemple).

  • # Have they been pwned ?

    Posté par (page perso) . Évalué à 10 (+11/-1). Dernière modification le 14/10/19 à 22:30.

    Je les ai tous passé sur https://haveibeenpwned.com/Passwords

    Résultat :

    network  46096
    foobar   12312
    whatnot   3069
    bourne    3031
    axolotl   1270
    uio        487
    dmac       286
    /.,/.,     158
    sacristy    53
    jilland1    30
    ...hello    18
    wendy!!!    17
    uucpuucp     5
    

    Tous les autres sont à 0.

Envoyer un commentaire

Suivre le flux des commentaires

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