Générer un mot de passe aléatoire

Voici quelques commandes pratiques pour générer un mot de passe aléatoire sous Linux.

Pour cet exemple, on demande que le mot de passe ait 12 caractères:

$ apg -m 12
varkebItzyoj

$ mkpasswd 12
5klJipZ1Rq0Tw

$ pwgen -s 12 1
Veiqu3wowaiP

$ gpg -a --gen-random 1 12
ZLqFJxjq2YGXDi2A

$ openssl rand -base64 12 | cut -c 1-12
akK2K2kc33+7

$ tr -dc '[:alnum:]' < /dev/urandom | head -c ${1:-12}; echo
ixrNsnIuTgue

Si le mot de passe est destiné à être mémorisé par un ordinateur. Par exemple, en stockant les mots de passe dans un gestionnaire de mot de passe tel que Firefox, Gnome Keyring ou KeepassX, ça fonctionne bien.

Le problème c’est que mémoriser un mot de passe un peu long devient vite impossible pour un humain. Pre encore si vous devez en mémoriser plusieurs.

Dans le cas ou vous devez mémoriser le mot de passe dans votre tête, il est plus pratique d’utiliser une phrase composée de mots aléatoires.

Un exemple est la méthode Diceware mais vous pouvez utilisez d’autres mots. Un exemple donné par  Edward Snowden : « margaretthatcheris110%SEXY » (Margaret Thatcher est 110% sexy ?)

Un exemple de code pour générer des mots aléatoire:

$ echo $(shuf -n4 /usr/share/dict/words)
humoriste qualifierez rappelant affecterons éjecteriez naturalistes

J'aime(4)Ferme-la !(0)

Related Posts:

Vérifier le téléchargement d’une ISO Debian

Pour télécharger la dernière version stable Debian, vous pouvez aller à cette adresse : http://cdimage.debian.org/debian-cd/current/multi-arch/iso-cd/

Vous trouverez une ISO à télécharger. Mais comment vérifier que l’ISO est conforme et que personne n’y a introduit de backdoor en cours de route ?

A coté de cette ISO vous trouverez :

On va d’abord s’assurer que le fichier SHA512SUMS est bien authentique :

$ gpg --verify SHA512SUMS.sign SHA512SUMS
gpg: Signature faite le ven 11 sep 2015 17:13:48 CEST avec la clef RSA d'identifiant 6294BE9B
gpg: Bonne signature de « Debian CD signing key <debian-cd@lists.debian.org> »
gpg: Attention : cette clef n'est pas certifiée avec une signature de confiance.
gpg:             Rien n'indique que la signature appartient à son propriétaire.
Empreinte de clef principale : DF9B 9C49 EAA9 2984 3258  9D76 DA87 E80D 6294 BE9B

La clé utilisée pour signer le fichier doit faire partie de celles-ci : https://www.debian.org/CD/verify

Vérifiez ensuite que le hash du fichier ISO que vous avez téléchargé est correct:

$ sha512sum --check SHA512SUMS
debian-8.2.0-amd64-i386-netinst.iso: Réussi
J'aime(5)Ferme-la !(0)

Related Posts:

Où Facebook stocke mes photos privées ?

Les photos que vous envoyez sur Facebook ne sont pas stockées comme vos autres données privées (date de naissance, etc…). Elles sont copiées et hébergées sur ce que l’on appelle des CDN, qui sont des serveurs de proximité , afin réduire le coût en bande passante pour Facebook et augmenter la vitesse de chargement des photos pour vous.

Pour le constater, c’est simple, prenez une photo privée de quelqu’un et regarder son adresse Internet (avec Firefox : clic droit sur l’image -> « copier l’adresse de l’image »). Vous verrez que l’image est stockée chez akamaihd.net

Vous devez donc avoir compris que votre photo « privée » est en réalité copiée en quelques secondes sur des centaines de serveurs repartis dans le monde ! Chaque pays ayant sa propre législation pour piocher dans vos données et chaque machine son intermédiaire technique de confiance qui a un accès complet aux données. Je ne suis pas sûr que la confidentialité de votre photo « privée » ait un gros poids face aux bénéfices du CDN.

Ensuite vous aurez compris que les photos sont accessibles à tout le monde qui en connaîtrait l’adresse. Il n’y aucune forme d’authentification. Toutes les photos de tous les utilisateurs de Facebook sont disponibles en permanence sur Internet et peuvent être téléchargées par n’importe qui…  à la seule condition de connaître l’adresse complète de l’image. Il est heureusement quasi impossible de générer un adresse d’image valide par hasard d’un point de vue statistique. C’est la longueur de l’adresse web aléatoire qui constitue la difficulté d’accès et les photos étant demandées en HTTPS par l’interface web de Facebook, on ne peut pas, à ma connaissance, sniffer les adresses des photos (sauf faille dans le moyen de chiffrement).

