迷惑メールを自動的に判別して排除するメール・サーバー製品が出荷ラッシュを迎えている。増加の一途をたどるスパム被害をゲートウエイ部分で食い止め,従業員の生産性低下を抑えるのが狙い。スパムの特徴をルール化したデータベースや,本文に含まれる単語の出現頻度でスパムを効率よく見つけるのが特徴である。

表1●スパム対策機能を搭載した主な電子メール・サーバー・ソフト
図1●スパム対策の方法は大きく4つある
出荷ラッシュが続くスパム対策ソフトの特徴は,(1)届いたメールがどれだけスパムの傾向を持つかを判別すること。(2)受信したくない送信者や必ず受信したい送信者をリストで定義する機能もある。(3)見知らぬ相手からのメールを見知らぬ相手に中継するメール・サーバーはスパムの踏み台なので,アクセスを拒絶する。(4)メールの件名や本文などを,特定の文字列でフィルタリングして仕分けする機能も基本である
 迷惑メール,いわゆる“スパム”を排除できるメール・サーバー製品の出荷が相次いでいる(表1[拡大表示])。スパム対策の歴史は古いが,ここへ来て出荷ラッシュを迎えた製品はみな,メールがスパムの特徴をどれだけ備えているか,つまりメールの“スパムらしさ”を判別する機能を持つのが特徴である。

 メール・サーバー大手の米Sendmailは,米Cloudmarkのスパム対策エンジンを組み込んだパッケージを用意。コンテンツ・フィルタリングの英Clearswiftは,MIMEsweeper製品群にスパム対策エンジン「spamActive」をオプションで提供する。セキュリティ・ベンダー大手の米Network Associates Technologyは,買収した米Deersoftのスパム対策エンジン「SpamAssassin」を自社ブランド製品に組み入れて商品化。Z-Linuxを出荷するサードウェアも,オープンソース版のSpamAssassinを取り入れたメール・サーバーを出荷した。

 他社に先立ち2003年3月(国内は4月)から該当製品を出荷している米Symantecも,製品のマーケティング戦略を修正。2004年春には,メール・サーバー用ウイルス対策兼スパム対策ソフトのブランドを,ウイルス対策だけを連想させる「AntiVirus」から「Mail Security」ブランドに変更する。

急増するスパムをソフトで遮断

 スパム対策機能の強化が進む背景には,近年スパムが急激に増えたという状況がある。スパムが届くメカニズムは実に単純だ。インターネットに公開されているメール・アドレスを無差別に収集し,一方的に広告メールを送りつけるというもの。インターネットの利用者にとっては,アドレスを公開するだけで,世界各国のメール・サーバーを経由して大量のスパムが届く。企業の場合,スパムは従業員の労働生産性を下げるので,より効率的にスパムを排除する機能が望まれている。

 製品が備えるスパム対策機能は,大きく4つある(次ページの図1[拡大表示])。(1)スパム対策の中核は,届いたメールを見て,本文やメールの形式にどれだけスパムの傾向があるかを,知識データベースと照らし合わせて判別する機能である。スパムの度合いを件名やメール・ヘッダーに埋め込むことで,文字列フィルタリング・ソフトで仕分け処理できるようにする。

 (2)リスト・ベースでアクセスを制御する機能も持つ。受信を拒否する送信者をブラック・リストとして定義する一方で,必ず許諾する送信者をホワイト・リストに登録しておき,受信を許可する。SpamAssassinやspamActiveは,このホワイト・リストを自己学習して補完する機能を持つ。

 さらに,(3)古典的なスパム対策機能も備える。その1つは,インターネットからインターネットへメールを第三者中継しているサーバーからのメールを受け取らないというもの。こうしたサーバーはスパムの踏み台として使われている。また,スパムの送信手段として,複数のあて先に向けたメールを1回の接続で届けようとした際に,当てずっぽうに付けた誤ったアドレスが何回か続くケースがあるが,米Sendmailの製品では,このケースで強制的に接続を切る機能なども持つ。

 もちろん,(4)メールの件名や本文に特定の文字列が含まれるかどうかを調べるコンテンツ・フィルタリング機能も,簡単なスパム対策として有効だ。

「9割のスパムを発見」と公言

 スパム対策で重要になるのは,スパムをスパムであると正しく発見する確率と,本来はスパムではないメールをスパムであると誤って判断する確率である。ほとんどの製品は,誤ってスパムであると判断する確率を0.1%程度に抑えながら,90%以上の発見率を保つと公言している。企業にとって,正しいメールをスパムであると誤認することだけは避けなければならない。

 あるメールがスパムであるかどうかは受け取るユーザーによって異なると言われるが,企業には当てはまらない。ウイルスがウイルスであると特定できるのと同様,スパムは誰にとってもスパムである。英語で書かれたメールのうち,仕事に関係のないメールのほとんどすべてはスパムと言ってよい。受け取る従業員ごとにスパムかどうかの判断が揺れることはあまりない。

 一方で,個人向けのISPサービスではスパムがスパムでなくなる場合がある。仕事が目的ではないからだ。

ベイジアン・フィルタが主流

 メールの本文から“スパムらしさ”を判別する仕組みとして各製品が備える手法は,こうである。ある単語はスパムの中に含まれる頻度が高く,別のある単語はスパム以外のメールに含まれる頻度が高い。この法則を基に,個々の単語にスパムらしさのパラメータを付けたデータベースを作る。受信したメールに登場する単語ごとにスパムらしさのポイントを加味し,メール全体でのスパムらしさを判別する。

 単語の切り出しから出現頻度の計算までを機械任せで実施するツールを特に,ベイジアン・フィルタと呼ぶ。ベイジアン・フィルタの計算方法は例えば,単語“money”が含まれるメールがスパムである確率が75%,“dollar”が含まれるメールの80%がスパムであるという統計があった時,確率に影響を及ぼす他の要因が無かったと仮定すると,moneyとdollarの両方を含むメールがスパムである確率は計算上95%――といった具合だ。

 ベイジアン・フィルタを利用する際には,スパムのサンプルと,スパム以外のサンプルを大量に用意するだけでいい。双方のサンプルを単純なアルゴリズムのプログラムに処理させるだけで,単語と確率のデータベースを作成できる。スパム対策製品はみな,学習済みのデータベースを提供するので,ユーザーは導入直後から精度の高いスパム検知が可能である。

 単語の出現頻度に限らず,メールがHTML形式かどうかなど,スパムらしさを示す特徴をルールとして定義し,個々のルールに点数を付けて判別する仕組みもある。単語の選定や,単語が出現した場合の扱いなどを,機械任せではなく人間が定義できる。例えばSpamAssassinはベイジアン・フィルタ機能のほかに,こうしたルール・ベースのフィルタリング機能を持つ。

 スパム対策製品を扱うベンダーは,実際のスパムを毎日収集し,最新のスパム傾向分析データベースを更新し続けている。ユーザーは,ウイルスのパターン・ファイルをアップデートするのと同様に,スパムのデータベースをアップデートすることになる。

(日川 佳三=hikawa@nikkeibp.co.jp)