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


13

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

(質問はより多くの人々に、より使用できるようにする)
の内部のUbuntu / Debianのスタイルのパッケージ(* .debファイル)という名前のファイルがあり /DEBIAN/md5sums、この形式のコンテンツがあります。

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f path / to / file2
8c21de23b7c25c9d1a093607fc27656a path / to / file3
c6d010a475366e0644f3bf77d7f922fd path / to / place / of / file4

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

興味のある人なら誰でも、MD5ハッシュがかなり前に壊れていることを知っています。したがって、パッケージ内のファイルの内容を(悪意を持って)変更しても、同じMD5-Hashを持つファイルを保持することは完全に可能です(たとえば、「勝者の予測...」という概念の証明を参照)。

質問

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

** 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)の修正はなぜ安全ですか?


1
debian.org/doc/debian-policy/…は、SHA-1およびSHA256ファイルごとのチェックサムのサポートを示しますが、aptチェックサムポリシーが何であるかはわかりません。
クロニティス

1
@chronitisのリンクに感謝します。実際、SHA- *ハッシュはそこに記載されており、パッケージ(まだ見ていません)またはパッケージシステムにどのように表示されるのかを理解する必要があります。まあ兆候はすでに良好なステップである
humanityANDpeace

回答:


21

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

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

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

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

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

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

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


1
私はいくつかのより明確な洞察を得ました。このような情報をどこで入手しましたか?使用したドキュ/リンクはありますか?また、私はあなたが言った「ダウングレードの危険性」に言及していることを感謝しているので、これがどの程度悪用される可能性があるのか​​はまだわかりません。すごい!ありがとう
humanityANDpeace

aptリポジトリ形式が適切に指定またはドキュメント化されているとは思わない。これは悪いことですが、そうです。最高の(そして私の知る限り)真のドキュメントがソースです。ソースで作業したため、詳細を知っています。一方、dpkg形式はDebianポリシーで非常によく指定されています。パッケージがシステムに到達した後に何が起こるかをカバーしますが、パッケージがそこに到達する方法はカバーしません。後者はaptによって行われます。
ロビーバサック

ダウングレードのリスク:これは余談であり、元の質問とは直接関係ありません。バージョンAでエクスプロイトXが発見されると、脆弱性が修正されたバージョンBへのセキュリティアップデートが提供されます。攻撃者がバージョンAのXを悪用できる場合、Bにアップグレードしたので安全です。しかし、攻撃者がAにダウングレードできる場合、再び脆弱になります。すべてのセキュアハッシュは、インストールしたパッケージが一致する場合でも、あなたのパッケージデータベースは、あなたがAがBをインストールしていないことになっていると言うだろうので、あなたは、このことを気付くことはありません
Robie Basak

2
@RobieBasak 「aptリポジトリ形式がどこでも適切に指定または文書化されているとは思わない」明らかにこれは真実ではありません。あなたはそれを探す必要があります。Debian Wiki:RepositoryFormat
gertvdijk

6

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

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

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

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


3
答えてくれてありがとう。背景全体をより明るくするという意味で、良い回答だと思います:)残念ながら、「Stack ... Ask Ubuntu」は「質問にのみ厳密に返信する」と難しい場合があるため、勇気を出しました。トピックについて詳しく説明します。
humanityANDpeace

準備されたPDfファイルにはランダムなデータがあり、このすべての努力でわずか104kbです。なぜあなたはこれが不可能だと言うのですか?debパッケージには200kbを超えるファイルが大量に存在する必要があり、そのようなことができるようにしなければなりません。コンセプトの証明を見た後、私はそれほど安全ではないと感じます。それは私を驚かせ、ショックを受けました
人類

正当なファイルには、微妙な変更が奇妙に見えない場所がたくさんあります。たとえば、テキストファイルの小さな空白の違いです。これらの場所のうち約128箇所を見つけるだけで、合法であるように見え、目的のMD5に一致する悪意のあるファイルを作成するのに十分な範囲を確保できます。ただし、この特定の攻撃がこの状況に適用できるかどうかはわかりません。
ロビーバサック

@RobieBasak、あなたは攻撃を誤解しています。ファイルの128バイトを変更してmd5sumを保存することはできません。ランダムデータの2つのセットのように見えるもののチャンクをファイルの2つのコピーに挿入する必要があり、「ランダム」データの2つのチャンクが異なるにもかかわらず、それらは互いに同じmd5sumを持ちます。
-psusi

1

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


OK。しかし、「壊れて」いない場合、現在のMD5セキュリティの状態を参照する良い方法は何でしょうか?私はあなたの言うことを理解でき、それを指摘してくれてありがとう。私はまだMD5などにより、現在の安全性を評価する方法を疑問に思う
humanityANDpeace

@humanityANDpeace、「そのまま」。
-psusi

私は楽観的な態度が好きです。結局、概念実証にまだ驚かされました。ありがとう!
humanityANDpeace

1
「暗号の専門家はMD5が壊れていると考えています。したがって、壊れていると考えるべきです。」それは世界の仕組みではありません@RobieBasak暗号専門家として(自分を「専門家」と呼ぶことはできますが、数年前に掘り下げなければなりませんでした)自分でMD5が壊れているとは言いません。チェックアウトする価値のある興味深いケースがあるだけですが、理論的なatmのようです。しかし、Ubuntuのパッケージングを壊すことはありません;)0 psusiに戻る;)
Rinzwind

1
@jackweirdy、実際、そこにあり、それが彼らがそれをしなかった理由です。彼らの方法は、非常に特定のプロパティを持つデータの両方のセットに依存しています。これは公開鍵ペアによく似ています。互いに一致するキーのペアを生成できますが、1つだけを指定すると、他のキーを把握できません。
-psusi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.