Aujourd’hui on vérifie la sécurité.
Les services en ligne « sensibles »
Même en ne gardant que le principal, il faut penser à :
- votre boite email (qui sert à la récupération des mots de passe de tous les autres comptes),
- votre service de nom de domaine,
- celle de secours (qui sert à la récupération du mot de passe de la boite principale),
- votre service de backup,
- vos services de stockage ou synchronisation en ligne,
- votre hébergeur de serveur en ligne si vous en avez.
[ ] La première étape c’est s’assurer d’avoir des mots de passe « sûrs ». Ça veut dire suffisamment longs et complexes.
Suivant les préférences c’est au moins huit caractères aléatoires entre chiffres lettres et symboles, au moins 12 caractères avec des lettres relativement aléatoires, ou au moins 15 caractères minimum si vous avez des suites de mots communs.
Le l34t sp33k, l’inversion des caractères, l’ajout d’une année, et globalement la plupart des variations auxquelles vous pourriez penser sont testables en moins de quelques minutes donc n’ajoutent pas de complexité significative.
[ ] Seconde étape, s’assurer que ces mots de passe sont uniques et vraiment différents (pas de simples variations du même).
Au grand minimum, s’assurer d’avoir un mot de passe pour les services très sensibles différent du mot de passe que vous tapez tous les jours pour les services moins importants. Ce mot de passe sensible ne devra être tapé que dans des espaces correctement sécurisés.
[ ] Quand vous le pouvez, activez l’ »authentification en deux étapes ». C’est possible au moins pour Google, Gandi, Dropbox, iCloud. C’est franchement peu gênant vu la sécurité que ça apporte, ne pas le faire est limite une faute.
[ ] Les « questions secrètes » pour récupérer des comptes dont vous avez oublié les mots de passe sont de vraies plaies pour la sécurité. En général il est très facile d’en trouver la réponse.
À vous de voir si vous préférez tricher et mettre de fausses réponses (au risque de ne pas vous en souvenir) ou si vous avez une grosse faille à cet endroit là. C’est le moyen d’accès de la plupart des usurpations courantes.
L’accès depuis vos postes
Tablette, téléphone (même les « pas smart »), micro-ordinateur, NAS de la maison…
[ ] Tous doivent avoir un mot de passe à l’allumage et à la sortie de veille. Tous, pas d’exception.
Sur les smartphones et tablettes vous avez parfois la possibilité de mettre un « schema ». Ça fonctionne assez bien et c’est plutôt simple à déverrouiller. Si vous n’avez pas d’autre choix, utilisez le code PIN.
Pour les autres les mots de passe doivent respecter les mêmes règles que pour les services en ligne.
[ ] Tous ceux qui le peuvent doivent avoir un disque chiffré. Micro-ordinateurs, tablettes et smartphones le permettent quasiment tous.
Le coût en performance ou en batterie est quasiment nul sur les processeurs des 5 dernières années qui ont des circuits dédiés pour ces calculs.
Sans ça n’importe qui avec très peu de connaissances informatiques peut passer outre votre mot de passe.
Parfois il existe une procédure de récupération si jamais vous oubliez vos mots de passe, de façon à déverrouiller le disque. Sur Apple par exemple ça utilise le compte iCloud. Dans ces cas, le compte utilisé pour la procédure de récupération doit être considéré comme sensible avec les mêmes règles que plus haut.
[ ] Les mises à jour sont configurées pour être téléchargées automatiquement, et installées dès qu’elles sont disponibles.
[ ] Si vous enregistrez vos mots de passe dans votre navigateur pour ne pas les ressaisir à chaque fois, ce dernier doit avoir un « mot de passe maître ».
Si en plus ces données sont synchronisées en ligne, le mot de passe qui gère le compte de synchronisation doit être considéré comme sensible avec les mêmes règles que plus haut.
[ ] Vous avez une politique de backup automatisé et testé pour toutes vos données importantes. Bien entendu le compte qui permet d’accéder aux données de backup est à considérer comme sensible.
La machine qui reçoit les backup doit avoir un disque chiffré et si vous faites appel à un service tiers le chiffrement des données doit se faire côté client pour que le prestataire ne puisse pas décoder les données.
Tout ça est un minimum, maintenant imaginez quelqu’un qui connait la réponse à la question secrète de votre opérateur téléphonique. À partir de ça il peut réinitialiser le mot de passe pour accéder à votre compte. Là il a une interface pour lire et écrire des SMS. Il demande alors la réinitialisation du mot de passe de votre boite email principale, qui se fait via SMS. À partir de là il réinitialise le mot de passe de votre service de stockage en ligne, de backup, et de votre banque. Le voilà avec de quoi récupérer vos photos, même si vous les avez effacé, et peut être même de quoi faire des virements. Situation fictive mais on a vu des attaques bien plus inventives.
Si vous avez lu jusqu’au bout (sérieusement ?) je suis curieux de savoir quelle proportion de ces bonnes pratiques vous validez, ou si vous respectez tout en détail pour l’intégralité de vos matériels et comptes sensibles.
9 réponses à “Hygiène de sécurité”
Pour les questions secrètes, les noter dans un fichier avec de fausses questions/réponses qui lui n’est jamais mis en ligne. Uniquement local. Cela semble contre naturel mais en fait elles sont là pour vérifier un changement ou une perte et comme elles tiennent souvent du social engineering pour les outrepasser. Si une personne a accès au lieu où est stocké ce fichier, vous avez un plus gros problème.
Je recommande vraiment la (re)lecture de l’histoire du hack du Mat Honan, et l’écoute d’un entretien entre Chris Coyier et un type qui a essayé de le hacker. C’est passionant, et ça montre aussi que quoi tu fasses pour te protéger, n’importe qui de suffisamment acharné trouvera un moyen d’accéder à tes comptes.
Le seul problème que j’ai avec les app d’authentification en 2 étapes, c’est que l’app fournissant le code n’est déployable que sur un appareil.
Typiquement, je dois me connecter depuis 2 jours sur Gandi ; quand j’y pense, je suis au bureau et je n’ai pas ma tablette avec moi ; du coup, coincé jusqu’au soir où j’oublie et bis repetita le lendemain :-P
Après, perso, comme faire un mot de passe par service devient compliqué (ou alors devient facile à deviner s’il y a une certaine proximité), c’est plutôt des mots de passe par criticité du service. Pour les services à faible criticité, il est unique et plus on monte en criticité, plus ça tend vers le complexe et l’unicité. Ca en fait un peu moins à retenir !
Reste que le problème principal est le débat confort/simplicité vs sécurité pour lequel le quidam moyen tend à privilégier le premier.
Il y a aussi la fausse bonne idée des solutions biométriques ; un mot de passe ça se change, une empreine, c’est plus compliqué et il est tout autant possible de te la subtiliser.
J’aurais appelé ça « hygiène sécuritaire » plutôt qu’ »hygiène de la sécurité ».
« Reste que le problème principal est le débat confort/simplicité vs sécurité pour lequel le quidam moyen tend à privilégier le premier. »
Justement, le confort pour moi c’est d’avoir mes données sous la main, et sous la main, ça n’est pas à des milliers de kilomètres dans un nuage. Et du coup la première partie de cette hygiène, c’est la duplication des données. Que quelqu’un de mal intentionné récupère des choses sur ou de moi, il y arrivera toujours, ça n’est pas un problème d’informatique. La seule chose qui me gêne vraiment c’est la perte de données, mais c’est une motivation personnelle, je fais parti de ces gens qui ont énormément de difficultés à jeter.
Et même pour la banque, l’effet est limité, dans le sens où les banques dans lesquelles je suis ont toutes des mécanismes de plafond qui empêche le siphonnage intégral. Après se battre contre la banque pour récupérer son argent n’est pas drôle, mais pas plus que de se battre avec son assureur quand un chauffard a défoncé votre voiture, ou se farcir au boulot des gens qui vous pourrissent la vie.
« Le l34t sp33k, l’inversion des caractères, l’ajout d’une année, et globalement la plupart des variations auxquelles vous pourriez penser sont testables en moins de quelques minutes donc n’ajoutent pas de complexité significative. »
Si rajouter 4 caractères à un mot de passe (= nombre de combinaisons initiales x 14 millions) fait que ça n’ajoute que quelques minutes de craquage, ça n’est pas la peine de se casser le cerveau : visiblement le craqueur a tellement de moyens à sa disposition qu’il aura plus vite fait de passer par une solution de contournement que de tenter la force brute.
Ajout d’une année, très probablement entre 1000 et 2100, c’est 1100 combinaisons. Je ne parle même pas qu’en réalité c’est plutôt entre 1940 et 2014, donc moins de 100 combinaisons. Très loin d’une multiplication par 14 millions
Et on parle justement de solutions autre que de tester chaque combinaisons. On parle de tester les mots ou combinaisons courantes, puis les versions avec que minuscules, puis …
Et une version relativement détectable à laquelle on a juste ajouté une année ou juste remplacé les e par des 3, c’est codé depuis longtemps dans à peu près tous les outils de test de mot de passe. Ca sera testé bieeeeeen avant de tester un aléatoire avec des chiffres au hasard dans la chaîne de caractères.
C’est toi qui ramène à l’année, je parle de 4 caractères :-)
Il n’empêche que « les outils de test de mot de passe » ne connaissent pas la structure a priori. Ce n’est pas parce que tu divises le nombre de combinaisons par 10, 100 ou 1000 que ça devient plus exploitable. Et si cet outil a un accès direct au stockage… c’est un peu fichu par avance à la base.
Ils ne savent pas ce que tu as comme structure, mais ils ont déjà codé en dur un nombre impressionnant de structures relativement classiques et probables.
Si ton mot de passe hors variation est considéré comme faible, la version avec variation a toutes les chances d’être faible elle aussi. On ajoute bien entendu de la complexité, mais pas un facteur suffisant pour que ça change vraiment la donne. Ne pas se croire original, en général on ne l’est pas.
Si en plus tes mots de passes sont des variations les uns des autres (changer une lettre, une casse, un chiffre, changer la position de la majuscule ou du chiffre, etc.) autant dire que c’est trouvé instantanément quand on connait un des mots de passe.
C’est ça que je pointais. Juste que si ton mot de passe est « perenoel », faire « perenoel73 » ou « perenoel2014 » ou « p3r3N0EL » ou « pere2noel » n’apportera pas grand chose car ce sera testé dans la foulée par les outils.
« Ils ne savent pas ce que tu as comme structure, mais ils ont déjà codé en dur un nombre *impressionnant* de structures relativement classiques et probables. »
Et plus ils coderont de structures, plus l’espace à explorer sera grand.
Mais ça ne change pas grand chose au final : si c’est un service ligne, le mec qui brute force (même avec une logique de structures) a le devoir de se faire bloquer par le fournisseur, quitte à bloquer le compte (un bon déni de service des familles) ; et s’il a un accès physique… il peut se le garder sous le coude avant d’avoir besoin de plus d’infos, d’attendre un super support de CUDA ou d’OpenCL de la part de son outil favori, ou de lancer ça dans le Google Compute Engine s’il est swag, ou mieux, sur un réseau de botnet.
Si on est vraiment parano, on peut aussi se demander s’il ne risque pas d’arriver un jour où une de ces mises à jour sera vérolée… Et donc tester préalablement les mises à jour sur une machine dédiée qui ne contient aucune information sensible. Mais là, ce n’est plus de l’informatique grand public, ça devient un métier…