Question:
Les fichiers ZIP protégés par mot de passe sont-ils sécurisés?
trejder
2013-05-13 13:29:09 UTC
view on stackexchange narkive permalink

Suite à ma réponse. Si je peux lister le contenu d'un fichier ZIP protégé par mot de passe, vérifier les types de fichiers de chaque fichier stocké et même le remplacer par un autre, sans réellement connaître le mot de passe, alors les fichiers ZIP doivent-ils toujours être traités comme sécurisés?

Ceci est complètement non sécurisé en termes d'ingénierie sociale / influence etc.

Je peux détourner (intercepter) le fichier de quelqu'un d'autre (fichier ZIP protégé par mot de passe) et je peux remplacer l'un des fichiers qu'il contient, par mon seul (faux, virus) sans connaître le mot de passe. Le fichier remplacé restera non chiffré, non protégé par mot de passe dans le ZIP, mais les autres fichiers ne seront pas modifiés.

Si une victime décompresse une archive protégée par mot de passe, le programme d'extraction ne demandera le mot de passe qu'une seule fois, pas à chaque fois pour chaque fichier. Ainsi, l'utilisateur final ne verra pas la différence - si le programme ne demande pas de mot de passe, parce qu'il le connaît déjà (fichier d'origine) ou parce que le fichier extrait n'a pas besoin d'un mot de passe (fichier modifié par moi). De cette façon, je peux injecter quelque chose de vraiment mauvais dans un fichier ZIP protégé par mot de passe, sans connaître son mot de passe et compter sur le récepteur en supposant que le fichier n'est pas modifié.

Est-ce que je manque quelque chose ou est-ce vraiment faux? Que dire des conditions de sécurité d'une solution, si le mot de passe n'est pas obligatoire pour introduire toute modification dans un fichier protégé par mot de passe?

C'est dans la conception des archives ZIP qu'elles ne sont que des _conteneurs_. Le cryptage est effectué sur les fichiers et non sur le conteneur lui-même, donc la confidentialité et l'intégrité sont toujours accordées pour les _files_ à l'intérieur. L'archive ZIP elle-même n'est pas protégée par mot de passe, mais les fichiers qu'elle contient le sont. En fait, les fichiers RAR se comportent presque de la même manière, sauf qu'ils vous donnent l'option de crypter la liste de fichiers. Vous _pouvez_ ajouter de faux fichiers à un fichier RAR (pas via WinRAR), mais si la liste des fichiers est chiffrée, vous ne pouvez pas la modifier, l'application qui s'ouvre ne pourra donc pas répertorier le faux fichier.
En lisant plus loin, j'ai appris que ZIP utilise AES en mode CBC, ce qui [n'accorde pas vraiment l'intégrité] (http://security.stackexchange.com/a/9446/). Bien qu'il ne soit pas si facile de modifier le contenu de vos fichiers, une menace persistante pourra éventuellement le faire. ** Veuillez noter **: Le problème d'intégrité n'est bien sûr pas que les fichiers peuvent être remplacés. IMHO, obtenir vos fichiers remplacés et falsifiés est bien, mais ne pas être en mesure de détecter une telle falsification est le problème d'intégrité.
Pourriez-vous compresser vos fichiers (sans mot de passe), puis compresser à nouveau cette archive (avec mot de passe)? De cette façon, vous n'auriez qu'un seul fichier protégé par mot de passe, et comme vous ne pouvez pas accéder à celui-ci, vous ne pouvez pas modifier le zip interne.
@poke: Idée assez intéressante! :]
Oui vous pouvez, WinZip appelle cela "double zipping": http://kb.winzip.com/kb/entry/147/
Faites attention aux programmes d'archivage qui décompressent les fichiers dans un dossier temporaire, puis le laissent là. 7zip fait cela et refuse de le réparer. Si vous utilisez 7zip, vos fichiers cryptés ne sont PAS sécurisés car ils seront inévitablement laissés non cryptés dans un dossier temporaire quelque part.
Pourquoi ne pas simplement vérifier l'intégrité avec une somme de contrôle, par exemplesha, md5?
Onze réponses:
bethlakshmi
2013-05-13 20:11:26 UTC
view on stackexchange narkive permalink

Pour répondre à cela, il faut une meilleure définition de «sécurisé» et / ou «sûr». Elle doit toujours être définie à la lumière de l'objectif de la protection et du risque pour le système. Il n'y a pas de solution unique ici, ce qui est "suffisamment sûr" pour un système peut être extrêmement faible sur un autre. Et ce qui est "suffisamment sûr" sur un autre peut être d'un coût prohibitif ou irréalisable dans un autre cas.

