
- Cisco Talos は、2024 年後半、非表示テキストによるソルティング(別名「ポイズニング」)手法を使用した電子メール脅威が増加していたことを確認しました。
- 非表示テキストによるソルティングの手口を使えば、メールパーサーをバイパスし、スパムフィルタを混乱させ、キーワードによる検出エンジンを回避することが可能です。簡単ながら有効な手法であり、基本的な考え方は、視覚的に認識できない文字を電子メールの HTML ソースに埋め込むというものです。
- Talos は、この手口がさまざまな目的で利用されていることを確認しました。たとえばメールパーサーによるブランド名抽出の回避、言語検出機能の混乱、HTML スマグリングを実行する際のスパムフィルタや検出エンジンの回避などです。
非表示テキストによるソルティングとは
非表示テキストによるソルティング(別名「ポイズニング」)は効果的な攻撃手法であり、パーサーを回避したり、スパムフィルタを混乱させたり、キーワードによる検出システムを回避したりできる電子メールを作成するために使用されています。この手法では、Hypertext Markup Language(HTML、ハイパーテキスト マークアップ言語)やカスケーディング スタイル シート(CSS)の機能を利用して、コメントや無関係なコンテンツを埋め込みます。埋め込まれたコメントやコンテンツは、電子メールを開いても表示されませんが、パーサーや検出エンジンの機能に悪影響を及ぼす場合があります。
非表示テキストによるソルティングは簡単な手法であるうえに、電子メールに無意味なコンテンツを挿入する方法は多数存在します。そのため、この手口はメールパーサー、スパムフィルタ、検出エンジンに深刻な問題をもたらす可能性があります。
技術的説明
Talos は、非表示テキストによるソルティングの手口が複数の目的で利用されていることを確認しました。その 1 つが、メールパーサーによるブランド名抽出の回避です。以下は、Wells Fargo ブランドを装ったフィッシングメールの例です。
Wells Fargo ブランドを装ったフィッシングメール
以下の画像は、この電子メールの HTML ソースを表示したものです。電子メールの書式情報を CSS で定義するために、<style> タグが使用されます。<style> 要素内で、HTML 要素をブラウザや電子メールクライアントでどのように表示するかを指定できます。<style> 要素は、ドキュメントの <head> セクションに記載する必要があります。この例の場合、display プロパティが「inline-block」に設定されています。inline ではなく inline-block を使うと、要素の幅と高さを設定できます。この例の場合、ブロックの幅はゼロに設定されています。さらに、overflow プロパティが「hidden」に設定されているので、電子メールクライアントでメールを表示しても、この要素のボックスの外側のコンテンツは表示されません。
上記フィッシングメールの HTML ソースのスニペット(CSS の「width」プロパティが Wells Fargo ブランドの文字の間に挿入された無関係な文字を非表示にするためにどのように使用されているかがわかる)
もう 1 つの例が、以下の電子メールです。別のお客様が受け取ったフィッシングメールであり、Norton LifeLock ブランドを装っています。
Norton LifeLock ブランドを装ったフィッシングメール
この例の場合、検出を回避するために、Norton LifeLock の文字の間にゼロ幅スペース(ZWSP)文字とゼロ幅非接合子(ZWNJ)文字が挿入されています。これらの文字は肉眼では見えませんが、大半のメールパーサーでは文字または文字列として認識されます。そのため、非表示の文字と見なすことができます。
上記フィッシングメールの HTML ソースのスニペット(Norton LifeLock の文字の間にゼロ幅スペース(ZWSP)文字とゼロ幅非接合子(ZWNJ)文字が挿入されている)
非表示テキストによるソルティングは、言語検出機能を混乱させることで、そうした機能を使用するスパムフィルタを回避するためにも利用されています。以下は、Harbor Freight ブランドを装ったフィッシングメールの例です。一見してわかるとおり、このメールで使われている言語は英語です。
Harbor Freight ブランドを装ったフィッシングメール
しかし、メールのヘッダーを詳しく調べてみると、メールの言語がフランス語と判断されていることがわかります。この情報は、Microsoft のスパム対策用 X-Forefront-Antispam-Report ヘッダーにある LANG フィールドに記載されています。LANG フィールドには、メッセージが書かれた言語が明記されています。X-Forefront-Antispam-Report ヘッダーには、メッセージについての情報と、メッセージが処理された方法についての情報が記載されます。このヘッダーは、Microsoft のクラウドベースのフィルタリングサービスである Exchange Online Protection(EOP)によって、各メッセージに追加されます。
上記電子メールのヘッダーのスニペット(Microsoft のクラウドベースのフィルタリングサービスである EOP が、この電子メールの言語をフランス語と判断していることがわかる)
この電子メールの HTML ソースをよく調べると、非表示のフランス語の単語や文章が複数見つかります。この例では、div 要素の display プロパティを使ってフランス語の単語を非表示にすることで、Microsoft の言語検出モジュールを混乱させています。
上記フィッシングメールの HTML ソースのスニペット(display プロパティを使ってフランス語の文字を非表示にしていることがわかる)
非表示テキストによるソルティングの手口は、HTML スマグリングを実行する際に検出エンジンを回避する目的にも使われています(以下の例を参照)。
HTML ファイルが添付されたスピアフィッシングメール
上記電子メールの HTML 添付ファイルのスニペットは以下のとおりです。base64 エンコードされた文字の間に無関係なコメントが複数挿入されており、添付ファイルパーサーでこれらの文字列を組み合わせて復号することが簡単にはできないようになっています。
上記フィッシングメールの HTML ソースのスニペット(base64 エンコードされた文字の間に無関係なコメントが挿入されている)
緩和策
上記事例は、検出回避においてこの手口がいかに簡単で有効であるかを示すために挙げた、ごく一部の例にすぎません。電子メールの HTML ソースを汚染(ポイズニング)するために使用されるこの手口によって隠蔽されたコンテンツの検出は、同手口による電子メール脅威を特定するうえで重要な鍵となるため、大切なことです。脅威の検出に役立つ緩和策と検出策を、以下にいくつか挙げて説明します。
高度なフィルタリング技術:緩和策の 1 つは、非表示テキストのソルティングやコンテンツの隠蔽をより効果的に検出できる高度なフィルタリング技術を研究して開発することです。たとえば、テキストを隠すためによく使用される visibility(「visibility: hidden」など)や display(「display: none」など)のような CSS プロパティの不審な使い方を識別するフィルタリングシステムを開発することが考えられます。こうしたシステムにより、電子メールの HTML ソースの構造を調査して、インラインスタイルの過剰な使用や、コンテンツの隠蔽を示す疑いのある異常な要素の入れ子構造を発見することもできるでしょう。
視覚的な特徴を活用:フィルタリングシステムを改善できれば、非表示テキストによるソルティングや同手口を使って検出を回避する電子メール脅威の検出に非常に有効でしょう。しかし、攻撃者がすぐさま新たな手口を開発する可能性もあるため、テキストの部分だけでなく、電子メールの視覚的特徴など、複数の特徴も検出に活用できれば役立つはずです。
保護対策
このような高度で巧妙な脅威から保護するためには、AI を活用した検出機能を備えた包括的な電子メール セキュリティ ソリューションが必要です。Cisco Secure Email Threat Defense の高度な脅威検出システムでは、自然言語処理をはじめとする独自の深層学習および機械学習モデルが活用されています。複数のエンジンが、受信したメールのさまざまな部分を同時に評価し、既知の脅威、新たな脅威、標的型の脅威を検出します。この差別化された AI 技術により、テキストベースの検出の回避を狙った画像のみのメールのコンテンツも抽出して分析します。
Cisco Secure Email Threat Defense は、お客様の組織を狙った攻撃で使用された悪意のある手法を特定し、個々のビジネスリスクに応じて他に例を見ないほどのコンテキストを導き出します。また、検索可能な脅威テレメトリを提供し、脅威を分類して、組織の中で攻撃に対して最も脆弱な部分を把握できるようにします。
高度な脅威に備え、環境の強化に着手しましょう。今すぐ、Cisco Secure Email Threat Defense の無料トライアルにご登録ください。
本稿は 2025 年 1 月 24 日にTalos Group
のブログに投稿された「Seasoning email threats with hidden text salting
」の抄訳です。