サイト内の現在位置

QRコードのセキュリティについて

NECセキュリティブログ

2024年2月16日

NECサイバーセキュリティ戦略統括部 セキュリティ技術センター サイバーインテリジェンスグループの郡司です。今週のセキュリティブログでは、QRコードのセキュリティに関する話題をお届けします。

はじめに

最近、日常生活でQRコードを見る機会が増えてきました。QRコードは白と黒の複数の四角形からなる模様のようなもので、例えばチラシやポスター、商品パッケージなどに印刷されたQRコードをスマートフォンのカメラで読み取るとインターネットのWebサイトにアクセスして関連する情報を簡単に参照できたり、コンサートのチケットや飛行機の搭乗券に印刷されたQRコードを入場ゲートなどで機械に読み取らせると入場できたり、スマートフォンの電子マネーで支払いの際にお店のQRコードを読み取ることで支払いができたりと、実にさまざまな用途でQRコードが使われています。
このようにQRコードはとても便利な反面、セキュリティ上の懸念はないでしょうか。ということで、今回はQRコードにおいて考えられるセキュリティ上の懸念事項についてまとめてみたいと思います。

QRコードとは

QRコードを開発したのは日本の自動車部品メーカー「株式会社デンソー」の開発部門(現在は「株式会社デンソーウェーブ」)ですnew window[1]。そもそも株式会社デンソー自身がトヨタ自動車の開発部門の一つであった電装部が独立してできた企業でnew window[2]、いわゆるトヨタ生産方式で使われる「かんばん」の情報を機械が読み取れるようにコード化(機械が認識できるように、ある規則性を持った図形などにパターン化すること)したものが始まりとなりますnew window[3]
ということで、もともとQRコードは工場の自動化などのために開発されたものでしたが、高速で読み取ることが出来ること(QRコードのQRはQuick Responseの略new window[4])、小さなスペースに大容量のデータを表現できること、誤り訂正機能によりある程度の汚れや破損があっても読み取れること、といった優れた特徴を持つとともに、特許権を行使しないと宣言されていることnew window[5]、ISO/IEC 18004として国際規格となっていることnew window[6]などから、徐々に工場以外の様々な用途でも利用されるようになり、また現在では急速に普及したスマートフォンとの親和性の高さから、日本だけでなく世界中で利用されています。

QRコードの仕組み

ここではQRコードの簡単な仕組みについて触れます。QRコードは正方形の枠内に白黒のマスで表現されたもので、白黒のマスのひとつひとつを「セル」と呼びます。基本的にはこのマスひとつひとつが2進数の1ビット(0か1か)のデータを表しますが、機械が読み取る際の目印となるように、特定の部分はデータの表現ではなく特殊な用途のために使われます。ひとつは「ファインダパターン(切り出しシンボルとも呼ばれます)」というもので、QRコードの左上、右上、左下の3か所に配置され、QRコード全体を検出する目印として使われます。もうひとつが「アライメントパターン」というもので、各セルのズレや歪みを補正するために、QRコード右下に配置されます。さらにもう一つが「タイミングパターン」というもので、各セルの中心座標を補正するために、ファインダパターンの間を結ぶ線上に白黒交互となるパターンが配置されます。もう少し細かい仕様としては誤り訂正機能に関する情報が含まれていることや、極端に白や黒だけの部分が生じないようにする工夫などがされていますが、ここでは説明は省略します。興味を持たれた方はISO/IEC 18004やJIS X 0510new window[7]といった規格書を参照してみてください。

図 1 QRコードの基本的な仕組み

ちなみに上記のQRコードは当ブログのトップページへのリンク[8]になっています。説明のために色々と書き込みをしていますが、先ほど述べた「ある程度の汚れや破損があっても読み取れる」という特徴の通り、問題なくスマートフォンで読み取ることが出来ると思います。

QRコードの利用シーンとQRコードの読み取り