Donc, en prenant les préoccupations typiques une par une:

  • Confidentialité - au mieux marginale. La confidentialité est généralement évaluée en fonction du temps qu'il faudra pour accéder au matériel protégé. Je pourrais peut-être modifier le fichier zip, mais en tant que pirate informatique, cela me prendra un certain temps pour déchiffrer le mot de passe ou le forcer brutalement. Peu de temps, les mots de passe sont l'une des protections les plus faibles, et étant donné la façon dont les fichiers zip sont souvent partagés, l'ingénierie sociale du mot de passe n'est généralement pas difficile.

  • Intégrité - non - comme le souligne le demandeur - il est facile de changer le paquet et de lui donner un aspect légitime.

  • Disponibilité - généralement non applicable à ce type de contrôle de sécurité - il s'agit généralement du risque de rendre un service indisponible - le stockage / conditionnement des données n'affecte généralement pas la disponibilité dans un sens ou dans l'autre.

  • Non répudiation - non, pas de protection - n'importe qui peut modifier le package, donc toute personne contribuant à elle a un déni probable.

L'astuce est - combien voulez-vous obtenir mieux? Le courrier électronique crypté est une option - comme une meilleure protection. Bien que cela pose ses propres problèmes de connectivité. Et il existe de nombreuses meilleures façons de chiffrer les données, mais les meilleures options impliquent également des problèmes de distribution de clés qui peuvent ajouter des problèmes de temps et de coût.

Pour empaqueter et partager rapidement certaines données que vous ne voulez pas rendre complètement publiques - c'est mieux que rien, et c'est parfois le seul dénominateur commun que vous pouvez trouver. Pour tout ce qui présente un risque élevé, je trouverais une meilleure option.

Qu'est-ce qui est faible dans un mot de passe fort (tel que 14 caractères aléatoires) combiné avec une méthode de cryptage forte (telle que AES-256)?
Je ne sais pas de quelle perspective vient votre question? Cette personne pose spécifiquement des questions sur la méthode de protection par mot de passe en ce qui concerne les fichiers zip et les problèmes ont été assez bien décrits dans la question - dans ce cas, peu importe la taille ou le caractère aléatoire de votre mot de passe, le verrouillage du mot de passe du fichier zip ne se verrouille pas beaucoup de n'importe quoi. En * général *, les mots de passe sont assez faibles - ils sont facilement partagés et nécessitent que les deux parties les connaissent (ils sont un secret partagé) - il y a donc toujours le risque que quelqu'un d'autre connaisse le mot de passe. La non-répudiation est donc interdite avec un mot de passe.
Je parle uniquement de confidentialité, et non d’intégrité ou de l’une des autres valeurs que vous avez correctement soulignées à la lumière de cette question. Vous notez que "les mots de passe sont l'une des protections les plus faibles", et je tiens simplement à souligner que cette affirmation est très relative. Tout dépend de la force du mot de passe et de la méthode de cryptage, mais aussi de la manière dont ce secret partagé est partagé.
@bethlakshmi «déni probable» - vouliez-vous dire déni plausible?
FYI pour ceux qui ne sont pas familiers avec les termes de confidentialité / intégrité / disponibilité / non-répudiation wikipedia a une description profane ici: https://en.wikipedia.org/wiki/Information_security#Confidentiality (personnellement, j'ai trouvé les balles dans cette réponsecomme une langue étrangère)
pour ajouter "l'intégrité" ... ne pourriez-vous pas simplement fournir un fichier de somme de contrôle à l'archive chiffrée générée via `sha256sum`, oui / non?
Polynomial
2013-05-13 14:06:41 UTC
view on stackexchange narkive permalink

Le mot de passe est destiné à garantir la confidentialité, pas l'intégrité ou l'authenticité.

C'est l'un de ces cas où la sécurité est limitée par la convivialité et l'intention humaine. Le gestionnaire d'archives n'a aucun moyen de dire si le fichier que vous avez modifié était censé être chiffré en premier lieu. Il s'agit essentiellement d'une attaque d'ingénierie sociale, en ce sens que vous avez amené l'utilisateur à croire que le fichier d'origine était en place. Cependant, la vraie faille de sécurité serait que vous aviez un accès en lecture / écriture à une archive sensible en premier lieu.

En ce qui concerne l'atténuation, il existe plusieurs façons d'augmenter la sécurité:

  • Utilisez un format d'archive prenant en charge le cryptage des noms de fichiers (par exemple, 7Zip, RAR)
  • Signez l'archive avec une clé privée, par exemple via GPG.
