web-dev-qa-db-ja.com

パスワードで保護されたZipファイルは安全ですか?

私の answer をフォローしています。パスワードで保護されたZipファイルの内容を一覧表示できる場合、実際にパスワードを知らなくても、保存されている各ファイルのファイルタイプを確認し、別のファイルに置き換えることもできます。Zipファイルは引き続き安全なものとして扱われますか?

これは、ソーシャルエンジニアリングや影響力などの点で完全に安全ではありません。

私は他人のファイル(パスワードで保護されたZipファイル)をハイジャック(傍受)することができ、そこに含まれるファイルの1つを、パスワードを知らなくても私のファイル(偽物、ウイルス)に置き換えることができます。置き換えられたファイルは暗号化されずに残り、Zip内でパスワード保護されませんが、他のファイルは変更されません。

被害者がパスワードで保護されたアーカイブをアンパックした場合、抽出プログラムは、ファイルごとに毎回ではなく、1回だけパスワードを要求します。したがって、エンドユーザーには違いが表示されません。プログラムがパスワードを要求していないかどうか、プログラムがすでに知っているため(元のファイル)、または抽出されるファイルにパスワードが必要ないため(私が変更したファイル)。このようにして、パスワードが保護されているZipファイルに本当に悪いものを挿入することができます。ファイルが変更されていないと想定して、パスワードを知らなくても、レシーバーに頼ります。

