Linkedin: pas 6143150 sha1 volés, seulement 5545381

Bon, ça fait un petit moment maintenant que je geek avec les sha1 LinkedIn qui ont fuité (qui ont fui?). Deux choses m'intéressent particulièrement.

1) La proportion de mot de passes utilisés par plusieurs personnes

Au début je croyais que ce serait facile à calculer genre a=(sort sha1.txt|uniq|wc -l) b=(sort sha1.txt|wc -l) et puis (b-a)/b. Ouais, ben en fait non. Ce calcule là donne 0.
Est-ce à dire que personne n’utilise le même mot de passe ? Oh que non. Je pense plutôt que la liste a été nettoyée de ses doublons. Dans un sens tant mieux parce que la connaissance du taux de réutilisation facilite un peu le cassage de certains mots de passe.
Du coup je me suis rabattu sur les "quasi" doublons. Il s’agit des sha1 dans le fichier qui apparaissent avec juste des zéros au début genre b2d21130f300016…5ce61f9 et 00000130f300016…5ce61f9. Là on peut calculer la proportion de quasi doublons. Il suffit d’enlever, mettons, les dix premier caractères de chaque sha1, de trier, et de compter ce qui sort en double.
Ça nous donne : a = nombre de lignes dans le fichier sha1.txt = 6143150. b = nombre de lignes dans la version sans doublons = 5545381. (a-b)/a=0,097… En arrondissant c’est presque 10% de quasi doublons.
Conclusion : j’en sais rien. Certains blogs disent que les quasi-doublons correspondent aux sha1 dont l’antécédent a déjà été trouvé. Hmmm... Difficile à prouver.
En tout cas ce ne sont pas 6143150 sha1 qui ont fuité, mais seulement 5545381. Nous voilà rassurés ! (ou pas)

2) Le nombre de mots de passe d'utilisateurs français

Déjà, mon mot de passe y est. Or LinkedIn a dans les 165 millions d’utilisateurs et le fichier ne contient que 5545381 vrais sha1 (cf. point 1). Quand on y pense, ça représente seulement 3,4% des utilisateurs. Faut vraiment pas avoir de bol pour y être !
Par curiosité, j’ai demandé leur sha1 à quelques amis français. Plus précisément à 5 amis français, que je remercie de leur confiance au passage. Et bien ils apparaissent tous dans le fichier. Tous. J’aime pas calculer des probas à 4 heures du matin, mais là quand même ça semble bizarre. Certes, il n’y a aucune raison pour que les sha1 volés soient uniformément répartis sur l’ensemble des utilisateurs LinkedIn. On peut par exemple imaginer que les comptes volés sont ceux d’un datacenter européen (mettons celui de Dublin, au hasard) contenant notamment les utilisateurs français. C’est ce que je pense, et ça corrobore le fait que seulement 5545381 aient été volés. L’ordre de grandeur est le même que les 11 millions d’utilisateurs en Europe (et 2 millions en France).

3) Les comptes à qui appartiennent les mots de passe

Je sais : j'ai dit que *deux* choses m’intéressaient particulièrement. Mais quand deux choses m’intéressent, c'est souvent la troisième qui retient mon attention.
Avoir les mots de passe c’est intéressant. Mais sans les comptes correspondant ça devient vite lassant. Evidemment, ça serait plus facile s’il existait une correspondance entre l’ordre d’apparition des sha1 dans le fichier et, mettons, l’ordre des comptes LinkedIn. Bien sûr pour ça il faudrait que les comptes LinkedIn soient ordonnés, avec des identifiants énumérables... On me murmure dans l’oreillette que c’est le cas ; j’y reviendrais d'ailleurs dans un autre post parce que les identifiants énumérables c’est mal.
Voilà qui réduit considérablement la combinatoire ! En effet, il suffit de prendre dans le fichier deux mots de passe de personnes dont on connait l’identité (genre le mien et celui d’un copain). Si l’ordre du fichier est bien le même que l’ordre des identifiants, alors ça nous dit que tous les mots de passe entre le mien et celui du copain correspondent à des identifiants entre le mien et celui du copain.
Ça reste une hypothèse de travail pour l’instant, essentiellement parce que ça impleek de tester de vrais mots de passe sur de vrais comptes appartenant à de vrais gens, et ça j’ai arrêté il y a très longtemps (en même temps que l’héroïne et les fraises tagada).

