Discordにおける詐欺画像の検出:完全一致によるブロックが機能しなくなった理由
詐欺師たちは、検出を逃れるために、わずかな編集を加えた同じ詐欺画像を再利用します。ここでは、Airwavyの詐欺防止システムが、知覚ハッシュ技術を活用して、トリミングやリサイズ、再アップロードされた詐欺画像をあらゆるサーバーにわたって検知する仕組みについて説明します。

規模の大小を問わずDiscordサーバーを運営している人なら、同じような詐欺を3、4回は目にしたことがあるでしょう。偽のNitroギフト。カウントダウンタイマー付きの仮想通貨プレゼント。本来あるべき場所とは異なるページへ誘導する「認証」ページのスクリーンショット。こうした投稿を行うアカウントも、多くの場合、使い捨てアカウントではありません。 それは、1時間前にアカウントを乗っ取られた本物のメンバーなのです。
画像はサーバーごとにほとんど変わりませんが、ファイルは異なります。
このギャップこそが、ほとんどのツールがDiscordの詐欺画像検出を行う際の課題であり、そのギャップを埋めることが、Airwavyの詐欺対策システムの根幹となっています。
同じ詐欺、100種類の異なるファイル
詐欺師たちは画像を再利用します。説得力のある偽造画像を作成するには手間がかかる一方、既存の画像を再投稿するのはほんの数秒で済むからです。同じ仮想通貨プレゼントの画像が、1日で数十のサーバーに拡散されます。
彼らが変更するのはファイルそのものです。 別の形式で再保存すれば、すべてのバイトがずれます。境界線から2ピクセル切り取ります。キャンバスの幅を1920から1900に変更します。スクリーンショットを再度スクリーンショットします。これらはいずれも、人間の目には何も変わりません。しかし、そのすべてがファイルを完全に変えてしまいます。
これは偶然ではありません。ファイルの完全一致による検出をすり抜けるために、意図的に行われているのです。
完全なハッシュが実際にチェックしているもの
「悪質な画像」のブロック機能の多くは、SHA-256のような暗号ハッシュに基づいて動作しています。 ファイルを取り込み、関数に通すと、固定された文字列が返されます。同じファイルを入力すれば、毎回同じ文字列が出力されます。
この特性こそが、この場面では役に立たない理由です。暗号ハッシュは、たった1ビットが反転するだけで、まったく異なる出力が得られるように設計されています。 ダウンロードしたファイルが改ざんされていないかを確認する際には、これは利点となります。しかし、画像を識別しようとする場合には、これが欠点となります。
そこで、サーバーが詐欺画像をブロックします。すると、詐欺師はわずかな編集を加えてその画像を再アップロードします。新しいファイル、新しいハッシュ、一致なし――こうしてメッセージは通過してしまいます。 ブロックリストが有効だったのは、画像編集ソフトを開くのにかかる時間ほどしかありませんでした。
知覚ハッシュは、画像がどのように見えるかを照合します
Airwavyは、代わりに知覚ハッシュを用いて詐欺画像の指紋を取得します。知覚ハッシュは、バイト列ではなく、画像の視覚的な構造を記述するものです。 人間には同じに見える2つのファイルでも、その基盤となるデータに共通点が全くない場合でも、生成されるフィンガープリントは互いに近い位置に配置されます。
再圧縮されたり、端がトリミングされたり、サイズが変更されたコピーであっても、元のフィンガープリントと一致します。これを回避するには、詐欺師は画像の実際の見た目を変更しなければならず、その時点で彼らはもはや詐欺用グラフィックを再利用していることにはなりません。彼らは新しいものを作成しているのです。
この層は、意図を推測するモデルではありません。これはフィンガープリントの比較であり、その挙動が予測可能であるため、ツールの比較において重要です。既知の詐欺画像とそのほぼ同一の画像は検出され、その理由を推論することができます。
1回の確認で、すべてのサーバーが保護されます
モデレーターがインシデントを詐欺であると確認すると、Airwavyはその画像を永続的な証拠記録として保存します。フィンガープリントは残ります。これは、プラットフォーム上のどこかで詐欺が確認されるたびに拡大していく認識ネットワークの一部となります。
実際には、月曜日の朝に大規模なサーバーを襲った詐欺の波は、月曜日の午後にあなたのサーバーに到達する頃には、すでに認識されています。あなたは、自ら行う必要のなかったモデレーション作業の恩恵を受けることができるのです。
Airwavyのスタッフチームは、すべてのサーバーで確認された詐欺事例を集約するグローバルな脅威情報パネルも管理しています。認識はサーバーごとに孤立していません。もしそうであれば、各コミュニティが別々に同じ教訓を学ばなければならず、すべての詐欺キャンペーンが各コミュニティで新たに展開されることになってしまいます。
フラグが立てられた際にスタッフが確認できる情報
検知はあくまで半分に過ぎません。誰も対応できないフラグは、単なるログの一行に過ぎません。
詐欺対策システムがメッセージにフラグを立てると、Airwavyはスタッフに次のような構造化されたアラートを送信します:
フラグが立てられたユーザー
投稿されたチャンネル
信頼度スコア
フラグの根拠となる具体的な証拠(例:メッセージが既知の詐欺パターンと一致していること)
「警告」「タイムアウト」「キック」「BAN」のワンクリックボタン
モデレーターは、フラグが設定された理由を確認し、Discordを離れることなく対応できます。 別のダッシュボードも、ユーザーIDの転送も、メッセージが一般チャンネルに残ったまま「本当に詐欺なのか」とスタッフチャットで議論することもありません。
信頼度スコアと証拠の行は、意図的に設けられています。なぜ措置が取られたのかを示さない自動モデレーションは、スタッフにそれを無視するか、盲目的に信頼するかのどちらかしか選択させず、いずれにせよ最終的には悪い結果を招きます。
これが行わないこと
限界について率直であること。 知覚ハッシュは、フィンガープリントが登録されている画像のみを認識します。まだ誰も確認していない真に新しい詐欺画像には、照合すべきフィンガープリントが存在しません。誰かが最初にそれを見なければなりません。これはあらゆる認識ベースのシステムにおけるトレードオフであり、自分のツールにはそのようなトレードオフがないと主張する人は、何かを売り込んでいるのです。
これが変えるのは経済性です。既知の詐欺画像を再投稿する手口は通用しなくなり、キャンペーンごとに説得力のある新しい偽造画像を作成するには、枠を切り抜くよりもはるかに多くの労力がかかります。
有効化の方法
詐欺対策機能はAirwavyのモデレーションスタック内に組み込まれており、自動モデレーション、レイド対策、ログ記録と同様にダッシュボードから設定可能です。スタッフへのアラートの表示形式や送信先を自由に選択できます。
Discord用の詐欺対策ボットを評価しているなら、候補リストにあるすべてのオプションについて、一つ尋ねておくべき質問があります。詐欺師が画像を切り取って再アップロードした場合、どうなるかを尋ねてください。 もし「ファイルのハッシュ値が変わり、ブロック機能が静かに機能しなくなる」という答えなら、メンバーにとってそれがどのような結末を招くかは、もうお分かりでしょう。
Discord上で誰かがリンクをクリックする前に仮想通貨詐欺ボットを阻止することが目的なら、完全一致による検出では決してその目的を達成できません。
