web-dev-qa-db-fra.com

EncFS est-il sécurisé pour crypter Dropbox?

J'ai crypté mon dossier Dropbox avec EncFS selon quelques tutoriels que j'ai trouvés sur le Web, préconisant cette approche.

Mais j'ai trouvé l'énoncé critique suivant concernant la sécurité d'EncFS dans cet audit de sécurité :

EncFS est probablement sûr tant que l'adversaire ne reçoit qu'une seule copie du texte chiffré et rien de plus. EncFS n'est pas sûr si l'adversaire a la possibilité de voir au moins deux instantanés du texte chiffré à des moments différents. EncFS tente de protéger les fichiers contre les modifications malveillantes, mais cette fonctionnalité pose de sérieux problèmes.

Donc, tant qu'ils n'obtiennent qu'une copie des fichiers cryptés, c'est bien, mais s'ils en obtiennent plus, cela pourrait être dangereux.

Eh bien, lors de l'utilisation de Dropbox, ils obtiendraient beaucoup de snapshots différents des fichiers cryptés (car ils seront synchronisés après chaque changement).

Ainsi, EncFS ne serait pas une solution sécurisée en combinaison avec un service cloud à la Dropbox, non?

24
onoSendai

Il s'agit essentiellement d'une réécriture complète de la réponse à partir de février 2020, avec beaucoup plus de détails.

EncFS est fiable en toute sécurité dans les types de circonstances et de modèles de menaces que la plupart des utilisateurs occasionnels s'attendent à rencontrer, en particulier avec les services de synchronisation de documents comme Dropbox. Plus précisément, cela fonctionne très bien lorsque vous attendez quelque chose du genre: "un attaquant ne peut pas lire mes fichiers."

Mais cela ne fait pas si chaud lorsque vous commencez à enchaîner des hypothèses plus complexes. Cela se produit généralement lorsque le répertoire que vous protégez est utilisé de manière imaginée par quelqu'un d'autre, comme le répertoire de profil d'un navigateur, le stockage de données d'un pipeline d'automatisation ou les répertoires personnels de tous les utilisateurs d'une entreprise. Si vos attentes sont plus vagues et globales, comme: "les attaquants seront tous contrecarrés parce que le répertoire est chiffré," alors ce n'est pas l'outil pour vous.

Pour faire un choix raisonné, il est utile de comprendre les compromis que vous faites. Voici donc ce qu'un attaquant peut faire et dans quelles conditions il peut le faire.

Métadonnées

EncFS stocke exactement un fichier chiffré par fichier non chiffré et avec le même type de structure de répertoire, les mêmes temps de modification et des tailles de fichier similaires (et des tailles de nom de fichier). Ainsi, l'attaquant connaîtra essentiellement toutes les métadonnées à propos de vos fichiers. Il s'agit d'un compromis de sécurité intentionnel, donc si cela semble dangereux, EncFS n'est pas pour vous. Vous pouvez en déduire beaucoup à partir des dates, des tailles et de la structure des répertoires, en particulier si vous regardez au fil du temps (voir ci-dessous). Il peut s'agir de toutes les informations dont l'attaquant a besoin pour déduire certains types de comportement. Si cela vous importe, c'est un exemple de s'appuyer sur EncFS pour protéger plus que le contenu des fichiers et signifie que vous avez besoin d'un outil différent.

À noter en particulier, EncFS prend en charge les fichiers épars, ce qui signifie que les longues (très longues) séries de zéros ne sont pas chiffrées. Tous ces morceaux vides sont facilement identifiables dans le magasin crypté. Il s'agit d'un autre compromis de sécurité intentionnel; cela peut vous faire économiser beaucoup d'espace de stockage, mais au détriment de révéler un peu plus sur ces types de fichiers spéciaux que vous ne le souhaitez.

Historique des métadonnées

Si l'attaquant peut voir les changements au fil du temps, il obtient alors encore plus d'informations. Ils peuvent voir quels fichiers changent et à quelle fréquence, si les changements influencent la taille du fichier, etc. Dans certains cas, ils peuvent même dire à peu près quelle partie du fichier a été modifiée.

Dropbox stocke une certaine quantité d'historique de fichiers (30 jours ou plus, selon votre abonnement et vos paramètres), ce qui rend cela possible même sans présence persistante, bien évidemment avec une fenêtre limitée.

Attaques basées sur l'historique (passif)

De plus, si l'attaquant peut voir une quantité absolument énorme de modifications apportées à un seul fichier (peut-être des millions), il peut être en mesure d'exploiter ces informations pour obtenir encore plus d'informations au niveau mathématique, pas seulement les métadonnées.

