「僕達の新事業のQRコードを読み取ってもらえませんか?」──街中で謎の声かけにあったというツイートが話題を集めている。

先月末にQRコードを読み込ませようとする不審な行動が話題となりました。ただ、被害は報告されておらず、同じような不審な行動の報告が数件あるものの、数日も経たぬうちに話題から消えてしまいました。しかし、以前から指摘してますようにQRコードは一筋縄ではいかぬ、大きな危険性を帯びているのです。もちろん、その危険性を認めたうえで、その便利さ、有効性から大いに利用することを否めるものではありません。

QRコード自体には不正な利用に対する対策が講じられていません。QRコードは目に見えないため(データを認識できないため)、盲目的な安心感を植え付けてしまいがちです。

QRコードを利用する多くが、URLを表示するだけ、あるいはwebサイトに導入するだけと意識していますが、QRコード決済に用いられているようにURLを含む、多種のデータの送信に持ちいることが可能なのです。

あるQRコードを「公式QRコードリーダー」と称されるアプリで読み込んだ場合、許可なく、その場所のGPSによる位置情報が特定のサイトに送られる場合がある。

詳しい内容は上記の記事に譲るとして、簡単に言えば、QRコードにはいろいろな仕掛けを組み入れることが出来るということです。さらに上記の記事の様に、QRコードを読み込むリーダー(アプリ)と組めば、スマホを自在に操れると言っても過言ではありません。実際、街角でQRコードを読み取るように声がけされ、読み込んだ人が、許可なく、LINEの友達にされ、イベント等の勧誘が寄せられたと報告があります。イベント等の加入ではなく、悪意のあるサイトに誘導され、詐欺やマルウェア(コンピュータウイルス)に感染する可能性もあるのです。

現在では、アプリを入れることなく、スマホに標準搭載されているカメラでもQRコードを認識し、データを読むことが可能です。なにげなくカメラを向けただけで、QRコードを認識し、通常はURL(サイトのアドレス)を表示するだけで、タップしなければ、そのサイトに飛ぶことはありませんが、スマホの設定によってはタップすることなくサイトに移動することになります。また躊躇することもなくタップする人も多く、悪意のあるサイトに誘導されてしまうのです。また以下のよう記事のように、QRコードに仕掛けを施して、ある日突然に牙をむく、つまり今まで正常なサイトに誘導していた同じQRコードが突然悪意のあるサイトへ誘導し始める例もあります。

電子決済や広告などに広く利用されている「QRコード」に、偽の情報を仕込むことができるセキュリティ上の弱点があることが、神戸大学のグループの研究でわかりました。開発者自身が説明します。

何に対してもですが、安全性と利便性はトレードオフ(反比例)の関係があります。便利であればあるほど、安全性を犠牲にしていることが多いのです。QRコードも、その便利さゆえに脆弱性を持っており、無条件に信頼しないことが必要なのです。

最近、我々、神戸大の研究グループは新たなQRコードの脆弱性を指摘しました。先月に開催された2021年コンピュータセキュリティシンポジウム(CSS2021)での以下の発表です。この詳細についての解説は稿を改めて行う予定です。

1D2-2: QRコードの認識特性とその脆弱性について

◎ 橋本 樹 (神戸大学), 村井 祐斗 (神戸大学), 西井 大智 (神戸大学), 中嶋 祥吾 (神戸大学), 白石 善明 (神戸大学), 森井 昌克 (神戸大学)

概要:スマートフォン(スマホ)の流通によって,いつでもどこでも撮影でき,その効用によってQR コードの利用が加速し,単なる識別符号の枠を超えて,URL への誘導,電子決済や個人識別での認証利用等様々な用途に使われている.現在,スマホのカメラはQR コードデコーダ(認識ソフト)と連携しており,一部のスマホではカメラを向けると自動的にQR コードを認識し,記載されているURL を表示するだけでなく,そのURL を有するサイトにアクセスする設定となっている.QR コードは視認によってその内容の正誤が判断できないゆえに,想定しない認証や悪意のあるサイトへの誘導が問題となっている.したがってQR コードにおいては,その内容を精査した上で,認証やサイトへの誘導を許可することが強く望まれる.本稿ではQR コード自体を視認できない,いわゆる見えないQR コードの構成法を与える.実際,まったくQR コードと視認できない画像を構成し,一部のスマホでは,その画像をQR コードと誤認し,さらに任意のサイトに誘導できることを実証する.本稿で提案する「見えないQR コード」はAI でいわれるところのAdversarial Example に相当し,スマホに搭載されるQR コードデコーダの脆弱性を利用して誤認識させる.