Keychain est une application intégrée sur OS X qui stocke toutes les informations d'identification de l'utilisateur et permet de conserver des notes cryptées de manière facilement accessible.
Est-ce que quelqu'un sait comment est sécurisé Keychain? Je sais qu'il y avait une vulnérabilité en 2008 avec un texte clair étant stocké en mémoire, mais il a été corrigé. Comment peut-il être résistant à attaques de démarrage à froid ?
Voici quelques liaisons SE pertinentes:
Je pense que cela est important, car les applications écrites pour OS X commencent à stocker tous les mots de passe de la clé Keychain de l'utilisateur: Safari, Chrome, Subversion, Mail, etc.
L'attaque de démarrage à froid peut être limitée en définissant un mot de passe EFI, de sorte que l'attaquant ne puisse pas arriver à la mémoire pendant la fenêtre de temps limitée à la suite d'une réinitialisation. Notez que si le mot de passe du micrologiciel est défini, le pilote de périphérique Firewire désactive DMA Demandes qui est une autre attaque très similaire (et imo plus probable).
L'endroit clé où le mot de passe doit être considéré comme "à risque" de toute attaque d'accès à la mémoire directe, notamment le démarrage à froid, n'est pas dans securityd
, qui fait un bon bon travail (tout le code correspondant est Open Source alors vérifiez vous-même ), c'est dans l'application cliente. C'est l'application cliente qui souhaite le mot de passe et que le fournisseur n'aurait peut-être pas été prudent de la mise à zéro de la mémoire (en particulier si le mot de passe est mis dans une instance AutoReleed ou Barbage-collectée NSString
).
(J'ai écrit tout un chapitre sur la sécurité de Keychain dans Sécurité des applications de cacao professionnelle )
Je suppose que cela répond à ma question: KeychainDump
L'utilisateur racine peut l'utiliser pour tirer des entrées déchiffrées de RAM.