このページの本文へ

前へ 1 2 3 4 次へ

こうして守れ!メールのセキュリティ 第13回

コンテンツブロッキングでスパムメールを除去

スパムメールを防ぐ技術(後編)

2009年12月01日 06時00分更新

文● TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

現在も猛威を振るうスパムメールを遮断するには、複数のフィルターを用いた多層的なアプローチが一般的だ。前回のソースフィルタリングに続き、後半ではメールの本文からスパムメールの判断を行なうコンテンツブロッキングの技術について見ていく。

ヘッダで判断できないならコンテンツブロッキング

 前回紹介したソースブロッキングは、送信元のアドレスやトラフィックのパターンを見て、スパムメールの受信自体を拒否するという方法になる。郵便に例えれば、送信元やメールボックスに貯まった数を条件にして機械的に振り分ける方法だ。

 だが、あくまで「機械的に」ということで、処理は高速に行なえるが、中身はチェックしない。スパムメールかどうかを判定するための条件に送信元や送信状態といった情報しか使えないので、正確な判定は難しい。そのため、実際のスパムメール対策ではメッセージの中身を見て、スパムメールかどうかを判定するコンテンツブロッキングが併用されることが多い。

コンテンツブロッキングの種類

 コンテンツブロッキングは、単語や文字列、メールの構造、記述されたURLなどさまざまな情報を元にスパムメールを判定する。この方法としては、ベイジアンフィルタ、カスタムフィルタ、ヒューリスティックフィルタ、URLフィルタ、シグネチャなどいくつかの手法がある。

 これらはまず誰がフィルタの条件を作成するかという点で、ユーザー・管理者に依存するか、ベンダーに依存するかに分けられる。また、フィルタの条件として登録される形式もメッセージ内のテキストか、アンチウイルスのパターンファイルのようにシグネチャとして登録しているかによって分類できるだろう。以下、主要なコンテンツブロッキングの手法について解説していく。

単語や文字列を学習するベイジアンフィルタ

 ベイジアンフィルタは、ユーザーがスパムと判断したメールに出現する単語や文字列を学習させ、この結果を元にスパムメールを判定させるという方法である。

ベイジアンフィルタの動作概要

 商品やサービスの宣伝用途の多いスパムメールと、通常のメールではおのずと利用する単語に違いが出てくる。たとえば、スパムメールでは「無料」「サービス」などの用語の登場頻度が通常のメールに比べて高くなる。この違いを学習させ、特定のアルゴリズムで条件付け、フィルタとして利用するのだ。過去の傾向を学習することで将来を予測する「ベイズ理論」と呼ばれる理論に基づいているフィルタという意味で、ベイジアンフィルタと呼ばれている。具体的には、アダルトサイトの勧誘や医薬品の商品名などの文字列や表現を学習し、スパムメールかどうかを判定する。そのため、ユーザーごとの設定がしやすく、学習させればさせるほど精度は高くなるという特徴を持っている。スパムメールの振り分けではかなり一般的な手法といえる。

 ただし、ベイジアンフィルタには、ユーザーが学習させ続けなければ、判定精度が落ちてしまうという手間がある。また、学習結果を納めるデータベースが肥大化するため、パフォーマンスに影響が出てしまうのも弱点だ。このため、登録できるエントリ数に制限が設けられている製品も存在している。

 また、ベイズ理論を特に用いず、ユーザーが独自にキーワードを登録してカスタマイズを行なうカスタムフィルタもある。こちらもユーザーごとの自由度は高いが、手間がかかるという点はベイジアンフィルタと変わらない。ただ、一般的にはスパムメールの振り分けではなく、社内からの送信メールを調べて情報漏えいを防ぐという目的で使われるフィルタといえる。

(次ページ、ベンダーの強みが出る独自のフィルタ)


 

前へ 1 2 3 4 次へ

カテゴリートップへ

この連載の記事