Mac OS X Lion : faille de sécurité dans FireWire, pouvant être exploitée pour récupérer les mots de passe utilisateurs

Le 27/07/2011, par Hinault Romaric, Chroniqueur Actualités
Le nouveau système d’exploitation d’Apple Mac OS X lion disponible depuis seulement une semaine sur le Mac App Store serait victime d’une faille de sécurité.

En effet, Passware, un éditeur de logiciels spécialisé dans le développement des solutions de récupération de mots de passe a annoncé avoir découvert une vulnérabilité dans l’OS pouvant être exploitée via une connexion au port FireWire d'un ordinateur Mac.

Le système d’interconnexion permettant de faire circuler des données à haute vitesse en temps réel FireWire autorise n’importe quel appareil à lire et à écrire sur tous les autres appareils connectés. Pour cela, il utilise un accès direct à la mémoire système.

Les mots de passe de connexion et d’autres informations stockés dans la mémoire système peuvent donc être extraits à travers FireWire, même si l’ordinateur est verrouillé, en mode veille ou que le chiffrement de disque FileVault est activé.

La faille aurait déjà été exploitée par la dernière version de l’application Passware Kit Forensic v11, pour récupérer les mots de passe des utilisateurs sous Mac OS X Lion et Snow Leopard en quelques minutes seulement.

Passware avait précédemment utilisé la même technique pour déchiffrer des disques protégés par la spécification de protection des données BitLocker de Microsoft et TrueCrypt.

Cette découverte remet en question la sécurité de Mac OS X pour Dmitry Sumin, PDG de Passware. « Mac OS X a longtemps été vanté comme un système d’exploitation stable et sécurisé, les utilisateurs sont avertis que le nouveau système d’exploitation Lion dispose d’une vulnerabilité potentielle qui permet l’extraction de mots de passe » écrit-il.

Pour se protéger contre cette faille, Passware recommande de désactiver la connexion automatique de cette façon, les mots de passe ne seront plus disponibles dans la mémoire ou éteindre simplement son ordinateur au lieu de le mettre en veille.

Source : Communiqué de presse Passware (téléchargeable au format PDF)

Et vous ?

Que pensez-vous de cette découverte ?

Sur le même sujet
Les rubriques (actu, forums, tutos) de Développez


Poster une réponse Retrouver la discussion sur le forum

Avatar de shkyo shkyo
Membre chevronné
le 28/07/2011

Citation:





Envoyé par seblutfr
Voir le message

Les problèmes de sécurité en interne existent aussi. On n'est pas à l'abri d'un employé indélicat, et ça fait partie des attaques contre lesquelles une boîte ne peut négliger de se protéger.



C'est clair, une grande part des problèmes de sécurité viennent assez souvent de l'intérieur!!!
Que ce soit par maladresse, par négligence ou par malveillance...
Avatar de Marcos Ickx Marcos Ickx
Responsable Mac
le 28/07/2011

Citation:





Envoyé par bubulemaster
Voir le message

Même façe à OpenBSD ?



Sais pas. Mais voici ce qu'ils disent :

http://www.theregister.co.uk/2011/07...lion_security/


Citation:




No doubt, Apple deserves kudos for setting a new standard in OS security that Microsoft and Linux distributors would do well to emulate.


Avatar de JeitEmgie JeitEmgie
Expert Confirmé
le 28/07/2011

Citation:





Envoyé par seblutfr
Voir le message

Les problèmes de sécurité en interne existent aussi. On n'est pas à l'abri d'un employé indélicat, et ça fait partie des attaques contre lesquelles une boîte ne peut négliger de se protéger.



… et le personnel des sociétés de nettoyage aussi… les "plombiers" en tous genres…

l'employé indélicat par définition même de son statut d'employé a des moyens plus simples et plus discrets pour voler des informations importantes dans une entreprise…

surtout qu'on vous le répète : l'ordinateur visé doit démarrer en auto-login…n'importe qui a donc toute opportunité d'y accéder n'importe quand.

Non : ce qu'il y a d'intéressant à comprendre du point de vue technique c'est où se situe le problème : est-ce au niveau de ce que la norme Firewire exige dans l'implémentation des fonctionnalités ou la façon dont elles sont implémentées dans Darwin ou une fonctionnalité propre du driver Firewire sous Darwin ? et cette implémentation est-elle une erreur de conception pour laquelle une correction simple est envisageable ou une conséquence directe de l'architecture du noyau Mach-O qui nécessite une réflexion plus approfondie ?
En fait les seules informations intéressantes du point de vue scientifique sont totalement absentes : seul le pseudo-sensationnel est mis en avant.