Mais le plus drôle, c’est que si vous supprimez votre photo « privée » de votre compte Facebook, celle-ci reste sur les serveurs du CDN. J’ai fait un test en envoyant un photo privée que je n’ai partagée avec personne (visible par « moi uniquement »), je l’ai supprimée juste après l’avoir envoyée. Ça fait maintenant 2 semaines que je l’ai supprimée et elle est toujours disponible sur le web…

A coté de ça vous avez des solutions comme Owncloud, qui utilisent la même technique d’adresse longue et aléatoire pour partager du contenu confidentiel. Mais c’est uniquement si on souhaite partager le contenu sans demander de mot de passe. Et lorsque l’on décide de ne plus partager le contenu, le lien n’est plus valide, immédiatement. On peut même mettre des dates d’expiration au lien ;-)

J'aime(16)Ferme-la !(0)

Related Posts:

Une empreinte de doigt ne devrait pas être utilisée comme mot de passe

Un mot de passe, ça doit pouvoir se changer. Si votre accès est compromis, la première chose que vous devez faire, c’est changer le mot de passe.

Si votre mot de passe est votre empreinte biométrique et que quelqu’un a votre empreinte, vous faites comment, vous changez de doigt ou d’œil ?

Et ce n’est pas comme si c’était difficile de récupérer une trace que vous posez partout. Si l’accès par empreinte de doigt se démocratise, il suffira que vous ayez posé le doigt sur un lecteur d’empreinte géré par un tiers malhonnête (un lecteur d’empreinte sait se cacher dans un bouton de téléphone…) pour que votre empreinte soit dans la nature et puisse être utilisée pour accéder à tous vos appareils, données, moyens de paiement, portes, etc… Ce n’est pas difficile de tromper un lecteur d’empreinte avec une copie d’empreinte.

D’ailleurs, vous utilisez peut être déjà un lecteur d’empreinte (téléphone, ordinateur, etc..), êtes vous sûr que votre empreinte n’est jamais sortie de votre appareil? Seule l’implémentation logicielle du service derrière le lecteur d’empreinte vous le garantit.

Est ce que le service récupère toute votre empreinte, un hash, un hash salé? Est ce qu’il l’envoie sur un serveur à distance pour vous reconnaître sur un autre terminal? Et si un virus se mettait à récupérer les empreintes de doigts ?

Quand bien même, les empreintes servent depuis longtemps de moyen d’identification et de larges bases de données ont déjà été constituées (passeports, carte d’identité, etc…) et les détenteurs de ces bases stockeraient donc vos mots de passe? Intéressant…. Que dites-vous de savoir qu’aux USA, l’ Office of Personnel Management s’est fait dérobé les empreintes de doigts de plus 5 millions d’américains ?

Bilan, une empreinte de doigt devrait être considérée comme une photographie de votre visage. Elle vous identifie assez bien mais il faut connaître ses limites. Si l’authentification à votre compte bancaire se faisait par votre visage devant une caméra, il suffirait de découper une photo de vous pour tromper la caméra. C’est pareil avec les empreintes. Et vous ne pouvez changer de visage ni de doigt.

J'aime(13)Ferme-la !(1)

Related Posts:

Changer son adresse MAC de manière permanente sous Android

Je vous présente une technique qui fonctionne mais il faut un kernel qui ait ce patch. Je ne sais pas exactement quelles ROMs l’ont. J’utilise une CM12.1 custom sur un Galaxy S3.

Avec ce patch, Linux va utiliser l’adresse MAC indiquée dans le fichier /efs/wifi/.mac.info lors du démarrage. Si l’adresse MAC n’est pas valide ou que le fichier est manquant, l’adresse MAC d’usine sera utilisée.

Vous pouver créer ou modifier le fichier en « root » uniquement. Cette commande permet de le faire facilement :

# echo -n "00:11:22:33:44:55\n" > /efs/wifi/.mac.info

Pratique pour tromper le tracking des appareils Wifi, grapiller des minutes d’Internet gratuit à l’aéroport ou usurper l’adresse MAC d’un autre appareil.

J'aime(3)Ferme-la !(0)

Related Posts:

Attaque brute-force en Python sur chiffrement en GPG symétrique

