web-dev-qa-db-ja.com

ubuntuパッケージ(debファイル)はmd5sumのみ保護されていますか?

以下の質問の紹介背景###

(したがって、質問はより多くの人々にとってより使いやすいです)
Ubuntu/debian-styleパッケージ(* .debファイル)の中には、/DEBIAN/md5sumsという名前のファイルがあります。このフォームの内容:

212ee8d0856605eb4546c3cff6aa6d35 usr/bin/file1 
 4131b66dc3913fcbf795159df912809fパス/ to/file2 [。

このファイルは、パッケージに付属しているファイルが何らかの形で破損していないことを確認するために使用されると思います。ファイルは「/ DEBIAN/md5sums」と呼ばれるため、path + filenameの前の16進数は MD5 Message-Digest Algorithm パッケージのファイルのハッシュであると想定しています。

興味のある人なら誰でも、MD5ハッシュがずっと前に壊れていることを知っています。したがって、パッケージ内のファイルの内容を(悪意を持って)変更しても、同じMD5-Hashを持つファイルを保持することは完全に可能です(たとえば、 Proof of conceptを参照してください。 .. " )。

質問

上記の情報を念頭に置いて、次のことを知りたいと思います。

** Ubuntuシステムにパッケージをインストールするとします。 DEBIAN/md5sumsは、データが改ざんされていないことを確認する唯一の手段ですか? **

質問に答えると、次のことがわかります。

  • Debパッケージ全体もハッシュ化されている(ハッシュ値が作成されている)ため、受信したファイルが「安全」/「改ざんされていない」ことを安全にする別の方法がある
  • 他の方法がある場合、DEBIAN/md5sumsファイルは整合性を確保するために、*。debパッケージに含まれているファイルは何ですか?
  • Ubuntuは、SHA-1やMD5よりも「壊れにくい」リポジトリ/パッケージシステムにハッシュを使用していますか?

残念ながら私も知りません。

質問(またはサブ質問のみ)に光を当てることができる応答は大歓迎です

更新

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab は、パブリック/プライベートgpgキーが(希望どおり)存在することを示しているようです攻撃から安全に(リポジトリとパッケージシステムを維持するため)ただし、リンク先の情報はあまり多くありません。パッケージシステムのセキュリティ面についてはほとんど何も伝えていません。とにかく、質問に対する答えが「少なくとも-リポジトリからのdebパッケージは-によっても保護されています...」というリンクがすでに示されていると思います。誰かがここで答えに使用する洞察を持っていることを願っています。

(2)この質問は、Ubuntuパッケージシステムの「セキュリティ」のトピックに関するものでもあるようです。だから私はここにそれを追加するので、誰かが質問を理解しようとする場合、その広告は次のようになります: なぜ提案されたBADSIG(apt-get updateで)修正は安全ですか?

13

Ubuntuは、RSAキーで署名されたマニフェストを公開します。マニフェストには、個々のPackagesインデックスファイルがリストされ、それぞれにMD5、SHA-1、およびSHA-256ハッシュがあります。各Packagesファイルには、MD5、SHA-1、およびSHA-256ハッシュを持つ個々の.debファイルがリストされます。

検証のために、aptはサポートする最適なハッシュを使用し、ダウンロード元のアーカイブによって公開されます。 Ubuntuアーカイブの場合、これはSHA-256です。

したがって、Ubuntuシステムにパッケージをインストールするチェーン全体がRSAとSHA-256によって保護されています。

Dpkgに存在するMD5保護は、実際には偶発的な破損に対してのみ有用であり、インストールパスを保護するために必要ではありません。

debsumsパッケージに興味があるかもしれませんが、MD5を使用するため、偶発的な破損をチェックする場合にのみ役立ちます。

悪意のあるシステムの変更を確認する場合、これらは適切なツールではありません。システムをオフラインにして、以前のレコード、元のパッケージファイル、またはこれらから生成されたセキュアハッシュをチェックする必要があります。

悪意のある変更を成功させるには、単にパッケージをセキュリティ更新前のパッケージにダウングレードするだけなので、インストールされているすべてのパッケージファイルが元のファイルと一致するかどうかを確認するだけでも十分ではないことに注意してください。

20
Robie Basak

これをコメントにしたかったのですが、ボックスに収めることができなかったため、ここに配置します。

はい、md5は暗号学的に壊れていますが、それが悪い汎用ハッシュアルゴリズムであることを意味しません。同じハッシュを持つようにファイルを変更することは非常に難しく、特定の悪意のある変更を行うことはほとんど不可能です。参照した例を見ると、( 勝者を予測する )これを見てください:

「ドキュメントは、有効なPDFドキュメントとして最初に慎重に準備され、十分な量のランダムビットを含む隠し画像オブジェクトが組み込まれています。次に、上記のダイヤモンド構造に従って、11の選択プレフィックス衝突が計算されました、隠された画像オブジェクト内の適切な場所に正確に配置されました。このようにして、12個のドキュメントがMD5マルチコリジョンになりました。」

ハッシュを一致させるために、ファイルにランダムデータを入力しました。このテクノロジーは、特定の悪意のあるコードをファイルに追加し、それを壊すことなく、またはファイルが変更されたことを明らかにすることなくハッシュを揃えることができるほど近いものではありません(aptが行うかどうかはわかりませんが、多くのファイルハッシュは検出できないハッシュコリジョンの難易度を高めるためにファイルサイズを伴います)。

6
jackweirdy

md5は「壊れていません」。彼らが見つけたのは、元のメッセージと同じハッシュを持つ変更されたメッセージを慎重に作成する方法でした。 (正しいファイル)を改ざんするために特別に作成されていない元のメッセージを取得し、そのmd5sumを保持するように変更することはできません。

1
psusi