Non régression

C’est l’histoire d’une petite fille. Toute petite même puisqu’elle n’a pas encore deux ans. Lorsqu’on lui donne un livre elle sait déjà tourner les pages. Lorsqu’elle elle tombe sur une image qu’elle aime bien, et il y en a beaucoup, elle pose délicatement le pouce et l’index sur l’image et les écarte pour zoomer. C’est adorable. Et en plus ça fait réfléchir (ou pas).

HADOOP

En ce moment je m’intéresse à HADOOP. Comme ça fait longtemps que je n'ai pas mis les mains dans le cambouis je prends tout depuis le début. Et le début c'est là. Ou pas.

Inédite (ou pas)

On ne dit pas je copie-colle, on dit je bois avec un pote.


Pour l'instant cette phrase ne sort pas dans mon moteur de recherche : 0 réusultat sur la phase complète entre guillemets. Je m'en vais derechef poster ça sur www.expressionsalacon.com/ (where else?*) et on verra bien dans quelques jours si ça se popule un peu sur la toile. Ou pas.

Update: et un post aussi sur le fort sympathique site www.onneditpas.net 



(*) où d'autre ?

Design de l'invisible

Je profite d’avoir la parole pour partager quelques réflexions récentes sur « le design de l’invisible ». Je commence par donner quelques notions de base, puis deux exemples issus de la culture geek et je finis sur quelques extrapolations.

Qu’est-ce que le design ? (ckoa l Dsign?)

Franchement je n’en sais rien même si « j’utilise » du design tous les jours. Quand tu ne sais pas va dans le dictionnaire disait ma grand-mère. Alors ça nous donne :
design, n.m. anglicisme, mode de création industrielle qui vise à adapter la forme des objets à la fonction qu’ils doivent remplir tout en leur conférant une beauté plasteek qui rende agréable leur utilisation.
Rien compris. Si ce n’est qu’il est question d’objets.
Bon, alors à quoi sert le design ? Là j’ai une petite idée, soufflée il y a bien longtemps par un designer sous la forme d’une question : si tous les objets sont fabriqués dans la même usine, qu’est-ce qui nous fait choisir un objet précis dans le rayon ? Eh bien oui, le design.
Mézalors, le design s’appleek-t-il à autre chose qu’à des objets ? Par exemple peut-on designer un service, un système, une idée… ? Peut-être. Et on appellerait ça le design de l’invisible (ou pas).

8.8.8.8

Mon premier exemple est une start-up californienne d’une dizaine d’année. Elle a fondé un certain succès sur un algorithme de classement des résultats d’une recherche. Elle est aussi très forte en design, reprenant notamment les codes visuels du libre dans leurs interfaces. Depuis quelques temps, Google offre aussi un service de DNS, Domain Name System.

Le design est dans l’adresse IPv4 du serveur DNS en question : 8.8.8.8

Rien que de l’écrire j’en ai des frissons ! D’abord c’est simple, c’est sobre, c’est limpide. Ensuite c’est puissant : qui peut aujourd’hui s'offrir une adresse IP en 8.0.0.0/8 ? Pour info il s’agit bien d’une classe A, maintenant assignée à « Level 3 Communications » à qui Google a racheté ou loué l’adresse 8.8.8.8. C’est également très très bien ciblé : certes la ménagère de moins de 50 ans kiffera assez moyennement, mais c’est au geek de base que ça s’adresse. Lui, il en recompilera son noyau de bonheur ! Est-ce que ça rend l’utilisation agréable, comme le suggère la définition du dictionnaire ? J’ai tendance à le croire, notamment parce que c’est mnémotechneek et vite tapé dans une commande en ligne genre dig @8.8.8.8 metallurgeek.blogspot.fr. Le design enfin, c’est le souci du détail, la finition parfaite : en geek le chiffre 8 c’est la lettre g, comme dans Google. En Chine le chiffre 8, homophone de « s’enrichir » c’est le chiffre porte bonheur. Le serveur DNS de secours quant à lui est à l'adresse 8.8.4.4. Pas mal aussi sachant que le 4, homophone de mort, porte malheur.

