パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Kernel.org、侵入される」記事へのコメント

  • > LinuxカーネルはGitを使用して開発されているため、不正な改ざんなどが行われてもそれを把握するのは容易であることも付け加えられている。

    これ、どういうこと?
    変なコードをGit使って普通にコミットしたなら履歴でバレるだろうけど、Git使わずに直接書いたりGitのデータベースを改竄したりってできないの?

    # どっちにせよ、信用できる人で、クラック直前あたりのソースを持ってる人がいりゃ、差分取ればすぐバレそうだけど。

    --
    1を聞いて0を知れ!
    • Re: (スコア:5, 参考になる)

      Git は署名付きのタグを打てます (例: v3.0.4 [kernel.org])

      git filter-branch 使えば履歴の書き換えは簡単にできる [progit.org]でしょうが、コミットの SHA-1 ハッシュの値が変わります。コミットのハッシュはコミット自体の内容から一意に決まるので、実質的にバレずに改竄は不可能なんじゃないでしょうか。

      それぞれの開発者が持っているリポジトリには完全な履歴がありますし、改竄された物から pull してきたとき、マージが発生して気が付くんじゃないでしょうか。
      (同じコミットメッセージのコミットが複数存在するような奇妙な履歴ができるはず)

      • Re: (スコア:4, 参考になる)

        git filter-branch 使えば履歴の書き換えは簡単にできる [progit.org]でしょうが、コミットの SHA-1 ハッシュの値が変わります。コミットのハッシュはコミット自体の内容から一意に決まるので、実質的にバレずに改竄は不可能なんじゃないでしょうか。

        ですね。しかも、あるコミットのオブジェクトはその親(マージコミットの場合は複数親)のコミットのハッシュ値を含んでいるので、途中の履歴だけを改ざんするのも不可能。ある2つのコミットのハッシュ値が同じであれば先祖代々のコミットにわたって同じであることが保証されます。

        • by Anonymous Coward on 2011年09月03日 0時38分 (#2013691)

          ハッシュ値で、改ざんの検出はできるけど、コミットオブジェクトのファイルのSHA1直接書き換えちゃうと、
          エラーなしにFetchはできちゃうよね。git cloneするたびに、全部のコミットのSHA1チェックするわけじゃないし。

          親コメント
          • by espelette (42945) on 2011年09月03日 14時00分 (#2013809)
            <quote><p>コミットオブジェクトのファイルのSHA1直接書き換えちゃうと、</p></quote>

            イマイチ状況がわからず。
            SHA1値はオブジェクトの内容をデータベースから取り出す際のキーとして使われるので、SHA1値書き換えちゃうとオブジェクト自体取り出せなくなるよ。
            どこかのオブジェクト内部に記録されたSHA1値を書き換えるという話なら、その書き換えられたオブジェクト自身の名前とオブジェクトの内容から生成できるSHA1が食い違ってしまうし(これはfetch時にエラーになる)

            全部のコミットのチェックをするかどうかはわからないが、少なくともpack単位ではチェックしてそう。
            親コメント

にわかな奴ほど語りたがる -- あるハッカー

処理中...