パスワードを忘れた? アカウント作成
13631222 story
セキュリティ

QRコードのエラー訂正技術を悪用し、指定した確率で別のデータを読み出せるようにするという脆弱性 66

ストーリー by hylom
URLはもう文字認識でよいのでは 部門より

NHKが、「QRコードにセキュリティー上の弱点 不正サイトに誘導も」と報じている。神戸大学の研究グループが、QRコードに偽の情報を仕込むことができることを実証したというもの。

この検証を行った神戸大学の森井昌克教授がYahoo!ニュースにて詳細を解説しているが、この問題はQRコードが備えるエラー訂正機能を利用することで、読み取り時に一定の確率で異なる結果が読み取られるようなQRコードを生成できるというもの。この確率はQRコードの生成時に指定できるそうだ。

これを悪用する例としては、たとえばURL情報を格納したQRコードに対し、一定の確率で不正なサイトのURLが読み取られるよう細工をすることで問題の発覚を遅らせたり検証を難しくする、といったものが考えられるという。

また、対策としてはQRコードで読み取ったURLを信用せず、必ずその内容を確認することを提案している。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by nnnhhh (47970) on 2018年06月25日 18時20分 (#3431890) 日記

    私の使っている端末ではリンク先に掲示されているQRコードが読み取れない

    灰色のところを白にしても黒にしてもダメ

    読み取りをきつくしてんのかなぁ…

    • by nnnhhh (47970) on 2018年06月25日 18時27分 (#3431896) 日記

      悔しいのでアプリダウンロードしてそれで試したら行けました
      http:///~lab [lab]
      http:///~lob [lob]
      一応ホスト名はちょっと隠しておこうか

      この例ではURLの最後のほう一文字が違うだけですね

      このままではそこまで使えない(悪用しづらい)んかなぁ
      QRコード支払いの方とかどうしてるんだろう
      やっぱ認識きつくしたりしてるんかしら 独自チェックサムでもだいぶ行けそうだし

      親コメント
      • by Anonymous Coward on 2018年06月26日 16時06分 (#3432456)

        任意のURL AとまったくそのURLに相関のない任意のURL Bで可能です by 開発者本人。また、実際に存在する銀行のURLで、他のサイト(研究室で確保しているURL)に飛ばすことも実証済です(悪用される可能性があるの、一般公開しませんが)

        親コメント
        • by nnnhhh (47970) on 2018年06月26日 16時21分 (#3432474) 日記

          え、任意で行けるんですか
          文字列の長さは同じぐらいとして、任意の文字列任意の文字列で常に作成可能??

          誤り訂正レベルを高くしておいてQRコードを2種類作って、
          それをうまく組み合わせる感じで、どこかキーポイントだけ揺らぐような感じにするのかな?
          シード(だっけか用語を忘れましたが)を操作してより似たものにすることもある程度できそうではありますね

          それでも誤り訂正レベルが低いものであれば自由度は下がりそうですが、
          その辺どうなんかなぁ…

          親コメント
      • by Anonymous Coward

        AndroidのTwitter公式アプリについてるQRコード読み取り機能で見てみましたが
        確かにlobになったデータが読み取れることがありますね

        ドメインの部分を書き換えちゃえば、一文字違うドメインなんていくらでも取れそうだから危ないですねぇ…

      • by Anonymous Coward

        AQUOS Rのカメラの読取カメラ → 読み取れませんでした[OK]
        Zenfone2のカメラのQRコード → 読める
        Norton Snap(アプリ) → 読める

        Zenfone2のカメラは読み取った後「キャンセル」を押すとすぐ再読取りするので検証しやすい……
        確かに何回かキャンセルを押していると"lob"で読み取りますね

        AQUOS RのカメラもWikipediaのQRコードの項目に貼ってあるサンプルのQRコードは読めるので
        AQUOS Rがおかしいわけではなさそうです。リンク先のQRコードがエラー訂正ぎりぎりということなんですかね

      • by Anonymous Coward

        ドコモ純正ICタグ・バーコードリーダー(Ver1.6.0)でテスト

        QRコードを可能な限り大きく読み込む → 高確率で~lab
        QRコードと周辺画像をまとめて読み込む → 高確率で~lob

        テストして余りにも高確率で~lobに当たるので、原因を切り分けてみました。

        #端末? 電子カイロF-04Gです

    • by Anonymous Coward

      誤り訂正・誤り検出技術ってものは、通常nビットの誤り訂正とkビットの誤り検出が可能なものではないのかね?(nk)
      1bitの誤り訂正すら正常に行えないとはどういう処理をやってるんだろ?

      • by nnnhhh (47970) on 2018年06月25日 19時20分 (#3431927) 日記

        さいしょからわざとギリギリまで間違えてあって、
        ここが黒になると解釈Aが、白になると解釈Bが成り立つ、とか言う点が出来ちゃってるんじゃないですかねぇ
        # 個人の感想です

        親コメント
        • Re:読み取れない (スコア:2, 参考になる)

          by Anonymous Coward on 2018年06月26日 16時34分 (#3432492)

          原理的にはそうなのですが、QRコードは間違いを訂正するギリギリまで間違えて、それを少し踏み越えたとして場合、確かに間違いは訂正はできないのですが、間違いであるということがわかります(符号理論でいうところの誤り検出)。QRコードの場合は他の情報に間違えてしまう(符号理論でいうところの復号誤り)ことはほとんどありません(QRコードのバージョンに寄りますが、10^{-15}といった確率)。これを乗り越えないといけないところが(特に一般的に)技術的な要です。 by 開発者

          親コメント
      • by Anonymous Coward

        (nk) は間違いで (n<k) です

      • by Anonymous Coward

        灰色のビットはわかりやすい 1 ビットだけど
        それ以外の数ビットを白黒反転しているのかもしれませんね

      • by Anonymous Coward

        k-nビット以上の不定性を用意して2パターンのどちらに振れるかの確率を濃度なりパターンなりで調整するのでは?
        おそらくカメラで"正しく"読み取れる位置までアナログに動かす、というのがハックポイントなんじゃないかと。

  • by Anonymous Coward on 2018年06月25日 18時38分 (#3431901)

    2値化しきい値ギリギリの灰色にすることで1と0のどちらかに転ぶって事ですか
    一方を正しいURLにして他方を誘導したURLにするのって簡単なんですかね

    • google.com を g88gle.com に転ばせるなら、QRコード使わなくてもできそう。

      親コメント
      • by Anonymous Coward

        多分だけどその類の攻撃を確率的に発生させるのが肝なんだろう。
        読んでみたけど正しいやんって意見を複数発生させられるし、
        悪意あるQRコードである事実の発覚を遅らせる事ができる。

        そもそもQRコード経由での攻撃機会がどの程度あるのかは分からんが…
        QRコードを読んで、そこに認証情報を入力するって定番のフローがまず必要。

        • by Anonymous Coward

          読み取り結果は人間にはわからないかもしれないけど、読み取りエラー狙った灰色のセルがあるのはバレバレじゃん(もちろんそうと思って注意深く見なきゃ見逃すだろうが)と思った。そして人間ごときにバレバレなら機械が対策するのも難しくなさそうだ。

          • by Anonymous Coward

            いや、今はデザインバーコードというのあってですね…………

  • by Anonymous Coward on 2018年06月25日 18時38分 (#3431902)

    QRコードの灰色の部分が、黒にも白にも読み取れる場合があるってことですね。
    なんか往年のプロテクト(コロコロフォーマット)を思い出すなぁw

    • by Anonymous Coward

      「カラー」QRコードにすれば、怪しいかどうか判別ができないかも

  • by Anonymous Coward on 2018年06月25日 18時49分 (#3431910)

    マジックで素早く書き加えることで、QRコード決済を横取りできるわけだ

    • by Anonymous Coward

      中国ではよその店のQRコードの上に自分のコードのシールを貼って横取りする事例が起きているみたいですね

  • by Anonymous Coward on 2018年06月25日 19時05分 (#3431920)

    礼賛者の見解(弁解)を求む。

    • by Anonymous Coward

      だから印刷したQRを読み取る方式については上限規制かけたんだろ?
      端末の値段も下がってるから普通の店舗なら端末おいてるから影響はほぼない

  • by Anonymous Coward on 2018年06月25日 20時02分 (#3431951)

    つってもURLをコピペ検索してみるくらいしか手は無いよね
    最初っからサーチエンジン経由にしれ
    スマホ内で完結しブラウザ呼び出すsearch://プロトコルとかさ

    • by Anonymous Coward

      いっそのことデンソーの鯖経由しないと飛べないようにすればいいんじゃないかと思う

      • by Anonymous Coward

        それやるとデンソーの鯖が落ちたときとかシャレにならないとか、登録・維持費の分のライセンス料が云々とかで、急速に廃れそう。

  • by Anonymous Coward on 2018年06月25日 20時03分 (#3431954)

    アンチウイルスソフトみたいに常時アクセスするIPやURIを監視する機能が必須

    • by Anonymous Coward

      単純な機械学習で防げそうな気がする。

    • by Anonymous Coward

      どれぐらいの濃淡の許容するかという話だと思われるので
      割と簡単じゃないかな
      要はノイズとして弾く濃淡レベルを高く設定するだけ
      QRコードは使用してるセンサー故に
      ノイズ除去等の処理は普通に行われてるし

  • by Anonymous Coward on 2018年06月25日 21時01分 (#3431983)

    そもそも短縮URLかまされた時点で確認のしようがないけどな

    • by Anonymous Coward

      URLってそもそも論的に発行(印刷元)を信頼するしか無いんだよねえ。

  • by Anonymous Coward on 2018年06月26日 0時28分 (#3432084)

    うーん、具体的にどう問題なんだろ。
    QRコード関係なく、攻撃者が手を加えられるなら何だって危険では?

    • by Anonymous Coward

      その本質を意識させるべきだって話なんではないかと。

      ソースで引用されてる文言

      QRコードは目に見えないため(データの内容が認識できないため)、盲目的な安心感を植え付けてしまいがちです。
      決済のサービスを行う側はその十分な対策を講じることはもちろんですが、利用者もQRコードの特質を理解することも求められます。

      決済URLはQRコードで暗号化されています云々みたいな馬鹿げた謳い文句でも騙されるやつは居るだろうし、そういうのに対する警鐘なんじゃないかね。

typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...