アカウント名:
パスワード:
リンク先のPDF、ほんとにSHA-1一致するな。しかも、内容もランダムデータでなく、意味のあるデータになっているのはすごい。
当然ながらCRC-32は一致しないな。いくつものハッシュを組み合わせるのはダメなんだろうか、とふと思った。・・・まあ、それができるぐらいならSHA-1を捨てればいいか。
リンク先のPDF、ほんとにSHA-1一致するな。 しかも、内容もランダムデータでなく、意味のあるデータになっているのはすごい。
概ね 64 bytes のランダムデータのような意味のないゴミデータが注入されています。PDFは可変長のゴミデータを入れても正常に表示されるので、それを利用しているのでしょう。
2つの PDFファイル (422,435 bytes) の内、差異があるのは 192byte~256byte の箇所のみであとは完全一致でした。ヘッダ部分を除いた最初の部分 64 bytes に違いがあるだけなので(背景色の情報もこの 64 bytes に含まれているはず)、僅か 64 bytes 任意のデータを入れられるファイル形式であるならば、この攻撃は成功することになります。
当然ながらCRC-32は一致しないな。 いくつものハッシュを組み合わせるのはダメなんだろうか、とふと思った。
ありとあらゆるハッシュ関数を試してみましたが、確かに SHA-1 以外は全部一致していませんでした。しかし、これは SHA-1 のみをターゲットにした検証用ファイルなので、当然のことです。
(無駄に長くなるし貼るべきか悩みましたが、ダウンロードしてハッシュ値を調べるのが面倒な人もいるかもしれないので、私がさっき調べたそれぞれのファイルのハッシュ値を貼っておきます)
* shattered-1.pdf [shattered.io] (422,435 bytes)
Adler32: 36f477bbBLAKE2sp: 4b64ce383ec747ec67895dacf8a7d4af8d62f9b7a8f8fbaf7ccb352ff2bf17f8BTIH: f86f6faf4d2e18e12b95b4471fc6a92cabe49004CRC32: 348150fbED2K: 38373b377cf16c032d08cef0855cb820GOST: 2cca14e553eff6d1c99fb37b8134c2d1d92bf65217185a0e2eca044d9747745bMD2: 27fa33d94a14ba237bf4dbee401f1df0MD4: 38373b377cf16c032d08cef0855cb820MD5: ee4aa52b139d925f8d8884402b0a750cRIPEMD-128: 70f07699de87e6520c80f5f7b5e2e430RIPEMD-256: 8fbfc5a8a6a1f26eff8b4b0759717df161f1ece1c0674c9501ecb827f5e1db35RIPEMD-320: 90d7a15075c1c20c85865eefb5dca8ad18d7f9c1d4a77dfae6e52a654f8a1abf216749994041a78eSHA-1: 38762cf7f55934b34d179ae6a4c80cadccbb7f0aSHA-256: 2bb787a73e37352f92383abe7e2902936d1059ad9f1ba6daaa9c1e58ee6970d0SHA-256 Base64: K7eHpz43NS+SODq+fikCk20QWa2fG6baqpweWO5pcNA=SHA-384: 27f937a0849be559affa109f97744024bc494b2b81dcd9684845cd14574953cc6310398b89e150ad3819188309e59996SHA-512: 3c19b2cbcf72f7f5b252ea31677b8f2323d6119e49bcc0fb55931d00132385f1e749bb24cbd68c04ac826ae8421802825d3587fe185abf709669bb9693f6b416SHA3-224: ef525305e821be4de14ce03aacf8f85a8252102e1f0884dae22a92eeSHA3-256: 36c1d2055da04440bb955880d6dd174d68b660d449d2f3ce42e4ef02bc718bd1SHA3-384: c3f292c8ec1a97ade3d64393fc5ba61de018f289479df18372a5f99d4d78974f12c27fc7c5fb8c58ddbac8499cd109a6SHA3-512: fa00d2b9e9322fd0bdd83e17277496f55563959f54de76b79eec08537c75a4d84f2a12017e1efeb1bc44b6d4f7fe1847a4570a18147a7e974465bd971c51504bTTH: raly2ga4whbetx5m3xzspacr3fv6dt6jbdeiqkqTiger: f23e7ac5991136b1b28bd2ea729a4bd64c64c5a14db20e21Whirlpool: 68e7a8d6622d2a02b9008b4eb610a5f9b95e66191b4267072b751af8722333fc1585892d898fbbe1a3aeb566aa1a1ca6c3f9d08ef8d5282eea677a82e41826f5
* shattered-2.pdf [shattered.io] (422,435 bytes)
Adler32: 49907353BLAKE2sp: cd064189a2433601e798629e90e76537c663ca1e406234dcaef8feace2f20379BTIH: 65522388faeae826bb5890ea18d98f240becd46cCRC32: b3fbab1cED2K: 4881d13b4265c952a9ed032ea4a1a043GOST: 85205642f0ebfa8e5b58639505e2ac4b84fa75939c181892e728b8cf4cbc95bbMD2: be972896748cc45244ff6c3e7154d05aMD4: 4881d13b4265c952a9ed032ea4a1a043MD5: 5bd9d8cabc46041579a311230539b8d1RIPEMD-128: 75d04513f1faee490567b7869730e815RIPEMD-256: e4326309ded334093caad2968d52239b162134d3d314810fa235a6fb298e8c2fRIPEMD-320: 33f83953dc061704b32bcb124983731244f4fe3c9d7c08514ffecde6ff1db5ff4c4dec33df9b0727SHA-1: 38762cf7f55934b34d179ae6a4c80cadccbb7f0aSHA-256: d4488775d29bdef7993367d541064dbdda50d383f89f0aa13a6ff2e0894ba5ffSHA-256 Base64: 1EiHddKb3veZM2fVQQZNvdpQ04P4nwqhOm/y4IlLpf8=SHA-384: e04944841a251d5bbed5dbb0d07486d254bcddd2c11341ee9bb045bfd678aa7b784e1b7a7d56ece5d5ede17e143ffe2bSHA-512: f39a04842e4b28e04558496beb7cb84654ded9c00b2f873c3ef64f9dfdbc760cd0273b816858ba5b203c0dd71af8b65d6a0c1032e00e48ace0b4705eedcc1babSHA3-224: f9c585aac47e5e2780b43d05d4811bd3f0099715f949da3fadd2d5ceSHA3-256: b0650a2b69408f06faf6030fcefb5ed734ccfc4f21588a4ade40665784d96727SHA3-384: 053c03930073c3f8d22bfcbc6261dd48ff2b9c12548219aae21cdfdef392cb914389eb350ef1790dd155681c64cc8761SHA3-512: 2a7b2e5a40f33bf7d23b4705d0b91e7932f1dc3e4f6a0adf517f7bd7676ec44ff3ec2de20a90fbd3a9d83cbd0a4c05377250f89e5cebdda3f050e50973ccde72TTH: ub7pjhgadxytjlg6f3g75sqrq3choiqqsqogvbqTiger: 32375622e0968c31064f26ac53e1541e27347d2c6f0ca12bWhirlpool: 63a99f58e5c3ebb9e752b0cb1215187383b325c49af6aac3bfb0c016cf8761abb43cedae366146d790c1503e0b363a01298103cdf20f6cab1117924e6f0bdda9
PDF中のJPEG画像のコメント領域に、調整用のバイナリデータが埋め込まれているようです。
PDFの見た目に影響しているのは、PDFファイルの0xC0番地の1バイトのみで、shattered-1.pdfとshattered-2.pdfの表示の違いは、この1バイトの違いによって発生しています。その後、127バイト使用して、ハッシュ値を衝突させるためのバイナリデータが埋め込まれていました。
この画像 [shattered.it]がわかりやすいですね。
PDFの見た目を変えたのは改竄可能性の例示に為でしょう。 同じ見た目でハッシュが同じでも何もすごくないですしね。
しかし、SHA-1を確認すれば同じになるというだけの話に110GPU年ですか。 今まで同一性チェックに使って、たまたま衝突したらどうしようとか考えていましたが認識を改めます。 まぁそれは確率の問題だし、いつも使ってるのはCRC-32なので改竄は容易ですけどね。
「ハッシュ値を調べるのが面倒」なんて言う人にとってはハッシュ値なんて意味のないものだろう?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
ほんとに一致する (スコア:1)
リンク先のPDF、ほんとにSHA-1一致するな。
しかも、内容もランダムデータでなく、意味のあるデータになっているのはすごい。
当然ながらCRC-32は一致しないな。
いくつものハッシュを組み合わせるのはダメなんだろうか、とふと思った。
・・・まあ、それができるぐらいならSHA-1を捨てればいいか。
Re:ほんとに一致する (スコア:4, 興味深い)
概ね 64 bytes のランダムデータのような意味のないゴミデータが注入されています。PDFは可変長のゴミデータを入れても正常に表示されるので、それを利用しているのでしょう。
2つの PDFファイル (422,435 bytes) の内、差異があるのは 192byte~256byte の箇所のみであとは完全一致でした。ヘッダ部分を除いた最初の部分 64 bytes に違いがあるだけなので(背景色の情報もこの 64 bytes に含まれているはず)、僅か 64 bytes 任意のデータを入れられるファイル形式であるならば、この攻撃は成功することになります。
ありとあらゆるハッシュ関数を試してみましたが、確かに SHA-1 以外は全部一致していませんでした。しかし、これは SHA-1 のみをターゲットにした検証用ファイルなので、当然のことです。
(無駄に長くなるし貼るべきか悩みましたが、ダウンロードしてハッシュ値を調べるのが面倒な人もいるかもしれないので、私がさっき調べたそれぞれのファイルのハッシュ値を貼っておきます)
* shattered-1.pdf [shattered.io] (422,435 bytes)
* shattered-2.pdf [shattered.io] (422,435 bytes)
Re:ほんとに一致する (スコア:1)
PDF中のJPEG画像のコメント領域に、調整用のバイナリデータが埋め込まれているようです。
PDFの見た目に影響しているのは、PDFファイルの0xC0番地の1バイトのみで、
shattered-1.pdfとshattered-2.pdfの表示の違いは、この1バイトの違いによって発生しています。
その後、127バイト使用して、ハッシュ値を衝突させるためのバイナリデータが埋め込まれていました。
Re: (スコア:0)
この画像 [shattered.it]がわかりやすいですね。
PDFの見た目を変えたのは改竄可能性の例示に為でしょう。
同じ見た目でハッシュが同じでも何もすごくないですしね。
しかし、SHA-1を確認すれば同じになるというだけの話に110GPU年ですか。
今まで同一性チェックに使って、たまたま衝突したらどうしようとか考えていましたが認識を改めます。
まぁそれは確率の問題だし、いつも使ってるのはCRC-32なので改竄は容易ですけどね。
Re: (スコア:0)
「ハッシュ値を調べるのが面倒」なんて言う人にとってはハッシュ値なんて意味のないものだろう?