(57)【要約】  複数のスパム検出手段を、扱いやすく合理的に配備し、メッセージがスパムであるか否かを判断することができるようにする方法を提供する。フレームワークが、メッセージを分析してメッセージがスパムであるか否かの確信度を返すアンチスパムフィルタを呼び出す。フレームワークは、最も高い確信度を定義済みの１組の閾値と照合して評価する。最高確信度が、管理者によって設定された最高閾値より大きい場合、最高閾値のために指定されたアクションが行われる。最高確信度は、すべての閾値とも比較され、超えられた最も近い閾値に関連づけられたアクションが行われる。
2007511001.tif 000002
【特許請求の範囲】
【請求項１】
複数のアンチスパムモジュールを有するシステムにおいてメッセージがスパムであるか否かを判断する方法であって、
前記複数のアンチスパムモジュールのうちの複数のアンチスパムモジュールを呼び出すステップと、
前記複数のアンチスパムモジュールのうちの前記複数のアンチスパムモジュールのそれぞれからスパム確信度を受け取るステップと、
前記スパム確信度のうちの最高スパム確信度を判断するステップと、
前記最高スパム確信度を少なくとも１つの閾値と比較するステップと、
前記最高スパム確信度が前記少なくとも１つの閾値より大きい場合、前記少なくとも１つの閾値に関連づけられたアクションを呼び出すステップとを含むことを特徴とする方法。
【請求項２】
少なくとも１つのスパム確信度に調整係数を適用して少なくとも１つの調整されたスパム確信度を生成するステップをさらに含み、最高スパム確信度を判断する前記ステップは、前記少なくとも１つの調整されたスパム確信度と前記調整係数が適用された前記スパム確信度のうちの最も高いスパム確信度を判断するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
調整係数を適用する前記ステップは、前記少なくとも１つのスパム確信度を、前記少なくとも１つのスパム確信度に関連づけられた前記アンチスパムモジュールに対するユーザの信頼度によって調整することを含むことを特徴とする請求項２に記載の方法。
【請求項４】
各スパム確信度を正規化された範囲にスケーリングするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記正規化された範囲は０から９であることを特徴とする請求項４に記載の方法。
【請求項６】
前記スパム確信度を前記メッセージに付加するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記少なくとも１つの閾値は、最高閾値と最低閾値とを含む複数の閾値を含み、前記方法は、
前記最高スパム確信度を前記複数の閾値のそれぞれと比較するステップと、
前記最高スパム確信度が前記複数の閾値のうちの少なくとも１つの閾値より高いか否かを判断するステップと、
前記最高スパム確信度が前記複数の閾値のうちの少なくとも１つの閾値より高い場合、
前記複数の閾値のうちの前記少なくとも１つの閾値のいずれの閾値が前記最高閾値に最も近いかを判断するステップと、
前記複数の閾値のうちで前記最高閾値に最も近い少なくとも１つの閾値に関連づけられたアクションを呼び出すステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記アクションを呼び出す前記ステップは、前記メッセージの削除と、配信不能通知を送ることと、前記メッセージのアーカイブと、クライアントに前記メッセージを前記最高スパム確信度と共に渡すこととのうちの１つを呼び出すことを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記アクションを呼び出す前記ステップは、
前記最高スパム確信度が第１の閾値レベルを超える場合、接続を切断することと、
前記最高スパム確信度が第２の閾値レベルを超え、前記第１の閾値レベルを下回る場合、送信者に配信不能メッセージを返すことと、
前記最高スパム確信度が第３の閾値レベルを超え、前記第２の閾値レベルを下回る場合、前記メッセージをジャンクメールフォルダに送ることとを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記第１の閾値は９９パーセントのスパム確信度であり、前記第２の閾値は７０パーセントのスパム確信度であり、前記第３の閾値は４０パーセントのスパム確信度であることを特徴とする請求項９に記載の方法。
【請求項１１】
前記メッセージについて行われたアクションを記録するステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１２】
複数のアンチスパムモジュールを有するシステムにおいて、メッセージがスパムであるか否かを判断するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記命令は、
前記複数のアンチスパムモジュールのうちの複数のアンチスパムモジュールのそれぞれからスパム確信度を受け取るステップと、
最高スパム確信度を判断するステップと、
前記最高スパム確信度を少なくとも１つの閾値と比較するステップと、
前記最高スパム確信度が少なくとも１つの閾値より高い場合、前記少なくとも１つの閾値に関連づけられたアクションを呼び出すステップとを含むことを特徴とするコンピュータ可読媒体。
【請求項１３】
少なくとも１つのスパム確信度に調整係数を適用して少なくとも１つの調整されたスパム確信度を生成するステップを実行するコンピュータ実行可能命令をさらに有し、最高スパム確信度を判断する前記ステップは、前記少なくとも１つの調整されたスパム確信度と前記調整係数が適用された前記スパム確信度のうちの最も高いスパム確信度を判断するステップを含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
調整係数を適用する前記ステップは、前記少なくとも１つのスパム確信度を、前記少なくとも１つのスパム確信度に関連づけられたアンチスパムモジュールに対するユーザの信頼度によって調整することを含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
各スパム確信度を正規化された範囲にスケーリングするステップを実行するコンピュータ実行可能命令をさらに有することを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１６】
前記正規化された範囲は０から９であることを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記スパム確信度を前記メッセージに付加するステップを実行するコンピュータ実行可能命令をさらに有することを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１８】
前記少なくとも１つの閾値は、最高閾値と最低閾値とを含む複数の閾値を含み、前記コンピュータ可読媒体は、
前記最高スパム確信度を前記複数の閾値のそれぞれと比較するステップと、
前記最高スパム確信度が前記複数の閾値のうちの少なくとも１つの閾値より高いか否かを判断するステップと、
前記最高スパム確信度が前記複数の閾値のうちの少なくとも１つの閾値より高い場合、
前記複数の閾値のうちの少なくとも１つの閾値のいずれの閾値が前記最高閾値に最も近いかを判断するステップと、
前記複数の閾値のうち、前記最高閾値に最も近い前記少なくとも１つの閾値に関連づけられたアクションを呼び出すステップとを実行するコンピュータ実行可能命令をさらに有することを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１９】
前記アクションを呼び出す前記ステップは、前記メッセージの削除と、配信不能通知の送付と、前記メッセージのアーカイブと、前記メッセージを前記最高スパム確信度と共にクライアントに渡すこととのうちの少なくとも１つを呼び出すことを含むことを特徴とする請求項１２に記載の方法。
【請求項２０】
前記アクションを呼び出す前記ステップは、
前記最高スパム確信度が第１の閾値レベルを超える場合、接続を切断することと、
前記最高スパム確信度が第２の閾値レベルを超え、前記第１の閾値レベルを下回る場合、送信者に配信不能メッセージを返すことと、
前記最高スパム確信度が第３の閾値レベルを超え、前記第２の閾値レベルを下回る場合、前記メッセージをジャンクメールフォルダに送ることとを含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項２１】
前記第１の閾値は９９％のスパム確信度であり、前記第２の閾値は７０パーセントのスパム確信度であり、前記第３の閾値は４０パーセントのスパム確信度であることを特徴とする請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
前記メッセージについて行われた前記アクションを記録するステップを実行するコンピュータ実行可能命令をさらに有することを特徴とする請求項２０に記載のコンピュータ可読媒体。
【請求項２３】
前記複数のアンチスパムモジュールのうちの複数のアンチスパムモジュールを呼び出すステップを実行するコンピュータ実行可能命令をさらに有することを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項２４】
前記複数のアンチスパムモジュールのうちの前記複数のアンチスパムモジュールを呼び出す前記ステップは、前記メッセージ内の受信者アドレスのリストを提供するステップを含むことを特徴とする請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
前記メッセージの符号化された内容を解読するステップを実行するコンピュータ実行可能命令をさらに有することを特徴とする請求項１２に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には電子メッセージ通信に関し、より詳細には、望まない電子メールのフィルタリングに関する。
【背景技術】
【０００２】
電子メッセージ通信、特に、インターネットを介して伝送される電子メール（「ｅメール」）は、社会で急速に普及しつつあるのみならず、形式張らず、使いやすく、低コストであることから、多くの個人および組織にとって好ましい通信方法ともなっている。
【０００３】
困ったことに、ｅメールの受信者は一方的に送られてくる大量のメールに益々さらされるようになっている。インターネットによる商取引が増大するに伴って、多様化する電子商取引業者が、増大し続けるｅメール受信者に対して製品やサービスを広告する一方的送信メールを繰り返し送っている。製品を注文したり、または他の方法で売買業者とインターネットを介して取引する消費者の多くは、その売買業者からそのような勧誘を度々受け取ることを予測しており、また実際に受け取っている。
【０００４】
しかし、電子メール発送者は、配信先リストを拡大し続け、受信者の数は増加している。たとえば、様々なウェブサイトによって生成された、恐らく無害と思われるビジター情報の要求に応じてｅメールアドレスを提供したに過ぎない受信者が、一方的送信メールを受け取ることが多く、不快なことには、電子配信先リストに載せられていることがわかる。これは、受信者の同意はおろか、受信者の知らないうちに行われることが多い。さらに、電子メール発送者は、販売、賃貸、またはその他の方法により、その配信先リストを他の同様のメール発送者に流して使用させ、次々に他のメール発送者に渡ることが多い。その結果、時間の経過と共に、ｅメール受信者は、多様な大量メール発送業者が維持する別々の配信先リストにより一方的に送信されるメールが益々殺到していることに気付くことが多い。一人の個人が１年間に優に数百、数千の一方的送信ｅメールを受け取ることもあり、ｅメール配信先リストに載っている個人は、かなり短い期間に相当な数の一方的メッセージを受け取ると予測することができる。
【０００５】
さらに、多くの一方的送信ｅメールメッセージは、割引事務用品やコンピュータ用品の売込み、住宅ローン金利見積、様々な会議の出席案内など悪意のないものであるが、その他の、ポルノ、扇情的、誹謗的な内容のものを提供するメールメッセージは、受信者にとって不快である。このような一方的メッセージは「ジャンク」メールまたは「スパム」と呼ばれる。スパムによるｅメールの負荷は、正当なｅメールによって生じる負荷に匹敵することがある。
【０００６】
迷惑郵便物を扱う作業と同様に、ｅメール受信者は着信メールを選り分けてスパムを除去しなければならない。コンピュータ業界は、この問題を認識しており、スパムの除去を自動化する技法を開発している。たとえば、１つの技法は、ターフリスト（ｔｕｒｆ  ｌｉｓｔ）である。ｅメール受信者がターフリストに加入し、ターフリストが定義された規則に基づく特徴のセットを使用して、メールを識別し、受取りを拒否する。残念ながら、あるｅメールメッセージがスパムであるか否かの選定は、当該受信者およびメッセージの実際の内容に対する依存度が高い。一人の受信者にとってスパムであるものが、他の受信者にとってはスパムでない可能性があり、これによってターフリストの機能が制限される。さらに、電子メール発送者（すなわちスパム生成者）は、その実際の内容が件名行からはわからず、メッセージの本文を読まなければわからないようなメッセージを作成する。
【０００７】
開発されている他の技法は、ブラックホールリスト（ｂｌａｃｋ  ｈｏｌｅ  ｌｉｓｔ）と呼ばれるものである。ブラックホールリストは、スパムの送信元である既知のスパムアドレスのリストである。ｅメール送信者のアドレスが、このブラックホールリストと照合される。当該アドレスがリストにある場合、ｅメールは受け付けられない。スパム生成者は、自身のアドレスを変更するだけでこの技法を迂回する。その他の技法も開発されているが、いずれも１００％有効であるとは言えない。ｅメールサーバ側のスパム防止の新技術は、その新技術に打ち勝つスパム作成者側の新技術の対抗を受けている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
【０００９】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、アンチスパム技法の組込みを可能にするフレームワークを実現する方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、複数のスパム検出手段を配備し、扱いやすく、合理的な方式で協調動作させることを可能にすると共に、迅速な配備モデルに基づき新技術を作成し、配備することを可能にするフレームワークを提供する。
【００１１】
アンチスパムモジュールを使用して、ｅメールメッセージがスパムであるか否かを判断する方法を提供する。この方法は、アンチスパムモジュールの１つを呼び出し、そのアンチスパムモジュールからスパム確信度（spam confidence level）を受け取る。このスパム確信度に調整係数を適用して、調整されたスパム確信度を生成する。最も高いスパム確信度を、少なくとも１つの閾値と比較する。最高スパム確信度が閾値よりも大きい場合、その少なくとも１つの閾値に関連付けられたアクションを呼び出す。
【００１２】
一実施形態では、最高閾値を含む複数の閾値を使用し、最高スパム確信度を各閾値と比較する。最高スパム確信度がそれらの閾値のうちの１または複数の閾値を超える場合、超えた閾値であって最高閾値に最も近い閾値に関連付けられたアクションを呼び出す。
【００１３】
呼び出されるアクションとしては、最高スパム確信度が第１の閾値レベルを超えた場合に接続を切断すること、最高スパム確信度が第２の閾値レベルを超え、第１の閾値レベルよりは低い場合に送信者に配信不能メッセージを返すこと、最高スパム確信度が第３の閾値レベルを超え、第２の閾値レベルより低い場合に当該メッセージをジャンクメールフォルダに送ること、最高スパム確信度をクライアントに送り、クライアントがユーザごとにカスタマイズされたアクションを行うことができるようにすることなどがある。
【００１４】
本発明のその他の特徴および利点は、添付図面を参照しながら進める以下の例示の実施形態の詳細な説明を読めば明らかになろう。
【００１５】
添付の特許請求の範囲は、本発明の特徴を具体的に述べているが、添付画面と併せて行われる以下の詳細な説明から、その目的および利点と共に本発明を最もよく理解されよう。
【発明を実施するための最良の形態】
【００１６】
図面を参照すると、同様の参照番号は同様の要素を示しており、適合するコンピューティング環境で実施されている本発明が図示されている。必須ではないが、本発明について、パーソナルコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令という一般的な環境で説明する。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、本発明は、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサ搭載またはプログラム可能民生電子機器、ネットワークＰＣ、マイクロコンピュータ、メインフレームコンピュータなどを含めて、他のコンピュータシステムでも実施可能であることが、当業者ならわかるであろう。本発明は、通信ネットワークを介して接続されたリモート処理装置によってタスクが行われる分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールをローカルとリモートの両方のメモリ記憶装置に配置することができる。
【００１７】
図１に、本発明を実施することができる適合するコンピューティングシステム環境１００の一例を示す。このコンピューティングシステム環境１００は、適合するコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲を限定することを示唆するものではない。また、このコンピューティング環境１００は、例示の動作環境１００に示す構成要素の１つまたはそれらの組合せに関する依存または要件を有するものと解釈するべきではない。
【００１８】
本発明は、他の多くの汎用または特殊目的コンピューティングシステム環境または構成で動作可能である。本発明と共に使用するのに適した周知のコンピューティングシステム、環境、および／または構成の例としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド装置またはラップトップ装置、タブレット装置、マルチプロセッサシステム、マイクロプロセッサ搭載システム、セットトップボックス、プログラム可能民生電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれるが、これらには限定されない。
【００１９】
本発明について、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の環境で一般論として説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データタイプを実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介して結合されたリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよび／またはリモートの記憶媒体に配置することができる。
【００２０】
図１を参照すると、本発明を実施するシステムの一例は、コンピュータ１１０の形態の汎用コンピューティング装置を備える。コンピュータ１１０の構成要素には、プロセッサ１２０、システムメモリ１３０、およびシステムメモリからプロセッサ１２０までを含む様々なシステム構成要素を結合するシステムバス１２１などが含まれるが、これらには限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺装置バス、およびローカルバスを含む数種類のバス構造のいずれかとすることができる。たとえば、そのようなアーキテクチャとしては、ＩＳＡ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとも呼ばれるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスなどがあるが、これらには限定されない。
【００２１】
コンピュータ１１０は、一般には、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ１１０がアクセス可能な任意の入手可能媒体とすることができ、揮発性と不揮発性の両方の媒体、取外し可能媒体と取外し媒体を含む。たとえば、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を含むことができるが、これらには限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報の記憶のための任意の方法または技法で実現された揮発性と不揮発性、取外し可能と取外し不能の媒体を含むがこれらには限定されない。コンピュータ記憶媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、またはその他のメモリ技法、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、またはその他の光ディスク記憶媒体、磁気カセット、磁気テープ、磁気記憶媒体、またはその他の磁気記憶装置、または所望の情報を記憶するために使用することができ、コンピュータ１１０がアクセス可能なその他の任意の媒体があるが、これらには限定されない。通信媒体は、典型的には、搬送波またはその他の伝送機構などの変調データ信号の形態の、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを実現し、任意の情報配信媒体を含む。「変調データ信号」という用語は、１または複数の特性が、情報を信号として符号化するような方式で設定または変更された信号を意味する。通信媒体としては、たとえば、有線ネットワークや直接有線接続などの有線媒体、音響、無線周波数（ＲＦ）、赤外線、およびその他の無線媒体などの無線媒体などがあるが、これらには限定されない。上記の任意の要素の組合せも、コンピュータ可読媒体の範囲に含まれる。
【００２２】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ１１０内の要素間で情報を転送するのを容易にする基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、典型的にはＲＯＭ１３１に記憶されている。ＲＡＭ１３２には、典型的には、プロセッサ１２０が直ちにアクセス可能であるかまたは現在処理中であるか、あるいはその両方であるデータおよび／またはプログラムモジュールが格納されている。たとえば、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７が図示されているが、これらには限定されない。
【００２３】
コンピュータ１１０その他の取外し可能／取外し不能、揮発性／不揮発性コンピュータ記憶装置媒体も含むことができる。例示に過ぎないが、図１には、取外し不能不揮発性磁気媒体の読み書きを行うハードディスクドライブ１４１、取外し可能不揮発性磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、および、ＣＤ−ＲＯＭまたはその他の光媒体などの取外し可能不揮発性光ディスク１５６の読み書きを行う光ディスクドライブ１５５が図示されている。例示の動作環境で使用可能なその他の取外し可能／取外し不能、揮発性／不揮発性コンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク（ＤＶＤ）、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどがあるが、これらには限定されない。ハードディスクドライブ１４１は、一般には、インタフェース１４０などの不揮発性メモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、一般には、インタフェース１５０などの取外し可能メモリインタフェースによってシステムバス１２１に接続される。
【００２４】
上述し、図１に図示するドライブとそれに付随するコンピュータ記憶媒体は、コンピュータ１１０に、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの記憶域を与える。たとえば、図１で、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するものとして図示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同一または異なるものとすることができる。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７には異なる番号を付して、これらが少なくとも異なるコピーであることを示している。ユーザは、キーボード１６２、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス１６１、マイクロフォン１６３、およびタブレットまたは電子デジタイザ１６５などの入力装置を介して、コンピュータ１１０にコマンドおよび情報を入力することができる。その他の入力装置（図示せず）としては、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどがある。上記およびその他の装置は、システムバスに結合されたユーザ入力インタフェース１６０を介してプロセッサ１２０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ：ＵＳＢ）など、他のインタフェースおよびバス構造によって接続することもできる。モニタ１９１またはその他の種類の表示装置も、ビデオインタフェース１９０などのインタフェースを介してシステムバス１２１に接続されている。モニタ１９１には、タッチスクリーンパネルなどを組み込むこともできる。なお、モニタおよび／またはタッチスクリーンパネルは、タブレット型パーソナルコンピュータなど、コンピューティング装置１１０が組み込まれている筐体に物理的に接続することができる。さらに、コンピューティング装置１１０などのコンピュータは、スピーカ１９７やプリンタ１９６など、他の周辺出力装置も備えることができ、出力周辺装置インタフェース１９４などを介して接続することができる。
【００２５】
コンピュータ１１０は、リモートコンピュータ１８０などの１または複数のリモートコンピュータへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、またはその他の共通ネットワークノードとすることができ、典型的には、コンピュータ１１０に関連して上述した要素の多くまたはすべてを含むが、図１にはメモリ記憶装置１８１のみを図示してある。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、およびインターネットにおいて一般的に見られるものである。たとえば、コンピュータシステム１１０は、データの移送元となる送信元装置を構成する（comprise）ことができ、リモートコンピュータ１８０は宛先装置を構成する（comprise）ことができる。しかし、送信元装置と宛先装置はネットワークまたはその他の手段で接続されている必要はなく、送信元プラットフォームが書き込むことができる任意の媒体を介してデータを移送し、１または複数の宛先プラットフォームで読み取ることもできる。
【００２６】
ＬＡＮネットワーク環境で使用する場合、コンピュータ１１０は、ネットワークインタフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境で使用する場合、コンピュータ１１０は、一般には、インターネットなどのＷＡＮ１７３を介した接続を確立するためのモデム１７２またはその他の手段を備える。モデム１７２は、内蔵または外付けモデムとすることができ、ユーザ入力インタフェース１６０またはその他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関して上述した各プログラムモジュールまたはその一部を、リモートメモリ記憶装置に記憶することができる。たとえば、一例に過ぎないが、図１には、リモートアプリケーションプログラム１８５がメモリ装置１８１上に常駐するものとして図示されている。図のネットワーク接続は例示に過ぎず、コンピュータ間で通信リンクを確立するその他の手段も使用可能であることがわかるであろう。
【００２７】
以下の説明では、特に明記しない限り、本発明について、１または複数のコンピュータによって行われる行為、または動作の記号的表現に言及しながら説明する。したがって、そのような行為および動作は、場合によってはコンピュータによって実行されるものとして述べるが、コンピュータのプロセッサによる、構造化された形態のデータを表す電気信号の操作を含むことを理解されたい。この操作によって、データが変換されたり、コンピュータのメモリシステム内の場所で維持されたりし、それにより、当業者ならよくわかるような方式でコンピュータの動作が再構成またはその他の方法で変更される。データが維持されるデータ構造は、データの形式によって定義される特定の特性を有する、メモリの物理的な場所である。本発明について以上のような環境で説明するが、これは限定的なものではなく、当業者ならわかるように、以下に述べる様々な行為および動作は、ハードウェアでも実施可能である。
【００２８】
本発明について、Ｅｘｃｈａｎｇｅサーバによる簡易メール転送プロトコル（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：ＳＭＴＰ）を使用して説明することにする。Ｅｘｃｈａｎｇｅは、マイクロソフトコーポレーション製のｅメールサーバである。ＳＭＴＰは、インターネットで最も一般的に使用されているｅメールプロトコルである。ＳＭＴＰおよびＥｘｃｈａｎｇｅを使用するが、本発明は他の転送プロトコルおよびメールサーバと共に使用することも可能である。ＳＭＴＰは、Ｅｘｃｈａｎｇｅなどの１つのｅメールサーバからインターネットを介して他のｅメールサーバに転送するために使用されるメッセージ形式を定義する、伝送制御プロトコル／インターネットプロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＴＣＰ／ＩＰ）通信プロトコルである。ＳＭＴＰによると、ｅメールメッセージは一般には以下のようにして送られる。ユーザがｅメールプログラムを稼働させて、ｅメールメッセージを作成し、ｅメールプログラムが当該メッセージテキストと制御情報を送信メッセージの待ち行列に入れる。待ち行列は、典型的にはｅメールサーバがアクセス可能なファイルの集合として実現される。
【００２９】
Ｅｘｃｈａｎｇｅサーバは、宛先ｅメールサーバ上の予約済みＳＭＴＰポートとの伝送制御プロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ：ＴＣＰ）接続を確立し、ＳＭＴＰを使用して、インターネットを介して当該メッセージを転送する。送信側サーバと受信側サーバとの間のＳＭＴＰセッションの結果、メッセージは送信側ホスト上の待ち行列から受信側ホスト上の待ち行列に段階的に転送される。これらの段階は、送信側サーバが、確立されている接続のＩＰアドレスを供給する段階から、すべてのメッセージヘッダとメッセージの内容が受信される段階までである。メッセージ転送が完了すると、受信側サーバはＳＭＴＰによって使用されていたＴＣＰ接続を閉じ、送信側ホストはメール待ち行列から当該メッセージを除去し、受信者は、自分の設定済みｅメールプログラムを使用してメール待ち行列内のメッセージを読む。
【００３０】
次に、図２を参照すると、サーバ２０４にインストールされている、マイクロソフトコーポレーションが販売するウェブサーバソフトウェアであるインターネット情報サーバ（ＩＩＳ）２０２内で、ＳＭＴＰスタック２００が稼働している。ＩＩＳ２０２は、ＳＭＴＰを介してインターネット上の他のＥｘｃｈａｎｇｅサーバ２０６またはＳＭＴＰサーバ（図示せず）と通信する。ＩＩＳ２０２は、送信メッセージまたは着信メッセージを格納するために使用されるデータベース２０８を有する。着信メッセージのためにＳＭＴＰプロトコル２００との接続が確立されると、イベントが発火され、フレームワーク２１０によって受け取られる。フレームワーク２１０は、当該メッセージをインタセプトし、１または複数のフィルタ２１２に渡す。フィルタ２１２はメッセージを解析し、フィルタ２１２は、当該メッセージがスパムである確信度を決定し、その確信度をフレームワーク２１０に送る。フレームワーク２１０は、この確信度に基づき、他のフィルタ２１２を呼び出すかまたはアクション２１４を呼び出すかを決定する。アクション２１４には、接続の切断、Ｅｘｃｈａｎｇｅトランスポート２１６へのメッセージの送信、およびメッセージの削除が含まれる。Ｅｘｃｈａｎｇｅトランスポート２１６は、メッセージの経路指定を行う。Ｅｘｃｈａｎｇｅトランスポート２１６は、メッセージをサーバ２０４上のメールボックスに送るか、またはＳＭＴＰ２００を介して他のサーバ２０６に送る必要があるかを判断する。
【００３１】
次に、図３を参照すると、フィルタ２１２は様々な種類のアンチスパム検出技法で構成されている。たとえば、フィルタ２１２の種類は、リアルタイムブラックホールリストモジュール３００、非線形モジュール３０２、アンチウィルスモジュール３０６がＥｘｃｈａｎｇｅサーバ２０４と通信するために使用するアンチウィルスＡＰＩ３０４、ターフリストモジュール３０８、およびその他のフィルタ３１０などとすることができ、それぞれ独自の規則を使用してメッセージがスパムであるか否かを判断する。他のフィルタ３１０は、たとえばテキスト分類、キーワード照合などが考えられる。
【００３２】
リアルタイムブラックホールリストモジュール３００は、メッセージ送信者のＩＰアドレスを、既知のスパムアドレスのリストと照合する。当該ＩＰアドレスが既知リストに載っている場合、Ｅｘｃｈａｎｇｅサーバ２０４は当該メールを受け付けない。非線形モジュール３０２は、スパムと正当なメッセージとを分離させるＳ字曲線、ベイズ関数などの関数を使用してフィルタ２１２の確信度を正規化する。たとえば、フィルタ２１２が確信度９５％を返した場合、非線形モジュール３０２はその確信度をたとえば９６％にスケーリングし、一方、４０％の確信度の場合は確信度３０％にスケーリングすることができる。ターフリストモジュール３０８は、送信者とＥｘｃｈａｎｇｅサーバとの間のＳＭＰＴプロトコル交換の間、送信者のメールアドレスおよび／またはドメイン、メールの対象受信者、および、メッセージＩＤ、日付、件名、添付ファイルタイプ、名前などの実際のメッセージ本文の特徴など、入手可能な情報に基づいてメールを拒否する。
【００３３】
フレームワーク２１０は、１または複数のアンチスパムフィルタ２１２の呼出しを管理し、各呼出しの結果を正規化し、正規化された結果を評価し、その結果に対してアクションを行う。フレームワーク２１０は、最も一般的には、ネットワークの端部にあるサーバ２０４（すなわち、インターネットから最初にｅメールを受け取るメールサーバ）に配備される。テキスト分類など、使用される技法の中には、メッセージの重要度や機密度の識別などの異なる用途に使用可能なものもある。このため、フレームワークは内部サーバ上に配備しても有用である。フレームワーク２１０は、既存のスタンドアロン型スパム検出実施態様によって呼び出されて、スタンドアロン型実施態様からの移送を支援するユーティリティのライブラリとしてのみ使用することもでき、または、より好ましくは、アンチスパムフィルタ２１２を呼び出すために使用される、基礎となるイベンティング機能（後述）からの抽象化を実現するラッパーとしても使用することができる。このラッパー実施形態は、ｅメールのために開発されたアンチスパムフィルタ２１２を、インスタントメッセージング（Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ）や、迷惑メッセージ判別など、他のメッセージ通信手段にも使用可能にする。いずれの場合も、フレームワークは、構築時または実行時にアンチスパム技法にリンクされるライブラリとして配備される。
【００３４】
Ｅｘｃｈａｎｇｅ内のＳＭＴＰスタック２００のアーキテクチャは、スタック２００によってイベントシンクにイベントが発火される（すなわち供給される）ように構成されている。イベントシンクは典型的には、ＣＯＭオブジェクトとして実現される。新しいアンチスパム技法が配備されると、インストール時にプロトコルイベントシステムに登録するＣＯＭオブジェクトを実現する。登録コードは、フレームワーク２１０によって配布される。フレームワーク２１０のインストールには、対象サーバへのソフトウェアのインストール、イベントシンクの登録、システム管理者のコンソールによる特定のサーバのための特定の技法の有効化または無効化、スパムを受け取ったときに従うべき評価方策およびアクション方策の設定などが含まれる。特定の技法の有効化／無効化により、ネットワーク内のすべてのサーバが同じソフトウェアバイナリを含むことができるようにすることによって、フレームワーク２１０の管理が容易になる。
【００３５】
次に、図４を参照すると、アンチスパムモジュール２１２を組み込み、メッセージがスパムであるか否かを判断する処理が示されている。実行時、ＳＭＴＰスタック２００への（およびその後のポイントへの）接続が開かれると、イベントが発火される（ステップ４００）。イベントディスパッチシステムが、登録リストを調べ、対応するオブジェクトを呼び出す。この呼出しは、フレームワーク２１０に対して、ラッパーとして機能している場合には直接行われ、ライブラリ機能として呼び出される場合には間接的に行われる（ステップ４０２）。いずれの場合も、フレームワーク２１０はそれ自体の設定を調べて、登録されているどのアンチスパム技法３００〜３１０が、システム管理者によって「有効化」または「無効化」されているかを判断する。有効化されているアンチスパム技法が列挙され、スパム確信度の合計がゼロに設定される（ステップ４０４）。
【００３６】
特定のアンチスパムフィルタ２１２が「有効化」されている場合、フレームワーク２１０は、当該アンチスパムフィルタ２１２を調べるために入手可能ないかなる情報でも入手して、その情報をフィルタ２１２に送る（ステップ４０６）。入手可能な情報の量および種類は、フィルタ２１２が呼び出されるプロトコルの段階に応じて変わる。たとえば、最初に呼び出されたときは、確立されている接続のＩＰアドレスの情報しかないことがある。メッセージがシステムによって受け入れられる前の最後の呼出し時には、すべてのメッセージヘッダおよび内容が入手可能になる。フレームワーク２１０がメッセージの符号化された内容を解読することができる場合、フレームワーク２１０はメッセージの符号化された内容を解読し、アンチスパムフィルタ２１２がより迅速に使用可能な形態にする。フレームワークがラッパーとして実装される場合には、この情報は自動的に入手可能になる。ライブラリとして実装されている場合は、この情報は、アンチスパムフィルタ２１２が特に要求した場合にのみ入手可能になる。フレームワークの形態（すなわちラッパーかライブラリか）を問わず、メッセージの内容の解読などのユーティリティ機能が、アンチスパムフィルタによって受動的に呼び出され、ＣＰＵ負荷が軽減される。一実施形態では、フレームワーク２１０は、メッセージ内の受信者アドレスのルックアップ機能も備え、それをフィルタ２１２がメールをスパムとして評価する際の一助として使用することができる。
【００３７】
評価完了時、フィルタ２１２は、値または参照を返すことによって（またはフレームワークライブラリを呼び出すことによって）、フレームワーク２１０に対し、当該特定のメールメッセージがスパムである確信度の評価を返す（ステップ４０８）。フレームワーク２１０は、典型的には０〜１００％までの範囲の返答を予測しており、０％は明らかにスパムではないことを示し、１００％は明らかにスパムであることを示す。一実施形態では、このパーセント値は、０から１０００までの数値で示される。異なる尺度を使用する多様なアンチスパム技法３００〜３１０に対応するために、フレームワーク２１０は、呼び出された各フィルタ２１２による結果にたいして、スケーリング係数または調整係数を適用し、正規化または調整されたスパム確信度を生成する（ステップ４１０）。スケーリング係数または調整係数は、サーバ２０４の管理者によって設定される。これは、フレームワーク２１０が異なるフィルタ２１２の結果を比較するために行う必要がある正規化である。この正規化された数値をスパム確信度と呼ぶ。スパム確信度は、スパム確信度の合計に加えられる（ステップ４１２）。フレームワーク２１０は、算出されたスパム確信度を、永続性を持たせるためにメッセージ自体に格納するか、またはパフォーマンスのためにメモリに格納するか、あるいはその両方を行う。連続するフィルタの評価結果がスパム確信度合計に加えられる。
【００３８】
正規化（すなわちスケーリング係数の適用）は、様々な方法で行うことができる。たとえば、結果を正規化する１つの方法は、各フィルタ２１２の結果を等しく信頼し、単純に結果を合計することである（たとえば０．５＋０．７＋０．８＋．．．＝合計）。他の方法は、一つ一つにスケールを適用することである。たとえば、管理者が、特定のフィルタのスパム検出方法を好ましいと思う場合、管理者はそのフィルタのスパム確信度を、相対的に高い数値（たとえば０．９）でスケーリングする。同様に、管理者があまり信頼していないフィルタがある場合、管理者はそのフィルタのスパム確信度を相対的に低い数値（たとえば０．３）でスケーリングする。スケーリング係数の他の例は、Ｓ字曲線などの重み付き曲線を使用する非線形確信度正規化を使用することである。たとえば、フィルタ２１２がスパム確信度９５％を返した場合、それをスケーリング係数によって、より高い値、たとえば９６％にスケーリングする。スパム確信度が所定の範囲の中間（たとえば５０〜５５％）の場合、より大幅なスケーリングを適用してそれをより低い値（たとえば３０〜３５％）にスケーリングする。
【００３９】
フレームワーク２１０は、管理者がいくつかの閾値を設定することができるようにすることによって、スパム確信度合計が超えた最大閾値に基づき、メッセージについて行われる異なるアクションを定義することができるようにする。これらのアクションによって、メッセージがスパムであるか否かについてより明確になるまで、当該メッセージが配信されないようにしておいたり、接続を切断したり、送信者に配信不能メッセージを送ったり、メッセージを削除したり、メッセージをスパム確信度に基づき他のフィルタ２１２に渡したり、メッセージを受信者に送ったりすることができる。閾値と対応するアクションとのデフォルトのセットがフレームワーク２１０に与えられる。
【００４０】
スケーリングされたスパム確信度の合計は、管理者によって設定された最高閾値と比較される（ステップ４１４）。スパム確信度の合計が最高閾値を超える場合、最高閾値のために設定されたアクションを行う（ステップ４１６）。スパム確信度の合計が最高閾値を超えず、当該メッセージを評価するために使用可能なフィルタ２１２が他にある場合（ステップ４１８）、最高閾値を超えるまで、またはメッセージ終了を受け取る（ステップ４２０）まで、ステップ４０４からステップ４１６までが繰り返される。メッセージ終了をまだ受け取っていない場合、ＳＭＴＰスタック２００は、次メッセージ受入れ状態になり（４２２）、次メッセージ受入れ状態の間、ステップ４０６からステップ４２０までが繰り返される。メッセージ終了を受け取り、有効化されたすべてのフィルタが当該メッセージを分析し終わった場合、スパム確信度合計が閾値を超えるまで（ステップ４２６）、スパム確信度の合計が最高閾値から最低閾値の順に残りの閾値と比較される（ステップ４２４）。スパム確信度の合計が閾値を超える場合、当該閾値のために設定されたアクションが行われる。
【００４１】
要約すると、フィルタ２１２がその分析を完了した後、フレームワーク２１０は、スパム確信度の合計を管理者が定義した閾値のセットと照合して評価する。スパム確信度の合計が、管理者が設定した最高閾値より大きい場合、最高閾値のために指定されたアクションが当該メッセージについて行われる。最高閾値を超えない場合、最高閾値を超えるかまたはすべてのフィルタが当該メッセージを評価するまで、それ以降のフィルタを使用してメッセージが評価される。すべてのフィルタがメッセージを評価した後、スパム確信度の合計がすべての閾値と比較され、一致する閾値が選択される。そして、当該閾値に対応するアクションが行われる。たとえば、スパム確信度の合計が確信度閾値９９％を超える場合、メッセージ接続を黙って切断する。スパム確信度の合計が確信度閾値７０％を超える場合、送信者に配信不能報告が返される。スパム確信度の合計が、確信度閾値４０％を超える場合、メッセージはユーザのメールボックス内の「ジャンクメール」フォルダに送られる。スパム確信度レベルの合計がいずれの閾値も超えない場合（ステップ４２８）、メッセージは正当であるとみなされ、ユーザの受信箱に送られる。
【００４２】
メッセージのスパム確信度は、メッセージが組織内のサーバ間（および組織間）で送信されるときに当該メッセージで伝播される。これにより、異なるレベルのスパムを処理するスケーリングされた手法が可能になる。たとえば、組織内のゲートウェイサーバ（すなわち組織の入力点にあるサーバ）は、スパム確信度値の高いスパムの拒否または削除などの破壊アクションを行うことができる。あるいは、ゲートウェイサーバは、スパム確信度の高いメッセージをアーカイブし、管理者がメッセージを調べてアンチスパムフィルタ２１２の動作を検証することができるようにする。バックエンドサーバは、より低いスパム確信度について、メッセージを特別なジャンクメールフォルダに入れるなど、破壊度のより低いアクションを行うことができる。
【００４３】
次に図５を参照すると、場合によっては、最終的な正規化スパム確信度を決定するために異なるアンチスパム手段間で妥当なスケーリング係数を決定するのが困難なことがある。その場合、スパム確信度を複数のアンチスパムフィルタ２１２からのスパム確信度値を結合するデフォルトのアルゴリズムが、（０から９などの正規化範囲にスケーリングされた後に）返された最高のスパム確信度値を、当該メッセージの最終スパム確信度として採用する。この実施形態では、アンチスパムフィルタ２１２が呼び出され（ステップ５００）、各アンチスパムシンクがスパム確信度を返す（ステップ５０２）。前述のように、最高スパム確信度が決定され（ステップ５０４）、閾値と比較される（ステップ５０６、５０８）。このアルゴリズムは、最も強烈なアンチスパム手段が常に優先し、より多くのアンチスパムフィルタが追加されると、通過するスパムメールが減少する傾向になるという効果があることを意味することに留意されたい。また、アンチスパムフィルタ２１２が、強烈過ぎ、正当なメッセージをスパムであると判断する頻度が他のアンチスパムフィルタ２１２より高い場合があることに留意されたい。そのような状況では、強烈過ぎるアンチスパムフィルタのスパム確信度を無効化またはスケーリングし、それによってスパムとして分類される正当なメッセージの数を減らす。
【００４４】
どの時点でも、管理者が選択して記録する情報レベルに応じて、特定のメッセージについて行われるアクションを記録またはメッセージ追跡テーブルに加えることができる。管理者は、フレームワーク２１０と共にデフォルトのアクションのセットを使用することができる。新規のアンチスパムフィルタを導入するために用いられるのと同様の方式で、追加アクション実行コードを与えることによって追加のアクションを追加することができる。
【００４５】
フレームワーク２１０によってメールボックスへの配信が受け入れられたメッセージには、周知のプロパティ内に当該メッセージのスパム確信度合計が格納される。メッセージを処理する配信エージェントが、それ自体のロジックの一部として、このプロパティを評価することを選択してもよい。メッセージまたはメッセージのテーブルを見るクライアントが、計算違いの可能性があるメッセージを特定するのを助ける支援としてスパム確信度の合計の昇順または降順にメッセージをリストすることを選択してもよい。
【００４６】
以上、既存および将来の様々なアンチスパムフィルタおよび技法を使用してネットワーク境界の端部でのスパムおよびウィルスの検出と処理を可能にするプラットフォームについて説明したことがわかる。このプラットフォームによって、それらの手段および技法が相互作用することが可能になると共に、合理的に管理することが可能になり、それによって、スパム検出という競争的環境において、サーバ側で迅速な新技術を配備することが可能になる。
【００４７】
本発明の原理を適用することができる多くの可能な実施形態を考慮して、図面を参照しながら本明細書で説明した実施形態は、例示に過ぎないことを認識すべきであり、本発明を限定するものと捉えるべきではない。たとえば、ソフトウェアの形態で示した例示の実施形態の各要素は、ハードウェアでも実施可能であり、その逆も可能であること、または、本発明の主旨から逸脱することなく例示の実施形態の構成および詳細を変更することができることが、当業者ならわかるであろう。したがって、本明細書に記載の本発明は、そのような実施形態がすべて特許請求の範囲およびその均等物の範囲内に含まれるものと企図するものである。
【図面の簡単な説明】
【００４８】
【図１】本発明を備えるコンピュータシステムの一例の概要を示すブロック図である。
【図２】ＳＭＴＰプロトコルスタックを使用するシステムにおける本発明のフレームワークの概要を示すブロック図である。
【図３】本発明により使用されるアンチスパムモジュールの例を示すブロック図である。
【図４】アンチスパムモジュールを組み込み、メッセージがスパムであるか否かを判断するプロセスを示すフローチャートである。
【図５】アンチスパムモジュールを組み込み、メッセージがスパムであるか否かを判断する他の実施形態を示すフローチャートである。
【図１】
2007511001.tif 000003
【図２】
2007511001.tif 000004
【図３】
2007511001.tif 000005
【図４】
2007511001.tif 000006
【国際調査報告】
2007511001.tif 000007