「見えない文字」を使った巧妙なフィッシング攻撃とその対策
メールの件名(タイトル行)に「人間の目には見えない特殊な文字」を埋め込むという巧妙なフィッシング攻撃手法が発見されました。
この攻撃の恐ろしい点は、あなたがメールソフトで見る画面では「安全そうなメール」に見えるのに、セキュリティシステムが内部で読み取っているデータは「見えない文字だらけの怪しいメール」になっているという点です。
この記事では、この脅威がどのような仕組みで動いているのか、そして私たち個人や組織がどう対策すべきかを段階的に紹介していきます。
「見えない文字」の危険性
画面に見えているものと、システムが読み取っているものは違う。
セキュリティ対策を考える上で、最も重要な事実があります。それは、「画面上でユーザーが見ている情報」と「セキュリティシステムが内部で処理している情報」は、必ずしも同じではないということです。
特に近年増えているのが、「ソフトハイフン」などの「見えない文字」を悪用する攻撃です。これにより、本来ならセキュリティシステムが検知すべき危険なキーワード(例えば「password(パスワード)」や悪意のあるウェブアドレス)が、システムの目をすり抜けてしまう事例が報告されています。
見えない文字がすり抜ける?実際の攻撃方法
ある日、会社の従業員にフィッシングメールが届きました。
従業員が見たメール画面
「至急、passwordを更新してください。このリンクをクリック…」
従業員は「password」という文字とリンクを見て不審に思い、情報システム部門に報告しました。
セキュリティシステムが実際に読み取った内容
「至急、p[見えない文字]a[見えない文字]s[見えない文字]s[見えない文字]w[見えない文字]o[見えない文字]r[見えない文字]dを更新してください。このリンクをクリック…」
画面上では普通の「password」という単語に見えていたにもかかわらず、セキュリティシステムは、各文字と文字の間に「人間には見えない特殊な文字」が大量に挿入されていることを読み取っていました。
なぜシステムは検知できなかったのか
多くのメールセキュリティシステムは、危険なキーワードのリスト(例:「password」「login」「クレジットカード」など)をあらかじめ登録しておき、届いたメールの本文をそのリストと照合してブロックする仕組みになっています。
しかし、この「見えない文字の挿入」によって、キーワードが細かく分割されてしまうため、システムは「password」という完全な単語として認識できず、結果としてメールはブロックされずに受信箱に届いてしまったのです。
「見えない文字」とは何か?ソフトハイフンとは?
今回の攻撃で悪用された「見えない文字」の正体は、「ソフトハイフン(Soft Hyphen)」と呼ばれるものです。
ソフトハイフンは、本来は悪意のあるものではありません。ウェブサイトやワープロソフトで、長い単語を画面の幅に合わせて適切に折り返すために使われる、正当な制御文字です。
HTML(ウェブページを作る言語)では という記号で記述され、以下のような場面で利用されます
- 長い英単語が画面の端に来たとき、適切な位置で自動的にハイフン(-)を表示して改行する
- 印刷時に単語を見栄えよく分割する位置を指定する
- 本来は、文書を読みやすくするための補助機能
重要な特徴として。通常の表示では、このソフトハイフンはユーザーの目には一切見えません。改行が必要になったときだけハイフンとして表示されます。
ソフトハイフンの悪用方法
この「ユーザーには見えないが、コンピュータのシステムには存在している」という特性に、攻撃者は目をつけました。
攻撃者は、フィッシングメールの件名や本文、あるいは悪意のあるウェブサイトのアドレスに、このソフトハイフンを大量に挿入します。
- ウェブアドレスの例
- ユーザーの目に見える画面:bank.com
- セキュリティシステムが内部で読み取るデータ:b[見えない]a[見えない]n[見えない]k.com
- キーワードの例
- ユーザーの目に見える画面:password
- セキュリティシステムが内部で読み取るデータ:p[見えない]a[見えない]s[見えない]s[見えない]w[見えない]o[見えない]r[見えない]d
[見えない] = ソフトハイフン文字(Unicode番号:U+00AD)
このように、ユーザーには正常に見えているのに、システムの「完全一致検索」や「部分一致検索」の仕組みが機能しなくなり、悪意ある内容が安全な情報として扱われてしまうのです。
MIME(マイム)エンコーディングとは
攻撃者がセキュリティシステムを突破するために使う、より複雑な手法として「MIME エンコーディングの悪用」があります。
MIME(マイム)は、正式には「MIME(Multipurpose Internet Mail Extensions 多目的インターネットメール拡張)」と呼ばれる技術です。これは、電子メールで日本語や絵文字などの「ASCII(アスキー)文字以外の文字」をインターネット経由で安全に送受信するために必要な仕組みです。
なぜ MIME が必要なのか
インターネットが作られた当初、電子メールは英数字と一部の記号(これを ASCII 文字と呼びます)しか正しく扱えませんでした。そのため、日本語のような文字を送るには、一度「英数字の組み合わせ」に変換してから送り、受け取った側で元に戻す必要がありました。この変換作業を担うのが MIME エンコーディングです。
例えば、日本語の「セキュリティ」という文字列は、メールで送信される際に「=?UTF-8?B?44K344Kt44Ol44Oq44OG44Kj?=」といった英数字のコード(Base64 という方式でエンコード)に変換されます。
セキュリティシステムが効かない!攻撃手法
攻撃者は、この正当な MIME の仕組みと「見えない文字」を組み合わせて、セキュリティの検知を意図的に困難にします。
手順1:悪意あるキーワードの分割
攻撃者は、システムが検知すべき単語(例:password)を、ソフトハイフンで細かく分割します。
視覚的なイメージ
通常の単語: p a s s w o r d
分割後: p [ソフトハイフン] a [ソフトハイフン] s [ソフトハイフン] s [ソフトハイフン] w [ソフトハイフン] o [ソフトハイフン] r [ソフトハイフン] d
手順2:MIME エンコーディングの適用
分割された文字列全体を、MIME エンコーディング(Base64 という方式)でさらに読みにくくします。Base64 とは、データを英数字だけの文字列に変換する方式の一つです。
手順3:メールが届いたときの処理
メールが受信者に届くと、メールソフト(Outlook など)は、表示するために MIME デコード(元に戻す処理)を自動的に行います。
このデコードの過程で、難読化されていた「見えない文字」が、人間には見えない形で元の位置に復元されます。
手順4:検知の失敗
デコード後の本文をセキュリティシステムがキーワード検知にかけますが、すでにキーワードは「見えない文字」によって分断されているため、完全な「password」という文字列が見つからず、メールは「安全」と判断されてしまいます。
- デコード後、ユーザーには「password」と正常に表示される
- システムには文字列が分断された状態で認識される(例:「p」「見えない文字」「a」「見えない文字」「s」…)
メール件名で実際の細工方法
セキュリティ研究者が 2025 年 10 月に捕捉した実際の攻撃では、以下の特徴が確認されています。
メールの件名に大量のソフトハイフンが埋め込まれており、メール一覧画面では通常のタイトルに見えても、システムで分析すると異常なパターンが検出されました。
メール本文全体の文字列分断
件名だけでなく、メール本文全体にわたってソフトハイフンが挿入され、個々の単語が分断されていました。
これにより、「password」「login」「account」などの危険なキーワードが、すべてシステムの検知から逃れる形になっていました。
最終目的は認証情報の窃取
このフィッシングメールは、受取人を偽のメールログイン画面へ誘導し、メールアドレスとパスワードを入力させることを目的としていました。入力された認証情報は攻撃者に盗まれます。
「見えない文字」なぜ危険なのか?
検出の盲点を突いている
セキュリティ業界では、見えない文字を使った回避技術は、これまで比較的注目度が低い分野でした。
2021 年にマイクロソフト社の脅威インテリジェンスチームがこの技術を報告していましたが、その後、業界全体で広く対策が取られるには至りませんでした。
特に問題なのは、メールの件名に対する特殊文字のフィルタリングは、メール本文ほど厳密に行われていないことが多い点です。この盲点を攻撃者は狙っています。
既存のセキュリティ対策の限界
多くのメールセキュリティ製品は、以下の要素に焦点を当てています
- ウェブアドレスの検査:悪意のあるリンクを検出
- 添付ファイルの検査:マルウェア(ウイルスなど)を検出
- メール本文の内容分析:既知のフィッシング文言を検出
一方で、メールの件名に含まれる見えない特殊文字については、十分な対策が取られていないことが多いのです。
ユーザー自身では気づけない
受取人の立場からすると、このメールは完全に通常のメールに見えます。見えない文字は本当に「見えない」ため、ユーザーが目視で危険を感知することはほぼ不可能です。
個人でできる対策方法
送信元アドレスを必ず確認する
メールの件名や本文が正常に見えても、必ず送信元のメールアドレスが本当に信頼できる相手のものか確認してください。
- 銀行やサービス提供会社からのメールの場合、アドレスのドメイン部分(@の後ろ)が公式のものか確認
- 不自然な日本語や、デザインの乱れがないか確認
メール内のリンクを直接クリックしない
メール内のリンクをクリックせず、公式ウェブサイトに自分でアクセスしてください。
- ブラウザのブックマークから直接アクセスする
- 検索エンジンで公式サイトを検索してアクセスする
- 特に、パスワード入力を求められるメールは疑ってかかる
認証情報は絶対にメール経由で入力しない
正規の企業は、メール経由でパスワードの入力を求めることはありません。万が一そのような画面が表示されても、絶対に入力しないでください。
多要素認証を有効にする
重要なアカウント(メール、銀行、ソーシャルネットワーキングサービスなど)には、多要素認証(ログイン時にパスワード以外の確認手段も使う仕組み)を設定してください。
万が一パスワードが流出しても、被害を最小限に抑えられます。
企業・組織で取るべき対策
メールフィルタリング機能の強化
情報システム部門の担当者は、以下の対策を検討してください
メールセキュリティの設定見直し
- 技術的措置の具体例:MIME デコード後の内容検査を強化
- 対策の目的:MIME エンコーディングを解除した最終的な表示内容に対して、キーワードや悪意あるウェブアドレスの検知を行うよう、セキュリティ製品の設定を見直す
ウェブアドレスのフィルタリング
- 技術的措置の具体例:「見えない文字」の正規化処理
- 対策の目的:検査対象のウェブアドレスや本文から、ソフトハイフン(Unicode番号:U+00AD)を含む非表示の制御文字を自動的に除去してからパターン照合を行うことで、難読化を無効化する
エンドポイント保護
- 技術的措置の具体例:不審な動作の検知機能強化
- 対策の目的:フィッシングサイトにアクセスがあったとしても、不正なプログラムの実行や情報送信といった「不審な振る舞い」を検知し、未然にブロックする機能を強化する
従業員教育
- 技術的措置の具体例:フィッシング訓練の実施
- 対策の目的:従業員に対し、今回の「見えない文字」のように、画面上の見た目が安全に見える巧妙な手口を盛り込んだ訓練を定期的に実施し、警戒レベルを維持する
MIME ヘッダーの詳細分析
メールセキュリティ製品やメールサーバーの設定で、MIME エンコードされたヘッダー(メールの送信情報が書かれている部分)に含まれる、疑わしい特殊文字のパターンを検出できるようにします。
包括的な特殊文字フィルタリング
メール本文だけでなく、メールの件名も含めた包括的な特殊文字フィルタリングを実装することが重要です。特にソフトハイフン(Unicode番号:U+00AD)の検出ルールを追加してください。
セキュリティ製品の評価と更新
現在導入しているメールセキュリティ製品が、メールの件名に対する特殊文字フィルタリングに対応しているかを確認してください。対応していない場合は、製品ベンダーに対応状況を問い合わせることをお勧めします。
「見えない文字」を使った巧妙なフィッシング攻撃とその対策|まとめ
今回解説した「見えない文字」を使ったフィッシング攻撃は、「人間が画面で見たもの」と「コンピュータのシステムが内部で判断したもの」の間に生じる、小さいけれども決定的なズレを悪用しています。
セキュリティ対策は、こうした「表示の裏側」で何が起こっているかを理解することから始まります。
メールやウェブアドレスに含まれる「緊急性を訴える内容」や「少しでも感じる違和感」に対して、立ち止まって考える習慣を持つことが、この手の巧妙な攻撃を回避するための鍵となります。
MIME デコード処理を行った後の最終的な表示内容に対する検査を強化すること、そして特にメール件名に対する特殊文字フィルタリングの実装が急務となっています。
セキュリティの脅威は日々進化しています。この攻撃手法が広く認識されることで、業界全体の防御体制が強化されることを期待します。