何か不足していますか、それとも本当に間違っていますか?パスワードが不要な場合パスワードで保護されたを導入するための(= /// =)任意の変更を導入する場合、ソリューションのセキュリティ条件についてどのように言えますか?ファイル?

99
trejder

これに答えるには、「安全」および/または「安全」のより良い定義が必要です。常に保護の目的とシステムへのリスクを考慮して定義する必要があります。ここにすべてが収まるサイズはありません。1つのシステムに対して「十分に安全」なものは、別のシステムでは少し弱いかもしれません。また、別のケースで「十分に安全」なものは、コストが非常に高くなるか、別のケースでは実際には非現実的です。

したがって、一般的な懸念事項を1つずつ取り上げます。

  • 機密性-せいぜい限界。機密性は通常、保護された資料にアクセスするのにかかる時間によって評価されます。私はZipファイルを変更できるかもしれませんが、ハッカーとしては、パスワードをクラックするか、ブルートフォースするのにある程度の時間がかかります。それほど多くの時間ではありませんが、パスワードは弱い保護の1つであり、Zipファイルの共有方法が多いため、パスワードをソーシャルエンジニアリングする方法は通常難しくありません。

  • Integrity-いいえ-質問者が指摘するように、パッケージを変更して正当に見えるようにするのは簡単です。

  • 可用性-通常、この種のセキュリティ制御には適用されません-これは通常、サービスを使用不可にするリスクを指します-データの保存/パッケージ化は、通常、可用性に影響を与えません。

  • 否認防止-いいえ、保護されていません-誰でもパッケージを変更できるため、パッケージに貢献する人は誰でも拒否できる可能性があります。

トリックは-あなたはどれくらい良くなりたいですか?暗号化された電子メールはオプションです-より良い保護として。それは提起するものの、それ自体の接続性の問題です。そして、データを暗号化するためのより良い方法はたくさんありますが、より良いオプションには、時間とコストの問題を追加する可能性がある鍵の配布の課題も含まれます。

完全に公開したくない一部のデータをパッケージ化して共有する簡単な方法として、何もないよりはましです。リスクの高いものについては、より良いオプションを見つけます。

58
bethlakshmi

パスワードは、完全性や信頼性ではなく、機密性を確保するためのものです。

これは、ユーザビリティと人間の意図によってセキュリティが制限されるケースの1つです。アーカイブマネージャは、最初に変更したファイルが暗号化されているかどうかを判断する方法がありません。基本的に、これはソーシャルエンジニアリング攻撃であり、ユーザーをだまして元のファイルが適切であると信じ込ませます。ただし、実際のセキュリティの脆弱性は、最初に機密アーカイブへの読み取り/書き込みアクセス権があったことです。

緩和策に関する限り、セキュリティを向上させる方法はいくつかあります。

  • ファイル名の暗号化をサポートするアーカイブ形式(7Zip、RARなど)を使用します
  • 秘密鍵でアーカイブに署名します。 GPG経由。
43
Polynomial

いいえ。暗号化されたファイルを作成するには(パスワードがエコーされるため安全ではありません):

$ cd -- "$(mktemp --directory)"
$ echo secret > 1.txt
$ echo super secret > 2.txt
$ Zip -e -P Dig4BuOTFh secret.Zip 1.txt 2.txt
  adding: 1.txt (stored 0%)
  adding: 2.txt (stored 0%)

含まれているファイルを確認するには:

$ unzip -l secret.Zip
Archive:  secret.Zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        7  2013-05-14 10:15   1.txt
       13  2013-05-14 10:14   2.txt
---------                     -------
       20                     2 files

パスワードを知らずに偽のデータでファイルを上書きするには:

$ echo lie > 2.txt
$ Zip -u secret.Zip 2.txt
updating: 2.txt (stored 0%)

確認:

$ unzip -o -P Dig4BuOTFh secret.Zip
Archive:  secret.Zip
 extracting: 1.txt                   
 extracting: 2.txt     
$ cat 2.txt
lie

man Zip-eオプションの説明でこの警告に言及していませんが、以下は-Pのドキュメントからのものです。

(そして、セキュリティが本当に重要な場合は、zipfileユーティリティによって提供される比較的弱い標準暗号化の代わりに、Pretty Good Privacyなどの強力な暗号化を使用してください。)

既知の脆弱な暗号化は、誤った安心感を回避するためにユーティリティから削除する必要がありますが、それは別の話です。

22
l0b0

Zipファイルの整合性に依存できないという意味では安全ではありません。ファイルの内容(ファイル名のみ)にアクセスできないので、機密性は順調です。

Zipのこの欠点については既に説明しましたが、個人的にはこの問題のために常にrarを使用しています。別の回避策は、PGPでZipファイルに署名することです。

12
Lucas Kauffman

すでに指摘したリスクに加えて、IMHOの圧縮ツールに関する最大の問題の1つは、一時フォルダーを使用して非圧縮ファイルを保存することに関連しています。入力ファイルは任意のサイズにすることができるため、圧縮されていない出力ファイルはRAMに収まらない可能性があります。一時的な出力フォルダー(多くの場合、OSのデフォルト)が使用されます。

したがって、pswで保護されたファイルを解凍するたびに一時フォルダーを適切に細断するのを忘れた場合、暗号化アルゴリズムがどれほど強力であるかは問題ではありません。ほとんどのツールは、出力ディレクトリを自動的にクリーンアップしたり、ユーザーに警告したりしません。圧縮時も同じです。必ず元のファイルを細断処理してください。

8
Mister Smith

プライバシー、認証、整合性、否認防止を実施することを意味する「安全な」という一般的な定義を使用するとしたら、それはいくつかの点で安全ではないと言えます。しかし、暗号化されたZipファイルのパスワード保護はプライバシーを提供することのみを目的としているため(意図された当事者以外はファイルのコンテンツの閲覧を禁止します)、それはその役割を果たします。

3
Gene M.

公式の.Zip形式の仕様では、ファイル名のリスト(ただし、ファイルの数ではありません)を非表示にしたり、元のファイルのサイズやCRCのようなメタデータを非表示にすることができます。ただし、WinZipやInfo-Zipを使用してそれを行うことはできません。さらに、公式の.Zip仕様の整合性は、暗号化に加えて1つ以上のデジタル署名を使用することで提供されます。ただし、私の個人的な推奨事項は、パスワードを避け、代わりに公開鍵を使用することです。主要な派生関数は絶えず高速化しており、どのベンダーも追いつけようとさえしなかったと私は思います。

1
TOM

パスワードで保護されたZipにファイルの1つの暗号化されていないバージョンがある場合、既知の平文攻撃を使用して、他のすべてのファイルのパスワードを取得できます。

0
Rod MacPherson

パスワードで保護されているすべてのものがブルートフォース攻撃によってハッキングされるわけではありません。ただし、Zipファイルはブルートフォースによってクラックされる可能性があります。他のシステムでは、3回の試行後のロックアウト、パスキー検証などのチェックが実施されています。

0
Ousef Kuruvilla

つまり、暗号化コードに脆弱性やバックドアがない限り、パスフレーズがブルートフォース攻撃に耐えるのと同じくらい安全です。インターネットには、使用する予定のスキームのプロトタイプを作成できるさまざまなサイトがあり、クラックに要する時間を大まかに確認できます。 (使用するものは使用しないでください)

十分な時間が与えられれば、だれでも物理的にアクセスできるものはすべて、解読できます。ただし、情報にアクセスするために必要なコストや時間が想定される値を超える場合は、実用的なセキュリティを確保できます。それが財務情報のようなものでない限り、ハッカーにとって有益なものとあなたにとって有益なものの間には大きな違いがあることがよくあります。 Zip内のファイルの名前がAttachment_1であり、電子メールの暗号化されていないコンテンツが添付ファイルのコンテンツを記述していない場合、ハッカーは続行することができません。ハッカーは、価値のある何かを含む可能性が高い説得力のないものにアクセスするために、多くの時間、そして確かにお金を費やすことをいとわないでしょう。

0
IT_Architect