22 avril 2009

Déchiffrage

On me demande souvent comment je procède lorsque les données d'un disque dur ont été chiffrées, ou lorsqu'un mot de passe a été utilisé pour protéger un fichier zippé.

Je vais donc vous délivrer ici même mon secret.

Mais avant, faisons ensemble quelques petites introspections.

Nous aimons bien nous protéger des intrusions d'autrui. Il nous semble naturel de mettre une serrure à clef sur notre porte d'entrée, parfois même un système d'alarme. Pour autant, la nature humaine étant ce qu'elle est, la clef est souvent cachée sous le paillasson ou dans le pot de fleur le plus proche, et le code de l'alarme est 4321, quand ce n'est pas 5555 (qui par hasard est la touche la plus usée).

En informatique, l'humanité qui est en nous reste la même, avec ses défauts et ses qualités: la plupart de nos petits secrets sont protégés par des mots de passe.

J'ai lancé, il y a quelques années, le logiciel "crack" sous Unix, pour tester la sécurité des comptes étudiants. Sur 700 mots de passe, 10 ont été trouvés en moins d'une minute, 50 en moins de dix minutes et enfin 10 en moins d'une heure, soit 10% des comptes crackés en moins d'une heure (avec les ordinateurs de l'époque. Je pense que ce temps peut être divisé par 10 aujourd'hui).

Quelques étudiants utilisaient le login comme mot de passe, d'autres leur prénom, certains poussaient "l'astuce" jusqu'à utiliser un mot écrit à l'envers, ou même en phonétique comme le langage SMS d'aujourd'hui (t1t1 pour tintin...).

Tous les mots de passe constitués d'un mot pouvant être trouvé dans un dictionnaire (y compris en langue étrangère, en phonétique même exotique ou écrit à l'envers) sont trouvés en moins de quelques minutes. Même (et surtout) s'ils sont associés à un nombre représentant plus ou moins une date...

Mais mon secret ne réside pas dans l'utilisation de logiciels tels que John l'éventreur ou Ophcrack.

Le Truc, c'est que chacun tend à la paresse autant qu'il le peut. Nous n'utilisons donc qu'un nombre très réduit de mots de passe. Très très réduit si j'en crois mes statistiques d'expertises.

La plupart des utilisateurs n'utilise donc qu'un ou deux mots de passe. Et ces mots de passe sont soumis à très rude épreuve: pensez donc, l'utilisateur s'en sert pour tous ses comptes emails, msn, meetic, et autres sites web où l'on demande de choisir son mot de passe. Et le plus souvent, ce mot de passe est envoyé par email, à fin de vérification.

Il ne reste plus à l'expert judiciaire qu'à lancer une petite recherche avec comme mot clef 'mot de passe' dans le courrier électronique, ou parfois 'password' pour récupérer une petite collection de mots de passe très révélatrice.

Parfois, il suffit de regarder dans le navigateur adhoc la liste de tous les mots de passe très gentiment conservée de façon très pratique.

De temps en temps, c'est plus subtil, il faut retrouver les mots de passe dans une page web conservée sur le disque dur par un mécanisme de mise en cache très opportun, en zone non allouée par exemple ou en mémoire cache.

Parfois, c'est vrai, l'utilisateur utilise des moyens sérieux de chiffrement (TrueCrypt avec volume caché), des outils d'effacement efficaces (Eraser par exemple) et des mots de passe sophistiqués qu'il change souvent.

Mais quand je lis les billets des spécialistes de la sécurité (ce que je ne suis pas), comme chez Sid, Nonop ou Expert: Miami, je me dis que finalement, vu les comportements divers et variés des utilisateurs et/ou des entreprises, il est assez normal que je n'ai pas encore rencontré un utilisateur ayant blindé son disque dur sans laisser trainer le mot de passe quelque part.

Et si ce jour arrive, je demanderai aux Officiers de Police Judiciaire ou au magistrat de demander gentiment le mot de passe au propriétaire. On verra bien quelle excuse sera utilisée pour ne pas le donner.

Et enfin, s'il me faut un jour tenter d'analyser le disque dur d'un spécialiste de la sécurité, (l'Admin m'en garde), ou si le disque dur est chiffré par Mme Michu avec la dernière génération de système NSA à clef quantique, j'écrirai alors dans mon rapport:
à l'impossible nul n'est tenu.