Le fait qu'un logiciel n'efface pas les zones mémoires dans lesquelles il a stocké temporairement un mot de passe en clair est aussi un problème, mais d'un autre niveau : ce problème peut toucher n'importe quel logiciel qui demande un mot de passe à un utilisateur : pendant un certain temps ce mot de passe en clair existera en mémoire tant que la page qui le contient n'aura pas été recyclée pour un autre usage ou que le logiciel n'aura pas explicitement remis cette zone à zéro.
(donc n'importe quel code "espion" s'exécutant au niveau des privilèges "system" pourra pomper n'importe quoi… mais çà ce n'est pas spécifique à un OS en particulier)
Et le cryptage de la mémoire au niveau OS ne couvrira pas le problème du Firewire qui a accès à la mémoire puisque cet accès aura lieu à un niveau "client" de l'OS : donc les contenus seront retournés décryptés au driver Firewire.
Il y aurait donc vraiment à matière à une réflexion sérieuse sur le sujet.

Les concepts d'attaque via des connexions hardware (USB, Firewire, Thunderbold, …) ou le hacking de composants (comme celui des circuits qui pilotent les batteries de portable…) sont intéressants de point vue intellectuel et devraient amener à débattre des aspects techniques en jeu, mais aborder cette news sous l'angle "faille de sécurité qui remet tout en question" est ridicule.
De l'ordinateur sans mot de passe au post-it avec le mot de passe collé au dos de l'écran en passant par le mot de passe style date de naissance ou la secrétaire qui vous donne celui de son patron par téléphone… il y des milliers de vrais trous de sécurité plus facilement exploitables (et de manière moins coûteuse…) que d'acheter ce logiciel et le câble Firewire (et les convertisseurs 400/800 pour pallier à toutes les situations…) en croissant les doigts pour la page mémoire qui contient le fameux "mot de passe dont a pas besoin puisque l'ordinateur ne le demande pas" n'ait pas encore été recyclée pour un autre process…
Avatar de Gorgol Gorgol
Invité de passage
le 28/07/2011
Cette nouvelle me fait doucement rigoler... ou pleurer. Certains commentaires me laissent aussi dubitatif.
La plupart ne comprennent pas la portée de cette nouvelle.

De ce que je sais :

- cela fait plusieurs années que des attaques de ce type ont été démontrées. Il s'agit d'utiliser des périphériques (en particulier FireWire, USB) pour un accès direct à la mémoire via le DMA.

- ce n'est pas propre à Mac OS X, mais aux plateformes Intel.

- la contre-mesure de sécurité est relativement simple, puisqu'il s'agit de désactiver le DMA pour ces périphériques. Il me semble que c'est le cas sur Windows et configurable sur Linux et sans doute sur la plupart des UNIX/Intel.

- et donc Apple, avec son noyau BSD peu à jour, devrait faire un peu plus de veille sécurité et n'a pas vraiment d'excuse.

C'est beaucoup de bruit pour ce qui est déjà connu.
Rien de neuf.
Quant à la soi-disante très bonne sécurité des systèmes Mac OS X, on en reparlera lorsque davantage de gens cibleront ces systèmes.

De plus, l'info du jour est biaisée en se focalisant sur le vol de mot de passe de session ouverte, en sous-entendant que c'est le seul risque. Il faut comprendre que ce n'est qu'un simple POC des attaques via le FireWire, en démontrant la faisabilité d'une récupération de mots de passe, ce qui est toujours un bon moyen de marquer les esprits.
Je fais cependant remarquer qu'il s'agit plus largement d'une attaque qui permet un accès direct à la mémoire. Et donc tout est possible, comme une compromission quelconque du système ou l'installation d'un maliciel, d'une backdoor, etc.

Le problème de sécurité est donc réel. Seule une machine MAC OS X accessible physiquement et que l'on peut démarré, avec un port FireWire (tous les Mac, sauf le dernier MacBook Air) est nécessaire. De plus, un dispositif FireWire préparé en conséquence permet de compromettre alors un système un 2 temps, 3 mouvement : vous branchez et plus que quelques secondes d'attente.

