Ouvrir le menu principal

MacGeneration

Recherche

High Sierra : explications sur le bug de mot de passe des volumes APFS chiffrés

Stéphane Moussie

Tuesday 10 October 2017 à 18:16 • 36

macOS

Dévoiler le mot de passe à la place de l’indice, c’est ce que faisait l’Utilitaire de disque de High Sierra concernant les volumes APFS chiffrés avant qu’Apple ne sorte en catastrophe un correctif.

« toto » n’est pas l’indice, mais le mot de passe……

Quelle est la cause de ce bug énorme ? En l’absence d’explications précises de la part d’Apple, l’auteur du blog Cocoa Engineering s’est livré à un exercice détaillé de rétro-ingénierie.

Le développeur a commencé par comparer la version de l’Utilitaire de disque de High Sierra avec la nouvelle incluse dans la Supplemental Update. Résultat : aucune différence.

Il a alors poursuivi ses recherches dans les frameworks liés, dont StorageKit, le composant qui fait le lien entre APFS et l’Utilitaire de disque. En examinant son code, il a trouvé des différences entre les deux versions de StorageKit… et l’origine du bug.

En vert, la ligne de code responsable du bug.
En rouge, la version corrigée.

Logiquement, il y a une variable pour le mot de passe et une autre pour l’indice. Or, c’était la même variable, celle du mot de passe, qui était utilisée comme valeur dans les deux cas, ce qui signifie que le mot de passe était considéré comme l’indice (et qu’il était stocké en clair).

Pas de faille dans APFS donc, il s’agissait d’une bête erreur de programmation — mais avec une lourde conséquence. « C’est un exemple typique de bugs où du code avec une structure commune est copié-collé sans que le développeur pense à effectuer toutes les modifications nécessaires », commente le chercheur.

Mais pourquoi le bug se produisait avec l’Utilitaire de disque mais pas avec les lignes de commandes ? Parce que ces deux méthodes n’utilisent pas exactement le même cheminement.

Rappelons que l’application de la mise à jour n’est pas suffisante à elle seule pour protéger les volumes APFS chiffrés créés avant son arrivée. Il faut supprimer et restaurer les volumes concernés, indique Apple.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner