テクニカルジャーナリスト
海上 忍
2006年6月
【目次】
1. 迷惑メールフィルタの概要
1.1. Apple Mailの迷惑メールフィルタ機能とは
1.2. 迷惑メールフィルタを有効にするには
2. 迷惑メールを見分けるための準備
2.1. 最初はトレーニングモード
2.2. IMAPアカウントの場合
3. 迷惑メールフィルタの基準を知る
3.1. メールヘッダの役割を知る
3.2. 迷惑メールの判定基準
3.3. 任意の判定条件を追加す
4. 迷惑メールフィルタを使うコツ
4.1. 迷惑メールと判定されない場合には
4.2. 自動モードへ移行する
4.3. トレーニングをやり直す
5. その他の便利機能
5.1. ISPの迷惑メールフィルタサービスとの連携
5.2. 任意のヘッダを手がかりにフィルタする
5.3. 「迷惑メールを送信者に戻す」前に
1. 迷惑メールフィルタの概要
1.1. Apple Mailの迷惑メールフィルタ機能とは
Mac OS Xに標準装備されているメールクライアント「Mail」(以下、Apple Mail)には、メール受信時に迷惑メールを検出し、自動的に削除したり適切なメールボックスに振り分けたりする「迷惑メールフィルタ」が用意されています。
迷惑メールフィルタを有効にすると、Apple Mailは受信するメールすべてを分析し、抜き出したキーワードをデータベース化したうえで迷惑メールの判定材料とします。判定の精度はメールの受信を重ねるにつれ向上するため、長く使い続けることにより、迷惑メールと通常のメールを高い精度で振り分けることが可能になります。
Apple Mailの迷惑メールフィルタは、LSA(Latent Semantic Analysis)と呼ばれる理論に基づき、迷惑メールを選別します。LSAの基本的な動作原理はベイジアンフィルタ※と同様で、通常のメールと迷惑メールそれぞれの内容を分析し、迷惑メールに多い単語の出現頻度などを判断材料として得点を算出、その得点が一定の基準を超えたときに迷惑メールと判定する仕組みです。
※ ベイズ確率モデルという統計学的手法を用いた迷惑メール検出機能。EudoraやThunderbirdの迷惑メールフィルタなどにも採用されている。
図1 Apple Mailの迷惑メールフィルタ機能概要
1.2. 迷惑メールフィルタを有効にするには
迷惑メールフィルタを有効にするには、ツールバーから[Mail]→[環境設定…]を選択して環境設定パネルを表示し、[迷惑メール]タブ上の[迷惑メールフィルタを有効にする]チェックボックスを有効(チェックされた状態)にします。チェックボックスを無効(チェックが外れた状態)にすると、迷惑メールフィルタは無効化され、再びチェックボックスを有効にするまで機能しません。
環境設定パネルを閉じたあとは、以降受信されるメールすべてが迷惑メールフィルタの対象となります。Apple Mailに登録したメールアカウントは一律に対象とされるため、特定のメールアカウントを除外する場合は、メールチェックのつど[迷惑メールフィルタを有効にする]チェックボックスの有効/無効を切り替えるか、Apple Mail以外のメールクライアントを使うことで対処します。
図2 迷惑メールフィルタを有効にする
チェックボックスを有効にすると、以降受信するメールすべてを対象にフィルタリングが行われる
2. 迷惑メールを見分けるための準備
2.1. 最初はトレーニングモード
Apple Mailの利用を開始した時点では、受信したメールが迷惑メールかどうか判定するためのデータが不足しています。そのため迷惑メールフィルタの運用を開始した直後は、受信したメールはすべて受信トレイに振り分け、迷惑メールと覚しきものはその旨表示する「トレーニングモード」が選択されています。
トレーニングモード時は、迷惑メールと判定されたメールの先頭部分に「Mailによって迷惑メールと判断されました」というメッセージが表示されます。迷惑メールフィルタを使い始めた当初は、オンラインショップやメーリングリストなど一斉送信されるメールの大半は迷惑メールと誤判定されるため、メールの内容に目を通し、問題なければ[迷惑メールではない]ボタンをクリックします。この作業を繰り返し、ある程度の数をこなせば、次第に判定の精度が向上します。
通常のメールとして判定されている迷惑メールは、そのメールを選択した状態でツールバー上部の[迷惑メール]ボタンをクリックすると、メールヘッダとメール本文の内容が分析され、必要な情報が迷惑メールデータベースに反映されたうえで迷惑メールとして処理されます。反対に、通常のメールにもかかわらず迷惑メールと判定されている場合には、[迷惑メールではない]ボタンをクリックすると、そのメール固有の情報は迷惑メールデータベースから削除され、次回の受信からは通常のメールと判定されるようになります。
図3 迷惑メールと判定されたメールを表示すると、このような警告メッセージが現れる
2.2. IMAPアカウントの場合
IMAPアカウントを使用する場合、利用開始直後の状態では迷惑メールがサーバ上に保存されません。迷惑メール判定が下されたメールは、受信が完了次第サーバ上から削除されてしまうため、迷惑メールフィルタの判定精度が低い時点では注意が必要です。
IMAPアカウントを利用する場合には、環境設定パネルの「アカウント」項にある「メールボックスの特性」タブを開き、[迷惑メッセージをサーバに保存する]チェックボックスを有効にします。なお、サイドバーに表示されたIMAPアカウントのメールボックスを[control]キーを押しながらクリックし、現れたポップアップメニューで[情報を見る]を選択しても、[メールボックスの特性]タブを表示できます。
図4 IMAPアカウントの場合、[迷惑メッセージをサーバに保存する]チェックボックスを有効にしておくこと
3. 迷惑メールフィルタの基準を知る
3.1. メールヘッダの役割を知る
我々が普段「メール」と呼ぶ文字情報をやり取りするための約束事は、IETFという団体により標準化作業が行われ、「RFC」と称されるインターネットに関する技術仕様書の一部として一般公開されています。携帯からコンピュータへ、Apple MailからOutlook Expressへといった具合に、ハードウェアやソフトウェアの違いを乗り越えてメールを送受信できることは、RFCという全世界共通の約束事が存在するからにほかなりません。
RFCのメールに関する仕様を定めた文書では、メールの本文の前に「メールヘッダ」(あるいは単純にヘッダ)と呼ばれる情報欄を設けることを義務付けているため、どのようなメールにも必ずメールヘッダが存在します。メールヘッダを分析し、発信元のメールアドレスや送信者名、件名などの情報を蓄積することが迷惑メールを見分けるためには不可欠で、Apple Mailの迷惑メールフィルタも事情は同様です。
図5 メニューバーから[表示]→[メッセージ]→[すべてのヘッダ]を選択すれば、メールヘッダの内容を確認できる
3.2. 迷惑メールの判定基準
Apple Mailの迷惑メールフィルタは、受信したメールのヘッダを定義ファイル(~/Library/Mail/MessageRules.plist)に照らし合わせ、迷惑メールかどうかを判定します。初期設定では、以下の1から4の条件を順にテストし、すべての条件に該当していれば迷惑メールとして処理されます。
- 差出人(のメールアドレス)がアドレス帳に登録されていない
- 差出人(のメールアドレス)に宛ててメールを送信したことがなく、宛先履歴情報が存在しない
- 自分の氏名宛てに送信されたメールではない
- 迷惑メールとして手動設定されている
表1 迷惑メールと判定される基準の例
ヘッダ上の項目
|
概 要
|
差出人(From) | メールを送信した人物の名前とメールアドレス |
宛先(To) | メールの宛先となる人物の名前とメールアドレス |
件名(Subject) | メールのタイトル。迷惑メールを規制する国内法(特定電子メール適正化法、特定商取引法)では、一方的に送信するメールには件名の先頭部分に「未承諾広告※」という文字列の付記を義務付けているため、国内から発信された迷惑メールを識別する有力な判断材料となる |
本文 |
ユーザがどのような迷惑メールを受け取るかによって基準が異なる。たとえば、薬物の購入を勧める迷惑メールが多ければ、薬物の名前や購入を誘う言い回しに反応しやすいフィルタに成長する。逆に、薬物の購入を勧めるメールを迷惑メールと認識しなければ、薬物の名前には反応しないフィルタとなる
|
3.3. 任意の判定条件を追加する
迷惑メールの判定には、迷惑メールフィルタが収集したメールのタイトルや本文の語句も用いられます。語句は受信したメールの通数に応じて自動的に増えるため、手作業で登録する必要はありませんが、任意の語句を迷惑メールのキーワードとして指定することも可能です。
任意の語句を登録する場合には、環境設定パネルの「迷惑メール」タブ左下にある[詳細…]ボタンをクリックし、迷惑メールの判定条件を表示します。4つめの条件の右端にある[+]ボタンをクリックしたあと、プルダウンメニューで「メッセージの内容が」と「を含む」を選択し、任意の語句を入力して[OK]ボタンをクリックすれば、次回メールを受信するときから新ルールが適用されます。
図6 迷惑メール判定用の条件は、任意に追加することも可能
4. 迷惑メールフィルタを使うコツ
4.1. 迷惑メールと判定されない場合には
迷惑メールフィルタには学習能力があるものの、100%の検出精度は期待できません。迷惑メールを送信する業者はメールヘッダの偽装技術に長けているため、転送経路などの情報は一定しないうえ、メールの文面も変化します。また、迷惑メールデータベースには、迷惑メールと判定されたメールの情報が反映されるため、迷惑メールを通常のメールとして放置したり、ただ”迷惑メール”メールボックスへ移したりするだけでは、迷惑メールフィルタの精度向上に貢献しません。
フィルタによる自動検出に失敗した迷惑メールは、発見次第削除することは避け、手動で迷惑メールに設定することが上策です。必ずツールバーの[迷惑メール]ボタンをクリックし、迷惑メールとしてのフラグを立ててから、”迷惑メール”メールボックスへの移動や削除などの処理を行うようにします。
図7 通常のメールと判定された迷惑メールは、[迷惑メール]ボタンをクリックして手動でフラグを設定する
4.2. 自動モードへ移行する
迷惑メールフィルタの初期状態として設定されているトレーニングモードでは、迷惑メールと覚しきメールは薄茶色に色分けされますが、通常のメールと同じ”受信”メールボックスに保存されます。
自動検出の精度が高まったと感じた場合には、自動モードへ移行すると、通常のメールと迷惑メールを自動的に仕分けることができます。環境設定パネルの「迷惑メール」タブを開き、「”迷惑メール”メールボックスに移動する(自動)」ラジオボタンを有効にすると、その時点で存在する迷惑メール(自動判定されたものを除く)を移動させるかどうか確認したあと、”迷惑メール”メールボックスが作成され、以後迷惑メールと判定されたメールが自動的に移動されます。
図8 自動モードへ移行するときには、迷惑メールを”迷惑メール”メールボックスへ移動するかどうか確認される
4.3. トレーニングをやり直す
迷惑メールフィルタは、学習した内容をライブラリフォルダ上のデータベースファイル(~/Library/Mail/LSMMap2)に記録します。独自のフォーマットが用いられるため、蓄えられた情報を閲覧したり任意の内容を書き込んだりすることはできませんが、トレーニングを最初からやり直すことは可能です。迷惑メールフィルタが正しく機能しない場合など、データベースになんらかの問題が生じた場合には、この方法が有効な解決策となります。
トレーニングをやり直す場合には、環境設定パネルの「迷惑メール」タブを表示し、[リセット…]ボタンをクリックします。現れた「迷惑メールデータベースのリセット」ウインドウで[はい]ボタンをクリックすると、データベースファイルの内容は消去されます。
図9 [はい]ボタンをクリックすると、迷惑メールフィルタデータベースが初期化される
5. その他の便利機能
5.1. ISPの迷惑メールフィルタサービスとの連携
Apple Mailでは、インターネットサービスプロバイダ(以下、ISP)が提供する迷惑メールフィルタサービスと連携する機能が用意されています。設置された迷惑メールフィルタの種類や設定方法にもよりますが、迷惑メールと覚しきメールにはヘッダ部分に「X-Spam-Flag: YES」といった目印となる行が挿入され、迷惑メールかどうか判定する手がかりとなります。
ISPの迷惑メールフィルタサービスを利用する場合には、環境設定パネルの「迷惑メール」タブ上にある[インターネット・サービス・プロバイダが設定した迷惑メールヘッダを信頼する]チェックボックスを有効にします。
図10 契約しているISPが迷惑メールフィルタサービスを実施している場合には、検出精度をより高めることも可能
5.2. 任意のヘッダを手がかりにフィルタする
プロバイダの迷惑メール識別機能が「X-Spam-Flag」以外のヘッダを挿入する場合※には、そのヘッダを条件として追加する必要があります。たとえば、迷惑メールのヘッダに「X-Spam-Status: YES」行を挿入するメールサーバの場合は、以下の手順で作業を行います。
※ どのようなヘッダが挿入されるかは、メニューバーから[表示]→[メッセージ]→[すべてのヘッダ]を選択すれば確認できる
- メニューバーで[Mail]→[環境設定…]を選択し、環境設定パネルを表示します。
- 「迷惑メール」タブを表示し、左下の[詳細…]ボタンをクリックします。
- 迷惑メールを見分ける最後の条件(4行目)の右端にある[+]ボタンをクリックします。
- 追加された「いずれかの受信者が」プルダウンメニューをクリックし、[ヘッダリストを編集…]を選択します。
- 現れた「メッセージヘッダ」ウインドウ左下にある[+]ボタンをクリックします。
- キー入力が可能な状態になるので、「X-Spam-Status」と入力して[OK]ボタンをクリックします。
- 「いずれかの受信者が」プルダウンメニューをクリックし、6の作業の結果追加された[X-Spam-Status]を選択します。
- 空欄に「YES」と入力し、左横の判定条件が「を含む」に設定されたことを確認して[OK]ボタンをクリックします。
図11 メッセージヘッダを追加する
図12 追加したメッセージヘッダに条件を設定する
5.3. 「迷惑メールを送信者に戻す」前に
Apple Mailには、迷惑メールを送信元に送り返す機能が用意されています。対象のメールを選択し、メニューバーから[メッセージ]→[戻す]を選択すると、「Returned mail: User unknown」というタイトルでメールが返信され、メールアドレスが存在しないため逆送されてきたメールとの錯覚を送信元に与えることができます。
ただし、不特定多数に対し送信される迷惑メール(スパム)に対し、この機能は利用すべきではありません。一見したかぎりではメールが返送されるように映りますが、転送経路の情報は通常どおりメールヘッダに記載されるため、識者がメールヘッダを調べればメールサーバにより逆送されたものではないことは一目瞭然です。スパム業者は、返信があったことをもってそのメールアドレスが“生きている”– 広告としての有効性はともかく内容は確認されている — と判断するため、反対に迷惑メールが増えてしまう可能性もあります。
いわゆるスパム業者は差出人情報(メールヘッダーの「From」行)を詐称する場合が多く、メールを送信しても宛先不明で戻ってくるケースがほとんどです。スパムと覚しき迷惑メールには、安易に返信しないほうが賢明でしょう。
図13 迷惑メールを“戻す”ことが必ずしも得策とはかぎらないことに注意