Quant au soi-disant non problème de sécurité parce que nécessitant un accès physique, révisez vos leçons, car il devrait être bien connu que tout accès physique à une machine est problématique en sécurité et ne peut pas être déconsidéré.
Les 3/4 des problématiques de sécurité sont internes. Le moyen le plus facile de passer les lignes de défenses d'un SI est bien de cibler directement une machine en interne.
Combien d'affaires où un accès direct à une machine ont fortement compromis la sécurité d'une entreprise. Juste une exemple : les DAB sont des sytèmes Windows. Un accès direct à ces machines permet de passer tous les mécanismes de sécurité mis en place pour une transaction bancaire. Il y a quelques temps, des techniciens avaient profités de leurs habilitations à accéder physiquement aux DAB pour récupérer des infos de cartes bancaires.

La seule chose que je retiens de cette info : c'est rien de neuf, mais, malheureument, pour faire prendre conscience des problématiques de sécurité, rien de tel qu'un bon POC pour marquer les esprits et faire un buzz.
Avatar de Freem Freem
Membre Expert
le 28/07/2011
Pour commencer:
JeitEmgie et Gorgol: Bien vu, je n'avais pas abordé le problème de ces angles la.
Je ne connaît pas grand chose au hacking&cracking (j'ai juste assez pratiqué pour savoir que ce n'est pas à la portée de tout le monde, y compris la mienne) mais il est vrai qu'un accès libre à la mémoire est très dangereux.
Et pour ce qui est d'aborder le problème de manière plus générale que le simple vol d'un mot de passe, qui est simplement spectaculaire, je tenterai de garder ça en mémoire en lisant les articles prochainement.
Merci à vous deux donc.

Pour continuer:

Citation:





Envoyé par Marcos Ickx
Voir le message

Sais pas. Mais voici ce qu'ils disent :

http://www.theregister.co.uk/2011/07...lion_security/



Quand on cite un article, il faut le lire avec attention, sous peine de se tirer une balle dans le pied. Je m'explique...
Sur ton article, il y a quelques trucs très intéressants, juste avant:

D'abord le titre:

Citation:




Major overhaul makes OS X Lion king of security
Windows 7, Ubuntu meet their match


Bon, c'est accrocheur, et c'est fait pour. Mais pas de trace de Linux ici, juste Ubuntu.

Le second truc:

Citation:




It also prompted many to wonder why Apple engineers bothered to put it into the OS in the first place, or didn't properly implement it with the introduction of Snow Leopard. Windows Vista and Ubuntu, by contrast, added much more robust implementations of ASLR years earlier.


Encore une fois, ils parlent d'Ubuntu, pas de Linux.

Je fais cette nuance, parce que toutes les distributions ont des objectifs différents en terme de sécurité.
Je ne suis pas persuadé que Ubuntu soit la référence du genre dans les distros linux?
(bon, il semblerait qu'ils compilent les paquets avec des options de sécurité supplémentaires, après une rapide lecture de wikipedia. Seulement ils ne peuvent pas compiler la quantité non négligeable de logiciels propriétaires. Toujours selon wikipedia, la différence de sécurité est de 1% sur les systèmes 32b et 0.01% pour les 64b. Et l'usage du sudo est très controversé. Perso, je dirai qu'il implique que l'utilisateur a accès au compte root avec son propre mdp, ce qui me paraît dangereux... Un seul mdp pour les actions communes et les tâches sensible... Vu que la plupart des utilisateurs utilisent le même mdp pour pleins de trucs )

Pour la suite, je vais faire comme si "Ubuntu=Linux; Linux=Ubuntu;". Ne me fustigez pas, je n'apprécie pas non plus cette idée.

De toute manière, ils ne font que dire que Ubuntu était en avance sur Mac en terme de sécurité (même windows d'ailleurs) sur le seul point ou ils font la comparaison.
Jamais ils n'expliquent pourquoi ils ne le seraient plus!
Et après, ils disent que "Linux devrait prendre exemple dessus". Alors Ubuntu devrait régresser, logique!

Bon, j'ai conscience que ce post peut être pris pour troll, mais ce n'est pas le but, simplement mettre en exergue ce pour quoi cet article ne signifie pas grand chose, a part que mac OS s'est moqué de ses utilisateurs avec snow leopard (à bas niveau c'est la même en terme de sécu comme le montre cet article) et qu'ils ont corrigé la chose avec cette mouture.
Au passage, j'aurai pu remplacer chaque occurrence de Linux&Ubuntu par Windows. Puisque les 2 noms de systèmes apparaissent aux même moments, avec les mêmes explications.
Et on trolle rarement, je crois, pour dire que windows et linux sont dans le même panier

