
- 二次元コードはスパム対策フィルターの多くを非常に効果的に回避できます。なぜなら、ほとんどのスパム対策フィルターは、画像に二次元コードが存在することを認識して二次元コードをデコードするようには設計されていないからです。Cisco Talos のデータによると、二次元コードを含む電子メールの約 60% はスパムです。
- Talos は、悪意のある二次元コードを無害化するのに効果的な方法を 2 つ発見しました。これは、悪意のある二次元コードを安全に開示するのに必要な手順です。1 つめの方法は、二次元コード内のデータモジュール(エンコードされたデータを表す白黒の四角形)が読み取られないようにすることです。2 つめは、1 つ以上の位置検出用パターン(二次元コードの向きと位置の特定に使用される、コードの角に配置されている大きな四角形)を削除するという方法です。
- Talos は、ユーザーにとってもスパム対策フィルターにとっても検出がさらに複雑になる二次元コード画像を発見しました。これを「二次元コードアート」といいます。二次元コードアートは、二次元コードのデータポイントをアーティスティックな画像に違和感なく融合させているので、二次元コードには全く見えません。
1994 年以前のコードスキャン技術のほとんどは、一次元バーコードを利用したものでした。一次元バーコードは、幅と間隔が異なる一連の黒い平行線で構成されています。スーパーで売っているシリアルの箱の裏にあるようなバーコードのことで、誰もが目にしたことのあるものです。しかし、バーコードの利用が増えるにつれて、その制限が問題になりました。特に、一次元バーコードが最大 80 字の英数字情報しか保持できないことが課題でした。この制限をなくすため、デンソーウェーブ社が最初の「クイックレスポンス」コード(二次元コード)を作成しました。
二次元コードとは約 7,000 字の数字、または最大約 4,300 字の英数字をエンコードできるマトリックス型二次元コードです。二次元コードはほぼあらゆるデータを表現できますが、最もよく目にするのは、URL のエンコードに使用される二次元コードです。
二次元コードの問題の規模
Talos では、電子メールメッセージに含まれる画像や添付された PDF ファイルから 二次元コードを抽出して分析しています。二次元コードが含まれる電子メールメッセージは、全世界の電子メールの 0.01% から 0.2% にすぎません。これは、およそ 500 通に 1 通の割合に相当します。しかし、二次元コードはスパム対策フィルターの回避に非常に効果的なので、かなりの数がユーザーの電子メールの受信トレイに届き、全体的な問題に関するユーザーの認識を歪めています。
また当然のことながら、二次元コードを含むすべての電子メールメッセージがスパムや悪意のあるメールというわけではありません。多くの電子メールユーザーはメールの署名の一部として二次元コードを送信しています。他にもイベントのサインアップなど、正当な目的で二次元コードを使用している電子メールを目にすることもあるでしょう。しかし Talos のデータによると、二次元コードを含む電子メールの約 60% はスパムです。
本当に悪意のある二次元コードは、もっと少ない数のメッセージにしか含まれていません。これらの電子メールにはフィッシングページへのリンクなどが含まれています。傾向として最も一般的な悪意のある二次元コードは多要素認証(MFA)要求に見せかけたものであり、ユーザーログイン情報をフィッシングするために使用されます。
二次元コードを利用した MFA のフィッシングメールの例
ユーザーが電子メールで受信した二次元コードをスキャンする際に防御側が直面する問題の 1 つとして、ユーザーのデバイスが企業の Wi-Fi に接続されていない場合、被害者と攻撃者間のその後の通信が携帯電話ネットワークを通じて行われることになるので、ほぼ、企業のセキュリティデバイスの監視範囲外になることが挙げられます。この場合、セキュリティデバイスからのアラートがセキュリティチームに通知されることはほとんどないか、まったく通知されないため、防御が難しくなります。
悪意のある二次元コードを検出するのが難しい理由
二次元コードは画像として表示されるので、スパム対策システムが問題のあるコードを識別するのは難しい場合があります。メッセージを識別してフィルタリングするには、スパム対策システムが画像内に二次元コードが存在することを認識し、二次元コードをデコードして、デコードされたデータに存在するリンク(またはその他のデータ)を分析する必要があります。スパム送信者がスパムフィルターを回避する革新的な手段を常に模索しているなか、二次元コードの利用は、その目的を達成する有用な手法となっています。
スパム対策システムが画像内の悪意のある二次元コードを検出する能力を向上させると、攻撃者は一歩先を行き、代わりに Unicode 文字を使用した二次元コードを作成するようになりました。
Unicode 文字を使用した二次元コードを含む電子メール(無害化処理済み)
画像のグラフィック部分は PDF ファイルに含まれています。PDF のメタデータを見ると、wkhtmltopdf ツールを使用して HTML から作成された PDF であることがわかります。PDF を HTML に戻すと、二次元コードを生成するために使用されている Unicode が表示されます。
Unicode 文字から悪意のある二次元コードを生成するために使用された HTML
二次元コードの無害化
悪意のある URL を共有する場合、プロトコルを「http」から「hxxp」に変更したり、URL のドット記号の 1 つを角括弧([ ])で囲んだりするのが一般的です。こうすることで、ブラウザや他のアプリケーションがリンクを有効な URL として表示しなくなり、ユーザーがうっかり悪意のある URL をクリックしてしまうことはなくなります。これは「無害化」と呼ばれる処理です。URL の無害化はよく見かけますが、残念ながら、悪意のある二次元コードを無害化することはあまり一般的ではありません。例として、BBC のニュース記事を以下に紹介します。犯罪者がパーキングメーターに二次元コードのステッカーを貼り、疑いを持たない利用者から支払情報を収集しようとした事件を報じたものです。
機能する二次元コードが記載された BBC のニュース記事(二次元コードは Talos によって無害化処理済み)
ここで問題なのは、二次元コードがまだスキャンでき、エンコードされている悪意のあるリンクに閲覧者を誘導できるということです。悪意のある二次元コードを安全に開示するためには、二次元コードを無害化する必要があります。
二次元コードを無害化するには、いくつかの方法があります。1 つは、二次元コード内のデータモジュール(エンコードされたデータを表す白黒の四角形)が読み取られないようにすることです。データモジュールには二次元コードが表すデータが配置されています。しかし Talos 独自の調査によると、もっと簡単に二次元コードを無害化するやり方として、1 つ以上の位置検出用パターン(別名ファインダパターン)を削除するという方法があります。位置検出用パターンとは、二次元コードの 4 つの角のうち 3 つの角に配置されている大きな四角形のことです。二次元コードスキャナがコードの向きと位置を特定するために使用されます。位置検出用パターンを削除すると、基本的にすべてのスキャナで二次元コードを読み取れなくなります。この方法の詳細については、別途ブログで説明する予定です。
左:通常の二次元コード、右:無害化された二次元コード
スキャンの際は注意が必要
長年、セキュリティの専門家は見慣れない URL や不審な URL をクリックしないようユーザーに呼びかけてきました。フィッシングページやマルウェア、その他の有害なサイトにつながる可能性があるからです。しかし見知らぬ二次元コードをスキャンする際に、不審なリンクをクリックする場合と同じような注意を払っているユーザーはそれほど多くありません。はっきり言えば、見知らぬ二次元コードや不審な二次元コードをスキャンすることは、不審な URL をクリックするのと同じことです。
さらに状況を複雑にしているのが、「二次元コードアート」という二次元コードの画像です。二次元コードアートは、二次元コードのデータポイントをアーティスティックな画像に違和感なく融合させているので、二次元コードには全く見えません。二次元コードアート画像の潜在的な危険性は、ユーザーが騙されて二次元コードアート画像をカメラでスキャンし、気づかないうちにリンク先のコンテンツに移動してしまう可能性があるということです。
二次元コードアート画像
悪意のある二次元コードから身を守る方法
二次元コードは、電子メール、レストランのメニュー、公共のイベント、製品のパッケージ、美術館、公園や遊歩道までどこでも見かけるようになりました。完璧な防御策は、二次元コードを一切スキャンしないことですが、完全にスキャンを避けるのは難しいため、ユーザーは慎重に行動する必要があります。二次元コードをスキャンすることは、見知らぬハイパーリンクをクリックすることと本質的に同じですが、前者の場合、完全な URL を事前に確認することができません。
オンラインで自由に利用できる 二次元コードのデコーダがいくつかあります。一般的に、二次元コードのスクリーンショットを保存し、画像を二次元コードのデコーダにアップロードすると、二次元コードにエンコードされているデータを確認できます。この方法で、リンクをより詳しく調べることが可能です。Cisco Secure Malware Analytics(Threat Grid)のようなアプリケーションを使用して URL に移動することもできます。こうすることで、デスクトップやモバイルデバイスのセキュリティを危険にさらすことなく、安全な場所から、URL のリンク先にあるコンテンツを確認できるようになります。Cisco Secure Email Threat Defense などの製品を使用すれば、悪意のある二次元コードを含む電子メールが受信トレイに届かないようにすることができます。毎度のことですが、知らないサイトにユーザー名とパスワードを入力するのは絶対にやめましょう。見知らぬ第三者から提示された URL をクリックするのではなく、ログインしたい場所に直接移動する方が安全です。
本稿は 2024 年 11 月 20 日にTalos Group
のブログに投稿された「Malicious QR Codes: How big of a problem is it, really?
」の抄訳です。