(57)【要約】      （修正有）【課題】スパム電子メールを識別するためのヒューリスティックルールを生成するシステム及び方法を提供する。【解決手段】方法は、電子メールのコンテンツの統計データを収集して解析し、ヘッダまたはハイパーリンクを含むコンテンツのそれぞれのタイプを識別することと、電子メールを、識別されたコンテンツのタイプに基づいて、電子メールヘッダ内のフィールドのグループを含むクラスタにグルーピングし、各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせを選択してハッシュを生成することと、生成したハッシュに対応するハイパーリンクの解析に基づいて正規表現を形成することと、上記電子メールヘッダ内のフィールドの配列からハッシュと対応する正規表現とを組み合わせることと、によって、スパムを含んでいる電子メールを識別するためのヒューリスティックルールを生成する。【選択図】図４
2020166824.tif 000002
【特許請求の範囲】
【請求項１】
スパム電子メールを識別するためのヒューリスティックルールを生成する方法であって、
プロセッサによって、複数の電子メールのコンテンツの統計データを収集することと、
前記プロセッサによって、前記収集した統計データを解析して、前記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、前記電子メールのコンテンツのそれぞれのタイプを識別することと、
前記プロセッサによって、前記電子メールの識別したコンテンツの前記それぞれのタイプに基づいて、前記複数の電子メールを１つまたは複数のクラスタにグルーピングし、少なくとも１つのクラスタは、前記電子メールヘッダ内のフィールドの１つまたは複数のグループを含むものであることと、
前記プロセッサによって、各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択することと、
前記プロセッサによって、前記グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成することと、
前記プロセッサによって、前記生成したハッシュに対応する電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成することと、
前記プロセッサによって、前記電子メールヘッダ内のフィールドの配列からの少なくとも１つのハッシュと、前記対応する正規表現とを組み合わせることによって、スパム電子メールを識別するための少なくとも１つのヒューリスティックルールを生成することとを含む、
方法。
【請求項２】
前記正規表現は、
既定の区切りに従って、各識別したハイパーリンクをセグメントに分割することと、
前記ハイパーリンクごとに、前記分割によって得られたセグメントの数を計算することと、
前記セグメントの数が互いに同じである各ハイパーリンクをセグメントごとに比較することと、
前記ハイパーリンクの長さに応じて、前記ハイパーリンクを前記正規表現に組み合わせ、各セグメントが同一である場合、そのセグメントは変更されずに残され、前記各セグメントが相違する場合、同一の値のみを残す形でそのセグメントは変換されることと、によって形成される、請求項１に記載の方法。
【請求項３】
前記ヒューリスティックルールの生成の前に非スパム電子メールのハッシュのみを含んでいるハッシュの集合の各ハッシュに対して予備チェックを実施し、前記予備チェックにより、前記ハッシュの集合のうちいずれのハッシュの一致も見つからない場合にのみ、前記ハッシュが前記ヒューリスティックルールの生成時に使用されることをさらに含む、請求項１に記載の方法。
【請求項４】
前記ハッシュの集合は、少なくとも、正当な電子メールに対応するハッシュのセット、およびスパムを含む電子メールに対応するハッシュのセットを含む、請求項３に記載の方法。
【請求項５】
前記グループのうちの最も頻度の高い組み合わせは、前記統計データの取得のために解析される多数の電子メールに対して定められた閾値、または前記統計データがそこから取得される前記電子メールの所定の割合を寄せ集める場合に、閾値を上回るか、または到達すること、のうち少なくとも１つに基づいて識別される、請求項１に記載の方法。
【請求項６】
前記統計データは、前記電子メールの字句解析に基づいて取得される、請求項１に記載の方法。
【請求項７】
正当な電子メールの集合に対する前記生成されたヒューリスティックルールを検証することと、
前記検証されたヒューリスティックルールが、いずれの電子メールとも一致しない場合に、前記ヒューリスティックルールをユーザに送信することと、をさらに含む請求項１に記載の方法。
【請求項８】
前記ハッシュは、少なくともＭＤ５を含む、請求項１に記載の方法。
【請求項９】
スパム電子メールを識別するためのヒューリスティックルールを生成するシステムであって、
複数の電子メールのコンテンツの統計データを収集し、
前記収集した統計データを解析して、前記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、前記電子メールのコンテンツのそれぞれのタイプを識別し、
前記電子メールの識別したコンテンツの前記それぞれのタイプに基づいて、前記複数の電子メールを１つまたは複数のクラスタにグルーピングし、少なくとも１つのクラスタは、前記電子メールヘッダ内のフィールドの１つまたは複数のグループを含むものであり、
各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択し、
前記グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成し、
前記生成したハッシュに対応する前記電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成し、
前記電子メールヘッダ内のフィールドの配列からの少なくとも１つのハッシュと、前記対応する正規表現とを組み合わせることによって、スパム電子メールを識別するための少なくとも１つのヒューリスティックルールを生成する、
ように構成された少なくとも１つのプロセッサを含む、システム。
【請求項１０】
前記正規表現を形成するための構成は、
既定の区切りに従って、各識別したハイパーリンクをセグメントに分割し、
前記ハイパーリンクごとに、前記分割によって得られたセグメントの数を計算し、
前記セグメントの数が互いに同じである各ハイパーリンクをセグメントごとに比較し、
前記ハイパーリンクの長さに応じて、前記ハイパーリンクを前記正規表現に組み合わせ、各セグメントが同一である場合、そのセグメントは変更されずに残され、各セグメントが相違する場合、同一の値のみを残す形でそのセグメントは変換される、
ための構成を含む、請求項９に記載のシステム。
【請求項１１】
前記プロセッサは、前記ヒューリスティックルールの生成の前に非スパム電子メールのハッシュのみを含んでいるハッシュの集合の各ハッシュに対して予備チェックを実施し、前記予備チェックにより、前記ハッシュの集合のうちいずれのハッシュの一致も見つからない場合にのみ、前記ハッシュが前記ヒューリスティックルールの生成時に使用される、ようにさらに構成される、請求項９に記載のシステム。
【請求項１２】
前記ハッシュの集合は、少なくとも、正当な電子メールに対応するハッシュのセット、およびスパムを含む電子メールに対応するハッシュのセットを含む、請求項１１に記載のシステム。
【請求項１３】
前記グループのうちの最も頻度の高い組み合わせは、前記統計データの取得のために解析される多数の電子メールに対して定められた閾値、または前記統計データがそこから取得される前記電子メールの所定の割合を寄せ集める場合に、閾値を上回るか、または到達することのうち少なくとも１つに基づいて識別される、請求項９に記載のシステム。
【請求項１４】
前記統計データは、前記電子メールの字句解析に基づいて取得される、請求項９に記載のシステム。
【請求項１５】
前記プロセッサは、
正当な電子メールの集合に対する前記生成されたヒューリスティックルールを検証し、前記検証されたヒューリスティックルールが、いずれの電子メールとも一致しない場合に、前記ヒューリスティックルールをユーザに送信するようにさらに構成される、請求項９に記載のシステム。
【請求項１６】
前記ハッシュは、少なくともＭＤ５を含む、請求項９に記載のシステム。
【請求項１７】
スパム電子メールを識別するためのヒューリスティックルールを生成するためのコンピュータ実行可能命令を記憶している非一時的なコンピュータ可読媒体であって、
複数の電子メールのコンテンツの統計データを収集し、
前記収集した統計データを解析して、前記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、前記電子メールのコンテンツのそれぞれのタイプを識別し、
前記電子メールの識別したコンテンツの前記それぞれのタイプに基づいて、前記複数の電子メールを１つまたは複数のクラスタにグルーピングし、少なくとも１つのクラスタは、前記電子メールヘッダ内のフィールドの１つまたは複数のグループを含むものであり、
各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択し、
前記グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成し、
前記生成したハッシュに対応する前記電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成し、
前記電子メールヘッダ内のフィールドの配列からの少なくとも１つのハッシュと、前記対応する正規表現とを組み合わせることによって、スパム電子メールを識別するための少なくとも１つのヒューリスティックルールを生成する、
ための命令を含む、非一時的なコンピュータ可読媒体。
【請求項１８】
前記正規表現を形成するための前記命令は、
既定の区切りに従って、各識別したハイパーリンクをセグメントに分割し、
前記ハイパーリンクごとに、前記分割によって得られたセグメントの数を計算し、
前記セグメントの数が互いに同じである各ハイパーリンクをセグメントごとに比較し、
前記ハイパーリンクの長さに応じて、前記ハイパーリンクを前記正規表現に組み合わせ、各セグメントが同一である場合、そのセグメントは変更されずに残され、前記各セグメントが相違する場合、同一の値のみを残す形でそのセグメントは変換される、ための命令を含む、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記命令は、
前記ヒューリスティックルールの生成の前に非スパム電子メールのハッシュのみを含んでいるハッシュの集合の各ハッシュに対して予備チェックを実施し、前記予備チェックにより、前記ハッシュの集合のうちいずれのハッシュの一致も見つからない場合にのみ、前記ハッシュが前記ヒューリスティックルールの生成時に使用される、ための命令を含む、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記ハッシュの集合は、少なくとも、正当な電子メールに対応するハッシュのセット、およびスパムを含む電子メールに対応するハッシュのセットを含む、請求項１９に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータセキュリティ分野に関し、より詳細には、スパム電子メールを識別するシステムおよび方法に関する。
【背景技術】
【０００２】
現在、データおよびコンピュータセキュリティに対する需要が高まっている。ユーザが、要求していない、または望ましくないコンテンツを受信するときに、セキュリティが侵害され、結果として不正行為が起こる可能性がある。要求していない、または望ましくないコンテンツを送信する方法の１つは、特定の製品またはサービスの広告の目的で、および不正な動作を行う目的で、電子メールを介してある種の電子コンテンツを送るスパム電子メールを使用するものである。今日、スパムを送信するのに使われる多くの技術が存在する。例えば、スパム電子メールは、プロキシサーバ、自動的に電子メールを送信できるようにするフリー電子メールサーバ、ボットネットなどを使用して送信される場合がある。別の例では、スパムは、ソーシャルネットワーク、ブログ、フォーラム、出会い系サイトなどのインスタントメッセージングプロトコルを用いて送信されることもある。さらに別の例では、スパムは、ショートメッセージサービス（Short  Message  Service：ＳＭＳ）またはマルチメディアメッセージングサービス（Multimedia  Messaging  Service：ＭＭＳ）メッセージを使用して配信されることもある。
【０００３】
現代の通信におけるスパムの影響を具体的に説明すると、電子メールで送信されるスパムの量は、総電子メールトラフィック量の７０％から９０％に達する。コンピュータネットワークによって送信されるこのようなスパムの量は、電子メールのユーザにとって、非常に不便なものとなる。特に、スパムにより、ネットワークの帯域幅が減り、メッセージ交換システムのリソースが浪費され、かつユーザおよびコンピュータの両方による電子メールの処理時間が長くなる。このように、スパムは、常にユーザが対処しなければならないものである。
【０００４】
例えばスパム送信者のブラックリストの作成、スパムを送信するメールサーバへのアクセスを繰り返し要求する送信者のグレーリストの作成、スパムのコンテキストフィルタリングなど、種々のメカニズムがスパムを防止するために開発されてきた。一般に、スパムフィルタリングは、電子メールのコンテンツの解析に焦点を当てたものである。フィルタリングに基づく方法は、一般的に、スパムを含んでいる電子メールを認識して正当な電子メールと識別するために正確に一致している必要がある。残念なことに、コンテンツの解析には他の問題が発生する。まず、実質的な解析には多大な時間が必要となり、その結果、電子メールの処理を遅くさせることになる。バルクスパムメーリングは、処理時間に対する影響をさらに悪化させる。次に、解析は、すべての電子メールを開封して、情報にアクセスする必要がある。ほとんどの場合、電子メールが送信される前にユーザの同意が受け取られない限り、そのようなアクセスは許可されない。さらに、場合によっては、電子メールは、機密情報を含んでいる場合がある。
【０００５】
スパムフィルタリングの効率を上げるアプローチの１つは、解析の量を減らすか、または予備解析を行うことである。解析を減らすことは、電子メール全体ではなく、電子メールヘッダを解析することに基づく場合がある。例えば、電子メールヘッダおよびヘッダを構成するのに使用されるヘッダの文字が、解析される場合がある。しかし、ヘッダの解析に基づく現在の技術は、同時にすばやく解析でき、統計的で正確な結果を取得できるような効果的なメカニズムを含んでいない。例えば、第１の種類のエラー（すなわち、誤警告）発生確率が、所定の閾値よりも大きい場合、正当な電子メールが、許容不可レベルのスパムとして分類される可能性がある。スパムとして分類された正当な電子メールが、一部のシステムでは、送信者および／または受信者に通知することなく隔離されるか、または自動削除される場合がある。したがって、誤分類は、正当な電子メールの損失をもたらす可能性がある。誤警告を減らす方法の１つは、各スパムがフィルタを通り抜けることができるような、異なる閾値を使用することである。残念ながら、スパムの送信者は、ますます創意に富むようになってもおり、種々の既知のスパムフィルタリングメカニズムにも注意するよう努め続けている。例えば、スパムは、電子メールのコンテンツに、ランダム化または正当な電子メールと類似のデータのどちらかを追加することによって、自動検出を回避することもある。
【０００６】
したがって、スパムを効率的に検出する一方で、電子メールのコンテンツの機密性を同時に維持するために、例えば、ユーザによって受信される電子メールの統計データの解析を採用する検出スキームを向上させる必要がある。すなわち、電子メール本文に含まれているテキストの解析なしに、スパムを含む電子メールを識別する必要性がある。
【発明の概要】
【０００７】
本開示の態様は、コンピュータセキュリティ分野に関し、より詳細には、スパム電子メールを識別するためのヒューリスティックルールを生成するシステムおよび方法に関する。
【課題を解決するための手段】
【０００８】
一例示的態様では、要求していない、または望ましくないコンテンツを含むスパム電子メールを識別するためのヒューリスティックルールを生成する方法が、ハードウェアプロセッサを備えたコンピュータに実装され、該方法は、複数の電子メールのコンテンツの統計データを収集することと、収集した統計データを解析して、上記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、上記電子メールのコンテンツのそれぞれのタイプを識別することと、上記電子メールの識別したコンテンツのそれぞれのタイプに基づいて、複数の電子メールを１つまたは複数のクラスタにグルーピングし、該少なくとも１つのクラスタは、上記電子メールヘッダ内のフィールドの１つまたは複数のグループを含むものであることと、各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択することと、グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成することと、生成したハッシュに対応する電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成することと、上記電子メールヘッダ内のフィールドの配列からの少なくとも１つのハッシュと、対応する正規表現とを組み合わせることによって、スパム電子メールを識別するための少なくとも１つのヒューリスティックルールを生成することとを含む。
【０００９】
本開示の一態様に従って、スパム電子メールを識別するためのヒューリスティックルールを生成するシステムが提供され、該システムは、複数の電子メールのコンテンツの統計データを収集し、収集した統計データを解析して、上記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、上記電子メールのコンテンツのそれぞれのタイプを識別し、上記電子メールの識別したコンテンツのそれぞれのタイプに基づいて、複数の電子メールを１つまたは複数のクラスタにグルーピングし、該少なくとも１つのクラスタは、上記電子メールヘッダ内のフィールドの１つまたは複数のグループを含むものであり、各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択し、グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成し、生成したハッシュに対応する電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成し、上記電子メールヘッダ内のフィールドの配列からの少なくとも１つのハッシュと、対応する正規表現とを組み合わせることによって、スパム電子メールを識別するための少なくとも１つのヒューリスティックルールを生成するように構成されたハードウェアプロセッサを含む。
【００１０】
一例示的態様では、複数の電子メールのコンテンツの統計データを収集し、収集した統計データを解析して、上記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、上記電子メールのコンテンツのそれぞれのタイプを識別することと、上記電子メールの識別したコンテンツのそれぞれのタイプに基づいて、複数の電子メールを１つまたは複数のクラスタにグルーピングし、該少なくとも１つのクラスタは、上記電子メールヘッダ内のフィールドの１つまたは複数のグループを含むものであり、各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択し、グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成し、生成したハッシュに対応する電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成し、上記電子メールヘッダ内のフィールドの配列からの少なくとも１つのハッシュと、対応する正規表現とを組み合わせることによって、スパム電子メールを識別するための少なくとも１つのヒューリスティックルールを生成するための命令のセットを記憶している非一時的なコンピュータ可読媒体が提供される。
【００１１】
一態様では、正規表現は、既定の区切りに従って、各識別したハイパーリンクをセグメントに分割することと、ハイパーリンクごとに、分割によって得られたセグメントの数を計算することと、セグメントの数が互いに同じである各ハイパーリンクをセグメントごとに比較することと、ハイパーリンクの長さに応じて、ハイパーリンクを正規表現に組み合わせ、各セグメントが同一である場合、そのセグメントは変更されずに残され、各セグメントが相違する場合、同一の値のみを残す形でそのセグメントは変換されることとによって形成される。
【００１２】
一態様では、方法はヒューリスティックルールの生成の前に非スパム電子メールのハッシュのみを含んでいるハッシュの集合の各ハッシュに対して予備チェックを実施し、該予備チェックにより、ハッシュの集合のうちいずれのハッシュの一致も見つからない場合にのみ、該ハッシュがヒューリスティックルールの生成時に使用されることをさらに含む。
【００１３】
一態様では、ハッシュの集合は、少なくとも、正当な電子メールに対応するハッシュのセット、およびスパムを含む電子メールに対応するハッシュのセットを含む。
【００１４】
一態様では、グループのうちの最も頻度の高い組み合わせは、統計データの取得のために解析される多数の電子メールに対して定められた閾値、または統計データがそこから取得される電子メールの所定の割合を寄せ集める場合に、閾値を上回るか、または到達することのうち少なくとも１つに基づいて識別される。
【００１５】
一態様では、統計データは、電子メールの字句解析に基づいて取得される。
【００１６】
一態様では、方法は、正当な電子メールの集合に対して生成したヒューリスティックルールを検証し、検証したヒューリスティックルールがいずれの電子メールにも一致しない場合、ユーザにヒューリスティックルールを送信することをさらに含む。
【００１７】
一態様では、ハッシュは少なくともＭＤ５を含む。
【００１８】
本開示の教示に従った望ましくないまたは要求していないコンテンツを含むスパム電子メールの識別は、コンピュータセキュリティを改善する。本発明により、上述の欠点および問題を、ヒューリスティックルールを作成してスパムが存在するかどうかを電子メールをチェックすることによって解決することができ、該ヒューリスティックルールは、チェックされることになる電子メールの電子メールヘッダのフィールドの配列の解析を可能にするものである。この改善は、複数の電子メールのコンテンツの統計データを収集し、収集した統計データを解析して、上記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、上記電子メールのコンテンツのそれぞれのタイプを識別することと、上記電子メールの識別したコンテンツのそれぞれのタイプに基づいて、複数の電子メールを１つまたは複数のクラスタにグルーピングし、該少なくとも１つのクラスタは、上記電子メールヘッダ内のフィールドの１つまたは複数のグループを含むものであることと、各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択することと、グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成することと、生成したハッシュに対応する電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成することと、上記電子メールヘッダ内のフィールドの配列からの少なくとも１つのハッシュと、対応する正規表現とを組み合わせることによって、スパム電子メールを識別するための少なくとも１つのヒューリスティックルールを生成することとによって実現される。
【図面の簡単な説明】
【００１９】
本明細書に組み込まれ、かつ本明細書の一部を構成する添付図面は、発明を実施するための形態と共に、本開示の１つまたは複数の例示的態様を示し、それらの原理および実装形態を説明するために提供する。
【００２０】
【図１】図１は、本開示の態様に従って、望ましくないコンテンツを含む電子メールを識別するためのヒューリスティックルールを形成する例示的システムを示すブロック図である。
【図２】図２は、データが電子メールヘッダに対応している場合の、ユーザの電子メールから取得されるデータの一例を示す図である。
【図３】図３は、電子メールヘッダから取得され、特定の形式に変換された統計データの一例を示す図である。
【図４】図４は、望ましくないコンテンツを含む電子メールを識別するためのヒューリスティックルールを形成する例示的方法を示すフロー図である。
【図５】図５は、本開示の態様が実装され得る汎用コンピュータシステムの一例を示す図である。
【発明を実施するための形態】
【００２１】
例示的態様が、スパム電子メールを識別するためのヒューリスティックルールを形成するシステム、方法、およびコンピュータプログラムのコンテキストで、本明細書に記載される。以下の説明は例示のためのものであり、いかなる点においても限定することを意図するものではないことを当業者であれば理解されるであろう。その他の態様は、本開示から利益を得る当業者であれば容易に連想されるであろう。添付図面に示される例示的な態様の実装形態に、参照番号が項目ごとに付与される。同一または類似の項目であることを言及するために、同じ参照番号が図面および以下の説明を通して可能な範囲で使用される。
【００２２】
本開示の教示を明瞭に提示するために、本開示の種々の態様を説明する際に使用されるいくつかの用語および概念が、本明細書において定義される。
【００２３】
電子メールとは、一定の構造を有した電子的に伝送されるメールを意味する。したがって、ある構造、例えば、電子メールの構造をサポートする専用のプログラムが、電子メールを書き込むために使用される。構造は、電子メールのヘッダと本文の２部から構成される。
【００２４】
さらに、ヘッダは、記入されるように設計された一連のフィールドを含み、各フィールド（電子メールヘッダのフィールド）は、それ自体固有の名称および対応する値によって定義される。一連のフィールドのフィールド値は、情報の特定の種類を含む。例えば、電子メールの送信者を示すように設計されたフィールドでは、名称は、「from」であり、値は、例えばusername@kaspersky.comなどの送信者の電子メールアドレスの形式である。電子メールヘッダの他のフィールドの例としては、
・Sender‐通常、「From」と類似の電子メールの送信者
・To‐記入が必須のフィールドである受信者の名前および電子メールアドレス
・Subject‐必須ではないが記入されることが望ましいフィールドである電子メールの件名
・Cc（カーボンコピー）‐メッセージのコピーを受信する他のサブスクライバのアドレス
・Date‐メッセージの送信日時・Reply-to‐返信が送信される電子メールアドレス（送信者のアドレスとは異なる場合がある）
・Received‐送信者から受信者へメッセージを中継する種々のインターネットサーバ
・Subject‐送信されるメッセージの内容
・Content-type‐送信されるメッセージの構成および電子メールが作成される際のエンコーディングのフォーマット
・Content-Transfer-Encoding‐データ伝送方法（７ビット、８ビットのメッセージなど）・Message-ID‐メッセージの一意的な識別子
・X-mailer‐電子メールメッセージ伝送プログラム
がある。
【００２５】
通常、電子メールのサイズは、一定の値、例えば５００ｋｂまたは２Ｍｂなどを上回ってはならない。例えば、一定の電子メールサーバは、１Ｍｂより大きな電子メールを中継しない。
【００２６】
図１は、本開示の態様に従って、スパム電子メールを識別するためのヒューリスティックルールを形成する例示的システム１００を示すブロック図である。本開示にて使用する場合、用語「スパム電子メール」は、１つまたは複数の受信者への電子メールによる、要求していない、または望ましくないメッセージの大量送信が挙げられるが、これに限定されない。
【００２７】
システム１００は、少なくとも、データプロセッサ１１０、ハッシュ生成部１２０、正規表現生成部１３０、ルールデータベース１４０、ヒューリスティックルール生成部１５０を含む。システム１００は、データ収集記憶デバイス１７０から統計データ１６０を取得して、取得した統計データ１６０を処理および解析することによって、ヒューリスティックルールを形成する。
【００２８】
ハッシュ生成部１２０は、任意の長さの文字列を取得して、１２８ビットのハッシュを生成するＭＤ５ハッシュ生成部であってもよい。ＭＤ５ハッシュは暗号ではなく、元の文字列を識別するために、リバースエンジニアリングすることが難しく設計された特定の入力であるハッシュであることに留意されたい。
【００２９】
一態様では、データ収集記憶デバイス１７０は、クラウドサーバを含む。例えば、図１を参照すると、クラウドサーバは、電子メールクライアント１８０Ａ、１８０Ｂから１８０Ｎの電子メール１７５のデータの収集および記憶を実施する。用語「クラウドサーバ」とは、例えば、「カスペルスキーＬａｂ  ＡＯ」社のカスペルスキーセキュリティネットワーク（Kaspersky  Security  Network：ＫＳＮ）システムを含むデバイス／サーバを意味する。用語「クライアント」とは、ユーザのコンピュータまたはユーザの電子メールサーバ上で構築されるユーザの電子メールクライアントを意味する。例えば、図１では、クライアント１８０Ａ、１８０Ｂから１８０Ｎは、ユーザの電子メールクライアントである。データ収集記憶デバイス１７０は、クライアントの電子メールのデータを収集する間に、特定可能なデータを収集および保持しないという点に留意すべきである。したがって、データ収集記憶デバイス１７０は、ユーザに関する情報を収集しないか、または情報を識別できないように収集した情報を非人格化するように構成される場合がある。非人格化とは、例えば、ハッシュ関数を用いて、情報を変換することを意味する。電子メールの本文、例えば、ユーザのテキストメッセージからの情報、および電子メールヘッダ、例えば、電子メールアドレスからの情報は、非人格化されるか、まったく収集されない。情報の非人格化では、各クライアント１８０は、データ収集記憶デバイス１７０へ送信される前に、（図１に示すように）その電子メールを変換するエージェントを含む。
【００３０】
図２は、データが電子メールヘッダに対応している、ユーザの電子メールから取得されるデータの一例２００を示す。データは変換されて、データ収集記憶デバイス１７０に送信される。言い換えると、変換された１つの電子メール（ヘッダ）に関する情報の一部が、データ収集記憶デバイス１７０に送信される。電子メールヘッダは、一連の技術的データ、およびFrom、To、CC、Subject  Message-ID、Content-Type、および、これらのフィールドの隠し値などの電子メールヘッダフィールドを含む。収集した電子メールに関する情報をシステム１００に記憶および伝送することは、統計データ１６０の形式で行われる。データ収集記憶デバイス１７０は、クライアントから収集されるデータのさらに別の変換によって各電子メールの統計データを形成する。一態様では、統計データ１６０は、字句解析を用いて、クライアントから収集される電子メールの変換に基づいて形成される。このような変換の一例を図３に示す。
【００３１】
図３は、電子メールヘッダから取得され、特定の形式、例えばアノニマスな形式に変換された統計データの例３００を示す。例えば、１つの電子メールのヘッダおよびヘッダのそれぞれのフィールドに対応する情報は、アノニマスな形式（すなわち、クライアントの私的または個人情報を含まない形式）に変換される。電子メールの本文もまた変換されるという点に留意すべきである。電子メールの本文の統計情報は、電子メールに含まれているユニフォームリソースロケータ（Uniform  Resource  Locator：ＵＲＬ）アドレス（ハイパーリンクとも呼ばれる）、電子メールのデータに基づいて形成された種々のシングル、および電子メールに割り当てられたカテゴリに関する情報のみを含む。この関連で、「カテゴリ」とは、作成される内部電子メール分類を意味する。例えば、分類は、スパム、スパムでない、スパムの可能性がある、フィッシング要素を含むスパムの可能性がある、疑わしいハイパーリンクを含むスパムの可能性がある、などの各カテゴリを含む場合がある。
【００３２】
データプロセッサ１１０は、電子メールの統計データ１６０を受信し、受信した統計データ１６０の一次解析を実施する。一次解析は、各電子メール内の種々の属性を識別することを含み、この際、該属性とは、少なくとも、電子メールヘッダのフィールドの配列（例えば、図３内に示す選択されたテキスト）、電子メール本文からのハイパーリンク、種々の識別子（Identifier：ＩＤ）、および電子メールデータのハッシュ（例えば、ＭＤ５）などである。次に、データプロセッサ１１０は、受信した統計データ１６０のクラスタリングを実施し、その際に、少なくとも１つのクラスタが識別されたデータに基づいて形成される。各形成されたクラスタは、特定のデータ型に応じてグルーピングされた電子メールを含む。これらのデータ型（属性）は、少なくとも、電子メールヘッダフィールド、およびそれらの対応する値を含む。
【００３３】
一態様では、統計データ１６０のクラスタリングは、データクラスタリングアルゴリズム、ノイズを伴うアプリケーションの密度準拠空間クラスタリング（Density-Based  Spatial  Clustering  of  Applications  with  Noise：ＤＢＳＣＡＮ）に基づいて行われる。
【００３４】
一態様では、電子メールの特定のデータ型に応じるグルーピングは、各電子メールのヘッダに含まれるフィールドからクラスタを形成することを含む。例えば、少なくとも１つのクラスタのグループは、「hdr_seq2」、「boundary_type」、「mailer_name」、「msgid_type」、「urlsQty」、「content_type」、「attach」などの電子メールヘッダの電子メールフィールドであると想定する。その場合、図３の統計データの形式で示される電子メールは、「hdr_seq2」、「from」、「to」、「subject」、「date」、「content-type」、および「x-mailer」のフィールドに基づいて形成される少なくとも１つのクラスタに割り当てられてよい。
【００３５】
クラスタの形成後、ハッシュ生成部１２０は、各形成したクラスタ内のグループのうちの最も頻度の高い組み合わせの少なくとも１つの選択を行い、見いだしたグループの組み合わせをハッシュに変換する。グループの組み合わせは、少なくとも、電子メールヘッダからのフィールドの一連の値である。最も頻度の高い組み合わせとは、解析される電子メールの範囲内で、電子メールの最多数を寄せ集めたフィールドのセットである。生成されたハッシュは、少なくとも、ＭＤ５、見いだされたグループの組み合わせのハッシュまたは柔軟なハッシュであると理解される。電子メールの数に対して、各グループの組み合わせがそれを超えるときに、最も頻度が高いものとみなされることになる閾値を割り当てることが可能である。この場合、閾値を超えたグループの組み合わせのすべてに対して、さらなる解析が行われることになる。例えば、閾値は、電子メールの総数の８０％に設定されてよい。いずれのグループの組み合わせも、上述の閾値に達しない場合、所定の閾値に最も近い該グループの組み合わせが選択されるという点に留意すべきである。
【００３６】
一態様では、データプロセッサ１１０は、２つ以上のセットが形成された場合に、各グループのセットの優先順位付けを実施してもよい。優先順位付けは、スパムを含み、しばしばそれに遭遇する電子メールに対するヒューリスティックルールを形成するのに用いられてよい。優先順位付けパラメータは、例えば、統計データ１６０がそこから取得された電子メールの割り当てられたカテゴリに関する情報であるか、または電子メールの重要度を評価するのに使用される場合がある任意の追加の情報である。
【００３７】
例示のために、２つの電子メールに基づくハッシュの検索および生成の例を考慮する。１つの電子メール（Ｍ１）が、Ｆ１、Ｆ２、Ｆ８、Ｆ９、およびＦ２０の６つのフィールドで構成されている電子メールヘッダのフィールドの配列を含むこと想定し、ここで、Ｆは電子メールヘッダの特定のフィールドに相当し、数字は、特定の分類におけるフィールドのタイプを示す。フィールドの分類は、本発明の範囲外であるが、入力パラメータである。例えば、Ｆ１はフィールド「from」、Ｆ２はフィールド「to」、Ｆ８はフィールド「x-mailer」、Ｆ９はフィールド「cc」、Ｆ２０はフィールド「message-id」に相当する。他の電子メール（Ｍ２）は、Ｆ１、Ｆ３、Ｆ５、Ｆ８、Ｆ９、Ｆ１５およびＦ２０のフィールドを含む。各電子メールに対して、ハッシュは一意のものであり、各配列に基づいて形成される。例えば、電子メールＭ１の配列Ｆ１Ｆ２Ｆ８Ｆ９Ｆ２０に対して、ハッシュは、md5  (from:to:x-mailer:message-id:cc)と形成され、それは、「c72c4c829a3863d1056634d3a306871f」と表されることになる。
【００３８】
一態様では、Ｎの数量の電子メール、例えば数十万の電子メールをクラスタリングするときに、解析される電子メールの最大数をキャプチャするために、最も頻度の高いグループから順番に形成される他のハッシュのハッシュを形成することが可能である。例えば、Ｆ１：Ａ１、Ｆ２：Ａ２、Ｆ８：Ａ８、Ｆ１１：Ａ１１（すなわち、これらのヘッダは２，０００個のすべての電子メールに含まれている）の電子メールヘッダフィールドに基づいて、２，０００個の電子メールが、グループ１に組み合わせられ、かつＦ１：А１、Ｆ５：А５、Ｆ９：А９の電子メールヘッダフィールドに基づいて、７，５００個の電子メールが、グループ２に組み合わせられて、１０，０００個の電子メールが解析される。したがって、グループ１に対してハッシュ「hash  1」、グループ２に対して「hash  2」が形成される。この後に、そのように作成された２つのハッシュを組み合わせることで、さらに別のハッシュが形成され、この際、示されるハッシュは柔軟なハッシュである。
【００３９】
別の態様では、クラスタのグループの単一のセットが所定の閾値に到達していない場合、所定の閾値を超えるように、いくつかのセットを組み合わせることが可能である。例えば、２つまたは３つのハッシュが、記号「or」によって組み合わせられる。この場合、このような組み合わせは、さらにテキスト内の属性「hash」にも対応することになる。
【００４０】
次に、ハッシュ生成部１２０は、スパムを含んでいない電子メール、すなわち、正当な電子メールに属しているハッシュの集合内の各選択したハッシュに対して予備チェックを行う。予備チェックは、ヒューリスティックルールを形成する際の主要ステップの１つと、任意選択または追加のステップの１つとの両方である場合があるという点に留意すべきである。このようなハッシュの集合は、データベース１４０に格納される。選択されたハッシュが、上述の集合からのハッシュと一致する場合、該選択されたハッシュは、ヒューリスティックルールを形成するその後のプロセスから除かれる。一方、選択されたハッシュが、上述の集合からのハッシュと一致しない場合、該ハッシュは、ヒューリスティックルール生成部１５０に送信され、ここで、該ハッシュは必須条件の１つになり、かつハッシュ生成部１２０は、データの伝送に関して正規表現生成部１３０に通知する。しかし、予備チェックが実施されない場合、各ハッシュは上述の集合からの任意のハッシュと一致しなかったとみなされる。
【００４１】
一態様では、ルールデータベース１４０は、少なくとも、正当な電子メールに対応するハッシュのセット、およびスパムを含む電子メールに対応するハッシュのセット、また両方のタイプの電子メールに対する柔軟なハッシュのセットも含む。
【００４２】
次に、正規表現生成部１３０は、ヒューリスティックルール生成部１５０に送信された各ハッシュに対応する電子メールに含まれているハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成する。正規表現を形成するために、ハイパーリンクに関する情報を含むデータは、上述の各電子メールから取得された統計データから識別される。ハイパーリンクに関する情報を含むデータは、例えばインターネットなどの情報ネットワークにあるリソースの一意な識別子である、各ハイパーリンク、例えばＵＲＬを伴うハイパーリンクを含む。ヒューリスティックルールの生成に対する別の条件は、正規表現であり、これは、指定されたリンク先を発見するためのルールを定義する文字列である。
【００４３】
一態様では、正規表現は、以下のように形成される。
【００４４】
正規表現の形成の第１ステップでは、正規表現生成部１３０は、統計データから識別された各リンクを、リンクに含まれる区切りに従ってセグメントに分割する。区切りは、スラッシュ「／」、ポイント「．」、シンボル「＠」などを含む。次に、正規表現生成部１３０は、このような分割の後（すなわち、区切りが適用された後）に得られたセグメントの数をカウントすることによって、各リンクの長さを決定する。例えば、ハイパーリンク「http://app.ingos.ru/email/road_rules/?utm_source=  newsletter&utm_medium=email&utm_campaign=digest_02_2019_feb&utm_content=road_rules&email=username@kaspersky.com」は、８つのセグメントへの分割がなされてよく、この際、最初のセグメントは「app」、２番目のセグメントは「ingos」、３番目のセグメントは「ru」、４番目のセグメントは「email」、５番目のセグメントは「road_rules」、６番目のセグメントは「?utm_source=newsletter&utm_medium=email&utm_campaign=digest_02_2019_feb&utm_content=road_rules&email=username」、第７のセグメントは「kaspersky」および、第８のセグメントは「com」である。したがって、このリンクの長さは８である。
【００４５】
正規表現形成の第２ステップでは、正規表現生成部１３０は、別々の電子メールからの同じ長さのハイパーリンクを互いにセグメントごとに比較し、所与の長さのハイパーリンクに対応する正規表現を形成する。電子メールは、ハッシュがハッシュ生成部１２０によって先に形成された同じクラスタに対応するという点に留意すべきである。セグメントは、順番に従って比較される。すなわち、同じ長さの各ハイパーリンクを比較するときに、１つの電子メールからの第１リンクの第１セグメントは、他の電子メールの第１リンクの第１セグメントと比較され、その他のセグメントも同様に比較される。各セグメントが一致する場合、そのセグメントに対する正規表現のシンボルのセットは、元のままの形式のセグメントに完全に対応することになる。一方、各セグメントが相違する場合、正規表現のセグメントは、形式［ｘ］＋を用い、この際、ｘは両方のセグメントに含まれるシンボルを含む範囲である。したがって、別々の電子メールの同じ長さのハイパーリンクを比較するときに、得られる結果は、Ｎの数の正規表現である。
【００４６】
正規表現形成の第３のステップでは、正規表現生成部１３０は、各正規表現を互いに比較する。比較は、その前のステップと同じように行われる。言い換えると「正規表現がより一般的であるほど、正規表現の優先度はより高い」という原理に従って、同じ長さのハイパーリンクに対応する正規表現のみが比較される。したがって、より一般的ではない正規表現は、さらなる解析から除外される。その結果、リストは、各リンク長のハイパーリンクごとに１つの正規表現を含んで形成される。
【００４７】
正規表現のリストの形成後、正規表現生成部１３０は、ヒューリスティックルールを作成する生成部１５０に正規表現のリストを送信する。
【００４８】
ヒューリスティックルール生成部１５０は、ハッシュ生成部１２０および正規表現生成部１３０から受信したデータに基づいて、ヒューリスティックルールを生成する。ヒューリスティックルール生成部１５０は、ハッシュ生成部１２０から得たハッシュと、ヒューリスティックルール生成部１５０から得た正規表現との対応関係を判断する。
【００４９】
対応関係を判断した後に、ヒューリスティックルール生成部１５０は、
「｛Bind2(Functor1Equal,GetFullHeaderSeqMd5,'25219f817f0470dc40b578ee99a45cfd')｝,
｛BodyMatch,  where='urls',  regexp=[[\w+\.win/[a-z]+\.?$]]｝,」
の種類のヒューリスティックルールに、その対応関係を組み合わせるが、この際、各ルールは、電子メールヘッダのフィールドの配列のハッシュに相当する第１条件と、定義された長さのハイパーリンクに対応する正規表現に相当する第２条件との少なくとも２つの指定された必須条件を含む。
【００５０】
一態様では、ヒューリスティックルール生成部１５０は、ヒューリスティックルールを作成するときに、指定された条件に加えて追加条件を形成する。追加条件はまた、統計データ１６０に基づいて形成されるが、同時に、既に作成された主要条件も考慮される。したがって、例えば、追加条件の１つは、ヒューリスティックルールの第１条件のためにハッシュが形成された元となる、電子メールヘッダのフィールドの配列に含まれるヘッダの少なくとも１つのフィールドの解析に基づいて作成されることがある。別の追加条件が、電子メールの本文、例えばハイパーリンクから取得したデータの解析に基づいて作成されることもある。各追加条件の形成は、第１条件、すなわち、ハッシュの形成に似通って行われる。このために、ヒューリスティックルール生成部１５０は、データプロセッサ１１０と相互作用する。したがって、解析される電子メールの対応するフィールドに示される値に従ったクラスタによってグルーピングが行われる、電子メールヘッダフィールドの１つのタイプが選択される。例えば、電子メールがフィールド「Content-Type」、またはフィールド「Х-mailer」を含む場合、グルーピングは、ヒューリスティックルール作成時に、スパムの存在について電子メールを評価するための追加条件の形成を可能にするために、解析される電子メールに示される各フィールドの値の解析に基づいて行われてもよい（一例が後述される）。
【００５１】
追加条件を形成する別の態様では、解析は、電子メールの本文に対して行われてもよい。例えば、解析は、各電子メールの本文に含まれるハイパーリンクの数の判断を含んでもよい。したがって、ハイパーリンクの最大および最小値は、解析される電子メールにおいてカウントされる。電子メールは、ハッシュが必須条件のために形成されたクラスタに対応する。追加条件は、カウントに従ってヒューリスティックルールに対して形成される。したがって、追加条件の形成により、生成されたヒューリスティックルールを実行する間の誤警告の可能性を最小化することが可能になる。
【００５２】
好適な一態様では、追加条件形成のための属性の選択は、それらに関する情報が、ハッシュに対応するすべての電子メールに含まれていたように行われる。ここで、ヒューリスティックルールに対する追加条件が、上記に示された例による属性に基づいて形成されたと仮定する。
【００５３】
その場合、ヒューリスティックルールは、
「｛Bind2(Functor1Equal,GetFullHeaderSeqMd5,'25219f817f0470dc40b578ee99a45cfd')｝,
｛Bind2(Functor1Equal,UrlsCountS,  '1')｝,
｛Bind2(Functor1Equal,GetBoundaryType,'no_boundary')｝,
｛Bind2(Functor1Equal,GetMailerType,'none')｝,
｛BodyMatch,  where='urls',  regexp=[[\w+\.win/[a-z]+\.?$]]｝,」
、と表されることがあり、ここで、第１条件は、電子メールヘッダのフィールドの配列のハッシュが指定されたＭＤ５に対応する必要があることを示し、第２条件は、電子メールは１つのハイパーリンクを含むことを示し、第３条件は、フィールド「Content-type」は境界がないことを示し、第４条件は、電子メールがフィールド「X-mailer」がないことを示し、第５条件は、電子メールに含まれるハイパーリンクが指定された正規表現に該当することを示す。
【００５４】
このように、ヒューリスティックルール生成部１５０は、先に作成された正規表現ごとに１つのルールを形成する。ヒューリスティックルール作成後、ヒューリスティックルール生成部１５０は、正当な電子メールの追加の集合に対して、検証を追加的に実施してもよい。ヒューリスティックルールが、検証される集合に対してトリガされない場合、それはクライアント１８０に送信されることになる。一方、ヒューリスティックルールがトリガされる場合、それは破棄される。
【００５５】
さらに別の態様では、ヒューリスティックルール生成部１５０は、クラスタの電子メールの最多数をカバーする少なくとも１つのヒューリスティックルールを識別するために、作成されたルールの評価を実施する。評価は、以下の手法によって作成されたルールを互いに比較することに基づいて行われる。
【００５６】
（ｉ）各ルールが同じ正規表現で記述される場合、ルールの条件はシンボル「OR」によって、単一のルールに組み合わせられる。
【００５７】
（ｉｉ）各ルールが異なる正規表現で記述されるが、他の条件は１つまで一致する場合、最も優先される正規表現が決定される。この際、該最も優先される正規表現は、クラスタ内のＮ％の電子メールの適用範囲、および正規表現のより厳密な形式、最も重要な基準となる適用範囲のサイズの基準を満たすものである。例えば、より厳密な正規表現を用いるルールが、他のルールより９０％未満の電子メールを記述している場合、このルールは、他のルールよりも優先度が低くなり、したがって、より厳密でない正規表現を用いるルールが選択されることになる。
【００５８】
このように、優先度が低いルールは破棄され、より優先度が高いルールが残りのものと比較され、結果として、ハッシュ生成部１２０によるルール内のハッシュ（ｈａｓｈ）を形成するために使用されるクラスタのより大きな一部およびルールそのものを最も完全に記述している少なくとも１つのヒューリスティックルールは残ることになる。この後に、ルールの検証が、正当な電子メールの集合に対して実施されてよい。
【００５９】
ハッシュ生成部１２０および正規表現生成部１３０は、必要に応じて、それらの機能を実施している間に、例えば、クラスタに対して用意されたハッシュのデータの送信、および正規表現の形成のための情報に関するデータの送信などの情報を交換することになるという点に留意すべきである。
【００６０】
一態様では、システム１００はデータ収集記憶デバイス１７０の一部であり、それに応じて、システム１００は、デバイス１７０内部で統計データの解析およびヒューリスティックルールの形成を実施することになる。
【００６１】
別の態様では、システム１００は、送信されるスパム電子メールの識別のためのヒューリスティックルールを作成する必要性を示すイベントを自動的に識別する。このようなイベントは、少なくとも、統計データ１６０の一定量の収集、クライアント１８０のデバイスに対するヒューリスティックルールの誤警告を判断、先に作成されたクラスタの１つと、その他のものとを変換する必要性を示すイベントである。このために、システム１００は、それ自体で、またはデータ収集記憶デバイス１７０を介して、クライアント１８０のデバイスによるこのようなイベントの存在を監視する。続いて、システム１００は、ヒューリスティックルールの作成のための必要なデータを要求するか、または識別したイベントと並行してデータを取得する。
【００６２】
図４は、望ましくないコンテンツ、例えばスパムを含む電子メールを識別するために使用されるヒューリスティックルールを形成する例示的方法４００を示すフロー図である。方法４００は、システム１００を用いて実現される。システム１００が、スパム電子メールを検索して、識別するためのヒューリスティックルールを作成する必要性を示すイベントを受信したことを想定する。この場合、方法４００は、以下に記載されるようにヒューリスティックルールを形成するように実装される。
【００６３】
ステップ４１０では、方法４００により、データプロセッサ１１０を使用して、データ収集記憶デバイス１７０から複数の電子メールのコンテンツに関する統計データを収集する。統計データ１６０は、特定の（予め定められた）形式で提供される。例えば、統計データは、クライアント（例えば、クライアント１８０）の情報およびクライアントに関する情報が判別されないように、アノニマスな形式で電子メールに関する情報を含んで提供されてよい。上記のように、図３において、電子メールの１つに関するこのような統計データの一例が示されている。電子メールヘッダについての情報を含むデータが取得され、データの一部は非人格化されて、ハッシュの形式で提供される。
【００６４】
ステップ４２０では、方法４００により、データプロセッサ１１０によって、収集した統計データを解析して、上記電子メールの１つまたは複数のヘッダまたはハイパーリンクを含む、上記電子メールのコンテンツのそれぞれのタイプを識別する。
【００６５】
ステップ４３０では、方法４００により、データプロセッサ１１０によって、上記電子メールの識別したコンテンツのそれぞれのタイプに基づいて、複数の電子メールを１つまたは複数のクラスタにグルーピングするが、ここで、該少なくとも１つのクラスタは、上記電子メールヘッダ内のフィールドの１つまたは複数グループを含むものである。一態様では、少なくとも１つのクラスタは、クラスタのそれぞれがデータ型によってグルーピングされた電子メールを含んで形成される。一態様では、クラスタを形成するために使用されるデータ型の１つは、各電子メールヘッダに対応するフィールドに関するデータ型である。
【００６６】
一態様では、データ型のうち１つが、各電子メールヘッダに対応するフィールドに関するものである場合、ステップ４３０で、該方法により、取得した統計データの解析をさらに実施するが、ここで、該解析は、少なくとも、各電子メールヘッダのフィールドの配列を識別することを含む。次に、該方法により、各電子メールヘッダのフィールドの識別された少なくとも１つの配列を使用して、そのフィールドに従ったクラスタをさらに形成する。最も好ましいデータクラスタリングアルゴリズムが、クラスタ形成のために使用される。一態様では、クラスタは、例えばアルゴリズムＤＢＳＣＡＮを使用して、トライアルアンドエラーによって選択される。クラスタの形成の一例は、図１と共に上述した通りである。
【００６７】
ステップ４３５では、方法４００により、ハッシュ生成部１２０によって、各クラスタ内のデータのグループのうちの最も頻度の高い組み合わせの少なくとも１つを選択する。グループの組み合わせは、少なくとも、解析される電子メールヘッダの一連の最も頻度の高いフィールドである。最も頻度の高い組み合わせとは、解析される電子メールの範囲内で、電子メールの最多数を寄せ集めたフィールドのセットである。ハッシュは、少なくとも、ＭＤ５、または見いだされたグループの組み合わせの柔軟なハッシュである。一態様では、解析される数量の総数に対して規定された閾値が、グループのうちの最も頻度の高い組み合わせを決定するための基準として機能してもよい。
【００６８】
ステップ４４０では、方法４００により、グループのうちの最も頻度の高い組み合わせの少なくとも１つからハッシュを生成する。
【００６９】
ステップ４５０では、方法４００により、正規表現生成部１３０を使用して、生成したハッシュに対応する電子メールのハイパーリンクの解析に基づいて、少なくとも１つの正規表現を形成する。例えば、解析は、望ましくないコンテンツを含む電子メールであるかどうかに関する表示を含んでもよい。正規表現の形成の原理は、図１と共に上述した通りである。
【００７０】
ステップ４６０では、方法４００により、ヒューリスティックルール生成部１５０を使用して、少なくとも１つのハッシュと、対応する正規表現とを組み合わせることによって、望ましくないコンテンツを含む電子メールを識別するための少なくとも１つのヒューリスティックルールを生成するが、ここで、該少なくとも１つのハッシュは、上記電子メールヘッダ内のフィールドの配列からのものである。各ヒューリスティックルールは、先に形成された少なくとも１つのハッシュと、そのハッシュに対応する正規表現との組み合わせによって生成される。対応関係は、ハッシュと正規表現とを形成するのに使用された統計データを用いて判断される。したがって、１つのヒューリスティックルールは、先に作成された正規表現ごとに形成される。次いで、ヒューリスティックルールが形成されたクラスタに対応する電子メールの最多数を寄せ集めた少なくとも１つのヒューリスティックルールを識別するために、生成されたヒューリスティックルールの評価が実施される。評価は、生成された各ヒューリスティックルールを互いに比較することによって行われる。この結果として、最も完全にクラスタを記述している１つのヒューリスティックルールが残ることになる。方法は、続いて、ステップ４７０に進んで、プロセスを終了する。
【００７１】
一態様では、方法は、正当な電子メール（すなわち、スパムではない電子メール）のハッシュのみを含むハッシュの集合の各ハッシュに対して予備チェックを実施することをさらに含み、それにより、形成したハッシュと、集合からのハッシュとが一致する場合は、形成したハッシュは、その後のプロセスから除外され、ヒューリスティックルールの形成のために使用されない。ハッシュが、集合からのいずれのハッシュとも一致しない場合、方法により、ヒューリスティックルールの生成が行われる。
【００７２】
一態様では、生成されたヒューリスティックルールはまた、既に作成された主要条件を考慮に入れながら、取得された統計データ１６０に基づいて形成される追加条件を含んでもよい。
【００７３】
一態様では、生成されたヒューリスティックルールは、正当な電子メールの集合に対して検証され、いずれの電子メールも一致しない場合、ヒューリスティックルールは、システム１００によってクライアント１８０に送信される。
【００７４】
一態様では、方法は、ヒューリスティックルールの生成の前に非スパム電子メールのハッシュのみを含んでいるハッシュの集合の各ハッシュに対して予備チェックを実施し、該予備チェックにより、ハッシュの集合のうちいずれのハッシュの一致も見つからない場合にのみ、該ハッシュがヒューリスティックルールの生成時に使用されることをさらに含む。
【００７５】
一態様では、各ヒューリスティックルールは、先に形成された少なくとも１つのハッシュと、そのハッシュに対応する正規表現との組み合わせによって生成される。
【００７６】
一態様では、各クラスタは、データ型によってグルーピングされた電子メールを含み、少なくとも１つのクラスタを形成するために使用されるデータ型のうち１つは、各電子メールに対応するヘッダのフィールドに関するデータ型である。
【００７７】
一態様では、最も頻度の高い組み合わせは、解析されるすべての電子メールの範囲から同時に電子メールの最多数を寄せ集めたフィールドのセットに相当する。
【００７８】
一態様では、最も頻度の高い組み合わせは、統計データの取得のために解析される多数の電子メールに対して定められた閾値、または統計データがそこから取得される電子メールの所定の割合を寄せ集める場合に、閾値を上回るか、または到達することのうち少なくとも１つに基づいて識別される。
【００７９】
一態様では、統計データは、電子メールの字句解析に基づいて取得される。
【００８０】
一態様では、正規表現は、既定の区切りに従って、各識別したハイパーリンクをセグメントに分割することと、ハイパーリンクごとに、分割によって得られたセグメントの数を計算することと、セグメントの数が互いに同じである各ハイパーリンクをセグメントごとに比較することと、ハイパーリンクの長さに応じて、ハイパーリンクを正規表現に組み合わせ、各セグメントが同一である場合、そのセグメントは変更されずに残され、各セグメントが相違する場合、同一の値のみを残す形でそのセグメントは変換されることとによって、ハイパーリンクの解析に基づいて形成される。
【００８１】
一態様では、ハッシュは、少なくとも、ＭＤ５ハッシュ、またはグループのうちの最も頻度の高い組み合わせの柔軟なハッシュを含む。
【００８２】
図５は、例示的態様に従って、望ましくないコンテンツを含む電子メールを識別するためのルールを形成するシステムおよび方法の態様が実装されることがあるコンピュータシステム２０を示すブロック図である。コンピュータシステム２０は、例えば、上述したような検出デバイスに相当し得るという点に留意すべきである。コンピュータシステム２０は、例えば、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス、スマートフォン、タブレットコンピュータ、サーバ、メインフレーム、埋め込み型デバイス、およびコンピューティングデバイスの他の形態など、複数のコンピューティングデバイスの形態、または、単一のコンピューティングデバイスの形態である場合がある。
【００８３】
示すように、コンピュータシステム２０は、中央演算処理装置（Central  Processing  Unit：ＣＰＵ）２１、システムメモリ２２、および、中央演算処理装置２１に関連付けられたメモリを含む種々のシステムコンポーネントを接続しているシステムバス２３を含む。システムバス２３は、バスメモリまたはバスメモリコントローラ、周辺バス、および任意の他のバスアーキテクチャと相互作用することが可能なローカルバスを含んでもよい。各バスの例としては、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（商標）、ＩｎｆｉｎｉＢａｎｄ（商標）、シリアルＡＴＡ、Ｉ２Ｃ、およびその他の好適なインターコネクトなどを挙げてよい。中央演算処理装置２１（プロセッサとも称される）は、単一のまたは複数のコアを有する単一のまたは複数のプロセッサのセットを含むことができる。プロセッサ２１は、本開示の技術を実装する１つまたは複数のコンピュータ実行可能コードを実行してもよい。システムメモリ２２は、本明細書で使用するデータおよび／またはプロセッサ２１によって実行可能なコンピュータプログラムを記憶する任意のメモリであってよい。システムメモリ２２は、ランダムアクセスメモリ（Random  Access  Memory：ＲＡＭ）２５などの揮発性メモリ、および読み取り専用メモリ（Read  Only  Memory：ＲＯＭ）２４、フラッシュメモリなどの不揮発性メモリ、またはこれらの任意の組み合わせを含んでもよい。基本入出力システム（Basic  Input/Output  System：ＢＩＯＳ）２６は、例えば、ＲＯＭ２４を使用してオペレーティングシステムをロードするときの手順などの、コンピュータシステム２０の各要素間の情報の伝送の基本手順を記憶していてもよい。
【００８４】
コンピュータシステム２０は、１つまたは複数の取り外し可能記憶デバイス２７、１つまたは複数の非取り外し可能記憶デバイス２８、またはこれらの組み合わせなどの１つまたは複数の記憶デバイスを含んでもよい。１つまたは複数の取り外し可能記憶デバイス２７、および非取り外し可能記憶デバイス２８は、記憶インターフェース３２を介してシステムバス２３に接続される。一態様では、記憶デバイスおよび対応するコンピュータ可読記憶媒体は、コンピュータシステム２０のコンピュータ命令、データ構造、プログラムモジュール、および他のデータを記憶するための電力独立型モジュールである。システムメモリ２２、取り外し可能記憶デバイス２７、非取り外し可能記憶デバイス２８は、種々のコンピュータ可読記憶媒体を使用してもよい。コンピュータ可読記憶媒体の例としては、例えば、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロ・コンデンサＲＡＭ、ツイントランジスタＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭなどのマシンメモリ、ソリッドステートドライブ（Solid  State  Drive：ＳＳＤ）またはフラッシュドライブのようなフラッシュメモリまたはその他のメモリ技術、ハードディスクドライブまたはフロッピーディスクのような磁気カセット、磁気テープ、および磁気ディスク記憶装置、コンパクトディスク（Compact  Disk  Read  Only  Memory：ＣＤ−ＲＯＭ）またはデジタル多用途ディスク（Digital  Versatile  Disk：ＤＶＤ）のような光記憶装置、および所望のデータを記憶するために使用されてよく、コンピュータシステム２０によってアクセス可能な任意の他の媒体が挙げられる。
【００８５】
コンピュータシステム２０のシステムメモリ２２、取り外し可能記憶デバイス２７、および非取り外し可能記憶デバイス２８は、オペレーティングシステム３５、追加のプログラムアプリケーション３７、他のプログラムモジュール３８およびプログラムデータ３９を記憶するために使用されてよい。コンピュータシステム２０は、例えば、キーボード、マウス、スタイラス、ゲームコントローラ、音声入力デバイス、タッチ入力デバイスなどの、入力デバイス４０からのデータを通信するための周辺インターフェース４６、または、例えばシリアルポート、パラレルポート、ユニバーサルシリアルバス（Universal  Serial  Bus：ＵＳＢ）または他の周辺インターフェースなどの１つまたは複数の入出力ポートを介した、プリンタまたはスキャナなどの他の周辺デバイスを含んでもよい。例えば１つまたは複数のモニタ、プロジェクタまたは統合ディスプレイなどのディスプレイデバイス４７は、例えばビデオアダプタなどの出力インターフェース４８を通してシステムバス２３に接続されてもよい。ディスプレイデバイス４７に加えて、コンピュータシステム２０は、例えばスピーカおよび他の音響映像デバイスなどの他の周辺出力デバイス（図示せず）を搭載してもよい。
【００８６】
コンピュータシステム２０は、１つまたは複数のリモートコンピュータ４９へのネットワーク接続を使用して、ネットワーク環境で動作してよい。リモートコンピュータ（またはコンピュータ）４９は、コンピュータシステム２０の性質について記載されている上述の各要素のほとんどまたはすべてを含む、ローカルコンピュータワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワーク局、ピアデバイスまたは他のネットワークノードなどのその他のデバイスが、コンピュータネットワーク内に存在する場合があるが、これらに限定されない。コンピュータシステム２０は、例えば、ローカルエリアコンピュータネットワーク（Local-Area  Computer  Network：ＬＡＮ）５０、広域コンピュータネットワーク（Wide-Area  Computer  Network：ＷＡＮ）、イントラネットおよびインターネットなどの１つまたは複数のネットワークを介して、リモートコンピュータ４９と通信するための１つまたは複数のネットワークインターフェース５１またはネットワークアダプタを含んでもよい。ネットワークインターフェース５１の例としては、イーサネットインターフェース、フレームリレーインターフェース、ＳＯＮＥＴインターフェースおよび無線インターフェースを挙げてもよい。
【００８７】
本開示の態様は、システム、方法、および／またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるコンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体（またはメディア）を含んでもよい。
【００８８】
コンピュータ可読記憶媒体は、命令またはデータ構造の形態でプログラムコードを保持し、記憶することができる有形デバイスであってもよく、コンピューティングシステム２０などのコンピューティングデバイスのプロセッサによってアクセス可能なものである。コンピュータ可読記憶媒体は、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の好適な組み合わせであってもよい。例として、このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、ＥＥＰＲＯＭ、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、フラッシュメモリ、ハードディスク、ポータブルコンピュータディスケット、メモリースティック、フロッピーディスク、あるいは、例えば命令がそこに溝状に記録されたパンチカードまたは隆起した構造などの機械的にコード化されたデバイスが挙げられる。本明細書で使用する場合、コンピュータ可読記憶媒体は、それ自体が、例えば、電波またはその他の自ら伝搬する電磁波、導波管または伝送媒体を通して伝搬する電磁波、あるいは有線によって伝送される電気信号などの一時的な信号であると解釈されるものではない。
【００８９】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、対応するコンピューティングデバイスに、もしくは、例えば、インターネット、ローカルエリアネットワーク、広域ネットワークおよび／または無線ネットワークなどのネットワークを介して、外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅製の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび／またはエッジサーバを含んでもよい。各コンピューティングデバイスのネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して、対応するコンピューティングデバイス内部のコンピュータ可読記憶媒体に記憶するために、コンピュータ可読プログラム命令を転送する。
【００９０】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、オブジェクト指向プログラミング言語、および従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組み合わせで書き込まれる組み立て命令、命令セットアーキテクチャ（Instruction-Set-Architecture：ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、ステート設定データ、あるいはソースコードまたはオブジェクトコードであってもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータで、部分的にユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、部分的にユーザコンピュータと部分的にリモートコンピュータとで、もしくは全面的にリモートコンピュータまたはサーバで実行されてよい。後半のシナリオでは、リモートコンピュータは、ＬＡＮまたはＷＡＮを含む任意のタイプのネットワークを通してユーザのコンピュータに接続されているか、または、接続は、外部コンピュータに向かって（例えば、インターネットを通して）構築されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）またはプログラマブルロジックアレイ（Programmable  Logic  Array：ＰＬＡ）を含む電子回路は、本開示の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して、コンピュータ可読プログラム命令を実行し、電子回路をパーソナライズしてもよい。
【００９１】
種々の態様では、本開示に記載されるシステムおよび方法を、モジュールの意味で扱うことができる。本発明で使用する場合、用語「モジュール」は、例えば、特定用途向け集積回路（ＡＳＩＣ）またはＦＰＧＡなどのハードウェアを使用して、または、例えば、マイクロプロセッサシステム、および（実行中に）マイクロプロセッサシステムを特殊目的デバイスに変換するモジュールの機能性を実装するための命令のセットなどのハードウェアとソフトウェアとの組み合わせとして実装される、実世界デバイス、コンポーネント、またはコンポーネントの機構を意味する。モジュールはまた、単独でハードウェアによって促進される特定の機能と、ハードウェアとソフトウェアとの組み合わせによって促進される他の機能との、２つの組み合わせとして実装されてもよい。特定の実装形態では、少なくとも一部、および場合によっては、すべてのモジュールは、コンピュータシステムのプロセッサ（例えば、上記図５で詳細に記載されたもの）によって実施されてよい。したがって、各モジュールは、様々な好適な構成で実現される可能性があり、本明細書に例示されるいずれの特定の実装にも限定されるべきではない。
【００９２】
明瞭であるために、態様の決まりきった特徴のすべては本明細書に開示していない。本開示の任意の実際の実装形態の開発時に、開発者の特定の目的を達成するために非常に多くの実装形態固有の決定が行われる必要があり、これらの特定の目的は異なる実装形態および異なる開発者によって変更されることを理解されるであろう。このような開発作業は、複雑であり、かつ時間がかかる可能性があるが、それでも本開示から利益を得る当業者にとって日常的な技術的業務であるものと理解される。
【００９３】
さらに、本明細書で用いる表現や用語は説明上のものであって、限定のためではなく、本明細書の用語や表現は、当業者の知見と組み合わされて、本明細書で提示する教示および指導に照らして当業者によって解釈されるものと理解すべきである。加えて、明示的記載がない限り、本明細書または特許請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものとみなされることを意図していない。
【００９４】
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールと均等な現在および将来の公知の均等物を含む。さらに、態様および応用例を示し、かつ説明したが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、本開示から利益を得る当業者には明らかであろう。
【図１】
2020166824.tif 000003
【図２】
2020166824.tif 000004
【図３】
2020166824.tif 000005
【図４】
2020166824.tif 000006
【図５】
2020166824.tif 000007
【外国語明細書】
2020166824000001.pdf