web-dev-qa-db-ja.com

git sha1のコミットハッシュを公開することに危険はありますか?

非公開リポジトリの場合、git commitハッシュを共有する際に潜在的なセキュリティの懸念はありますか?たとえば、プライベートリポジトリからのgitコミットを含むgit関連のstackoverflow質問を投稿すると、パラノイアから少しハッシュを変更します。

または、ウェブサイトがヘッダーでgit commitハッシュを提供して、サイトが実行しているコードのバージョンを内部開発者に表示することもできます。

考えを続けると、攻撃者が順次sha1ハッシュにアクセスすることについて懸念はありますか?

7
Andy Ray

説明したように there 、SHA-1ハッシュは、コミットを含む保存されたオブジェクトの識別子です。これらはオブジェクトの内容から決定論的に計算されます。そこには秘密はありません。 SHA-1は名目上は一方向ですが、理論的には理論的にはオブジェクトの内容を推測したい攻撃者が検証彼の推測が正しいかどうか。これには、タイムスタンプやその他の同様のものを含め、最後のビットまで正確にを推測する必要があります。

オブジェクトにブルートフォース可能な秘密データが含まれている場合(例:パスワード、 辞書攻撃 の対象)、攻撃者はSHAを使用する可能性がありますテストとして-1ハッシュ。他のすべてを適切に推測することを条件とするため、これは難しいように見えますが、可能性はあります。したがって、ifコミットにそのような秘密データが含まれている場合、ハッシュ値を変更するのは正しいことですが、その場合は変更しないでくださいわずかに。これは、攻撃者にとって、準一致はハッシュ値の完全一致と同じくらい優れているためです。ハッシュ値を完全に変更します。それぞれを40個のランダムな16進文字のシーケンスで置き換えます。

ハッシュ値を知っていても、攻撃者に他の追加の権限を与えることはありません。特に、彼らは彼にリポジトリへのアクセス権を与えていません。

11
Thomas Pornin

非公開リポジトリの場合、git commitハッシュを共有する際に潜在的なセキュリティの懸念はありますか?

ほとんど間違いなく。 SHA git commitの1つのハッシュを実際のcommitの内容に関連付けることができる方法はまったくありません。

考えを続けると、攻撃者が順次sha1ハッシュにアクセスすることについて懸念はありますか?

逐次SHA 1ハッシュとはどういう意味ですか?

0
user10211