21 commentaires:

  1. Comme quoi le problème en informatique reste bien le dernier maillon, sur sa chaise, derrière l'écran...

    RépondreSupprimer
  2. Vivement que tout le monde utilise la biométrie...

    Mais j'y pense, on prend bien les empreintes d'une personne qui est soupçonnée dans une affaire, non ? :)

    En même temps, la biométrie, c'est un peu un mot de passe à vie... On peut changer son mot de passe, mais on ne peut pas changer ses empreintes...

    Bref, vos recherches de mots de passe ont encore de beaux jours devant elles... :)

    RépondreSupprimer
  3. Sans être un spécialiste, je sais que l'on peut mettre en place ce que les anglais appellent "plausible deniability"

    Pour faire simple: une partition est cryptée et on ne peut pas savoir quelle partie correspond à des vraies informations. Le propriétaire peut donner une ou plusieurs clés qui débloqueront une ou plusieurs partitions leurre. Il est impossible alors de savoir si la partie non utilisée n'est pas formatée et contient des bits aléatoires ou si le propriétaire n'a pas fourni toutes les clés.

    http://en.wikipedia.org/wiki/Plausible_deniability#Use_in_cryptography

    RépondreSupprimer
  4. @Un passant: C'est le mécanisme que j'appelle dans le billet "Volume caché". Les experts judiciaires connaissent bien ces mécanismes et ne manquent pas de les signaler dans leur rapport (même s'ils n'ont pas pu prouver l'existence de données cachées).

    Pour ma part, je ne suis pas encore tombé sur un dossier les utilisant.

    RépondreSupprimer
  5. Jeremy: Il est faux de comparer une empreinte digitale à un mot de passe (confusion entretenue, bien sur, vu les enjeux financiers).

    Exemple de la carte bleue:
    Le numéro de la carte: Identification
    Le code à 4 chiffres: Authentification

    Une empreinte digitale n'est rien de plus qu'un numéro de sécurité sociale, par exemple. C'est un identifiant. Cela annonce qui je suis. Et comme partout ailleurs, on peut mentir: Utiliser le numéro de sécurité sociale de quelqu'un d'autre, faire une fausse carte bleue, faire de fausses empreintes digitales.

    Un mot de passe est authentifiant. Cela prouve qui je suis. J'aurais beau avoir la carte bleu de quelqu'un d'autre. Je ne pourrai pas prouver que je suis son propriétaire sans le code.

    Donc, ne croyez pas les industriels sur parole, utiliser les empreintes digitales comme moyen d'authentification est une régression dans la sécurité.

    RépondreSupprimer
  6. @Jeremy: la biométrie, par exemple une empreinte digitale, n'est pas un mot de passe (donnée secrète), c'est une information que chacun laisse traîner partout (donnée publique).

    Déverrouiller son disque dur en utilisant son empreinte digitale, c'est un peu comme si vous disiez à votre ordinateur: "ouvre, c'est moi", et qu'il vous réponde "ah, c'est toi? ok, je t'ouvre". À aucun moment vous ne prouvez à votre ordinateur que vous êtes bien qui vous prétendez être.

    Il a été démontré qu'on pouvait mouler un faux doigt à partir d'empreintes laissées par ci, par là (sur un verre à la terrasse d'un café, par exemple), et se servir du moule.

    En bref, la biométrie, c'est l'identité d'une personne, et une identité n'est pas secrète.

    RépondreSupprimer
  7. J'aimerais que l'Utilisateur capable de diversifier ses mots de passe selon les applications et les serveurs, capable de changer fréquemment ses mots de passe, capable de créer des mots de passe qui n'appartiennent à aucun dictionnaire, ni français, ni étranger, nous montre comment il mémorise ses mots de passe...
    Peut-être les écrit-il sur un papier qu'il cache sous le pot de fleur, à coté du clavier...
    ;-)

    RépondreSupprimer
  8. merci c'est un mechant plaisir chaque fois que de trouver un nouvelle article sur ce blog ! ;)

    RépondreSupprimer
  9. @C@line: Voilà par exemple comment je fais :
    http://world.std.com/~reinhold/diceware.html
    Jamais moins de 6 lancers de 5 dés, parfois jusqu'à 12 lancers selon les informations cadenassées, et la fréquence d'utilisation.
    Il me suffit de "chanter" le mot de passe dans sa tête en le tapant et j'arrive à le retenir pendant des années.
    Allez, un autre plus facile (pour les listes de diffusion par exemple) : http://world.std.com/%7Ereinhold/passgen.html
    Mais la qualité de l'aléa des mots de passes ainsi générés laisse peut-être à désirer.
    Par contre je ne te dirais pas comment je fais pour les changer selon les serveurs, il suffit d'un peu d'imagination.

    RépondreSupprimer
  10. Pour Céline.

    J'utilise KeePass
    Il génère des mots de passe aléatoires, les mémorise, les masque à l'écran, on peut les copier, mais ils restent dans le presse papier qu'un temps limité...
    Et le jeu de clef est protégé dans un fichier crypté.
    Reste le problème du mot de passe principal, mais ça n'en fait plus qu'un à retenir...

    RépondreSupprimer
  11. C@line: Une variation sur quelques mots facilement mémorisables est assez simple à retrouver.

    Difficile de se souvenir de: "Llas,c'eqcq'oaj"

    Mais savoir qu'on peut le retrouver en chantant "Le lundi au soleil, c'est quelque chose qu'on aura jamais" et en prenant la première lettre de chaque mot et la difficulté disparait.

    RépondreSupprimer
  12. L'emploi de passphrases pour construire un mot de passe n'est pas une si mauvaise solution, à condition de ne pas reprendre la même phrase partout, ni d'appliquer une simple variation logique au mot de passe déjà défini.

    Mémoriser un certain nombre de passphrases ou de variation est alors bien beau, mais l'humain arrive vite à ses limites, et finit invariablement par reprendre une phrase déjà utilisée, et la boucle est bouclée, on retombe dans la trivialité d'une variation ou d'un mot de passe déjà utilisé.

    Quand à passer par un coffre-fort à mots de passe, c'est fragiliser le tout en ouvrant toutes les portes par un seul mot de passe.

    Que faire d'autre alors que d'appliquer une password policy suffisamment dure pour ne pas laisser place à un cassage (dans un temps raisonnable qui se réduit de jours en jours) ou à la déduction d'un précédent mot de passe ?

    C'est l'utilisateur qui va payer les contraintes de la création ou du renouvellement de ses mots de passe, et finira encore une fois à les noter dans un coin de post-it ou dans un fichier excel, voire dans un autre coffre-fort à mots de passe, et hop, la reboucle est rebouclée....

    La vie est rude dans le monde hostile du password ! :)

    RépondreSupprimer
  13. @Zythom

    par j'aimerais savoir comment vous fouillez un disque dur plein de fichiers tout en bordel ?
    regarder vous les fichiers sans extensions ou extensions inconnue voir meme un fichier text renomer en *.dll par exemple? ;) (perso j'aime bien faire ca sur mes fichiers txt)
    regardez vous si rien ne se cache dans des ADS ?

    RépondreSupprimer
  14. @Un passant et @Kouett': Il est vrai que je n'avais pas raisonné dans ce sens sur la biométrie.

    J'étais prêt à bondir sur le fait que la biométrie est un facteur d'authentification (ce que je suis) après avoir lu ceci: http://fr.wikipedia.org/wiki/Facteur_d%27authentification

    Mais ma vision de la chose à radicalement changée après la lecture d'un très bon article (http://www.droit-ntic.com/news/afficher.php?id=316) "B - La confusion identification - authentification"

    En vous remerciant pour cet éclairage avisé ! :)

    RépondreSupprimer
  15. @Zythom:

    Au sujet des données cachées, vous dites "Pour ma part, je ne suis pas encore tombé sur un dossier les utilisant".

    Vous eussiez dû dire : "Pour ma part, je crois ne pas être encore tombé sur un dossier les utilisant" -- car du fait de principe même des données cachées, vous pouvez ne pas les avoir repérées. :)

    RépondreSupprimer
  16. @Curious: Voir billet précédent, les commandes grep, egrep, agrep, fgrep sont mes amies. J'ai une confiance très limitée dans les extensions de fichiers.

    @Albert ARIBAUD: Très juste. Mais, par exemple, la présence du logiciel TrueCrypt sur un disque dur incite fortement à effectuer des vérifications (par exemple sur la taille des fichiers) pour trouver des volumes chiffrés.

    RépondreSupprimer
  17. Comment faites-vous pour récupérer les URL de navigateurs autres qu'Internet Explorer sur un disque formaté? (Firefox par exemple ou Opéra)

    RépondreSupprimer
  18. @Anonyme: Une fois les fichiers récupérés, j'utilise Web Historian.

    RépondreSupprimer
  19. Pour les URL sous forme de fichiers pas de problème. Ma question était plus spécifique, si les URL sont présentes sur le disques mais pas sous forme de fichiers (dans l'espace libre du disque par exemple), comment faites-vous ?

    RépondreSupprimer
  20. @Anonyme: EN zone non allouée, la commande grep règne en maitresse.

    Si je recherche tout ce qui ressemble de près ou de loin à une URL, j'utilise la commande grep avec "http://" (entre autre).

    S'il s'agit du contenu d'une page web spécifique, j'utilise la commande grep avec des mots clefs adaptés.

    RépondreSupprimer
  21. Bonjour,
    Je trouve votre blog très enrichissant, cela change de tout ce que l’on peut lire habituellement. Bonne continuation et merci.

    RépondreSupprimer

Lectrice, admiratrice, avocate, magistrate, programmeuse, dessinatrice, chère consœur, femmes de tous les pays, lecteur, j'ai toute confiance en vous pour prendre bien soin de vérifier que votre prose est compatible avec les normes orthographiques et grammaticales en vigueur. Et si vous pouviez éviter les propos insultants ou haineux, je vous en serais reconnaissant.
N'hésitez pas à respecter ces quelques règles qui peuvent même s'appliquer en dehors de ce blog.

Les commentaires sur ce blog sont modérés. Votre message apparaîtra sur le blog dès que le modérateur l'aura approuvé. Merci de votre patience.