QRコードの利用シーンとしては、限られたスペースに多くの情報を表現できますので、部品や商品にQRコードを付けることで在庫管理や商品情報の提供に利用できるほか、遊園地やコンサート、飛行機などの電子チケットとしての利用、電子マネーやポイント、クーポンなどの決済関連サービスとしての利用、チラシやポスター、テレビ番組などからインターネットのコンテンツへの誘導などがあります。日々様々な利用方法が考えられていますので、ここに挙げたもの以外にも今後は思いもよらない用途にQRコードが使われるかもしれません。
QRコードの読み取りは、そのQRコードの用途によってさまざまな機器が使われます。たとえば遊園地やコンサート、飛行機などの電子チケットとしての用途であれば、入場ゲートなどに設置された固定式スキャナ(QRコード読み取り機)が使われます。また商品などの在庫管理であればハンディスキャナやハンディターミナルなどが使われますnew window[9]。また最近のスマートフォンにはカメラが標準でついてきますので、スマートフォンのカメラでQRコードを読み取ることで様々な用途に利用することができます。
QRコード自体はデータを図形として表現したものになりますので、そのQRコードを読み取ったあとに何が起きるのかは、読み取った機器(と、その先にあるシステム)によって異なります。たとえば専用の機器で読み取ることを前提としたQRコードの場合、おそらくそれは専用のフォーマットのデータをQRコード化したものですので、それをスマートフォンで読み取っても(スマートフォンでは通常はQRコードを読んだ結果がURInew window[10]であることを期待しているため)何も起きないか、もしくは誤動作が起きるといったことが考えられます。もちろん同じスマートフォンであってもQRコードを読み取るアプリによって動作が変わることが想定されます(たとえばSNSの友達追加用のQRコードを決済アプリで読んだ場合などは、誤動作が起きるかもしれません)。

QRコードで考えられるセキュリティ上の懸念

このようにさまざまな用途で利用できるQRコードは大変便利なのですが、最近ではQRコードにまつわるセキュリティ上の問題が取り上げられることが増えてきました。そこでセキュリティ上の懸念について、いくつか見ていきましょう。
まず考えられるのが複製のリスクで、QRコード自体は単なる図形ですので複製が簡単にできるという点で、たとえば電子チケットなどを複製されて他人に利用されたり、本人認証に利用するQRコードを複製されてアカウントを乗っ取られたりといったことがあるかもしれません。
次に考えられるのが「QRコードのすり替え」で、すでにあるQRコードの上に偽のQRコードをシールなどで貼り付けてしまうというものです。たとえば中国では自転車シェアリングのサービスにおいて自転車のロックを解除するためのQRコードや駐車違反の罰金支払い用のQRコードに偽のQRコードを貼るという手口が確認されていますnew window[11]。使用者がそのQRコードをスキャンして支払いをすると、サイバー攻撃者に電子マネーを窃取される可能性があります。またアメリカのテキサス州オースティンの複数の駐車場の料金支払い用QRコードの上に偽のQRコードが貼られており、偽のQRコードをスキャンすると詐欺サイトに誘導され、支払った料金がサイバー攻撃者に奪われた可能性がある new window[12] とのことでした。
その次に考えられるのが「QRコードを利用したフィッシング」(Quishingとも呼ばれます)で、従来のフィッシングメールはフィッシングサイトへのリンクをメールに埋め込みクリックさせるというものでしたが、リンクではなくQRコードの画像をメールに添付し、そのQRコードを読み取らせてフィッシングサイトへ誘導するというものになりますnew window[13]。これはメール本文に怪しいサイトへのリンクがあるとメールフィルタなどのセキュリティソリューションに検出されてしまうことを回避するための新たな攻撃手法としてQRコードが使われた一つの例として考えることが出来ます。またこのQRコードを利用したフィッシングはメールで送るだけでなく、ダイレクトメールやチラシのような紙媒体を配布することや、正規の文書に何らかの手段で勝手にQRコードのシールを張り付けて、あたかも公式のQRコードであるかのように思わせてフィッシングサイトに誘導するなど、さまざまな攻撃手法が考えられると思います。たとえば自宅のポストに入っていた弁当店のチラシに記載されたQRコードを読み込んで注文したところ、実はチラシ自体が架空のもので、クレジットカード番号を窃取されてしまったという事例がありましたnew window[14]。またQRコードを読み取るのは通常スマートフォンであることが多いと思いますが、PCでのフィッシングとの違いとして、マルウェアアプリをダウンロードさせられる、ユーザーの意図しない動作(連絡先の追加、電話のダイヤル、SMSの送信、位置情報の共有、カレンダーイベントの作成、Wi-Fiネットワークの追加など)を引き起こされる、といったスマートフォン特有のリスクがあります。
さらに別の事例として、QRコード自体は変わっていないのに、QRコードのリンク先コンテンツが変わってしまったという事例も最近いくつか報告されています。ひとつはドメインの有効期限切れで、有効期限の切れたドメインを第三者に取得され、全く別のコンテンツに変わってしまったというケース new window[15] です。公共性の高いドメイン名であった場合、意図的にそうしたドメインを再取得してフィッシングサイトなど悪意のあるサイトにしてしまう、という攻撃も考えられます。もう一つがQRコードのリンク先として短縮URLサービスを利用していたケースnew window[16]です。短縮URLのサービスによっては転送先に直接遷移せずに一度広告を表示してから遷移するというものがあり、その広告に悪意のある広告(マルバタイジング)が表示され、不正なサイトに誘導されてしまうということも考えられます。また短縮URLのサービス自体のサービス主体がいつの間にか変わってしまい、勝手に転送先を変更されるということも考えられます。

