OSX Lion : deux problèmes de sécurité avec les mots de passe

Quelques moyens de se prémunir 53
Vincent Hermann
Lion a été l’occasion pour Apple de faire grimper le niveau de sécurité de Mac OS X, en généralisant notamment l’ASLR (Address Space Layout Randomization) à l’ensemble des applications internes du système. Pourtant, deux problèmes importants ont été découverts sur la gestion des mots de passe. Détails et méthodes pour limiter les risques.

lion launchpad

Le premier problème réside dans la manière dont Lion stocke les mots de passe et qui tranche avec ce qui était fait jusqu’à présent dans les autres Mac OS X. Le fichier de hachage des mots de passe est en effet stocké en un lieu accessible de tous les utilisateurs. N’importe qui peut, sur une machine physique, accéder aux hashs des autres mots de passe.

Cette permission est héritée d’un choix pour le moins étrange en termes de sécurité puisque seul le compte root du système avait jusqu’à présent accès à ce fichier de hachage. Le fichier lui-même était d’ailleurs masqué. Dans Lion, les utilisateurs n’ont pas besoin de cet accès root puisque les données peuvent être extraites directement depuis les Directory Services, l’attribut ShadowHashData contenant les mêmes informations que le fichier .plist de l’utilisateur.

Cette faille a été découverte par Patrick Dunstan, un bloggeur spécialisé en sécurité. Il détaille d’ailleurs toute la procédure dans un billet. Mais Dunstan a trouvé un autre problème, tout aussi sérieux que le premier, et visant toujours les mots de passe.

Le second souci est qu’un utilisateur classique peut changer le mot de passe de son propre compte sans aucune vérification. Jusqu’à présent, et partout ailleurs, une modification du mot de passe n’est jamais autorisée sans demander l’ancien, pour bien contrôler que l’utilisateur actif est légitime.

Il suffit pour un utilisateur d’ouvrir le terminal et d’y taper la commande :
  • dscl localhost -passwd /Search/Users/bob
Le système demande alors simplement d’entrer un nouveau mot de passe :

lion 

L’auteur du billet indique cependant qu’il ne s’agit pas précisément de failles mais plutôt de choix malheureux dans la manière de construire le système. Ces problèmes sont également compensés par le fait qu’aucune attaque via le réseau n’est possible : il faut accéder physiquement à la machine.
  • Il existe d’autre part plusieurs moyens de limiter l’accès au Mac, même physiquement. Désactiver l’ouverture de session automatique est un bon début. De même, on peut activer la demande du mot de passe à la sortie de veille, à la réactivation de l’écran ou à la sortie de l’écran de veille. On pourra ajouter :
  • La désactivation des comptes invités
  • La désactivation du terminal pour certains comptes
  • Activer FileVault (exige le mot de passe lors du démarrage sur la partition de secours)
  • Exiger un mot de passe lors du démarrage de l’ordinateur sur un autre support que le disque dur principal (dans l’utilitaire des mots de passe)
Tout ceci, bien sûr, en attendant qu’Apple fasse le nécessaire.