スミッシング検知AIの弱点|文字難読化で崩れる精度

スミッシング検知AIの弱点|文字難読化で崩れる精度 研究・論文

SMSフィッシング(スミッシング)を機械学習で検知する仕組みは、攻撃者がわざと文字を崩すだけで簡単に破られる——2026年8月13日にarXivで公開された査読前の研究が、5つの検知モデルを同じ土俵で殴り比べ、そう結論づけました。とくに従来型の機械学習モデルは、性能低下率(RDR)が最大0.988、つまりほぼ検知できない状態まで崩れたという結果です。

「うちはキャリアやセキュリティ製品のフィルタに任せている」という情シスにとっても、他人事ではありません。フィルタの中身がどういう性質のもので、どこで破綻するのかを知らないままだと、すり抜けた1通を人が見抜けなかったときの備えが設計できないからです。

この記事でわかること

  • スミッシング検知モデルは、どんな細工に弱いのか(3種類の攻撃と結果)
  • 「テストで高精度」と「実戦で強い」がなぜ一致しないのか
  • 情シスがフィルタ頼みの運用を見直すときの着眼点
  • この研究の限界(査読前・比較条件の非対称性)

出てくる「モデル」は何者か

研究で比較されたのは5つの検知モデルです。名前だけ並べても情シスには判断材料になりませんので、まず正体を押さえます。

  • Random Forest / XGBoost:決定木をたくさん組み合わせて分類する古典的な機械学習手法。「どんな単語が入っていたら怪しいか」を統計的に学習します。軽くて速く、説明もしやすいため、迷惑メール判定やログの異常検知など、身近な製品の内部で今も広く現役です。
  • CNN+BiLSTM:文章を前後関係ごと読み取るニューラルネットワーク。上の2つより文脈に強い一方、学習した語彙の並びに依存します。
  • mBERT / XLM-RoBERTa:100言語前後を一度に扱える多言語トランスフォーマー。ChatGPTなどの大規模言語モデルと同じ系譜の技術で、単語を細かい断片(サブワード)に分けて扱うのが特徴です。近年のテキスト分類はおおむねこの系列が主流になっています。

つまりこの研究は、「昔ながらの軽い判定器」と「今どきの重い言語モデル」を、同じ攻撃にさらしたらどちらが先に折れるかを調べたものです。自社が使っているSMSフィルタやメールゲートウェイが内部でどちらを使っているかは通常公開されませんが、業界全体が前者から後者へ移行してきた流れの中に、この結果を置いて読むと意味が見えてきます。

研究は何をしたのか

27,037件のメッセージを使い、上記5モデルに対して3種類の細工を、強度を変えながら加えています。

攻撃の種類 やっていること 現実の例
文字難読化 文字を似た別の字に置き換える・記号を挟む 「amazon」「配-送-業-者」のような小細工
言語混在(コードスイッチング) 文中で言語を切り替える 日本語の中に英語や現地語を混ぜる
構造摂動 語順・区切り・文の組み立てを崩す 改行や句読点の乱れた不自然な文面

評価指標はRDR(Robustness Degradation Ratio/頑健性劣化率)で、0に近いほど攻撃されても性能が落ちない、1に近いほど崩壊する、という読み方をします。結果は次のとおりです。

モデル群 RDR(最大) 読み取り
古典的モデル(RF / XGBoost / CNN+BiLSTM) 最大 0.988 文字難読化と構造摂動でほぼ壊滅
多言語トランスフォーマー(mBERT / XLM-RoBERTa) 最大 0.351 持ちこたえるが無傷ではない。最大の弱点は構造摂動

両群の差は効果量(Cliff’s d)でも大きく、Mann-Whitney U検定・Friedman検定によって「たまたまのサンプルの偏りではなくアーキテクチャの違いによる」ことが確認された、と著者は述べています。

いちばん重要な発見は何か

きれいなテキストでの精度は、実戦での強さを予測しない——これが著者の主張の核です。象徴的なのが、トランスフォーマー2つの逆転現象でした。クリーンなテキストでの基礎精度はXLM-RoBERTaのほうが高いのに、攻撃を受けたときの劣化はmBERTより大きかったのです。

製品選定でベンチマークの検知率だけを見比べている場合、この事実はかなり重く響きます。カタログの99.9%は「攻撃者が手を抜いてくれたとき」の数字かもしれないということだからです。

なぜ古典的モデルはここまで脆いのか

仕組みを考えると納得のいく結果です。Random ForestやXGBoostは基本的に「単語」という単位で怪しさを覚えます。学習時に「配送」「不在」「認証」といった語をシグナルとして獲得しているため、攻撃者が「配-送」と一文字挟むだけで、その語は学習済みの語彙表から消え、単なる未知の文字列に化けます。判定材料が消えるのですから、精度が落ちるのは当然です。

一方トランスフォーマーは、単語をサブワードに分解して処理します。多少崩された文字列でも断片単位では既知のパターンに引っかかるため、完全には見失いません。それでも構造摂動——文の組み立てそのものを崩す攻撃——では劣化が目立ちました。文脈の流れを手がかりにしている以上、流れを壊されると効きが鈍るわけです。

