APFS
Produits et Services PRODUITS & SERVICES

Incroyable mais vrai : l’indice du mot de passe sur macOS vous indique … le mot de passe !

La dernière version macOS 10.13 d'Apple (High Sierra) vient de sortir mais a déjà reçu sa première mise à jour de sécurité. Cette dernière s'appelle High Sierra 10.13 Supplemental. Le bug concerne les volumes chiffrés APFS, qui en affichant l'indice du mot de passe, affiche en réalité le mot de passe lui-même !

La dernière version macOS 10.13 d’Apple, plus connue sous le nom de High Sierra, est sortie il y a à peine huit jours.

Mais déjà la première mise à jour de sécurité est disponible, et nous vous recommandons fortement de l’installer d’urgence.

Cette mise à jour se nomme High Sierra 10.13 Supplemental, et est détaillée dans l’avertissement de sécurité APPLE-SA-2017-10-05-1.

Deux bugs ont été corrigés. Celui qui semble le plus problématique est décrit ci-dessous :

[BUG] Un cybercriminel local peut accéder à un volume APFS chiffré. Si l’indice du [mot de passe] a été défini dans Disk Utility, lors de la création d’un volume chiffré APFS, le mot de passe a alors été stocké en tant qu’indice.

Voici tout de même quelques explications.

APFS est un raccourci pour Apple File System, la nouvelle façon de gérer les disques d’Apple, et qui remplace l’ancien système de fichiers HFS Plus (toujours pris en charge), datant de plus de 20 ans, et qui lui-même était issu du Hierarchical Filing System d’Apple, HFS, qui remonte quant à lui aux années 1980.

Selon certains, APFS était devenu nécessaire : en effet, HFS Plus datait des débuts de Mac OS et n’était pas vraiment conçu pour le noyau Unix, qui avait été intégré dans OS X (maintenant appelé macOS).

Par exemple, HFS Plus ne pouvait pas gérer des dates au-delà de 2040, et ne permettait pas à plusieurs processus d’avoir accès au système de fichiers en même temps, ce qui le rendait plus lent et moins pérenne que d’autres systèmes de fichiers, largement utilisés, tels que NTFS sous Windows et ext4 sous Linux.

De nouveaux pilotes et de nouveaux utilitaires

APFS a été mis en place en tant que système de fichiers d’Apple, par défaut et préféré, au sein de High Sierra.

Cela signifie que de nouveaux pilotes sont présents dans le système d’exploitation pour prendre en charge les disques formatés avec le nouveau système, ainsi que des nouvelles fonctionnalités dans les utilitaires de gestion de disque d’Apple, notamment pour préparer les volumes des disques APFS à être utilisé.

Il existe deux principaux outils de gestion de disque dans macOS : Disk Utility un outil avec une interface graphique facile à utiliser, et diskutil un programme en ligne de commande très puissant mais plutôt complexe.

Cependant, il s’avère que l’intégration de l’APFS dans la version High Sierra de Disk Utility comporte une vulnérabilité majeure, que nous allons montrer ci-dessous :

  • Nous avons effacé un disque dur externe et créé un nouveau volume APFS (Encrypted) sur celui-ci.

APFS

  • Disk Utility nous a demandé un mot de passe (à deux reprises) avec la saisie d’un indice, pour ce dernier, en option.
  • Nous avons entré keepthisSecret comme mot de passe avec l’indice associé The hint should be shown.

APFS

  • Disk Utility a créé le volume chiffré et l’a monté automatiquement.
  • Nous avons débranché le disque dur et rebranché, et macOS nous a donc demandé le mot de passe de nouveau.
  • Nous sommes avons saisi keepthisSecret et le disque a ainsi été déverrouillé et monté, montrant que le mot de passe avait été correctement pris en compte.

Jusqu’à présent tout semblait normal, jusqu’à ce que nous débranchions le périphérique et le rebranchions :

  • Encore une fois, macOS nous a demandé le mot de passe.
  • Cette fois, nous avons cliqué sur le bouton [Afficher l’indice] avant d’entrer le mot de passe.
  • La boîte de dialogue du mot de passe nous a indiqué que keepthisSecret avait été défini comme indice et comme mot de passe !

APFS