Le hollandais volant a récemment écrit un article montrant comment utiliser chiffrement symmétrique de GPG sur un fichier en ligne de commande.

Je voudrais compléter son article.

Vous pouvez également facilement chiffrer un fichier avec GPG depuis l’explorateur de fichier de Gnome. Clic droit sur le fichier, choisissez « Chiffrer… » dans le menu déroulant puis la case « use passphrase only » dans la fenêtre de dialogue qui apparaît.

nautilus chiffrementMais attention, que ce soit en ligne de commande ou en graphique, la complexité du mot de passe est très importante !

Pour le montrer, j’ai codé un bruteforce-GPG-Python3 (sans prétention de performances).

Si le mot de passe est composé de 5 lettres en minuscules, il suffit de 6h de calcul avec ce script sur ma machine de 2012 pour retrouver le mot de passe.

Si le mot de passe est composé de 4 lettres en minuscules, il suffit de 20 minutes…

Donc GPG c’est sûrement bien, mais si votre mot de passe est simple, c’est comme avoir une porte blindée avec la clé sous le paillasson.

Maintenant, quels sont les critères qui font un bon mot de passe? Ce serait un peu court à résumer en quelques mots. Documentez-vous.

$ python3 brute_decrypt_gpg.py
Counting combinations...
Combinations to test: 456976
Start testing...
time per test: 1.70e-03 sec. Remaining tests: 453976. ETA to complete: 0.21 h.
...
time per test: 1.77e-03 sec. Remaining tests: 417976. ETA to complete: 0.21 h.
possible password 'chat' found

J'aime(0)Ferme-la !(1)

Related Posts:

Cloud personnels, attention à la fonctionnalité d’accès à distance

Depuis un petit moment déjà, les fabricants de disque dur proposent sur le marché des produits de « cloud personnel ». On trouve ainsi des produits tels que Western Digital My Cloud, Seagate Personal Cloud pour moins de 200€ avec 3To de stockage.

Le but d’avoir un « cloud » étant de pouvoir y accéder depuis l’extérieur de sa maison, il fonctionnalité essentielle est donc l’accès à distance aux données. C’est là que j’ai trouvé la solution déployée un peu « légère ».

Si vous avez déjà essayé de rendre des données hébergées chez vous accessibles depuis Internet, vous connaissez déjà la problématique:

  • Votre abonnement ne vous octroie qu’une seule adresse IP accessible depuis Internet.
  • Cette adresse IP peut, suivant les formules, être modifiée tous les jours.

Dans ces conditions, pouvoir accéder de manière fiable depuis Internet à une machine hébergée chez vous devient compliqué. (Pas impossible, juste compliqué)

Pour simplifier l’expérience utilisateur, la solution retenue pour ces produits est d’utiliser un relai hébergé par le fabricant.

Le produit est connecté en permanence au service du fabricant, ce qui permet au fabricant de la joindre même si votre IP publique change et sans avoir à toucher à la configuration du routeur de votre Box Internet.

Pour accéder depuis Internet aux données hébergées chez soi, il faut créer un compte chez le service hébergé chez le fabricant (Seagate Access, WDMycloud ,Synology QuickConnect) par utilisateur.

Vous remarquerez que le compte sur le service du fabricant ne sert qu’à simplifier l’expérience utilisateur. Sinon vous devriez spécifier à quel produit vous voulez accéder parmi tous ceux vendus par le constructeur. Imaginer le login : « bob@wdcloud_65863 » :D. Pour éviter de vous demander de mémoriser un identifiant de plus, on stocke celui-ci derrière un identifiant plus familier : votre email. Enfin, lors de votre connexion à distance, c’est bien le service du fabricant et non votre boîtier personnel qui déchiffre votre mot de passe.

Donc le fabricant a toutes les cartes en main pour accéder quand il veut à vos données hébergées chez vous. Ce n’est peut être pas ce que vous aviez en tête en achetant la boite dans le magasin…

La solution plus compliquée passe par :

  • une configuration du routeur de votre Box pour rediriger les connexions entrantes vers votre « Cloud » (gratuit)
  • un nom de domaine (payant) ou un sous domaine dont vous pouvez mettre à jour le DNS (gratuit)
  • la génération d’un certificat SSL dont vous seul avez la clé privée pour sécuriser le transfert de vos données et de votre mot de passe (gratuit ou payant. Si vous avez la main sur le nom de domaine, vous pouvez en demander un à StartSSL. Sinon vous pouvez en acheter un ou simplement l’autosigner)