QRコードによるトラブルを防ぐには

このようにQRコードにおけるセキュリティ上の懸念事項をいくつか見てみましたが、どのような点に気を付けるべきでしょうか。
まずは複製のリスクに対しては、電子チケットなどの「その人しか持っていないはずのQRコード」などは、むやみに不特定多数の人が見られるところに公開しないことです。自分で写真に撮ってSNSで公開するのはもってのほかですが、街中などの公共の場所で後ろから盗撮されるといったリスクも考えられますので、必要な時以外にそうしたQRコードが見られないようにしましょう。サービス提供者側としてはスマートフォンで表示するQRコードについては有効期限を設ける(表示してから5分で無効になる等)といった対策のほか、紙媒体の電子チケットの場合は改ざんや複製を防ぐ仕組み new window[17] が導入できないか、検討するとよいでしょう。
その次にQRコードのすり替えやQRコードを利用したフィッシングに対しては、読み取ろうとしているQRコードが正しいものなのかを確認することです。本物のQRコードに偽のQRコードのシールが貼られたものでないかどうかを確認することや、送られてきたメールが正しい送信先から送られてきたものかどうかを確認すること、明らかに出どころの怪しいQRコードは読み取らないといったことを意識する必要があります。またQRコードをスキャンした際にリンク先のドメインが表示されますので、見知らぬドメインや短縮URLが使われている場合は注意することや、たとえリンク先が正しくてもドメインの有効期限切れで不正なサイトに誘導される可能性があるということは意識しておくと良いでしょう。サービス提供者側としてはQRコードを生成する際には短縮URLなどを使わないようにすることや、安易に新規ドメインを取得しないこと、取得する際には安易に手放さないことなどを注意するようにしましょう。

おわりに

今回の記事ではQRコードを利用する際に意識しておくべきセキュリティ上の懸念事項についてご紹介しました。QRコード自体は非常に便利で応用範囲も広いため、今後もさまざまなサービスにおいて利用されていくと思います。しかしQRコードが普及するにつれて、サイバー攻撃者もまたQRコードを攻撃の対象としてきていることが分かりました。現状では利用者がQRコードを利用する際にはサイバー攻撃者に騙されないよう十分に気を付ける必要があるほか、サービス提供者側もサイバー攻撃者からの攻撃を想定したシステム設計を行うことや、リンク先のドメイン失効や短縮URLのリスクなどを意識することなど、十分に注意が必要であることが分かりました。今後も新たな用途にQRコードが利用されていくと、新しいリスクも生まれてくるかもしれません。今回の記事をきっかけに、QRコードを利用する際や、QRコードを利用したシステムを設計する際にセキュリティについて考えるきっかけにしていただければ幸いです。

  • 「QRコード」は株式会社デンソーウェーブの登録商標です

参考文献

執筆者プロフィール

郡司 啓(ぐんじ さとし)
セキュリティ技術センター サイバーインテリジェンスグループ

おもに脅威情報を収集・分析し、それを必要とする人に届ける、といった事をしています。主な資格はCISSP、情報セキュリティスペシャリストなど。

執筆者の他の記事を読む

アクセスランキング