Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

名古屋セキュリティ勉強会LT~SHA1衝突でピンチ!~

1,063 views

Published on

第12回名古屋セキュリティ勉強会でしゃべったLTのスライドです

Published in: Software
  • Be the first to comment

名古屋セキュリティ勉強会LT~SHA1衝突でピンチ!~

  1. 1. 名古屋セキュリティ勉強会LT ~SHA1衝突でピンチ!~ 発表者:@_ktwr [かたわれ] [八木 鶫] 名古屋大学 IB電子情報館 IB015講義室 1 2017/3/20
  2. 2. 自己紹介&LT内容 • 自己紹介 • 名前:かたわれ(八木 鶫) • 所属:名古屋工業大学 • Twitter:@_ktwr • 不安:今日のLT内容被るんじゃないか…… • 今日のLTの内容 • Googleが公開したSHA1のpdfの内情 • SHA1衝突はできる 2
  3. 3. SHA1の衝突はできる? 3
  4. 4. ハッシュの特性 • 原像計算困難性 • ハッシュ値Hに対してH=h(m)となるmを求められない • 弱衝突耐性 • h(m)からh(m)=h(n)を満たすnを求められない • 弱衝突耐性がないと… • ?を見つけることが可能 • 強衝突耐性 • h(m)≠h(n)となるmとnを求められない • 強衝突耐性がないと… • mとnを見つけられる (mとnを作れる) 4 m ? kl0d1bs….. m n kl0d1bs…..
  5. 5. Googleの公開したPDFからわかること • 強衝突耐性を破った • PDFの最初の一部分以外のバイナリが一緒である • 利用した技術 • PDFの中にJPEGファイルを二ついれている • JPEGのコメントセグメントを利用 • FF FE から始まる2バイト-2がコメントを表す • 例: FF FE 12 34 ⇒ 0x1234 = 4660 ⇒ 4558バイトがコメント • 2つのPDFの違う部分のバイナリにコメントセグメント 5 Shatterd-1.pdf Shatterd-2.pdf 371バイト スキップ 383バイト スキップ
  6. 6. • スキップした先にコメントセグメントを挿入 • 12バイトの差 • コメントセグメントにJPEGを書き込んでいる 6 6 Shatterd-1.pdf Shatterd-2.pdf 369バイト スキップ 381バイト スキップ FF FE 00 FC 00 00 00 00 00 00 00 00 FF E0 00 10 4A 46 JPEG のフォーマット 250バイト スキップ 369バイト スキップ先 381バイト スキップ先
  7. 7. SHA1衝突PDFをどう作るか • 必要なもの • バイナリエディタ • 好きな画像2枚(JPEG) • 楽をするなら65525バイト以下にしておく • コメントできる限界:FFFF – 8 – 2 = 65525 • やり方 7 FF FE A8 40 00 00 00 00 00 00 00 00 FF E0 00 10 4A 46 1つめのJPEG 43070バイト スキップ 369バイト スキップ先 381バイト スキップ先 43070バイト スキップ A9 48 53 FF D9 FF E0 00 10 4A 46 … 2つめのJPEG1つめのJPEGの最後
  8. 8. SHA1が衝突するPDFの作成 • Googleの公開したPDFを基に新たな衝突PDF作成 8
  9. 9. 参考 • SHA1衝突発表資料 • https://security.googleblog.com/2017/02/announcing -first-sha1-collision.html • SHA1衝突PDFダウンロード先 • https://shattered.it/ • GoogleのSHA1の話 • https://www.slideshare.net/herumi/googlesha1 9

×