D’après la documentation des produits que j’ai regardé, il faut aller voir les produits plus chers pour pouvoir mettre en œuvre cette solution : les autres NAS de Seagate et Western Digital ou tout produit de Synology. Dommage…

Compte tenu de cette limitation sur les produits « grand public » des fabricant de disque dur, la solution Intel NUC + Owncloud m’a l’air toujours la course niveau prix (un peu plus de 200€).

J'aime(5)Ferme-la !(0)

Related Posts:

Tracking par les émissions Wifi et Bluetooth

Si vous avez votre smartphone sur vous avec le Wifi activé, celui-ci essaie constamment de se connecter aux routeurs Wifi que vous connaissez. Pour cela, il utilise la méthode dite « active » qui consiste à envoyer publiquement la liste de de noms de tous les réseaux Wifi que vous connaissez. Si un de ces réseaux est à proximité, celui-ci va répondre, ce qui permet une connexion rapide dès que l’on arrive à proximité du réseau (pas besoin d’attendre que le routeur se déclare lui même ce qui peut prendre quelques longues minutes selon le réglage du routeur).

active-passive-scanUn smartphone Samsung sous Android 4.4 envoie ces données dans les airs toutes les 30sec environ.

Sur Android 4.3, c’est bien pire, puisqu’il le fait même lorsque l’utilisateur a désactivé le Wifi.

Problème, un appareil qui écoute ces transmissions peut savoir quels sont vos réseaux Wifi favoris, parfois le nom est explicite et en plus, avec une base de données, on peut récupérer sa localisation.

wifi-scan-localisationVous trouverez ici beaucoup de de publications sur le sujet.

Deuxième problème, qui apparaît également si vous êtes déjà connecté à un réseau Wifi. A chaque envoie de message réseau, votre appareil communique son adresse matériel (MAC) unique au monde. Donc tout appareil qui capte les émissions Wifi de votre smartphone est capable de l’identifier.

On ne peut savoir, si on n’a que cette information, quelle personne porte cet appareil. Mais on peut déjà compter combien de fois vous êtes venu à proximité, à quelles heures et pendant combien de temps. Il suffit qu’un autre service (application, transaction) ait pu faire la relation entre cette adresse MAC et une identité (cookie, email) pour que de suivre un matériel anonyme, on se mette à suivre des gens.

A noter que les MAC sont allouées par constructeur, donc on peut déjà savoir si l’appareil est un Apple ou un Samsung.

Cette méthode a beaucoup d’application marketing puisqu’un magasin peut savoir si le client qu’il a au guichet est nouveau ou est déjà venu (si il partage sa base de données avec d’autres magasins, il pourrait carrément avoir la liste des magasin que le client a visité avant de venir chez lui), quel rayon du magasin l’intéresse, voir même son identité si il y a eu moyen de savoir quelle personne porte ce matériel. Bref c’est en quelque sorte le cookie web en version IRL.

Une autre application, ce sont les services limités. Par exemple, dans les aéroports, ou le service Internet est limité à 30 minutes. Le routeur identifie votre appareil par son adresse MAC et lui refuse tout service après 30 minutes.

Une autre application est le comptage de personnes, par exemple, JCDecaux voudrait installer un mécanisme similaire dans ces panneaux publicitaires et ainsi pouvoir savoir à quels publicités vous avez été exposé. (Imaginez le croisement de données de tous les panneaux publicitaires… vous avez un tracking géant du déplacement de chaque individu, même dans le métro)

Toutes ces problématiques se posent de manière identique en Bluetooth. A une différence important près…

En wifi, il y a un périphérique sur vous (smartphone) et un périphérique fixe (routeur). L’un des deux doit dévoiler la présence de son identité pour qu’une connexion s’initie. Dans le cas du wifi il n’y a pas de problème à ce que le routeur s’annonce et que le smartphone reste passivement à l’écoute.

En bluetooth, avec l’arrivée des objets connectés portés (montre, lunettes, etc…) il arrivera tôt ou tard ou vous porterez 2 objets sur vous qui nécessiteront de communiquer en bluetooth. Et là forcément un des 2 devra s’annoncer continuellement et donc révélera son adresse MAC partout où vous passerez…

C’est une vraie problématique et la norme Bluetooth LE (qui mettra en relation tous les objets de demain) préconise, mais n’impose pas, aux constructeurs l’utilisation d’ adresses MAC pseudo aléatoires. Donc notre anonymat dans la rue reposera bientôt sur le simple choix des ingénieurs qui concevront les objets connectés.