2620:0:1cfe:face:b00c::3

Mon deuxième exemple est une start-up californienne d’une dizaine d’année. Elle a fondé un certain succès sur la mise à disposition d’un trombinoscope planétaire. Elle est aussi très forte en design, reprenant notamment les codes visuels du gratuit. Depuis quelques temps, Facebook offre aussi son service sur une adresse IPv6. Digression : depuis 1998 le déploiement d’IPv6 est « pour l’année prochaine » et toute start-up californienne se doit d’avoir déjà les adresses IPv6 pour ses services.

Le design invisible est dans l’adresse IPv6 du service Facebook : 2620:0:1cfe:face:b00c::3

C’est peut-être moins flagrant que l’exemple précédent mais quand même : faire commencer le champ identifier par « face:b00c » c’est plutôt classe. Plutôt design en fait. Ça fait appel à la longue tradition du hexspeak (tiens j’en ai profité pour renseigner la page Wikipedia française qui manquait cruellement) avec ces superbes mots hexadécimaux, 0xDEADBEEF et autres 0xDEFACED. Est-ce que ça facilite l’usage ? Mmmm, pas certain mais disons que ça facilite les recherches en ligne.

Ouais, et après ? (so what?)

Une première question vient à l’esprit : faut-il absolument être une start-up californienne d’une dizaine d’année pour avoir vraiment besoin du design de l’invisible ? De plus, faut-il avoir deux O consécutifs dans son nom (Google, Facebook, Yahoo) ?

On peut aussi se demander si tout ça n’est pas largement de la flûte, des astuces pour frimer, pour amuser la galerie, pour faire joli quoi… Hmmm, frimer, amuser la galerie, faire joli, on n’est peut-être pas si loin du design non ?

Plus utilement peut-être j’en viens à me demander quels pourraient être d’autres candidats au design de l’invisible ? Qu’est-ce qui n’est pas un objet mais qui peut quand même être designé ? Je trouve cette question intéressante à l’heure du cloud, à l’heure où les services en ligne sont tellement mondialisés qu’on ignore jusqu’à leur provenance, à l’heure du « tout moins cher qu’ailleurs ». Je me dis que le design de l’invisible peut trouver sa place dans les réseaux comme le design d’objet dans les linéaires.

J’ai en tête quelques candidats au design de l’invisible, liste aussi critiquable que non exhaustive :
  • Les distributions Linux : les distributions sont justement là pour donner de l’attrait à Linux, pour adapter son usage à un contexte particulier, pour permettre une identification simple et rapide.
  • Les CAPTCHA : on en résout de plus en plus chaque jour, autant qu’ils soient jolis non ? En l’occurrence, les palettes de couleurs pourraient être améliorées…
  • Les codes barres 2D : ça aussi on en voit partout alors autant que ça ait de la gueule. Personnellement j’aime assez la version aztec avec le carré au milieu.
  • Petit exercice de créativité :insérez ici votre propre exemple, gratuitement !

s/adidas/asics/

Ça faisait des années déjà que je trimballais mes Adidas(*) Supernova Riot. De la bonne came. Mais j’avais beau tourner sur deux paires ça s’usait quand même et j'en trouvais plus en stock. Alors ça y est, j’ai opté pour les Asics Trabuco 14. Je n’ai pas encore beaucoup couru avec mais déjà je peux vous dire que c’est du lourd !

Bien dans l’esprit trail : maintient efficace sur les côtés, même avec une pointure ou deux de plus. Adapté aux coureurs lourds avec de l’amorti partout, gel devant, gel derrière, surement la fameuse technologie Gel-Air-Con... Important l’amorti parce qu’avec mon quasi-quintal je prends cher à chaque choc.