ou utilisez tar.gz :)
Sous Windows? :] Si j'étais sous Linux, je n'utiliserais pas du tout de ZIP! En outre, la question est de savoir si les fichiers ZIP protégés par mot de passe peuvent être considérés comme sûrs, et non s'il existe des archives plus sécurisées. Parce qu'il y en a et j'en suis presque sûr ...
Oui, tar.gz ne peut pas être utilisé sous Windows, surtout si vous ne comprenez pas ce que sont 7zip, WinRar ou des milliards d'autres logiciels! : PI suppose que vous naviguez sur un IE? :RÉ
Cher Dieu, non! :] Je parlais de support _natif_, au niveau du système. Et plutôt dire que le format «.tar.gz» est pour Linux (Unix) ce que «.zip» est pour Windows. Mais là encore, ce n'est qu'une note d'accompagnement, car la question n'est pas, quel format d'archive dois-je utiliser, seul `.zip` est-il suffisamment sécurisé?
Que signifie exactement natif pour vous? Sous Unix, tar n'est qu'un programme; zip et unzip ne sont que des programmes aussi. Il n'y a pas de réelle différence.
Je ne connais pas Unix et Linux (ne les utilisez pas), mais AFAIK vous pouvez travailler avec des archives directement à partir de la ligne de commande, car ce sont soit des composants système, soit des programmes externes livrés avec presque toutes les distributions (sans mentionner les minimales ). Vous installez le système pur et vous les avez, non? Essayez d'obtenir la même chose sur Windows? Sans installer manuellement des programmes tiers, vous ne pourrez pas du tout utiliser les archives. La prise en charge du shell pour `.zip` a été ajoutée dans Windows XP. Il n'y a pas de shell ni de support de ligne de commande pour `tar`,` rar`, `gzip` sur d'autres sous Windows. C'est ce que j'appelle _native_.
Si les parties de réception et de fin ont PGP et ont leurs clés prêtes, je préfère ** chiffrer ** le fichier zip avec PGP plutôt que ** signer ** le zip (dans le premier cas, impossible de connaître l'intégralité du contenu ( liste de fichiers, etc). Dans le 2ème, vous pouvez simplement vérifier si le fichier zip a été modifié ou non ... la protection par mot de passe zip est trop faible pour garantir que le contenu n'a pas été consulté)
Je voudrais mettre un grand point d'interrogation derrière cette supposée «convivialité et intention humaine».En tant qu'utilisateur naïf, je m'attendrais vraiment à ce que si je crypte un fichier ZIP rempli de trucs, * tout * ce truc est chiffré.Y compris les noms de fichiers et les extensions.Et pourquoi diable quelqu'un * qui ne connaît pas le mot de passe * aurait-il jamais besoin d'ajouter des fichiers à une telle archive?Honnêtement, je ne peux penser à aucun cas d'utilisation où cela pourrait être nécessaire ...
@fgysin Eh bien oui, c'est pourquoi personne ne compte sur des fichiers zip cryptés.
@fgysin Le même utilisateur naïf s'attendrait à ce que * tout * un courrier crypté soit crypté.Y compris le sujet et le nom de l'expéditeur.- Peut-être devrions-nous rendre nos utilisateurs beaucoup plus conscients de ces limites de divers cryptages ...
l0b0
2013-05-14 13:21:35 UTC
view on stackexchange narkive permalink

Non. Pour créer un fichier chiffré (de manière non sécurisée car le mot de passe est renvoyé):

  $ cd - "$ (mktemp --directory)" $ echo secret > 1.txt $ echo super secret > 2 .txt $ zip -e -P dIg4BuOTFh secret.zip 1.txt 2.txt ajout: 1.txt (stocké à 0%) ajout: 2.txt (stocké à 0%)  

À découvrez quels fichiers sont inclus:

  $ unzip -l secret.zipArchive: secret.zip Longueur Date Heure Nom --------- --------- - ----- ---- 7 2013-05-14 10:15 1.txt 13 2013-05-14 10:14 2.txt --------- ------- 20 2 fichiers  

Pour écraser un fichier avec de fausses données sans connaître le mot de passe:

  $ echo lie > 2.txt $ zip -u secret.zip 2.txtupdating: 2.txt (stocké à 0%)  

Vérifier:

  $ unzip -o -P dIg4BuOTFh secret.zipArchive: extraction de secret.zip : 1.txt extraction: 2.txt $ cat 2.txtlie  

