Linus TorvaldsがGitリポジトリでのSHA-1衝突について話した:恐れることは何もない

数日前、Googleとアムステルダムの数学およびコンピューターサイエンスセンターは、SHA-1の最初の衝突生成アルゴリズムを発表しました 。 SHA-1が存在してから10年以上、別のドキュメントと同じSHA-1ハッシュとデジタル署名を使用してドキュメントを生成する方法は知られていないが、今ではそのような機会が現れています。



SHA-1ハッシュ関数はどこでも使用されるため、同じハッシュを持つドキュメントの生成に関するニュースは、ユーザーの間で自然な懸念を引き起こしました。 SHA-1ハッシュも使用するGitバージョン管理システムのユーザーを含みます。 これらの恐怖に対する詳細な答えは Linus Torvalse によって与えられました 。 要するに、 恐れることは何もありません



Linusは、この衝突検索攻撃は重大なことは何もしないと考えています。 彼によると、暗号化システムのデジタル署名に暗号化ハッシュを使用することと、Gitのようなシステムで「コンテンツID」を生成することには大きな違いがあります。



最初のケースでは、ハッシュは一種の信頼の声明です。 ハッシュは、他の方法では検証できない人々から根本的に保護する信頼のソースとして機能します。



対照的に、Gitのようなプロジェクトでは、ハッシュは「信頼」に使用されません。 ここで、信頼はハッシュではなく人々にまで及ぶ、とLinusは言う。 Gitのようなプロジェクトでは、SHA-1ハッシュは完全に異なる技術的な目的に使用されます-偶発的な競合を避けるためだけでなく、エラーを検出する本当に良い方法として これは、破損したデータをすばやく特定するのに役立つツールです。 データのセキュリティについてではなく、重複排除とエラー検出の技術的な利便性についてです。 他のバージョン管理システムでは、CRCなどの方法を使用してバグを検出することがよくあります。



Linusは、SHA-1がGitでもブランチに署名するために使用されていることを認めているため、この意味でそれは信頼ネットワークの一部でもあるため、衝突を検出する攻撃の出現はGitに悪影響を及ぼします。



しかし、実際には、この特定の攻撃はいくつかの理由で簡単に回避できることに留意する必要があります。



まず、この攻撃では、攻撃者は特定のハッシュを持つドキュメントを作成することはできません。 攻撃は同一のプレフィックスに従って実行されるため、彼は一度2つのドキュメントを作成する必要があります。



第二に、SHA-1衝突検索攻撃攻撃の開発者は、科学記事を公開し、攻撃の兆候を認識するツールを配置しました。 同じハッシュを持つ2番目のドキュメントの生成に適したこのプレフィックスを持つドキュメントは、非常に簡単に認識できます。



つまり、実際には、このプレフィックスを持つドキュメントに対して適切なセキュリティ対策を実装すると、攻撃は不可能になります。 ところで、そのような保護はすでにGmailとGSuiteに実装されています。 Vulnerable Documents Detectorは、 shattered.ioで公開されています。 sha1collisiondetection衝突検出ライブラリは Github 公開されています。



すべてのデータがパブリックドメインにある場合、実際の攻撃はほとんど不可能です。 科学研究の著者は、同じ接頭辞を持つPDF文書に対する攻撃の例を示しています。 この攻撃は、プレフィックス自体がblobのようにドキュメント内で「閉じている」ため成功します。 リポジトリにオープンソースがある場合、これはまったく別の問題です。 ソースコードからこのようなプレフィックスを作成することはほとんど不可能です(blobからのみ)。 つまり、同一のプレフィックスを作成し、同じSHA-1ハッシュを使用してコードブランチを生成するには、コードにランダムデータを挿入する必要があります。 Linusは、データを隠すことができる場所はあると言いますが、 git fsck



すでにそのようなトリックをキャッチしています。



Linus Torvaldsは、Gitを使用してPDFドキュメントを追跡することは本当の懸念に過ぎないことを認めています。 ここでは、上記の攻撃の兆候を検出するツールの使用を推奨できます。 このようなパッチはすでにgithub.comおよびkernel.orgホスティング用に作成されており、まもなくアクティブになるため、心配する必要はありません。



とりわけ、Gitは将来、SHA-1の使用を回避する予定です。Linus氏は、誰もリポジトリを変換する必要さえない計画があると述べました。 しかし、すでに明らかなように、これは彼女と一緒に急ぐことはそれほど重要ではありません。



ところで、同じSHA-1ハッシュを使用してTorvalが言及したPDFドキュメントを追跡する問題は、WebKitリポジトリや他の大規模プロジェクトで使用されるApache SVNバージョン管理システムですでに証明されています。 金曜日の夜、SVNバージョン管理システムに対する攻撃のアクションに関する新しい情報が、競合SHA-1の検索に対する攻撃の情報サイトに登場しました。 同じSHA-1ハッシュを持つPDFはすでにSVNリポジトリを破壊していると述べています。



同じハッシュを持つ2つの異なるファイルをアップロードすると、バージョン管理システムがバグに対処できないことが判明しました。 誰かがそのようなファイルをWebKitリポジトリにアップロードした後、誤動作して新しいコミットの受け入れ停止しました



同じハッシュを持つこれら2つのPDFファイル:





  $ls -l sha*.pdf -rw-r--r--@ 1 amichal staff 422435 Feb 23 10:01 shattered-1.pdf -rw-r--r--@ 1 amichal staff 422435 Feb 23 10:14 shattered-2.pdf $shasum -a 1 sha*.pdf 38762cf7f55934b34d179ae6a4c80cadccbb7f0a shattered-1.pdf 38762cf7f55934b34d179ae6a4c80cadccbb7f0a shattered-2.pdf
      
      






All Articles