Mais probablement pas. Aucune attaque connue n'existe réellement et les fichiers synchronisés avec Dropbox ne changent généralement pas suffisamment de temps pour que les modèles d'attaque proposés soient pertinents. Et même s'ils l'ont fait, Dropbox ne vous permet pas seulement de télécharger un ensemble de millions de révisions anciennes dans un seul fichier.

Attaques basées sur l'écriture

Si l'attaquant peut écrire des fichiers que vous tenterez de décrypter, vous avez maintenant de vrais problèmes. À tout le moins, l'attaquant peut sélectivement supprimer ou détruire des fichiers. Ils peuvent même deviner les fichiers à casser en utilisant les métadonnées comme guide. De plus, ils peuvent être capables de casser seulement certaines parties d'un fichier.

Et rappelez-vous le peu sur les fichiers clairsemés; un attaquant peut mettre à zéro d'énormes morceaux d'un fichier en mettant à zéro le texte chiffré correspondant.

De plus, un attaquant disposant d'un accès en écriture à votre Dropbox pourrait rétablir le fichier dans une version précédente ... bien que ce soit également une fonctionnalité explicite de Dropbox. Ce qui fait ressortir le fait que si vous considérez les fonctionnalités de la plate-forme elles-mêmes comme une vulnérabilité grave, vous devez vous demander si Dropbox est vraiment ce que vous recherchez pour commencer.

Et c'est tout l'intérêt ici. Il y a beaucoup d'avantages à superposer la cryptographie côté client au-dessus d'un service de synchronisation cloud, un peu comme une deuxième couche de défense. Mais si les garanties que vous essayez de produire vont explicitement à l'encontre des caractéristiques de la plate-forme sous-jacente, vous essayez probablement de marteler une cheville carrée dans un trou rond. Vous pourriez être en mesure de produire une solution fonctionnelle avec des outils soigneusement choisis, mais votre expérience globale sera pire parce que le service sous-jacent est optimisé pour faire précisément ce que vous ne voulez pas.

Attaques interactives

Si l'attaquant peut modifier le texte chiffré et voir ensuite ce qu'était le texte en clair (ou s'il a réussi à être déchiffré), il pourrait vraisemblablement apporter des millions ou des milliards de modifications de fichier à zéro dans la clé de déchiffrement. Il n'y a pas d'attaque connue pour dériver la clé. Mais s'ils pourraient le faire, ce serait la clé principale pour tout le volume, ce qui est la principale raison pour laquelle ce fait mérite d'être mentionné. Et l'une des protections contre cela (les paramètres MAC) peut être facile à désactiver pour l'attaquant.

De plus, si l'attaquant a du code en cours d'exécution sur la machine de la victime, il peut être en mesure de tirer parti des informations de synchronisation pour obtenir un aperçu de la clé. Encore une fois, aucune attaque connue, juste des spéculations. Et dans ces cas, l'attaquant est généralement suffisamment bien placé pour ne pas avoir réellement besoin de la clé.

Conclusion

Pour votre cas d'utilisation typique de "fichiers personnels" et avec le modèle d'attaque typique, EncFS est généralement bien. Il offre un niveau de protection qui satisferait les attentes de l'utilisateur moyen, même en tenant compte de l'historique de révision des fichiers de Dropbox. La principale mise en garde est la métadonnée, car c'est la partie de l'histoire la plus fiable et la plus exploitable, et les gens réfléchissent rarement à ce qu'un attaquant peut apprendre des seules métadonnées.

Mais pour une protection plus sérieuse, surtout si cela joue dans une sorte de configuration automatisée ou partagée, vous voudrez probablement crypter une image disque plutôt que ce type de système d'intercommunication. Et vous ne voulez probablement pas non plus Dropbox.

15
tylerl

Comme l'ont déjà dit tylerl et user80945, l'utilisation d'EncFS dans une Dropbox n'est pas sécurisée. Plus d'informations peuvent être trouvées dans cet article .

Une alternative serait CryFS . Il s'agit d'un nouveau projet open source qui ne présente pas les vulnérabilités de sécurité d'EncFS et chiffre également les métadonnées (par exemple, la taille des fichiers et la structure du répertoire).

Avertissement: je suis l'un des développeurs de CryFS. Nous utilisions nous-mêmes EncFS dans une Dropbox et avons développé une alternative en raison des lacunes mentionnées.

10
Heinzi

Si je comprends bien le rapport d'audit de sécurité, il ne faut pas utiliser encfs pour crypter Dropbox: Dropbox enregistre plusieurs versions de tous les fichiers et cela peut être exploité pour une attaque.

Toute personne ayant accès à votre compte Dropbox a accès à ces différentes versions. Je ne sais pas de combien de versions un attaquant aurait besoin et je ne suis en aucun cas un expert en la matière, je ne peux donc pas en juger l'impact.

8
user80945