Laçage efficace qui tire bien jusqu’au talon, on voit la sangle rouge sur la photo. Résultat, le pied reste bien planté dans le fond de la chaussure. Le laçage commence haut et j’apprécie parce que ça vient pas me casser les couilles en serrant trop fort du côté des orteils (je sais l’image est hardie, faut être souple).

Après, ça reste du trail classeek : solide accroche au sol, mais dans ce domaine mes Supernova Riot accrochaient déjà comme Spiderman à Mary Jane Watson. Bon, de quoi je n’ai pas parlé encore… Ah oui, le talon coqué ; ça c’est pour limiter la déformation de la chaussure dans le temps et pour résister aux chocs, branches, cailloux en descente, etc. Restent encore deux ou trois gadgets genre étanchéité sur le devant et rabat pour planquer les lacets (et pour que la marque soit bien lisible).

Pour finir il y a le look. Là pas de miracle, on reste dans le fluo craignos. J’aurais préféré noir clouté mais ils ne font pas. Tant pis, je marquerais des trucs dessus au marqueur indélébile, genre Skid Row, Kreator, Arch Enemy. Pour aller plus vite.


Update : je me suis amusé à chercher quels brevets pouvaient bien être utilisés dans ce modèle. Je ne suis pas certain, mais en voici quelques uns qui pourraient correspondre : système d'amorti dans la semelle intermédiaire, structure spécifique pour l'amorti, structure de la chaussure, dessus de la chaussure adapté à la déformation du pied, etc.





(*) Adidas la chaussure, pas la chanson de Korn

"François Hollande nommera mardi son Premier ministre"

"François Hollande nommera mardi son Premier ministre" (lu ici)

C'est un peu bizarre mais ça se tient. Je veux dire, Robinson Crusoé à bien nommé vendredi son compagnon d'infortune.

Moi ce que j'en dit...

De cf. à ps. et vice-versa

Qu'y-a-t-il de commun entre cf. et ps. ?

Deux consonnes à chaque fois. Oui. Deux locutions latines. Oui. En l’occurrence : confer et post-scriptum. Mais surtout, surtout, on passe de l'un à l'autre en rot13: rot13(cf)=ps.

Mézalors, est-ce que ça marcherait pour toute locution latine? Le latin serait-il rot13-stable ? Tentons derechef l'expérience avec vice-versa : rot13(vice-versa)=ivpr-irefn. Merde, raté.

Du coup faudrait modifier le titre de ce billet en "De cf. à ps. et *pas* vice-versa".
Ou pas.

ONE BAR (et inversement)

J'aime bien les réunions chiantes parce que ça laisse du temps pour chercher des mots en ROT13. Ou pour réfléchir à des trucs en python, mais ça c'est pour un autre billet...

Pas facile de trouver des mots dont le ROT13 a aussi une signification. Récemment j'ai trouvé ONE BAR et ENTRE RAGER. Et puis aussi UNIR HAVE. Ceci dit, mon préféré reste toujours 'TENIR GRAVE' .

La prochaine étape ce sera de trouver un programme Python dont le ROT13 est aussi un programme Python, mais là il faudra vraiment une réunion super super chiante !

Fifty Ways To Leave Your vi

Dans la vie, il y a des situations où il faut sortir vite, très vite. Par exemple quand il n'y a plus de liquide dans la boule bleue. Ou quand il y a du liquide mais pas de boule transparente autour... Bref, parfois il faut sortir vite, très vite.

Pour sortir vite, très vite, de vi on peut faire :
  • :wq        w comme write et q comme quitter
  • ZZ         pour sauver si nécessaire et quitter
  • :q!        pour ignorer les changements et quitter
  • :x         comme exit.