Je ne dis pas non plus que Mac est une passoire, juste que ces auteurs se tirent une balle dans le pied avec cet article. Les articles de gens qui prennent parti sans expliquer pourquoi, j'ai jamais apprécié.
Avatar de JeitEmgie JeitEmgie
Expert Confirmé
le 28/07/2011

Citation:





Envoyé par Gorgol
Voir le message

De plus, l'info du jour est biaisée en se focalisant sur le vol de mot de passe de session ouverte, en sous-entendant que c'est le seul risque. Il faut comprendre que ce n'est qu'un simple POC des attaques via le FireWire, en démontrant la faisabilité d'une récupération de mots de passe, ce qui est toujours un bon moyen de marquer les esprits.
Je fais cependant remarquer qu'il s'agit plus largement d'une attaque qui permet un accès direct à la mémoire. Et donc tout est possible, comme une compromission quelconque du système ou l'installation d'un maliciel, d'une backdoor, etc.



Sauf que le communiqué de presse ne parle pas d'accès DMA en écriture de la machine cible seulement d'accès en lecture,
à ce stade, on manque d'informations pour pouvoir affirmer que l'on peut injecter quelque chose à partir du port Firewire.

Par contre leur produit permet de récupérer tous les mots de passe des disques Windows et Mac (Keychain) dans un cadre "forensic", et décrypte les partitions/fichiers encryptés par BitLocker et TrueCrypt, mais ils ne parlent pas de FileVault.
Avatar de Gorgol Gorgol
Invité de passage
le 28/07/2011

Citation:





Envoyé par JeitEmgie
Voir le message

Sauf que le communiqué de presse ne parle pas d'accès DMA en écriture de la machine cible seulement d'accès en lecture,
à ce stade, on manque d'informations pour pouvoir affirmer que l'on peut injecter quelque chose à partir du port Firewire..



Bin non :


Citation:





Envoyé par Article


Le système d’interconnexion permettant de faire circuler des données à haute vitesse en temps réel FireWire autorise n’importe quel appareil à lire et à écrire sur tous les autres appareils connectés. Pour cela, il utilise un accès direct à la mémoire système.



J'suis pas spécialiste du DMA, mais je peux légitimement supposer qu'un accès direct sur le DMA permet les accès en écriture. Le propre du DMA est bien de s'abstreindre du CPU et donc de ses mécanismes de contrôle. A voir si un DMA est configurable sur ce point et quels OS vont à ce niveau de configuration, s'il existe.


Citation:





Envoyé par JeitEmgie
Voir le message

mais ils ne parlent pas de FileVault.



Certes mais je serais agréablement surpris qu'Apple ait mis en place un mécanisme de protection sur le FileVault lors du verrouillage d'une session.
De plus on peut supposer des attaques indirectes pour récupérer les mots de passe Filevault (sans doute selon robustesse des mots de passe).
Avatar de JeitEmgie JeitEmgie
Expert Confirmé
le 29/07/2011

Citation:





Envoyé par Gorgol
Voir le message

Bin non :

J'suis pas spécialiste du DMA, mais je peux légitimement supposer qu'un accès direct sur le DMA permet les accès en écriture. Le propre du DMA est bien de s'abstreindre du CPU et donc de ses mécanismes de contrôle. A voir si un DMA est configurable sur ce point et quels OS vont à ce niveau de configuration, s'il existe.



Je parle du communiqué de presse officiel de la société : le texte original en anglais ne fait pas allusion à la possibilité d'écriture à partir du périphérique.

Certes, techniquement le DMA permet l'écriture, la question est de savoir si elle peut être initiée par le périphérique/ le demandeur ou si c'est celui qui donne l'accès à sa propre mémoire qui doit faire la demande à l'autre : le périphérique peut demander à l'ordinateur de transférer le contenu de sa mémoire vers la mémoire du "périphérique" en DMA : çà c'est ce qui est utilisé pour découvrir le contenu de l'ordinateur visé, mais est-ce que le périphérique peut dire à l'ordinateur : je veux écrire dans ta mémoire à tel zone et que l'autre accepte ? J'ai comme un doute que cette séquence d'opérations ait été prévue dans la norme Firewire… mais cela reste à vérifier, tout comme la possibilité d'un hack qui permettrait de passer outre.


Citation:




