クイッシング:QRコードの裏に隠れたフィッシング
「このコードをスキャンして書類に署名してください」。一見なんでもない文で、白黒の小さな四角も無害に見えます。ところが、このQRコードの裏には偽のログインページが隠れていることがよくあります。この手口には名前があります。クイッシング(Quishing)、「QR」と「フィッシング」を組み合わせた言葉です。なぜこれほどうまくいくのか、そして裏に隠れたサイトをどう見破り、通報するのかを見ていきましょう。
クイッシングとは?
QRコードは、小さな四角で書かれた文字列にすぎません。多くの場合、その文字列はWebアドレス(URL)です。スキャンすると、スマホがその文字列を読み取り、ページを開くよう提案します。
クイッシングは、フィッシングのおなじみの筋書きをそのまま使い、クリックできるリンクをQRコードに置き換えます。
- 「署名が必要な」書類や「あなたと共有された」書類
- 「今夜までに再設定が必要な」二要素認証
- 保管中の荷物、反則金、返金
メール以外でも見られます。駐車場の精算機や充電スタンド、レストランのメニューにある本物のQRコードの上に貼られたシールです。原理は同じで、まずスキャンさせ、次に入力させます。
QRコードが網の目をすり抜ける理由
メールフィルターが得意なのは、メッセージの文字を読み、リンクを見つけ、その行き先を確認することです。しかしQRコードはリンクではなく画像です。それを解読できないフィルターにとって、このメールには……リンクがひとつもありません。むしろ普通のメッセージより健全に見えるくらいです。
QRコードを読めるフィルターも出てきました。すると詐欺師は、読み取りを難しくしてきます。
- QRコードを本文ではなく添付のPDFに入れる
- 画像ではなく色付きセルの表や文字でQRコードを描く
- QRコードを2枚の画像に分割して並べたり、少しゆがめたりする
人間の目には何も変わらず、スマホは問題なく読み取れます。ロボットにとっては、謎がひとつ増えるだけです。ガイドフィッシング:詐欺師はどうやってメールを届けているのかで紹介した「かくれんぼ」と同じ発想です。
大きなジャンプ:パソコンからスマホへ
クイッシングの本当の強みは別のところにあります。私たちに端末を持ち替えさせることです。メールが届くパソコンは、多くの場合会社によって守られています。Webフィルター、ウイルス対策、リンクのチェック。ところがスキャンするために、私たちはスマホを取り出します。そこですべてが変わります。
- スマホは私物であることが多く、4Gや5Gでつながり、会社のネットワークや保護の外にあります。
- 画面が小さく、ページのURLは途中で切れるか、表示すらされません。
- 仕事の合間に、習慣で、さっとログインしてしまいます。
つまり、わなは見張りのいない場所で作動するのです。クイッシングのページは、スマホ向けに作られていることがよくあります。そして多くは、二要素認証をすり抜けられる「仲介」ページです。これについてはガイドAiTM:パスワードだけでなくセッションを盗むフィッシングで扱います。
隠れたURLを……開かずに読む
クイッシングの手口を分析する第一歩は、ページを一度も開かずにQRコードを文字に変えることです。方法はいくつかあります。
- スマホのカメラは、たいてい開く前にURLを表示します。読むだけで、タップはしません。
- QRコードリーダーのアプリを、ブラウザを開かずに文字だけを表示する設定にして使います。
- パソコンでは、コードのスクリーンショットを撮り、オフラインのデコーダーで読み取ります。たとえば無料ツールの
zbarimgです。
$ zbarimg capture.png
QR-Code:https://sho.rt.example/x7Kp
これで、ほかと同じ普通のURLが手に入ります。大切に保管しましょう。これが証拠です。
ドメインとインフラを特定する
URLは、逆向きに書かれた住所のように読みます。大事な名前であるドメインは、https:// の後の最初の「/」の直前にあります。その左側は、持ち主が自由に決められます。
https://login.docs-m1crosoft.example/auth
ここでのドメインは docs-m1crosoft.example で、Microsoftではありません。先頭の「login」は何の証明にもなりません。microsoft.com.verification.example も同じわなで、本当のドメインは verification.example です。さらに、ラテン文字にそっくりな別の文字体系の文字を使うドメインもあります。Punycodeとホモグラフ:本物そっくりの偽ドメインを参照してください。
ドメインが分かったら、誰が対処できるかを探します。必ず登場するのが次の3者です。
- レジストラは、ドメイン名の「戸籍役場」、つまりそのドメインが購入された会社です。ドメインを停止でき、そうすればそのドメインを使うすべてのページが止まります。ドメインをRDAPやWHOISで調べると見つかり、登録日も分かります。3日前に登録された「銀行」のドメインは、とても悪い兆候です。
- ホスティング事業者は、建物のオーナーです。ページを表示しているサーバーを持つ会社で、ページを削除したりサーバーを止めたりできます。
- CDN(Cloudflareなど)は、建物の前の受付です。サーバーの代わりにページを配信し、サーバーの本当のアドレスを隠します。通報を受け付け、警告を表示でき、苦情をホスティング事業者に転送します。
QRコードが複数のドメインにつながるときは?
これはとてもよくあります。QRコードはわなのページに直接つながるのではなく、リダイレクトの連鎖につながっています。短縮URLサービス、別の場所へ転送するために悪用された正規のサービス、ときには「あなたは人間ですか?」の確認、そして最後に偽のログインページ。
それぞれの段階に責任者がいて、どの段階も通報できます。
- まず最終ページ:そのドメイン(レジストラへ)とサーバー(ホスティング事業者かCDNへ)。
- 次に最初の段階、つまりQRコードに書かれているURL。ここは詐欺師の弱点です。印刷や送信済みのQRコードは、もう書き換えられません。この最初のリンクを断てば、すでに配られたコードはすべて使えなくなります。
- 最後に中継役:短縮URLサービスは悪用されたリンクをたいていすぐにブロックしますし、踏み台にされた正規サイトにとっても知っておくべき情報です。
連鎖全体を日時とともに記録しておきます。詐欺師は最終的な行き先をよく変えるので、日時入りの通報は受け取るチームの助けになります。
Baitbackで手口を通報する
QRコードがあってもメールそのものは消えません。そのメールは、どこかのホスティング事業者のサーバーから送られています。メールのソース全体を Baitback に貼り付けましょう。ツールが送信元サーバー、そのホスティング事業者と通報窓口を見つけ、SPF・DKIM・DMARCを確認し、そのまま送れる通報文を用意します。ヘッダーの行が何を語っているのかは、メールは送信者から受信者までどう届くのかで説明しています。
QRコードから読み取ったURLは、上で特定したレジストラ、ホスティング事業者またはCDNにも通報し、さらに Baitback が案内するブラウザの保護サービス(Google Safe Browsing、Microsoft、Netcraftなど)にも届けます。数時間のうちに、そのページが数百万人に対してブロックされることもあります。
もうスキャンしてパスワードを入力してしまったら?
慌てず、でも後回しにせずに。信頼できる端末から該当アカウントのパスワードを変更し、「すべてのセッションからログアウト」の機能があれば使い、仕事用アカウントならIT部門に知らせます。パスワードを変えるだけでは足りないこともあります。その理由はAiTM攻撃のガイドで説明しています。
- QRコードは小さな四角で書かれたURLにすぎず、リンクと同じように警戒すべきものです。
- リンクではなく画像に見えるため、フィルターを通り抜けやすくなります。
- 保護されたパソコンから、監視が薄く画面も小さいスマホへと私たちを移らせます。
- デコードして開かずにURLを読み、最初の「/」の直前にある本当のドメインを取り出します。
- 連鎖のどの段階(ドメイン、サーバー、リダイレクト)も、メールそのものも通報できます。