NHKニュースでQRコードの脆弱性を発見したとの警告記事が出ていましたが、デモQRの内容を見る限り、そう大騒ぎするレベルでも無い気がしました。
www3.nhk.or.jp
電子決済や広告などに広く利用されている「QRコード」に、偽の情報を仕込むことができるセキュリティ上の弱点があることが、神戸大学のグループの研究でわかりました。この弱点を悪用すると、利用者を一定の割合で不正なサイトに誘導することも可能で、グループではセキュリティー対策の強化が必要だとしています。
これはコードを読み取る際のエラーを修復する機能を悪用したもので、こうして作られたQRコードを読み取ると、多くの場合は本来のサイトに誘導されますが、100人に1人といった一定の割合で、別のサイトなどに誘導することができるということです。
(NHKニュース記事より引用)
◆キタきつねの所感
NHKのニュース画像で明示されていたのが、下記のサンプルコードでの赤丸部分です。バーコードは白黒(カラーもありますが)の濃淡を認識して情報を読み取る訳ですが、赤丸部分が白・黒で言えば灰色・・・つまり、ここが読み取りソフトの補正によっては、白(正常)であったり、黒(誤読)であったりばらつきがある結果になる事をもって、QRコードのセキュリティ(?)には脆弱性があるという指摘かと思います。

この白黒判定の曖昧さについて、言っていることは正しいと思います。ですが、
このため、金融機関などにつながると偽装したQRコードが表示されていた場合、本来のサイトに誘導されることもあるため、利用者が不正に気付きにくくなるおそれがあるということです。
(NHKニュース記事より引用)
偽コードに置き換えられたら大変でしょ?という、これは重大な脆弱性だ!という論旨には、神戸大学はコノ程度で発表してしまうの?という素朴な疑問を感じます。
例えば中国の屋台でのWeChatPayのようなものを想定すれば、正しいかも知れません。実際に中国では支払先QRコードをまったく別なQRコードに不正に貼り替える事により、不正送金させる手口が発生しているようです。
the01.jp
しかし大々的にWeChatPayが普及している中国では、そうした犯罪が出ているにも関わらず、システム全体が影響を受けている(QRコードを止めよう)という話は聞きません。つまり、初期的な攻撃は成立するのでしょうが、それが大々的な攻撃になる前に何らかのセキュリティ対策によって素早く不正を検知できているのだと推測されます。例えば決済スキーム側は裏で不正検知システムを動かしていると思いますし、リスクベース認証が動いているのかも知れません。
一番分かりやすいQRコードの貼り替え攻撃については、まだ対策の余地があるのではないかと思うのですが、まだ事例も出ていない新たな神戸大学式の手口、たまに不正サイトに飛んでいく攻撃というのはそんなに怖い気がしません。確かに検知しにくい攻撃であるかも知れませんが、屋台の小額決済の、更に何パーセントかを微々たる不正で盗んだとしても、あまりお金にならないと思います。つまり、犯罪者から見るとそんなに美味しい攻撃手法ではないのではないでしょうか?
因みに、私ならQRコードの貼り替え攻撃(もっと犯罪者が不正振込みを受けられる可能性がある)への追加対策として、例えば
①QRコードの暗号化
・QRコード暗号化は可能ですので、神戸大学式の偽コードを仕込むのはかなり困難になるはずです
・暗号化される情報の中に検証用のハッシュも仕込ませる手もあるかもしれません。
②リンク先ページでの証明書検証
・支払いが関与するリンク先=店舗であれば証明書を買ってもペイするはず。
特にスマホの小さな画面でリンク先のURLが正しいかどうかを見るのは無理だと思います。
だとすれば利用者ではなく、店舗側(WeChatPay、LinePay等々のシステム提供側)がそうした部分
を担うのが良いのではないでしょうか。
を考えます。
最後に1つだけ。神戸大学式のQRコード脆弱性への対策は簡単だと思います。目で見えます。人間の目は機械よりある意味差分を捕らえやすいといわれており、コノ程度の濃淡であれば、一般的な光環境下では視認可能です。裸電球の屋台環境であればいざしらず、普通はちゃんと見れば濃淡(怪しい灰色)を気づくと思いますので、例えば小さな店舗であれば1日1回の視認チェックで十分ではないでしょうか。
NHKの記事にあった中国のスーパーにおける膨大な商品値札へのQRコードへは、始業前の視認確認がほぼ不可能ですが、監視カメラあると思いますので、そちらと併せて監視すれば、不正を検知する事ができるのではないでしょうか?(万引き等々のAI監視システムでも不審な行動を検知できそうな気がします)
神戸大学の発表について、記事(ニュース映像)とサンプルQRコードをみた限りですが、QRコード脆弱性を大々的に発表するレベルのものではなかった気がします。

更新履歴