この「学習した特徴を攻撃者が意図的に外してくる」構図は、当サイトで以前扱ったLLMベースのIDSに対する敵対的サンプル攻撃の研究と同じ形をしています。検知に機械学習を使う限り、逃れられない宿命に近いものです。

現場目線:この結果をどう受け止めるか

正直なところ、情シスの立場でこの研究を読んで最初に感じたのは「打てる手が少ない」というもどかしさでした。SMSフィルタは通信事業者やスマホOS、MDM製品側の領分で、社内で調整できる余地がほとんどありません。中身のモデルを差し替えることも、しきい値を触ることもできない。それでも従業員の端末には日々届きます。

そのうえで、この研究から実務に持ち帰れるものは3つあると考えます。

1. 「フィルタが止めてくれる」を前提に置かない

攻撃者側は文面を機械的に少しずつ変えて送るだけで検知率を下げられます。コストがほぼゼロで実行できるため、すり抜けは例外ではなく常態と見積もるのが妥当です。すり抜けた1通が届いた前提で、報告経路と初動を用意しておくほうが現実的でしょう。

2. 製品評価で「崩した文面」を試す

フィルタリング製品やメールゲートウェイの選定・更新時に、教科書どおりの検体だけでなく、文字を置換した・記号を挟んだ・語順を崩した文面で試験してみる価値があります。カタログ値と実際の挙動の差を、自分の目で確認できます。

3. 自組織が「送る側」としてできることがある

受信側の防御は限られますが、自社が顧客や社員にSMSを送る側であれば、偽物と見分けがつく送り方に変えられます。フィッシング対策協議会の2026年度版ガイドライン(2026年6月1日公開)は、携帯キャリア共通番号「0005」から始まる番号の利用、正規のSMSにURLを載せないこと、送信元番号を自社サイトで事前に告知することを挙げています。「うちからのSMSにURLは絶対に入れません」と宣言しておくこと自体が、利用者にとっての判定基準になります。

日本の状況と照らすと

フィッシング対策協議会の月次報告によると、2026年6月のフィッシング報告は72,370件、フィッシングサイトURLは42,241件、悪用されたブランドは98件でした。スミッシングの報告数自体は減少傾向にありますが、これは脅威が消えたというより攻撃インフラの摘発など外的要因の影響が大きいと見るべきで、手口の有効性が失われたわけではありません。

なお、この研究が想定しているのは多言語・低リソース言語の環境です。日本語は英語ほど学習データが潤沢ではなく、加えて全角と半角、ひらがな・カタカナ・漢字の混在、異体字、絵文字と、文字を崩す余地が構造的に大きい言語です。研究の結論がそのまま日本語環境に当てはまるかは検証されていませんが、条件としてはむしろ厳しい側だろう、というのが筆者の考察です。

限界と留意点

過度に一般化しないために、以下は明記しておきます。

  • 査読前のプレプリントです。査読を経て結論や数値が変わる可能性があります。
  • 攻撃条件が両群で対称ではありません。 古典的モデルにはブラックボックスの汎用攻撃、トランスフォーマーにはattention(注意機構)を手がかりにした標的型攻撃という、性質の異なる攻撃が適用されています。この設定の違いが差の一部を説明している可能性は否定できず、「トランスフォーマーなら安全」と読むべきではありません。
  • 評価はテキストのみです。実際の製品は送信元番号の評判、URLの評価、送信量の異常など複数の材料を組み合わせて判定するため、製品全体の検知率がここまで落ちるという話ではありません。
  • データセットは27,037件と一定規模ですが、日本語の実データでの再現は行われていません。

対策の拠り所(公的指針)

技術的な検知に限界がある以上、最後は利用者側の判断力が効いてきます。自前で長大なチェックリストを作るより、公的機関の教材を配るほうが確実で、更新も追随してくれます。

地味ですが、「不審なSMSを見つけたら報告する」文化を根づかせることが、検知モデルの弱点を人で埋める最短の道です。報告した人が責められない運用にしておくことが、その前提になります。フィッシングの手口そのものはフィッシングとは?仕組み・手口・情シスが取るべき対策で、最近の動向はフィッシング2026年5月動向で整理しています。

まとめ

  1. 従来型の機械学習によるスミッシング検知は、文字難読化や構造の崩しでRDR最大0.988=ほぼ機能停止まで劣化した。多言語トランスフォーマーは最大0.351と持ちこたえたが、無傷ではない。
  2. クリーンなテキストでの精度は、実戦での頑健性を予測しない。製品のカタログ検知率だけで判断せず、崩した文面での挙動を確認したい。
  3. 受信側の防御には限界がある。すり抜け前提の報告経路づくりと、送信側としての「偽物と見分けがつく送り方」(0005番号・URLを入れない)の両輪で臨むのが現実的。

出典

タイトルとURLをコピーしました