man zip ne mentionne pas n cette mise en garde dans la description de l'option -e , mais ce qui suit provient de la documentation de -P:

(Et où la sécurité est vraiment importante, utilisez un cryptage fort tel que Pretty Good Privacy au lieu du cryptage standard relativement faible fourni par les utilitaires zipfile.)

Le cryptage faible connu doit être supprimé de l'utilitaire pour éviter un faux sentiment de sécurité, mais c'est une autre histoire.

Pourquoi 2.text est-il plus sécurisé que 1.txt?
Ce n'est pas. Je voulais juste utiliser un contenu différent pour les deux fichiers :)
Une sécurité faible connue est malheureusement nécessaire pour l'interopérabilité car il existe de nombreuses archives zip utilisant le schéma connu-faible, et d'autres systèmes qui ne prennent en charge que le schéma connu-faible.
Les fausses données peuvent être un problème, mais cela peut être atténué en incluant simplement un MD5 avec le fichier (qui _pourrait_ avoir des collisions mais il est peu probable qu'il couvre la plupart des bases)
Lucas Kauffman
2013-05-13 14:04:05 UTC
view on stackexchange narkive permalink

Ce n'est pas sûr dans le sens où vous ne pouvez pas dépendre de l'intégrité du fichier zip. La confidentialité est toujours d'actualité car vous ne pouvez pas accéder au contenu du fichier (uniquement les noms de fichier).

Cet inconvénient de zip a déjà été discuté, personnellement j'utilise toujours rar juste à cause de ce problème. Une autre solution de contournement serait de signer le fichier zip avec PGP.

Si les parties de réception et de fin ont PGP et ont leurs clés prêtes, je préfère ** chiffrer ** le fichier zip avec PGP plutôt que ** signer ** le zip (dans le premier cas, impossible de connaître l'intégralité du contenu ( liste de fichiers, etc). Dans le 2ème, vous pouvez simplement vérifier si le fichier zip a été modifié ou non ... la protection par mot de passe zip est trop faible pour garantir que le contenu n'a pas été consulté)
@Lucas, voulez-vous dire que si j'ai compressé un fichier exe et que je le protège par mot de passe, un virus pourrait * encore * modifier le fichier exe contenu en y ajoutant sa charge utile sans posséder le mot de passe?
Non, je veux dire que vous ne pouvez pas valider si la confidentialité a été brisée ou non.
Sry cela vous dérange-t-il d'expliquer en précisant * "impossible de valider si la confidentialité a été brisée ou non" *?
changer quelque chose est intégrité, pouvoir voir quelque chose est confidentialité.
Mister Smith
2013-05-13 18:33:43 UTC
view on stackexchange narkive permalink

En plus des risques que vous avez déjà signalés, à mon humble avis, l'un des plus gros problèmes avec les outils de compression est lié à l'utilisation de dossiers temporaires pour stocker les fichiers non compressés. Comme les fichiers d'entrée peuvent être de taille arbitraire, les fichiers de sortie non compressés peuvent ne pas tenir dans la RAM. Un dossier de sortie temporaire (souvent celui par défaut du système d'exploitation) est utilisé.

Donc, peu importe la force de l'algorithme de chiffrement si vous oubliez de déchiqueter correctement les dossiers temporaires chaque fois que vous décompressez un fichier protégé par psw. La plupart des outils ne nettoient pas automatiquement le répertoire de sortie ni n'en avertissent l'utilisateur. Même chose lors de la compression: vous devez vous assurer de déchiqueter le fichier d'origine.

Gene M.
2013-05-13 14:12:07 UTC
view on stackexchange narkive permalink

Si je devais utiliser la définition générale de la sécurité pour signifier qu'elle applique la confidentialité, l'authentification, l'intégrité et la non-répudiation, je dirais qu'elle n'est pas sécurisée à plusieurs égards. Mais comme la protection par mot de passe sur un fichier ZIP chiffré vise uniquement à assurer la confidentialité (interdisant la visualisation du contenu d'un fichier sauf par les parties prévues), je dirais qu'elle fait son travail.

TOM
2014-06-25 19:23:17 UTC
view on stackexchange narkive permalink

La spécification officielle du format .ZIP permet de masquer la liste des noms de fichiers (mais pas le nombre de fichiers), ainsi que de masquer les métadonnées telles que la taille du fichier d'origine et le CRC du fichier d'origine. Mais vous ne pouvez pas utiliser WinZip ou Info-Zip pour faire cela. De plus, l'intégrité de la spécification officielle .ZIP est assurée par l'utilisation d'une ou plusieurs signatures numériques en plus du cryptage. Ma recommandation personnelle, cependant, est d'éviter les mots de passe et d'utiliser à la place des clés publiques. Les fonctions de dérivation de clé sont de plus en plus rapides, et je ne pense pas qu'aucun fournisseur ait même essayé de suivre le rythme.

