先日開催された「フィッシング対策協議会(https://www.antiphishing.jp/)」が主催する「フィッシング対策セミナー2019」において、神戸大学大学院工学研究所教授の森井昌克氏による「QRコードの特性を悪用した不正アクセス、フィッシング詐欺」というタイトルでの講演がありました。

QRコードはご存知とおり、スマホのカメラなどで読み込める、アプリやWebサイトへのリンクなどの情報になりますが、このダイレクトリンク先が悪意のあるサイトやフィッシングサイトだと、多くの人が騙されて被害にあってしまう恐れがある、ということです。
その理由のひとつを、同教授は「QRコードの内容をユーザーが理解できないこと」にある、としています。

一般的なバーコード(JANコード)は、コードが数字を表しているだけなので、そこに悪意は存在できません。
しかしQRコードの場合、コードに悪意を含めることができる上に、利用者はそのQRコードを見ても、そこに悪意があるかどうかを認識できないことが、問題だというのです。

QRコードは、QRコードリーダーアプリを使うことで、リンク先の情報を取り出すことができ、リンク先に移動する前にそのURLを確認することができます。しかし、リンク先をちゃんと確認しないで、移動してしまえば、リンク先にフィッシングサイトや、マルウェアのダウンロードサイトなどの悪意あるサイトが指定されていると利用者は被害にあってしまうのです。

これは結構怖いことですね。ちゃんとリンク先を検証しているか、と言われれば、自分もあまり考えることなくリンク先に移動していたと思います。
今ではQRコードを生成するWebサイトもあり、QRコードは誰でも簡単に生成することができるので、悪意あるサイトのQRコードを作るのも造作もないことです。利用者は、読み込もうとするQRコード自体が、悪意のないところがちゃんと生成したものであるのかどうか、リンク先が悪意あるサイトではないか、を判断しないといけません。結構面倒なことですが・・・。

QRコードと言えば、最近躍進しているスマホを使ったキャッシュレス決済で利用されています。
そして、その弱点を突いた手口での犯罪が起きているのです。
大きくわけると2パターンの手口があります。

★店舗提示型の場合(ステッカー型)
店舗に掲示してあるQRコードを、利用者がアプリで読み込んで決済をする際に、店舗掲示のQRコードの上に、別の悪意あるQRコードが何者かの手によってシール貼りされていて、別の送金先に代金を搾取されてしまう、という詐欺手口です。
本来であればQRコード読み取り後にユーザーが金額を入力し、それを利用者と店舗スタッフが確認してから決済完了、となるのですが、利用に慣れてきて、ちゃんと確認しないようになると、このような被害が発生してしまうのです。
店舗提示型の場合には、店側でQRコードを読み取る装置を用意しなくてもいいので、導入コストがかからず、気軽に導入できる反面、このようなリスクがあります。

★利用者提示型
買い物の決済時に、利用者が自分のスマホにQRコードを表示させて、それを店側のリーダーで読み込ませて決済を行う方式ですが、利用者がレジで自分のQRコードを表示させたときに、それを後ろなどにいる第三者に撮影されてしまい、そのQRコードの有効期限が切れるまでの5分間の間に、そのQRコードを使って別の決済をしてしまうという詐欺手口です。実際にこの手口を使って、後ろに並んでいた人が、撮影した人の他人のQRコードを自分の決済に使ってしまう、という事件が中国で発生しています。

このようにQRコードを使ったキャッシュレス決済には気を付けなくてはいけない状況があります。

さらに森井教授は、QRコードに微小なドットを加えることで、QRコードの誤り訂正技術の裏をかいて、ある程度の確率で、正しいリンク先に誘導するものの、何回かに1回は別のリンク先に誘導することができるQRコードの作成に成功しているということです。

明らかに悪意のあるサイトへのリンク先が埋め込まれたQRコードを多数の相手にメールなどでばらまいても、その悪意はすぐに発覚してしまいますが、この技術を悪用して、たとえば1/100くらいの確率で悪意のあるサイトに誘導するように仕込んだQRコードをばら撒けば、ほとんどのケースでは正しいサイトに誘導されるので、悪意が発見しづらいようになってしまうのです。悪意が発生したとしても、その再現すら困難ですし。

とても怖い話ですが、QRコードを利用するうえでは、このようなことが今後起こり得るということを覚えておきましょう。

現時点では、QRコードを利用する際は、そのQRコードが正しい発行者によるものかに気をつけ、さらにQRコードリーダーでQRコードを読んだら、リンク先に移動する前にアドレスを確認する、という対策をユーザーが各自でしていくしかありません。
また、キャッシュレス決済の時にも、先ほどの2タイプのQRコード詐欺に合わないよう、店側のQRコードを読む際には、ステッカーなどでQRコードの上書きがされていないかを確認したり、自分のQRコードを店に読ませる際には、他の誰かにQRコードを見られることのないように気を付けたり、自己防衛をしましょう。

現在セキュアなQRコードの開発などの動きもありますが、当面は私たち利用者側で気をつけていましょう。