Coté Google, depuis Android 5.0, le smartphone n’utilise plus la méthode « active » pour se connecter en WiFi. Coté Apple depuis iOS 8, le smartphone utilise une adresse MAC qui change de temps en temps. Il n’y a donc pas de consensus sur la solution technique à adopter.

J'aime(8)Ferme-la !(0)

Related Posts:

Jeter un disque dur

Vous serez tous confrontés au disque dur trop petit, trop lent, devenu inutile suite à l’achat d’un nouveau PC, etc…

Qu’allez vous faire? Le jeter simplement? Réfléchissez…

Ce bout de métal regorge sûrement de Gigaoctets d’informations personnelles, confidentielles, professionnelles, ou simplement ayant de la valeur dont vous n’avez pas envie qu’elles tombent entre toutes les mains.

Pour ceux qui ne sont pas convaincus, allez récupérer les disques durs sur les ordinateurs à la décharge ou d’occasion :D

La méthode la plus simple et efficace pour se prémunir du problème, c’est de chiffrer son disque dur dès la première utilisation. Ainsi les données présentes dessus restent illisibles en toutes circonstances sans votre mot de passe.

Effacer les fichiers depuis votre système d’exploitation ne supprime pas en réalité les données sur le disque. La seule chose qui change c’est que l’OS peut réécrire sur les zones occupées par les fichiers si il en a besoin par dessus. Ce qui a peu de chance d’arriver, si vous jetez le disque juste après.

Tant que l’on n’a pas réécrit par dessus une donnée « effacée » (on devrait plutôt dire « libérée », on peut récupérer le fichier avec un simple logiciel comme PhotoRec (qui contrairement à son nom l’indique, récupère bien plus que les photos)

Le formatage rapide (celui proposé par défaut) n’efface pas. C’est comparable à arracher le sommaire au début du livre, sauf qu’en plus on a glissé des copies du sommaire entre les pages pour qu’une panne matérielle empêchant de lire le sommaire ne détruise pas le système de fichier.

Réécrire, c’est la seule méthode qu’ait un disque dur pour « effacer » les données. Le formatage « lent »/ »complet » (qui consiste en la réécriture de « 0 » sur tout le disque) est donc le minimum syndical.

Cependant son efficacité sera mis à bas si on charge votre disque dans un appareil spécial car les supports magnétiques ont une « mémoire rémanente ». Pour se prémunir contre cette attaque, il faut réécrire plusieurs fois tout le disque avec des données aléatoires (entre 5 et 35 fois selon votre niveau de paranoïa) et ça peut devenir très long…

Mais le principal problème des solutions logicielles, c’est qu’il faut pouvoir faire fonctionner le disque sur sa machine le jour où l’on prend la décision de se débarrasser du disque dur. Or, souvent vous serez dans le cas où vous voulez jeter un vieux disque que vous ne pouvez plus brancher sur votre ordinateur actuel.

Dans ce cas, je préfère le cassage des disques après démontage, c’est rapide et c’est fun :

Il y a juste 5 ou 6 vis cruciformes pour enlever la plaque métallique supérieure. Attention il y a toujours une vis cachée sous un autocollant !

Vous vous apercevrez que la carte électronique externe est facilement remplaçable. Donc si vous avez un disque de modèle identique sous la main, c’est vraiment facile de transférer les cartes électroniques (pour réparer un des disque par exemple).

Ensuite vous pouvez enlever la tête de lecture à la main. Elle tient juste à cause d’un gros aimant situé dessous.Puis vous pouvez sortir les plateaux.

Rayez et cassez les plateaux avec un marteau.

Jetez les morceaux de plateau dans différentes poubelles. Jetez le reste au recyclage. Voila.

Le problème de l’effacement des disques s’étend bien entendu à tous les supports de stockage. Ne jetez pas de clé USB, carte SD d’appareil photo, téléphone portable, tablette, SSD, etc… avec vos données dessus. D’où la première préconisation de tout chiffrer car je ne sais pas tout démonter ;-)

J'aime(12)Ferme-la !(1)

Related Posts:

Comprendre TLS

Un bon article de vulgarisation sur les algorithmes de chiffrement TLS pour les connexions HTTPS.

J’y vois plus clair ainsi.

Pour info, sur Debian Jessie, le réglage par défaut d’Apache (/etc/apache2/mods-enabled/ssl.conf) est :

SSLCipherSuite HIGH:!aNULL

C’est moins restrictif que ce qui est proposé dans l’article (DES est accepté)

J'aime(0)Ferme-la !(0)

Related Posts:

« Page précédente | Page suivante »