Le texte The hint should be shown avait apparemment complément disparu.

En d’autres termes, si vous définissez un indice de mot de passe comme suggéré, quiconque volerait votre disque pourrait “pirater” le mot de passe simplement en cliquant sur le bouton [Afficher l’indice] dans Disk Utility !

Quoi faire ?

  • Si vous n’avez pas créé de nouveaux volumes chiffrés APFS depuis la mise à niveau avec High Sierra, vous n’avez pas à vous inquiéter.
  • Si vous avez créé un volume chiffré APFS sans spécifier d’indice, vous n’avez pas à vous inquiéter.
  • Si vous avez créé un volume chiffré APFS à l’aide de diskutil, vous n’avez pas à vous inquiéter (le bug se trouve dans Disk Utility, et pas au niveau du système d’exploitation lui-même).
  • Si vous avez mis à niveau votre système avec High Sierra à partir d’une version antérieure de macOS, votre disque a alors été converti vers APFS, mais un indice défini auparavant restera intact (selon nos informations et notre compréhension de la situation), et donc vous n’avez pas à vous inquiéter.
  • Installez la mise à jour APPLE-SA-2017-10-05-1 Supplemental Update dès que possible !

Par ailleurs, vous pouvez masquer l’indice du mot de passe sur n’importe quel volume APFS, au cas où, avec la commande diskutil suivante dans une fenêtre terminal :

$ diskutil apfs hint /Volumes/[YOURNAME] -user disk -clear
Removing any hint from cryptographic user XXXXXXXX on APFS Volume diskYsZ
$

Si aucun indice n’a été renseigné, aucun dégât n’est à craindre, mais vous verrez un message d’erreur apparaitre comme celui-ci, donc en répétant la commande ci-dessus jusqu’à ce que vous provoquiez un message d’erreur, vous pouvez vérifier que tout indice a bien été effacé :

Error editing cryptographic user on APFS Volume: 
Unable to set APFS crypto user passphrase hint (-69554)

Comme alternative, vous pouvez également écraser l’indice de mot de passe existant en utilisant l’option en ligne de commande suivante : -hint, au lieu de -clear, comme ceci :

$ diskutil apfs hint /Volumes/[YOURNAME] -user disk -hint "Your hint here"

Setting hint "Your hint here" for cryptographic user XXXXXXXX on APFS Volume diskYsZ

$

Cependant, quoi que vous fassiez, ne suivez pas les suggestions proposées par l’aide en ligne d’Apple au sein de diskutil, qui propose en fait le terrible conseil suivant :

$ diskutil apfs hint help

[. . . .]

Définir un indice de passphrase pour un utilisateur cryptographique existant. Vous pouvez spécifier "disk" pour l'utilisateur "Disk". Spécifier "-clear" supprimera tout indice.

La propriété des disques concernés est requise.

Exemple : diskutil apfs setPassphraseHint disk5s1 -user disk -hint NameOfMyPet

$

Les noms des animaux de compagnie sont des mots de passe épouvantables, parce qu’ils ne sont généralement ni secrets ni difficiles à deviner, et définir un indice pour indiquer tout simplement à un cybercriminel que vous avez choisi un mot de passe d’une simplicité déconcertante, aggrave plutôt la situation !

Bien sûr, si vous avez défini un indice avec Disk Utility, alors vous savez que quiconque connaissant l’astuce [Afficher l’indice] est peut-être en possession de votre mot de passe, alors ne tardez surtout pas pour le changer !

Vous pouvez mettre à jour la passphrase sur un volume chiffré APFS rapidement et facilement comme suit :

$ diskutil apfs changepassphrase /Volumes/[YOURNAME] -user disk

Old passphrase for user XXXXXXXX: ..........

New passphrase: ..........

Repeat new passphrase: ..........

Changing passphrase for cryptographic user XXXXXXXX on APFS Volume diskYsZ

Passphrase changed successfully

$

Laisser un utilitaire système avec un tel bug dans une version destinée à une diffusion massive … est clairement une mauvaise publicité pour Apple !

…mais leur grande réactivité pour développer un correctif est tout à leur honneur !


Billet inspiré de Crazy but true – Apple’s “show hint” button reveals your actual password, sur Sophos nakedsecurity.

Lire des articles similaires