Le plus rapide c'est donc :x avec deux touches seulement. Après c'est ZZ avec deux touches dont une doublée : shift + z + z. Après c'est :wq avec trois touches différentes. Pour les pervers qui voudraient sortir plus lentement, et je sais qu'il y en a, il y a :quit, :exit et les intermédiaires du genre :xit, :exi, :qui, ...

There must be fifty ways to leave your vi. Ou pas, parce qu'on peut quand même se demander à quoi sert de quitter vi. Franchement.

Confirmez que vous êtes puéril


%s/Vidéo/YouTube/g

%s/Vidéo/YouTube/g c'est la commande pour remplacer toutes les instances du mot "Vidéo" par le mot "YouTube". Et bien c'est ce que nous a fait Google il y a quelques jours. Regardez l'image :




Eh oui. Il y a quelques jours, dans le rond rouge en haut il y avait marqué "Vidéo". Maintenant il y a juste marqué "YouTube".

Aujourd’hui, dans le rond rouge en bas à gauche il y a marqué "Vidéo". Et demain alors, il y aura marqué quoi ?

La chose est courante me direz-vous : les anglo-saxons ne photocopient pas, ils xeroxent. On ne cherche plus sur Internet, on google (cf. let me google that), voire même on gougueule. Depuis plus longtemps encore on klaxone, on met la bière au frigidaire, on jette dans la poubelle. Certains vont jusqu’à fraguer, exper, skyper, ou geeker. J’en connais même quelques-uns qui wikipèdent, c’est pour vous dire.

Alors quand Google nous remplace "Vidéo" par "YouTube", on n’a qu’à dire qu’on s’en fout.
Ou pas.

PS : je suis super content parce que j’ai réussi à rédiger tout ça sans utiliser une seule fois l’expression "glissement sémanteek". Franchement c'était pas gagné parce qu'écrire "glissement sémanteek", ça le fait grave.

POURQUOIAAAAaaaaahhhhhh ?

Pourquoi on dit "la recherche" et pas "un rechercheur" ?
Pourquoi on dit "un email" et pas "une emailbox" ?
Pourquoi le test d'égalité est noté == en Python au lieu de = comme en math ?
Et pourquoi l'affectation est notée = alors que, justement, c'est tout sauf l'égalité mathémateek ?
Pourquoi dans son bandeau du haut Google à renommé "Vidéo" en "YouTube" ?
Pourquoi on dit "Free" mais faut payer quand même ?

Un jour va falloir mettre tout ça en forme normale (ou pas).
Mais en attendant je me demande juste POURQUOIAAAaaaaaahhhhhh en écoutant ETHS.

She < 3 U \o/ \o/ \o/

Ouais, faut vraiment avoir rien à dire pour citer les Beatles en SMS. En même temps vu la richesse des paroles on est proche du Zero Knowledge. Et puis c'est pas difficile à traduire :
She <3 U \o/ \o/ \o/
She love you, yeah, yeah, yeah
...
Par contre elle et est chiante cette chanson parce qu'elle reste (cf. Kaamelott Livre II : La Quinte juste).

Asking Alexandria (or not)

Je viens de découvrir (merci François !) ce groupe anglais, Asking Alexandria. Pour vous faire une idée, essayez "The Final Episode" et "A Prophecy".

Franchement, ça envoie du pain : un métalcore puissant, ample, plein d'influences et de références. Côté guitares j'y entend du Queensrÿche dans les aigus. Ça sent aussi les années 90 dans les basses, avec un petit air de Arch Enemy. Mais bon, j'ai tendance à trouver un petit air de Arch Enemy partout. Pour les paroles, je me demande s'il faut pas aller chercher du côté de POD... sans trop tirer vers le Christian Metal non plus, faut pas déconner. Mais quand même. Pour le reste, compo, arrangements, c'est du super moderne. Ça mitraille sec. Et les vidéos aussi. Reste à voir ce qu'ils donnent sur scène, et ça c'est pour très bientôt ;)

MetallurGeeK de comptoir

Nous sommes tous d'accord pour lutter contre la pensée uneek.
Ou pas.

Ouais, en fait c'est pas de moi, c'est de lui.
Mais quand même.