Depuis quelques jours, on voit des articles sur une faille avec FileVault 2. Cette dernière est en fait triviale : elle consiste à récupérer le mot de passe chiffré en mémoire et ensuite le décoder.
C’est trivial à expliquer, moins simple à faire : il faut un accès physique à la machine. En fait, la clé est récupérée en mémoire via le FireWire ou le Thunderbolt, deux technologies qui donnent un accès direct à la mémoire. Si votre machine n’a ni FireWire ni Thunderbolt, elle est donc protégée…
Ensuite, il faut que la clé soit en mémoire. Et elle ne l’est que dans un cas : si vous avez activé la connexion automatique au démarrage. Donc si vous utilisez FileVault 2, il faut aller dans Préférences Système -> Utilisateurs et groupes -> Options (taper votre mot de passe) et désactiver l’Ouverture de session automatique.
Il faut désactiver le Fast User Switching dans Préférences Système -> Utilisateurs et groupes -> Options -> Afficher le menu Permutation rapide sous la forme….
Ensuite une ligne de commandes. le premier argument permet d’effacer la clé de la mémoire quand on met l’ordinateur en veille, ce qui empêche de récupérer la clé. Attention, il faudra donc taper le mot de passe à chaque sortie de veille. Le second change la mise en veille. Au lieu de copier la RAM sur le disque dur et ensuite alimenter la RAM (mode classique), il copie uniquement sur le disque dur. C’est moins rapide en sortie de veille si on a beaucoup de RAM (un SSD est le bienvenu) mais protège des attaques.
pmset -a destroyfvkeyonstandby 1 hibernatemode 25
J’ai la flemme de chercher, c’est quoi FileVault ?
Lors d’une installation normale (c’est à dire pas à partir d’une Developper Preview) l’activation de Filevault désactiver automatiquement l’ouverture de session.
Solutions proposées sur Internet :
#pmset -a destroyfvkeyonstandby 1 hibernatemode 25 # HDD
### ou
pmset -a destroyfvkeyonstandby 1 hibernatemode 0 # SSD
Détails techniques sur l’exploit :
http://ilostmynotes.blogspot.com/2012/01/firewire-and-dma-attacks-on-os-x.html