Rod MacPherson
2013-05-14 01:19:47 UTC
view on stackexchange narkive permalink

Si vous avez une version non chiffrée de l'un des fichiers dans un zip protégé par mot de passe, vous pouvez utiliser une attaque en texte clair connu pour obtenir le mot de passe pour tous les autres fichiers.

Comment une attaque connue en texte brut est-elle censée aider? Zip n'utilise pas d'algorithme de mort cérébrale, il résiste donc aux attaques de texte brut connues.
http://www.elcomsoft.com/help/archpr/index.html?known_plaintext_attack_(zip).htmlDésolé, j'aurais probablement dû inclure un lien, mais cela a été mentionné ici sur ce forum de discussion il y a quelques jours à peine. Google est également très efficace pour apporter cette réponse.
Ah merci. Cela contredit [l'affirmation d'Adnan] (http://security.stackexchange.com/questions/35818/are-password-protected-zip-files-secure/35854?noredirect=1#comment55783_35818) que zip utilise AES-CBC. Le format a-t-il changé depuis la découverte de cette vulnérabilité? Quels algorithmes les différentes implémentations de zip supportent-elles?
On dirait qu'Elcomsoft fait référence à une très ancienne implémentation de zip. À la recherche d'une documentation Winzip, ils utilisent maintenant AES et PBKDF2. http://kb.winzip.com/help/winzip/help_encryption.htm
IT_Architect
2013-10-14 20:53:51 UTC
view on stackexchange narkive permalink

Donc, en fin de compte, à moins qu'il n'y ait une vulnérabilité ou une porte dérobée dans le code de chiffrement, il est aussi sûr que votre phrase de passe résiste aux attaques par force brute. Il existe différents sites sur Internet où vous pouvez prototyper le schéma que vous avez l'intention d'utiliser, pour vérifier à peu près combien de temps il faudrait pour craquer. (N'utilisez pas CE que vous avez l'intention d'utiliser)

Tout ce à quoi n'importe qui peut accéder physiquement est crackable, avec suffisamment de temps. Cependant, vous pouvez avoir une sécurité pratique si le coût et / ou le temps requis pour accéder à l'information dépasse sa valeur probable. À moins que ce ne soit quelque chose comme des informations financières, il y a souvent une grande différence entre ce qui est précieux pour un pirate informatique et ce qui est précieux pour vous. Si le nom de votre fichier à l'intérieur du zip est Attachment_1 et que le contenu non chiffré de l'e-mail ne décrit pas le contenu de la pièce jointe, cela ne donne pas grand-chose à un pirate informatique. Un pirate informatique ne sera probablement pas disposé à passer beaucoup de temps, et certainement pas d'argent, pour accéder à quelque chose qui n'a pas une probabilité convaincante de contenir quelque chose de valeur pour lui.

Ousef Kuruvilla
2014-07-13 10:47:46 UTC
view on stackexchange narkive permalink

Tout ce qui est protégé par mot de passe ne peut pas être piraté par des attaques par force brute. Cependant, les fichiers zip peuvent être piratés par la force brute. D'autres systèmes ont des vérifications en place, comme par exemple, le verrouillage après trois tentatives, les vérifications de la clé d'accès, etc.

un verrouillage d'un fichier compressé?comment cela devrait-il fonctionner dans un scénario d'attaque hors ligne?n'avez-vous pas besoin d'un scénario d'attaque en ligne de type serveur pour cela? et pourquoi dites-vous que les fichiers zip peuvent être piratés par la force brute?cela n'est vrai que lorsque le mot de passe est suffisamment fort.dans votre logique, même la méthode de cryptage la plus puissante comme celles que vous mentionnez peut être craquée par "force brute".Vous avez juste besoin de beaucoup de temps de toute façon.
Faizan
2013-05-13 22:03:00 UTC
view on stackexchange narkive permalink

J'ai entendu parler des moyens par lesquels les fichiers zippés protégés par mot de passe peuvent être piratés. Habituellement par des attaques par force brute, elles ne sont donc pas très sûres pour les données confidentielles secrètes d'&.

Tout ce qui repose sur un mot de passe est vulnérable au forçage brutal du mot de passe. Ce n'est pas le but ici.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...