Really Free QR Code Generator··読了時間:8分

QRコードはスキャンせず中身を安全に確認する方法

QRコードは目で読めなくても、内容は数秒で取り出せます。実行前に移動先を確認する方法と、その確認で分からないことを解説します。


画像をスキャンするのではなく、デコードしましょう。スキャナーは文字列をデコードするとすぐに実行しますが、デコーダーは同じ文字列をデコードして表示するだけです。この違いが安全性を確保する余地のすべてです。内容が見覚えのあるドメインのURLなら、コードはそこへ直接移動します。見慣れないドメインの短縮リンクなら、経路に第三者が入っています。

この方法が必要なのは、完全には信用できないコードをスキャンしようとしているときと、別の場所で生成したコードを印刷しようとしているときです。同じ手法で、どちらにも対処できます。

ステップ1 — 開かずに内容を読む

QRコードには文字列が入っています。スキャナーはその文字列をデコードすると、すぐに実行します。URLを開き、Wi-Fiネットワークに接続し、通話を開始します。デコーダーは同じ文字列をデコードして、単に表示するだけです。この違いが安全性を確保する余地のすべてです。

コードを撮影するかスクリーンショットを取り、QRリーダーで画像をデコードしてください。処理はすべてブラウザー内で行われ、画像がアップロードされることも、何かが開かれることもありません。内容を文字列としてそのまま確認できます。

ステップ2 — 内容の種類を見分ける

QRコードの内容には、見分けやすい形式があります。先頭部分を読めば、スキャナーが何を実行するか分かります。

内容の先頭種類スキャナーが行うこと
https:// または http://URLページを開く。最も一般的なケース
WIFI:T:WPA;S:…;P:…;;Wi-Fi認証情報そのネットワークへの接続を提案する。承認前にSSIDを確認する
BEGIN:VCARD連絡先カード連絡先として保存するよう提案する
mailto: / tel: / smsto:メール、通話、SMSメッセージを事前入力するか、番号に発信する
接頭辞のないプレーンテキストテキスト表示する。無害
javascript: または見慣れないアプリスキーム不審な内容開かない

正規の形式がどのように作られているか確認したい場合は、各形式の説明ページをご覧ください:Wi-FivCardメール電話プレーンテキスト

ステップ3 — ドメインを確認する

URLの内容では、ドメインが重要です。最初に現れる単独のスラッシュから右から左へ読んでください。https://pay.cityparking.gov/meter/44では、ドメインはcityparking.govです。https://cityparking.gov.pay-now.click/meter/44ではpay-now.clickで、見覚えのある部分は飾りにすぎません。

表示されるもの判断
組織と一致する、見覚えのあるドメイン直接接続。コードは表示どおりの場所へ移動する
所有していない汎用QR短縮サービス経路に第三者が入り、移動先を変更または無効化できる
別のドメインのサブドメインになっている実在ブランド名典型的な偽装。右端のラベルを確認する
生のIPアドレス印刷物では、ほぼ正規のものではない

短縮サービスについては注意が必要です。サービスを知っているだけでは、移動先は分かりません。Unit 42は、"スキャン前にURLのプレビューを確認するセキュリティ意識の高い人でも、短縮リンクを提示された場合、最終的な移動先を特定できない"と明確に説明しています。さらに、同社が最も悪用されていると特定した3つのサービスは、一般的なQR生成リダイレクトドメインです。見慣れた短縮サービスでも安心材料にはなりません。

ステップ4 —リダイレクトの連鎖を確認する

内容が短縮リンクで、最終的にどこへ移動するか知りたい場合は、ページを読み込まずに解決します。ターミナルで次を実行してください。

curl -sIL "https://short.example/abc" | grep -i "^location:"を実行すると、ページの内容を実行せずに各中継のLocationヘッダーが表示されます。中継が何回あるか確認してください。想定した移動先への1回の中継は通常ですが、無関係なホストを何度も経由する場合は、分析や広告の仲介業者が入っていることが多く、その各業者がリクエストを確認できます。QRプロキシが記録する内容では、こうした中継で収集される情報を説明しています。

注意点が2つあります。リダイレクトは、IPアドレス、ユーザーエージェント、時刻に応じて、あなたと別の人に異なる移動先を返すことがあります。つまり、問題のない結果が証明するのは、その時点であなたに起きたことだけで、別の国の利用者が何を見るかではありません。また、動的コードの移動先は、その後いつでも変更できます。まさに、そのために販売されている機能です。

メールで届いたコードはどう確認しますか?

これは別の、より危険なケースとして扱ってください。NCSCは、QRコードがフィッシングメールで使われる理由として、すべてのセキュリティツールが画像をスキャンするわけではないことを挙げています。そのため、同じリンクを文字列で記載していれば検出できた悪意あるリンクが、フィルターをすり抜ける可能性があります。さらにスキャンすると、職場のコンピューターより保護が弱い個人のスマートフォンへ移動することになります。