Certes mais je serais agréablement surpris qu'Apple ait mis en place un mécanisme de protection sur le FileVault lors du verrouillage d'une session.
De plus on peut supposer des attaques indirectes pour récupérer les mots de passe Filevault (sans doute selon robustesse des mots de passe).


Ils ont dans leur logiciel la récupération du Keychain donc récupérer le mot de passe s'il s'y trouve, ils peuvent le faire, mais ils ne parlent pas dans la description de leur produit de la décryption d'un fichier protégé par FileVault sans avoir le mot de passe.
Et ici on parle bien des autres fonctions de leur produit : les aspects "forensic", c'est-à-dire la récupération de données d'un disque auquel on a accès en laboratoire : pas de l'intrusion par Firewire sur une machine qui tourne. Ces fonctionnalités "forensic" nécessite du temps de calcul et leur logiciel utilise aussi le GPU pour y arriver dans des temps raisonnables… et pour le moment, ils n'annoncent pas qu'ils aient déjà implémenté le décryptage de FileVault.
(mais çà arrivera sûrement…)
Avatar de Gorgol Gorgol
Invité de passage
le 29/07/2011

Citation:





Envoyé par JeitEmgie
Voir le message

Certes, techniquement le DMA permet l'écriture, la question est de savoir si elle peut être initiée par le périphérique/ le demandeur ou si c'est celui qui donne l'accès à sa propre mémoire qui doit faire la demande à l'autre : le périphérique peut demander à l'ordinateur de transférer le contenu de sa mémoire vers la mémoire du "périphérique" en DMA : çà c'est ce qui est utilisé pour découvrir le contenu de l'ordinateur visé, mais est-ce que le périphérique peut dire à l'ordinateur : je veux écrire dans ta mémoire à tel zone et que l'autre accepte ? J'ai comme un doute que cette séquence d'opérations ait été prévue dans la norme Firewire… mais cela reste à vérifier, tout comme la possibilité d'un hack qui permettrait de passer outre.



Certes il faut regarder les détails techniques concernant OHCI 1394. Mais à la base la norme permet les accès mémoire via le DMA en lecture et écriture. En théorie, je crois cependant qu'il existe des filtres pour ces accès sur les noeuds firewire.

Je vais être basique : s'il est possible de faire un dump complet de la mémoire (donc sans contrôle d'accès), pourquoi il ne serait pas possible de faire une écriture arbitraire quelconque ?

Bon, il est sans doute plus facile d'extraire des infos caractéristiques (exemple, authentifiants) que de corrompre une mémoire.

Ici :
http://www.google.fr/url?sa=t&source...6dpAzNTMEQGXLw

Je n'ai pas lu en détail, mais on parle d'altérer les routines de validation des mots de passe pour déverrouiller automatiquement une session (par contre le test ne semble pas très concluant sur une difficulté à localiser la routine MsvpPasswordValidate sur un Windows 7 SP1). Il faut bien pour cela faire une écriture en mémoire....
Ce n'est pas les études et outils qui manquent sur ce sujet, mais il se focalise sur des lectures mémoire. Pour l'instant...
Avatar de JeitEmgie JeitEmgie
Expert Confirmé
le 29/07/2011

Citation:





Envoyé par Gorgol
Voir le message

Je vais être basique : s'il est possible de faire un dump complet de la mémoire (donc sans contrôle d'accès), pourquoi il ne serait pas possible de faire une écriture arbitraire quelconque ?



parce que l'écriture pourrait dépendre de qui demande à qui de faire quoi ou pour le dire autrement : de qui initie la conversation et si la conversation en écriture doit être initiée par le destinataire des données çà ne fonctionnerait pas.
(dans le cas de la lecture de la cible, c'est le cas : les données lues sont écrites dans la mémoire de celui qui initie la conversation…) - donc la possibilité dans un sens n'implique pas dans l'autre sens : il faut aller voir plus loin pour confirmer…

et ce faisant, j'ai trouvé la confirmation dans le cas du Firewire c'est possible : l'écriture quelconque en DMA peut se faire sans problème

Mais le problème est décrit depuis 2004 et affecte tous les OS qui supportent le Firewire,
donc l'impression première qu'on avait affaire à des gens avides de pub facile se confirme…

Il y a même des exemples de code sur Internet pour permettre de hacker Linux à partir d'un iPod…
(du Chaos Computer Club entre autres…)
 
 
 
 
Partenaires

Hébergement Web