Journal Complétion des formulaires

Posté par (page perso) .
Tags : aucun
0
18
oct.
2004
Un ami à moi est tombé sur ce fichier, que je me suis empressé de "vi-iser" sur ma propré bécanne :

~/.kde/share/apps/khtml/formcompletions

ce fichier de complétion des formulaires contient des mots de passes non cryptés relatifs à des sites Internet visités par Konqueror, n'est-ce pas là une grave erreur de sécurité ou c'est juste de la parano ? le kwallet gère-t-il mieux ce problème ? les autres navigateurs (Mozilla, Epiphany, voire même ie et Safari...) ont-ils un fichier similaire avec les mots de passes non cryptés ? Complétion est-il un mot français correct, vu qu'il parait en rouge lors de la correction orthographique ?

PS : il est possible de désactiver l'enregistrement des mots de passe dans tous les navigateurs que je connais, y compris Konqueror, mais un enregistrement avec cryptage aurait été certainement plus intéressant...
  • # mozilla firefox thunderbird

    Posté par (page perso) . Évalué à 3.

    ces 3 là stockent aussi en clair les mots de passe (en base64 il me semble) tant que tu ne définis pas un "maitre mot de passe"
    • [^] # Re: mozilla firefox thunderbird

      Posté par (page perso) . Évalué à 7.

      Mon Firefox 0.9.3 (debian) stocke les mots de passe dans un fichier au format ASN.1 et encrypté en "des-ede3-cbc" (3DES ?). Ca fait plusieurs semaines que je cherche à décrypter mes mots de passe Firefox. Apparement, Firefox utilisera une clé de 8 octets pour décrypter ces mots de passe (classique pour DES). Le problème est de le trouver dans les dizaines de méga-octets de code source :o)

      Sinon pour votre info, voici les encryptages de mots de passe pour différents logiciels (du meilleur au moins bon) :
      - gftp : algo à eux (très simple)
      - ncftp : base64
      - yafc : base64
      - gaim : en clair :)

      Si vous êtes parano, utilisez le "KWallet" pour stocker vos mots de passe sous KDE, et le "Master Password" sous Mozilla.

      Enfin, si vous êtes vraiment parano, ne stockez pas vos mots de passe (hé hé).

      ---

      Pour les curieux, j'ai écrit une suite de script bash+perl (j'ai appris Perl pour la peine) qui servent à décrypter les mots de passe des fichiers cités plus haut (gftp, gaim, ncftp, yafc) :
      http://www.haypocalc.com/perso/prog/lamer-0.6.tar.gz(...)

      Si quelqu'un a des infos sur Mozilla, qui m'écrive par email ;-)

      @+ Haypo
      • [^] # Re: mozilla firefox thunderbird

        Posté par . Évalué à 1.

        > Si vous êtes parano, utilisez le "KWallet" pour stocker vos mots de passe sous KDE, et le "Master Password" sous Mozilla.

        Quand on est parano on ne laisse pas ses mots de passes se balader sur sa machine...

        On utilise ses petits doigts pour retapper les longs mots de passe tous differents.
        • [^] # Re: mozilla firefox thunderbird

          Posté par (page perso) . Évalué à 6.

          Que l'on a consciencieusement copié sur des post-it qui trainent sur le bureau...

          -->[]
          • [^] # Re: mozilla firefox thunderbird

            Posté par (page perso) . Évalué à 4.

            Ce qui, selon l'environnement dans lequel on se trouve, n'est pas forcément une mauvaise idée.

            Bien sûr, laisser des mots de passe affichés dans un bureau qui reçoit de la visite, c'est mauvais. Mais déjà chez soi, on s'en fout un peu plus. Éventuellement, un tiroir, un tiroir qui ferme à clé, voire un petit coffre fort, permettent de se prémunir du vol trop facile de mot de passe et permettent d'éviter la potentielle catastrophe d'une perte du mot de passe.

            Il faut en effet toujours garder en tête qu'avec les mots de passe il y a deux coûts à équilibrer : combien coûte le vol du mot de passe (un étranger a accès aux données protégées) et combien coûte la perte du mot de passe (les données protégées sont perdues).

            Tout est une question de contexte, bien sûr, c'est donc une décision à prendre et à adapter au cas par cas. Il n'empêche, la mantra « tu n'écriras jamais ton mot de passe » est trop mise en avant comme première étape de sécurité, sans réfléchir une seconde au contexte dans lequel le mot de passe est utilisé.

            Une conséquence vicieuse, que j'ai observé plusieurs fois, c'est que par peur d'éviter de perdre le mot de passe, et comme « on ne doit pas l'écrire », on choisit un mot de passe tout con, par « sécurité ».
        • [^] # tout est fichier

          Posté par (page perso) . Évalué à 1.

          Si sous les systeme unix tout est fichier, le mot de passe se balade forcement sur la machine non ?
          • [^] # Re: tout est fichier

            Posté par . Évalué à 2.

            Tout n'est pas fichier, tu crois que c'est quoi la mémoire anonyme....

            man mlock aussi ca t'evitera de pouvoir grepper ton swap comme sous OS X pour retrouver les mdp que tu as oubliés. Il reste /dev/mem et /dev/kmem mais toutes applications soigneuses netoyent les buffers des qu'elle n'ont plus besoin de l'information.

            Bref dans tout les cas tu as :

            un mot de passe compromis (le master) = tout les mdps compris ! Ca me semble etre assez dissuasif pour ne pas utiliser ce genre de fonctionalités.

            Bref quelqu'un qui a ton compte ou qui a la root ne peut intercepter que ce que tu tappes ce qui correspond generalement un sous ensemble nettement plus petit que l'ensemble de tes mdps (le temps de detecter la chose). Tu ne laisses rien trainer derriere toi.
      • [^] # Re: mozilla firefox thunderbird

        Posté par (page perso) . Évalué à 4.

        Ca fait plusieurs semaines que je cherche à décrypter mes mots de passe Firefox. Apparement, Firefox utilisera une clé de 8 octets pour décrypter ces mots de passe (classique pour DES).

        En fait la clé fait 24 (3*8) octets pour 3DES.

        J'ai jeté un rapide coup d'oeil aux sources de Mozilla et voilà ce que j'ai compris : quand tu ajoutes un mot de passe au password manager et que tu demandes à chiffrer, le code fait appel au PSM (Personal Security Manager), s'il n'est pas initialisé on demande alors le Master Password. Ensuite le login et le mot de passe sont chiffrés avec la clé "par défaut" (keyId.data = 0, keyId.len = 0) du PSM ; si cette clé n'existe pas, elle est crée.

        Cette explication est le fruit d'une demi heure d'étude du code de mozilla, mes propos sont donc à prendre avec toute les précautions nécessaires.
        • [^] # Re: mozilla firefox thunderbird

          Posté par (page perso) . Évalué à 3.

          J'ajoute un point qui me paraît important à propos du master password de Mozilla.

          Mozilla permet de gérer des security devices (dans l'onglet avancé). Un security device est en fait, pour faire simple, une interface PKCS11 permettant de gérer un périphérique de sécurité.
          Un périphérique de sécurité peut être une carte à puce style Schlumberger ou GemPlus, ou un token USB style Rainbow iKey. Chaque constructeur de tel périphérique va livrer son implémentation PKCS11 allant chercher les clés dans le périphérique, allant demander au périphérique de faire les calculs cryptos...

          Le master password est en fait le mot de passe du security device sélectionné. Si tu n'as pas de périphérique de sécurité Mozilla va utiliser son module PKCS11 interne, basé sur la library PSM.
          A chaque ajout de mot de passe, Mozilla va demander au security device de chiffrer le mot de passe, en lui fournissant ce mot de passe.

          Une sécurité optimale peut être de ne pas stocker ses mots de passe, mais utiliser un périphérique style token est parfaitement sûr également.

          Excusez l'absence d'accents dans mes commentaires, j'habite en Allemagne et n'ai pas de clavier francais sous la main.

          • [^] # Re: mozilla firefox thunderbird

            Posté par (page perso) . Évalué à 3.

            En effet, je ne me suis pas attardé sur PKCS11 [1] dans mon explication mais cela méritait d'être précisé. En effet, il faut voir le master password comme l'équivalent du PIN d'une carte à puce.

            Cependant je ne pense qu'on puisse choisir le security device en ce qui concerne la sauvegarde des mots de passe, j'ai sur ma machine plusieurs security devices (dont un iKey) mais mozilla ne m'a pas laissé le choix.

            Une sécurité optimale peut être de ne pas stocker ses mots de passe, mais utiliser un périphérique style token est parfaitement sûr également.

            Je ne pense pas de stocker ses mots de passe chiffrés sur le disque pose problème : la clé de chiffrement est elle-même protégée dans le PSM. Je ne sais pas comment le PSM est implanté mais je ne doit pas me tromper de beaucoup en pensant que son contenu est chiffré (3DES, RC2... ?) par une clé dérivée du master password [2].

            Oui, l'idéal serait bien sûr de remplacer les authentifications login/mot de passe par des authentification forte avec certificats X.509 et SSL bi-authentifié mais ce n'est pas pour tout de suite, chez les particuliers au moins.

            [1] : PKCS #11: Cryptographic Token Interface Standard http://www.rsasecurity.com/rsalabs/node.asp?id=2133(...)
            [2] : PKCS #5: Password-Based Cryptography Standard http://www.rsasecurity.com/rsalabs/node.asp?id=2127(...)
            • [^] # Re: mozilla firefox thunderbird

              Posté par (page perso) . Évalué à 1.

              En effet, je ne me suis pas attardé sur PKCS11 [1] dans mon explication mais cela méritait d'être précisé. En effet, il faut voir le master password comme l'équivalent du PIN d'une carte à puce.

              Exactement, le master password est le mot de passe du security device, et donc le PIN du token ou de la carte à puce.


              Cependant je ne pense qu'on puisse choisir le security device en ce qui concerne la sauvegarde des mots de passe, j'ai sur ma machine plusieurs security devices (dont un iKey) mais mozilla ne m'a pas laissé le choix.

              Ah bon ? Il me semble que Mozilla utilise le security device chargé. Malheureusement je ne peux pas faire de tests maintenant car je suis chez moi et mes tokens/cartes de test sont au boulot.
              As-tu essayé de déchargé le module PKCS11 interne de Mozilla avant de charger celui de ton token ?


              Je ne pense pas de stocker ses mots de passe chiffrés sur le disque pose problème : la clé de chiffrement est elle-même protégée dans le PSM. Je ne sais pas comment le PSM est implanté mais je ne doit pas me tromper de beaucoup en pensant que son contenu est chiffré (3DES, RC2... ?) par une clé dérivée du master password [2]

              Tu ne te trompes absolument pas :-)
              Dans le cas du module interne, la base de mots de passe sera chiffrée en triple-DES. La clé de chiffrement (3DES) est dérivée du master password par un mécanisme PKCS#5, tout-à-fait éprouvé, donc le niveau de sécurité est excellent.

              L'avantage d'un périphérique de sécurité externe est plutôt que c'est un support physique donc tu peux transporter tes clés, les détruire, être sûr qu'elles sont à l'abri d'un crash disque...

              Excusez l'absence d'accents dans mes commentaires, j'habite en Allemagne et n'ai pas de clavier francais sous la main.

              • [^] # Re: mozilla firefox thunderbird

                Posté par (page perso) . Évalué à 2.

                As-tu essayé de déchargé le module PKCS11 interne de Mozilla avant de charger celui de ton token ?

                Oui j'ai essayé mais il n'ai pas possible de décharger le PSM. Tu as un message d'erreur "Unable to delete module". En revanche tu peux tout à fait charger en même temps autant de modules PKCS11 que tu veux ; sur mon poste en plus du PSM j'en ai deux autres.

                Quand tu veux donner le choix du module à utiliser, il est possible de d'obtenir la liste des modules PKCS11 en utilisant la méthode listModules() de l'interface nsIPKCS11ModuleDB ou la liste des token en appelant listTokens() dans l'interface nsIPK11TokenDB. Ensuite rien de plus simple que d'afficher une combobox contenant ces noms avec le code javascript idoine. Il ne reste plus qu'à récupérer le module ou le token désiré en appelant findModuleByName(name) ou findTokenByName(name).

                J'ai aussi regardé d'un peu plus près le code du Password Manager (nsPasswordManager.cpp). Il me semble bien qu'il fait un appel explicite au Internal Key Token pour chiffrer ou déchiffrer les mots de passe.
  • # Mozilla

    Posté par . Évalué à 1.

    Concernant mozilla et mozilla firefox, c'est une fichier "crypté" en base64 : une gageure...
    Par contre, je n'ai pas regardé si le "master password" y changeait quelque chose.
    • [^] # Re: Mozilla

      Posté par (page perso) . Évalué à 2.

      Un "plus" de mozilla par rapport à konqueror semble-t-il...
    • [^] # Re: Mozilla

      Posté par . Évalué à 2.

      Déjà, le fichier est chiffré et non pas crypté :
      - on chiffre et on déchiffre (avec des clés)
      - on crypte (avec un clé) mais on ne décrypte pas (ou alors pas des méthodes pas catholiques, mais pas avec un clé, elle n'existe pas)

      Après, c'est normal que les mots de passe ne soient pas bien protégés sous mozilla et compagnie (konqueror inclus). Les navigateurs auront besoin à un moment donné du mot de passe. S'il est crypté, ils ne pourront pas le récupérer. Par contre s'il est chiffré (base64 par exemple), alors ils pourront déchiffrer le fichier.

      Maintenant, y'a une option supplémentaire: ajouter un mot de passe (Master Password par exemple). Le fichier (ou les mots de passe) sera (seront) chiffré(s) par le mot de passe et déchiffré(s) quand il faudra. Mais ce mot de passe ne sera pas stocké sur le disque. Donc pas moyen de déchiffré le message sans le mot de passe.

      Voila. Donc tout est normal.
      • [^] # Re: Mozilla

        Posté par (page perso) . Évalué à 2.

        Déjà, le fichier est chiffré et non pas crypté :
        Ah ben non !

        - on chiffre et on déchiffre (avec des clés)
        - on crypte (avec un clé)

        Ouf, tu te rattrapes !

        « Chiffrer » et « crypter » sont tous deux correct, du moins d'après mon Larousse (qui n'est pas une référence, OK).

        La distinction est à faire (et tu la fais) pour « décrypter » et « déchiffrer ».
        • [^] # Re: Mozilla

          Posté par . Évalué à 1.

          >>Déjà, le fichier est chiffré et non pas crypté :
          >Ah ben non !
          ah ben si !
          sinon expliques-moi comment fait l'application pour relire le fichier s'il est crypté !!

          >>- on chiffre et on déchiffre (avec des clés)
          >>- on crypte (avec un clé)
          >Ouf, tu te rattrapes !
          je ne me rattrapes pas, je continue sur ma lancée. différence !

          >« Chiffrer » et « crypter » sont tous deux correct, du moins d'après mon Larousse >(qui n'est pas une référence, OK).
          oui tous les deux corrects, mais y'a une grande différence entre les deux termes.

          >La distinction est à faire (et tu la fais) pour « décrypter » et « déchiffrer ».
          • [^] # Re: Mozilla

            Posté par . Évalué à 2.

            Je fais plutôt la différence entre chiffer/crypter (avec un algo non réversible si on n'a pas la clé, exemple PGP) et encoder (qui est une opération réversible sans clé, exemple rot13).
            La sécurité du premier est que la clé est secrète, l'algo est public. La (moins bonne) sécurité du second est que l'algo doit être secret. Et qu'il est donc accessible au reverse-engineering, surtout avec des sources ouvertes.
            Dans le cas du base64 évoqué au dessus, je crois que c'est plutôt de l'encodage, non ?
  • # Complétion vs. Complètement

    Posté par . Évalué à 2.

    Complétion est effectivement un mot français, mais pas avec la définition que tu veux lui donner.

    Selon le Larousse :
    Complétion : n.f. Ensemble des opérations qui précèdent et permettent la mise en production d'un puits de pétrole.

    En revanche, toujours selon le Larousse :
    Complètement : n.m. Action de compléter

    Tu voulais donc dire complètement.
    • [^] # Re: Complétion vs. Complètement

      Posté par . Évalué à 1.

      Alors pourquoi est-ce que "tout le monde" utilise completion? Est-ce qu'utilisé dans ce sens il constitut un anglissisme?

      Si tu regardes sur les sites gouvernementaux Canadiens (Québécois), ils y précisent que "completion" peut se traduire par "complétion"... Mais effectivement aussi que "Complétion" est relatif aux puits. Peut-etre donc que ton petit larousse n'est pas à jour?

      En gros, je trouve en regardant à divers endroits que "Completion" peut se traduire par :

      achèvement
      complètement
      conditionnement
      complétion

      Avec une petit remarque aussi :

      complétion : Ce terme est officiellement recommandé par le Gouvernement français.

      Donc je ne suis pas certain que le terme à employé soit "Complétement" et je recommenderai pour ma part l'utilisation de "Complétion"...

      Pour terminer, je trouve aussi l'information suivante :

      Complétion :
      complètement n. m.

      Définition :
      Action de compléter, de rendre complet.

      Sous-entrée(s) :
      synonyme(s)
      complémentation n. f.
      complétion n. f.


      JMS
    • [^] # Re: Complétion vs. Complètement

      Posté par . Évalué à 1.

      J'ajouterais qu'en mathématiques, on utilise aussi le terme "complétion". Notamment pour les espaces métriques, que l'on souhaite rendre complets.

      Snark
    • [^] # Re: Complétion vs. Complètement

      Posté par . Évalué à 1.

      Si j'avais des questions de français, le Larousse est bien l'un des derniers ouvrages que je consulterai !
  • # kwallet

    Posté par . Évalué à 4.

    lorsque tu utilise kwallet, les mot de passes ne sont plus stoqué dans le fichier mentionné, mais dans une base de donnée cryptée avec un mot de passe "maitre". D'ailleur, il me semble que konqueror, dès le permier mot de passe entré, te demande de "configurer" (i.e entrer le mot de passe maitre ) kwallet.
  • # Permissions?

    Posté par (page perso) . Évalué à 3.

    Si ce fichier a les permissions qui vont bien, 0600 (-rw------), c'est pas très grave. A part sur les machines où tu n'es pas root, et où tu n'as pas confiance en root (auquel cas de toutes façons, tu n'enregistres pas tes mots de passe)...
    • [^] # Re: Permissions?

      Posté par (page perso) . Évalué à 2.

      Il a bien les permissions 0600 (-rw------)

      [joe@intra khtml]# ll
      total 4
      -rw------- 1 joe joe 2391 sep 6 11:22 formcompletions
      [joe@intra khtml]#
    • [^] # Re: Permissions?

      Posté par (page perso) . Évalué à 2.

      > A part sur les machines où tu n'es pas root

      ... Et les machines sur lesquelles /home est monté en NFS sur un réseau sur lequel il y a *1* machine sur laquelle tu n'as pas confiance en root (Ce qui inclue le portable du voisin qui a débranché une station pour se mettre sur le réseau local, le mec qui redémarre sur une disquette de boot maison, ...). :-(
  • # Le problème est ailleur...

    Posté par (page perso) . Évalué à 5.

    Il n'y a là aucun problème de sécuritée.

    En effet si les navigateur crypte les mots de passe, ils sont obligé de pouvoir les décrypter aussi, ce qui veux dire que n'importe qui peut aller regarder dans le source comment les décrypter et donc retrouver les mots passes en clair.
    C'est un problème de crypto, il est impossible de decrypter le mot de passe sans qu'il soit possible à une autre personne de le faire (sauf si la personne n'a aucun acces au navigateur ou a ses sources).

    Le seul moyen d'avoir cette sécuritée est d'utiliser un master password qui est utilisé pour crypter tous les autres.

    Certain navigateur font un pseudo-cryptage qui n'est en fait qu'une transformation mathématique réversible puisque la clé n'est pas secrète. On peut voir cela comme un petit plus au niveau sécurité, mais ça ne protège que des utilisateur les moin avertis qui peuvent de toutes façon aller chercher sur internet un programme de decryptage automatique.

    Ce pseudo-cryptage ne fait que donner l'impression de sécuritée, et a donc pour effet de dissuader les utilisateur d'utiliser le master password. Par contre la présence des mots-de passe en clair incite les utilisateur a ce protéger un peu plus.

    Moralitée : Pour toute machine sur laquelle il y a un risque, aussi petit soit-il, pensez au master password ou désactiver la fonction de mémorisation.
    • [^] # Re: Le problème est ailleur...

      Posté par (page perso) . Évalué à 2.

      Ou simplement de ne jamais stocker vos mots de passe sur votre machine mais dans votre cerveau. Le cerveau humain est normalement impermébale à une attaque numérique sur un port entre 0 et 65535.

      quoiqu'avec un un peu d'alcool/penthotal/lsd/drogue en tous genres/etc.... ce doit être possible.

      \_o<

      • [^] # Re: Le problème est ailleur...

        Posté par . Évalué à 1.

        > Ou simplement de ne jamais stocker vos mots de passe sur votre machine
        > mais dans votre cerveau. Le cerveau humain est normalement impermébale
        > à une attaque numérique sur un port entre 0 et 65535.

        Attention cependant aux ports 'nom du chien' et 'date de naissance'
      • [^] # Re: Le problème est ailleur...

        Posté par (page perso) . Évalué à 2.

        quoiqu'avec un un peu d'alcool/penthotal/lsd/drogue en tous genres/etc.... ce doit être possible.
        Ça peut paraître malsain comme curiosité, mais je me suis toujours demandé de quel ordre serait la résistance de l'esprit humain à des techniques "modernes" d'interrogation et de conditionement.

        Y'a pas un type des services secret qui serait prêt à lacher quelques infos ? Je le dénoncerais pas -_^ (enfin, ça dépendras de ma résistance...)
    • [^] # Re: Le problème est ailleur...

      Posté par (page perso) . Évalué à 1.

      De plus, on peut considérer que tout ce qu'il y a dans le dossier "~" n'est normalement accessible qu'à l'utilisateur et à l'administrateur.
      Si c'est bien fait il ne devrait pas y avoir besoin de plus de cryptage.
      • [^] # Re: Le problème est ailleur...

        Posté par (page perso) . Évalué à 2.

        Tu fais vraiment confiance à l'admin ?

        Perso je n'est pas spécialement envis qu'il ait accès a la gestion de mes comptes sur le site de ma banque. C'est pas par ce que c'est l'admin que je lui fais confiance à ce point.
  • # Hé ho !

    Posté par (page perso) . Évalué à 1.

    On dit 'chiffrer' (ou 'déchiffrer'), mais pas crypter - ni décrypter.

Suivre le flux des commentaires

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