確認方法は簡単です。画面からスキャンするのではなく、メールから画像を保存してファイルをデコードし、ドメインを読みます。保護された端末から離れないよう、スマートフォンではなくコンピューターで行ってください。ドメインが、メールの送信元だとされる組織と完全に一致しない場合は中止し、メッセージ内の情報を使わず、普段の方法で組織に連絡してください。

注意すべき兆候は、緊急性とコードの組み合わせです。配送の問題、税金の通知、メールボックスの容量超過、今日中に必要なアカウント確認などです。正規の組織が、緊急のアカウント問題を解決するために、印刷された四角形をスキャンするよう求めることはほとんどありません。クイッシングでは、攻撃のパターンを詳しく説明しています。

デコーダーでは何が分からない?

確認の限界を理解しておくと、判断を誤らずに済みます。

  • 移動先が安全かどうか。 デコーダーが示すのはアドレスであり、内容ではありません。見覚えのあるドメインでも、侵害されたページをホストしている可能性があります。
  • 他の人に何が表示されるか。 リダイレクトは、IPアドレス、ユーザーエージェント、時刻によって異なる移動先を返すことがあります。問題のない結果が示すのは、その時点でのあなたのリクエストだけです。
  • 明日どう動くか。 動的コードの移動先は、確認した後でもいつでも変更できます。それが販売上の機能であり、「一度確認したから大丈夫」という言葉が動的コードについて長く通用しない理由です。
  • 印刷物がファイルと一致しているか。 上から貼ったステッカーがあると、承認したデザインと壁にある実物が異なる可能性があります。実物について分かるのは、実物をデコードした場合だけです。

最初と最後の限界があるため、このブログの業務向けアドバイスでは同じ点を繰り返し説明しています。1回の確認がその後も有効であり続けるのは、自分のドメイン上に置いた静的コードだけです。

ステップ5 — 印刷前に自分のデザインを確認する

1分ででき、費用のかかる問題を一通り防げます。

  1. 印刷する最終版とまったく同じデザインを出力する。
  2. 生成ツールのプレビューではなく、そのファイルをデコードする。
  3. 内容が意図したURLであり、自分が所有するドメイン上にあることを確認する。
  4. 他人のドメイン上の短縮リンクなら、印刷しない。静的コードとして再生成する。
  5. 印刷見本が届いたらスキャンし、正しい場所へ移動することを確認する。

すでに印刷済みで、この確認が遅すぎた場合は、人質化からの復旧ガイドで残された選択肢を確認してください。動かなくなったものの理由がまだ分からない場合は、QRコードが使えなくなった理由から始めてください。

よくある質問

破損、汚れ、一部が隠れたQRコードもデコードできますか?
多くの場合は可能です。QRコードにはリード・ソロモン誤り訂正があり、最も高いレベルでは、パターンの約30%が失われても内容を復元できます。ただし、3つの大きな角の四角形は欠けてはいけません。これらはデコーダーが格子を見つけ、向きを判断するための位置検出パターンです。角が破れているコードは通常失敗しますが、中央に擦り傷があるコードなら問題ないことが多いです。
見るだけのためにQRコードをスキャンしても安全ですか?
多くのスマートフォン用スキャナーは、開く前にプレビューを表示するため、比較的安全です。危険なのは、習慣的にそのままタップして進むことです。少しでも疑いがあるなら、画像をデコードしてください。リスクを完全に取り除けます。
QRコードが動的かどうかは、どうすれば分かりますか?
デコードしてください。内容が、自分のものでも移動先サイトのものでもないドメイン上の短縮リンクなら、第三者を経由する動的コードです。静的コードには、移動先のURLそのものが入っています。
インターネットがなくても、スキャン前にQRコードの動作を確認できますか?
はい。デコードはローカル処理です。ブラウザーで動くデコーダーなら、ページを読み込んだ後はネットワーク接続が不要で、内容は自分で読める文字列として表示されます。
印刷されたコードをデコードしたら、見覚えのないドメインだった場合はどうすべきですか?
スキャンしないでください。公共設備に貼られている場合は、その場所の所有者に報告してください。FTCとFBIはいずれも、正規のコードの上に貼られたステッカーについて注意喚起しています。クイッシングも参照してください。

ここで生成したコードは、入力した内容そのものに必ずデコードされます:URL QRコード。詳しくはQRコード詐欺の真実をご覧ください。


静的QRコードを作る準備はできましたか?

ブラウザ内で生成 — アカウント不要、追跡なし、サブスクなし。作ったものはあなたのものです。