概要
ハッカーは、絵文字やその他のUnicodeトリックを使用して、フィルターや現代のセキュリティ制御(AI駆動の防御も含む)を回避し、悪意のあるコードを隠す傾向が高まっています。この新たなテクニックは「絵文字スミッシング」または「Unicodeスミッシング」と呼ばれ、無害に見える文字をコマンドやデータ、エクスプロイトペイロードのステルスキャリアーとして使用します。
絵文字スミッシングとは
絵文字スミッシングは、攻撃者が悪意のあるコンテンツを絵文字や同音異字(視覚的に似た文字)、見えないUnicode文字、または方向制御シンボルを使用してエンコードする隠蔽技術です。 この方法では、機械が一つのものを見ている一方で人間は別のものを見ることになります。ASCIIテキストに調整されたセキュリティツールはこれらのペイロードを逃し、「クリーン」なチャネル(チャット、メール、ウェブフォームなど)を通じてフィッシング、データのエクスフリレーション、マルウェア実行が行われます。
同音異字の悪用
視覚的に似た文字を異なるスクリプトから入れ替えることでドメインや識別子を偽装する「同音異字の悪用」は、このテクニックの基本的な構成要素です。 例えば、国際化ドメイン名(IDN)ホモグラフ攻撃では、「apple.com」を使用してシラブル文字で同じように見えるものを登録し、ユーザーがフィッシングページを信頼するようにします。同様のトリックはブランド名やユーザーネーム、コード内の変数でも使用され、人間のレビューと単純なパターンマッチングを回避します。
ゼロ幅文字の利用
ゼロ幅スペース(U+200B)やゼロ幅非接続子(U+200C)などのゼロ幅とフォーマット文字は、キーワード、関数名、URL内に挿入され、単純なシグネチャルールを破りながら多くの言語とインタプリタで実行セマンティクスを保持します。 最近のツール「InvisibleJS」では、ゼロ幅ステガノグラフィーを使用して完全に空っぽに見えるファイル内にJavaScriptモジュール全体が隠される方法が示されており、これは明らかにマルウェア悪用の懸念を引き起こしています。
絵文字とLLMの乱用
最近の研究では、攻撃者がUnicodeタグ、変更セレクター、組成を使用して任意のデータやコマンドを単一の絵文字または絵文字シーケンス内にエンコードできることが示されています。 各絵文字または付属の見えないタグをカスタム暗号のシンボルとして扱うことで、楽しいアイコンの列が「ファイル削除」「ダウンロード」「実行」などの指示を解読します。これにより、ログ記録システムや多くのフィルターは通常の絵文字使用と見なされ、コマンド&コントロール活動とは認識されません。
防御戦略
完全にUnicodeをブロックすることは現実的ではありません。 全球的なビジネスや多言語ユーザーネーム、そして広く使用されている絵文字がそのようなアプローチを不可能または差別的とします。代わりに、防御者はUnicodeの本質を理解する層状制御が必要です。主要な措置には、視覚的に似た文字列をカノニカル形式に収束させる堅牢な入力正規化と検証が含まれます。
組織向けの防御戦略
- 視覚的に似ている文字列をカノニカル形式に収束させ、ドメインやユーザーネーム、重要な識別子でのホモグラフスプフォージングを弱める。
- セキュリティゲートウェイとDLPツールは、URL、コード入力、システムコマンドなどの構造化フィールドでゼロ幅やタグ文字を検出または削除する。
- LLMおよびAIパイプラインのプロバイダーは、予測前のUnicodeパターンを削除し、Unicode認識フィルターと異常検出モニタリングを追加することを推奨します。
