(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-29
(45)【発行日】2022-04-06
(54)【発明の名称】疑わしい電子メッセージを検出する技術
(51)【国際特許分類】
H04L 51/212 20220101AFI20220330BHJP
H04L 51/23 20220101ALI20220330BHJP
【FI】
H04L51/212
H04L51/23
【外国語出願】
(21)【出願番号】P 2017179389
(22)【出願日】2017-09-19
【審査請求日】2020-08-25
(32)【優先日】2016-09-19
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】517007161
【氏名又は名称】リタラス ゲゼルシャフト ミット ベシュレンクテル ハフツング
【氏名又は名称原語表記】retarus GmbH
【住所又は居所原語表記】Aschauer Strasse 30, D-81549 Muenchen, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】マーティン ハーガー
(72)【発明者】
【氏名】ミヒャエル グラウフォーグル
【審査官】羽岡 さやか
(56)【参考文献】
【文献】米国特許出願公開第2009/0265786(US,A1)
【文献】特開2014-050057(JP,A)
【文献】特表2014-513834(JP,A)
【文献】特開2003-249964(JP,A)
【文献】韓国公開特許第2011-0034530(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/00-51/58
(57)【特許請求の範囲】
【請求項1】
疑わしい電子メッセージを検出する方法において、
前記方法は、複数のメッセージ送信側および複数のメッセージ受信側と通信するメッセージングサーバにおいて実施され、
前記方法は、
前記複数のメッセージ送信側から少なくとも1つのメッセージ受信側に送信された電子メッセージを受信するステップと、
受信したそれぞれのメッセージから、少なくとも1つのメッセージ送信側特徴AFおよび少なくとも1つのメッセージ内容特徴CFを抽出するステップと、
抽出された前記少なくとも1つのメッセージ送信側特徴AFおよび前記少なくとも1つのメッセージ内容特徴CFを、データベースに記録するステップと、
前記データベースに記録された前記メッセージ内容特徴CFに基づいて、目下のメッセージに関連している可能性のある特定の内容特徴が、過去に既に記録されているかどうかを判定するステップと、
前記特定の内容特徴が過去に既に記録されている場合に、前記データベースに記録された前記メッセージ送信側特徴AFに基づいて、前記特定の内容特徴に関連している可能性のあるメッセージ送信側の数Nを特定するステップと、
前記特定の内容特徴に関連している可能性のあるメッセージ送信側の、特定された前記数Nが、所定の閾値N1を超えている場合に、前記目下のメッセージを疑わしいものとして分類するステップと
を含
み、
前記方法は、
タイムスタンプtsを生成することと、
前記タイムスタンプtsを、抽出された前記メッセージ送信側特徴AFおよび前記メッセージ内容特徴CFと共に前記データベースに記録することと
をさらに含み、
前記タイムスタンプ付きの前記メッセージ送信側特徴AFおよび前記メッセージ内容特徴CFを、2つの別個のインデックスデータ構造に記録し、
第1のインデックスデータ構造IDX1は、前記タイムスタンプ付きの前記メッセージ内容特徴CFのデータセット(ts,CF)を含み、
第2のインデックスデータ構造IDX2は、前記タイムスタンプ付きの前記メッセージ内容特徴CFおよび前記メッセージ送信側特徴AFのデータセット(ts,CF,AF)を含む、
方法。
【請求項2】
前記特定の内容特徴が過去に既に記録されているかどうかを判定するステップは、前記第1のインデックスデータ構造IDX1において実施される、
請求項1記載の方法。
【請求項3】
特定の内容特徴が前記データベースに既に記録されているかどうかを判定する前記ステップは、前記目下のメッセージに関連している前記メッセージ内容特徴CFと、前記データベースに記録された前記メッセージ内容特徴CFとの間における同一性チェックまたは類似性チェックを実施することを含む、
請求項1
または2記載の方法。
【請求項4】
前記特定の内容特徴と同一または類似の内容特徴の記録が、過去の所定の時間枠の間に前記データベースに既に存在するかどうかを判定するために、データベースのルックアップを実施する、
請求項
3記載の方法。
【請求項5】
前記特定の内容特徴と同一または類似のメッセージ内容特徴の記録が、前記所定の時間枠の間に前記データベースに既に存在する場合に、前記所定の時間枠の間に存在する前記内容特徴の記録に関連している可能性のあるメッセージ送信側特徴AFの数を特定する、
請求項
3または
4記載の方法。
【請求項6】
前記分類するステップは、
前記目下のメッセージを、疑わしいメッセージであるとしてタグ付けするプロセスと、
前記目下のメッセージの内容を、スパムまたは悪意のある内容であるとしてブラックリストに登録するプロセスと、
のうちの少なくとも1つをさらに含む、
請求項1記載の方法。
【請求項7】
前記方法は、前記目下のメッセージが疑わしいものであるとして分類された場合に、
前記目下のメッセージをブロックするステップ
をさらに含む、
請求項1記載の方法。
【請求項8】
前記方法は、前記目下のメッセージが疑わしいものであるとして分類された場合に、前記目下のメッセージをAV分析に供するステップをさらに含み、
前記AV分析によって前記目下のメッセージが悪意のあるものでないことが判明した場合に、前記目下のメッセージを、意図されたメッセージ受信側にルーティングすることをさらに含む、
請求項
1記載の方法。
【請求項9】
抽出された前記少なくとも1つのメッセージ送信側特徴AFは、送信側アドレスまたは送信側アドレスの一部を指示する、
請求項1記載の方法。
【請求項10】
抽出された前記少なくとも1つのメッセージ内容特徴CFは、メッセージの添付ファイル、メッセージの件名内容、メッセージに含まれるURL、および/または、これらの一部を指示する、
請求項1記載の方法。
【請求項11】
コンピュータデバイス上で実行された場合に、請求項1から
10までのいずれか1項記載の方法を実施するためのプログラムコード部分を含む、
コンピュータプログラム
。
【請求項12】
請求項
11記載のコンピュータプログラム
が保存された、非一時的なコンピュータ読み出し可能な記録媒体。
【請求項13】
疑わしい電子メッセージを検出するためのメッセージングサーバにおいて、
前記メッセージングサーバは、複数のメッセージ送信側および複数のメッセージ受信側と通信し、
前記メッセージングサーバは、前記複数のメッセージ送信側から少なくとも1つのメッセージ受信側に送信された電子メッセージを受信するように構成されており、
前記サーバは、
受信したそれぞれのメッセージから、少なくとも1つのメッセージ送信側特徴AFおよび少なくとも1つのメッセージ内容特徴CFを抽出するように構成された分析ユニットと、
抽出された前記少なくとも1つのメッセージ送信側特徴AFおよび前記少なくとも1つのメッセージ内容特徴CFを、データベースに記録するように構成された記録ユニットと、
前記データベースに記録された前記メッセージ内容特徴CFに基づいて、目下のメッセージに関連している可能性のある特定の内容特徴が、過去に既に記録されているかどうかを判定し、前記特定の内容特徴が過去に既に記録されている場合に、前記データベースに記録された前記メッセージ送信側特徴AFに基づいて、前記特定の内容特徴に関連している可能性のあるメッセージ送信側の数Nをさらに特定するように構成された判定ユニットと、
前記特定の内容特徴に関連している可能性のあるメッセージ送信側の、特定された前記数Nが、所定の閾値N1を超えている場合に、前記目下のメッセージを疑わしいものであるとして分類するように構成された分類ユニットと
を含
み、
抽出されたそれぞれの前記メッセージ送信側特徴AFおよび前記メッセージ内容特徴CFに対してタイムスタンプtsを供給するように構成されたタイムスタンピングユニットをさらに含み、
前記タイムスタンプ付きの前記メッセージ送信側特徴AFおよび前記メッセージ内容特徴CFは、2つの別個のインデックスデータ構造に記録され、
第1のインデックスデータ構造IDX1は、前記タイムスタンプ付きの前記メッセージ内容特徴CFのデータセット(ts,CF)を含み、
第2のインデックスデータ構造IDX2は、前記タイムスタンプ付きの前記メッセージ内容特徴CFおよび前記メッセージ送信側特徴AFのデータセット(ts,CF,AF)を含む、
メッセージングサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、概して、情報技術におけるセキュリティの側面に関する。特に、本開示は、悪意のある電子メッセージを検出する技術に関する。
【背景技術】
【0002】
背景
電子メールメッセージ(または電子ショートメール)、インスタントメッセージ、電子ファックスメッセージ等のような電子メッセージは、ネットワーク上の多数のコンピュータデバイスにマルウェアまたはスパムを拡散させるために頻繁に使用される。この文脈における「マルウェア」または「悪意のあるソフトウェア」という用語は、コンピュータ操作を中断させるため、機密情報に関するデータを収集するため、または、個人もしくは企業のコンピュータシステムにアクセスするために使用されるソフトウェアまたはソフトウェアの一部を指す。電子メッセージに埋め込まれまたは添付されて、電子メッセージを介して分散されるマルウェアは、特に、ウィルス、ワーム、トロイの木馬、ランサムウェア、スケアウェア、アドウェア、および/または、その他の悪意のあるプログラムを含み得る。「スパム」という用語は、多数のメッセージ受信側に送信され、一般的に、望まれていない広告内容、またはユーザによって請求されていない他の種類の迷惑内容を含む、迷惑メールを指す。
【0003】
スパムメールのようなスパムメッセージは、ボットネットまたは「ゾンビネットワーク」によって送信されることがよくある。ボットネットまたはゾンビネットワークは、ハッカーによって悪意のある目的でアクセスおよび使用され得る感染したコンピュータデバイスのネットワークである。例えば、ボットネットコンピュータデバイスは、ハッカーによって匿名でスパム攻撃を実行するため、または分散型サービス拒否攻撃に参加するために使用され得る。そのような攻撃は、多数の分散した感染したコンピュータから発生するが、元のハッカーから発生するわけではないので、このような攻撃を特定して管理することは困難である。実際に、従来のマルウェア対策システムまたはスパムフィルタがそのようなボットネット攻撃を検出することができるようになるまでにはいくらかの時間がかかる。しかしながら、経過する時間が長くなればなるほど、より多くのスパムメッセージまたは悪意のある内容がインターネット上に拡散して、コンピュータを感染させるおそれがある。
【0004】
米国特許出願公開第2009/0265786号明細書(US2009/0265786A1)は、ラベルが付いていない電子メールのセットに基づいた、自動的なボットネットスパム署名生成技術を開示している。この技術は、以下のように動作する:ラベルが付いていない電子メールのセットが使用され、これらの電子メールのセットに含まれている入力およびURLが抽出され、それらのドメインにしたがって複数のURLグループにグループ化される。その後、潜在するボットネットを最もよく特徴付けているグループを特定するために、生成されたURLグループが分析される。ボットネットの特徴を最もよく表しているURLグループ(つまり、多数の分散された送信側の間で最も強い時間相関を表しているURLグループ)が選択される。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許出願公開第2009/0265786号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
したがって、通信ネットワーク内における疑わしいまたは悪意のある電子メッセージを迅速かつ効率的な方法で検出することができる新しい検出技術が必要とされている。
【課題を解決するための手段】
【0007】
概要
第1の態様によれば、疑わしい電子メッセージを検出する方法において、前記方法は、複数のメッセージ送信側および複数のメッセージ受信側と通信するメッセージングサーバにおいて実施される、方法が提供される。前記方法は、前記複数のメッセージ送信側から少なくとも1つのメッセージ受信側に送信された電子メッセージを受信するステップと、受信したそれぞれのメッセージから、少なくとも1つのメッセージ送信側特徴および少なくとも1つのメッセージ関連特徴を抽出するステップと、抽出された前記少なくとも1つのメッセージ送信側特徴および前記少なくとも1つのメッセージ内容特徴を、データベースに記録するステップと、前記データベースに記録された前記メッセージ内容特徴に基づいて、目下のメッセージに関連している可能性のある特定の内容特徴が、過去に既に記録されているかどうかを判定するステップと、前記特定の内容特徴が過去に既に記録されている場合に、前記データベースに記録された前記メッセージ送信側特徴に基づいて、前記特定の内容特徴に関連している可能性のあるメッセージ送信側の数を特定するステップと、前記特定の内容特徴に関連している可能性のあるメッセージ送信側の、特定された前記数が、所定の閾値を超えている場合に、前記目下のメッセージを疑わしいものとして分類するステップとを含む。
【0008】
本開示における「電子メッセージ」(または略記して「メッセージ」)という用語は、広義に解釈されている場合がある。「電子メッセージ」または「メッセージ」として、記号、文字、および/または、数字、グラフィック要素等の形態のメッセージを含み、スパム内容またはマルウェアを埋め込むためまたは拡散させるために利用され得る、任意のデジタルデータ項目または任意のデジタルデータ部分が意味され得る。電子メッセージとして、例えば電子メールメッセージ、インスタントメッセージ、または電子ファックスメッセージが意味され得る。
【0009】
さらに、1つまたは複数の「メッセージ送信側」によって、スマートフォン、タブレット、パーソナルコンピュータ、および/または、任意の他の個人または企業のコンピュータデバイスのような、電子メッセージを送信するように構成された任意の電子デバイスまたはデバイスが意味され得る。少なくとも1つの「メッセージ受信側」は、スマートフォン、タブレット、パーソナルコンピュータ、および/または、任意の他の個人または企業のコンピュータデバイスのような、電子メッセージを受信するように構成された任意のデバイスとすることができる。
【0010】
さらに、スパムメッセージまたは悪意のあるメッセージである可能性が極めて高いメッセージは、「疑わしいメッセージ」と呼ばれる。送信されたメッセージの出現頻度および内容に応じて、メッセージは、スパムメッセージまたは悪意のあるメッセージであるとしてみなされる。本発明によれば、特定のメッセージ内容がスパムであるか、および/または、悪意のあるものであるかどうかを推定するために、複数のメッセージ送信側から複数のメッセージ受信側へのメッセージフローにおける相異なるメッセージ内容の出現頻度が検出される。
【0011】
前記方法は、抽出されたそれぞれの前記メッセージ送信側特徴および前記メッセージ内容特徴に対してタイムスタンプを生成することと、前記タイムスタンプを、抽出された前記メッセージ送信側特徴および前記メッセージ内容特徴と共に前記データベースに記録することとをさらに含み得る。生成されたタイムスタンプは、1つまたは複数の電子メッセージによって運ばれた、抽出されたメッセージ送信側特徴および抽出されたメッセージ内容特徴が、メッセージングサーバに出現した時間を指示することができる。抽出されたメッセージ送信側特徴および抽出されたメッセージ内容特徴を、対応するタイムスタンプと共に記録することによって、過去の特定の時間間隔における相異なるメッセージ送信側と併せて、内容特徴の時間的な出現(すなわち時間的な発生パターン)を追跡することができる。
【0012】
メッセージ送信側特徴およびメッセージ内容特徴を記録する前記ステップは、前記タイムスタンプ付きの前記メッセージ送信側特徴および前記メッセージ内容特徴を、少なくとも1つのインデックスデータ構造に編成することをさらに含み得る。同じタイムスタンプが割り当てられた、複数の同一のメッセージ送信側特徴および複数の同一のメッセージ内容特徴は、インデックスデータ構造に1回だけ記録することができる。1つの実施形態によれば、前記タイムスタンプ付きの前記メッセージ送信側特徴および前記メッセージ内容特徴を、2つの別個のインデックスデータ構造に記録することができる。第1のインデックスデータ構造は、前記タイムスタンプ付きの前記メッセージ内容特徴のデータセットを含み、第2のインデックスデータ構造は、前記タイムスタンプ付きの前記メッセージ内容特徴および前記メッセージアドレス特徴のデータセットを含み得る。
【0013】
目下のメッセージから抽出された特定の内容特徴が既にデータベース内に存在しているかどうかを判定するために、前記目下のメッセージに関連している前記特定の内容特徴と、前記データベースに記録された前記内容特徴との間における同一性チェックまたは類似性チェックが実施される。同一性チェックまたは類似性チェックは、データベースにおける同一または類似の内容特徴の記録をルックアップすることを含み得る。上述したように、データベースが2つのインデックスデータ構造を含む場合には、少なくとも1つの同一または類似の内容特徴のルックアップは、第1のインデックスデータ構造において実施することができる。データベースにおける同一または類似の内容特徴の記録のルックアップは、過去の所定の時間枠に関連している内容特徴の記録に限定することができる。この時間枠は、以下ではルックアップ検出時間枠と呼ばれる。ルックアップ検出時間枠は、最後の数時間に限定することができる。
【0014】
前記特定の内容特徴に関連している可能性のあるメッセージ送信側の数を特定するステップは、前記データベースにおいて、前記特定の内容特徴に関連している可能性のあるメッセージ送信側特徴をルックアップすることを含み得る。上述したように、データベースが2つのインデックスデータ構造を含む場合には、メッセージ送信側特徴のルックアップは、第2のインデックスデータ構造において実施することができる。この場合にも、データベースにおけるルックアップを、所定のルックアップ検出時間枠内のメッセージ送信側特徴の記録に限定することができる。メッセージ送信側特徴の記録は、メッセージ送信側を指示しているので、発見されたメッセージ送信側特徴の記録から、同一または類似のメッセージ内容を送信したメッセージ送信側の数を簡単に導出することができる。特定されたメッセージ送信側の数が、所定の閾値を超えている場合には、その内容が、ボットネットから発生したスパム内容または悪意のある内容であることを、ある程度の確率で仮定することが可能である。
【0015】
所定の閾値は、事前に設定しておくこと、または動的に調整することができる。所定の閾値の調整は、選択されたルックアップ検出時間枠に基づくことができ、かつ/またはメッセージ送信側を特定すべきである特定の内容特徴に基づくことができる。閾値は、統計的有意水準にしたがって設定または調整することができる。すなわち、スパム内容または悪意のある内容を誤ってクリーンな内容であるとして分類する確率が5%未満、好ましくは1%未満になるように、閾値を設定することができる。
【0016】
前記分類するステップは、前記目下のメッセージを、疑わしいメッセージであるとしてタグ付けするプロセスと、前記内容を、疑わしい内容または悪意のある内容であるとしてブラックリストに登録するステップと、のうちの少なくとも1つをさらに含み得る。
【0017】
1つの実施形態によれば、前記方法は、前記目下のメッセージが疑わしいものであるとして分類された後に、前記目下のメッセージをブロックするステップ、前記目下のメッセージを隔離するステップ、および/または、前記目下のメッセージをAV分析に供するステップ、をさらに含み得る。前記疑わしいメッセージはクリーンであると考えられ得ると、前記AV分析が判断した場合には、前記メッセージは、意図されたメッセージ受信側にルーティングされることとなる。
【0018】
抽出された前記メッセージ送信側特徴は、前記メッセージ送信側のアドレスまたはアドレスの一部を指示することができる。したがって、抽出されたメッセージ送信側特徴を、メッセージの送信側を識別するために使用することができる。1つの変形形態によれば、抽出された前記メッセージ送信側特徴は、送信側アドレスまたは送信側アドレスの一部のハッシュ値とすることができる。
【0019】
前記メッセージ内容特徴は、メッセージの添付ファイル、メッセージの件名内容、メッセージに含まれるURLまたはURLの一部、および/または、メッセージに埋め込まれた他の内容を指示することができる。したがって、抽出されたメッセージ内容特徴を、メッセージの内容を識別するために使用することができる。1つの変形形態によれば、前記メッセージ内容特徴は、メッセージの添付ファイル、メッセージの件名内容、メッセージに含まれるURLまたはURLの一部、および/または、メッセージに埋め込まれた他の内容のハッシュ値とすることができる。
【0020】
第2の態様によれば、コンピュータデバイス(例えばメッセージングサーバ)上で実行された場合に、上述した方法を実施するためのプログラムコード部分を含む、コンピュータプログラム製品が提供される。前記コンピュータプログラム製品は、(非一時的な)コンピュータ読み出し可能な記録媒体に保存することができる。
【0021】
第3の態様によれば、疑わしい電子メッセージを検出するためのメッセージングサーバにおいて、前記メッセージングサーバは、複数のメッセージ送信側および複数のメッセージ受信側と通信する、メッセージングサーバが提供される。前記メッセージングサーバは、前記複数のメッセージ送信側から少なくとも1つのメッセージ受信側に送信された電子メッセージを受信するように構成されており、前記メッセージングサーバは、受信したそれぞれのメッセージから、少なくとも1つのメッセージ送信側特徴および少なくとも1つのメッセージ内容特徴を抽出するように構成された分析ユニットと、抽出された前記少なくとも1つのメッセージ送信側特徴および前記少なくとも1つのメッセージ内容特徴を、データベースに記録するように構成された記録ユニットと、前記データベースに記録された前記メッセージ内容特徴に基づいて、目下のメッセージに関連している可能性のある特定の内容特徴が、過去に既に記録されているかどうかを判定し、前記特定の内容特徴が既に記録されている場合に、前記データベースに記録された前記メッセージ送信側特徴に基づいて、前記特定の内容特徴に関連している可能性のあるメッセージ送信側の数をさらに特定するように構成された判定ユニットと、前記特定の内容特徴に関連している可能性のある前記メッセージ送信側の、特定された前記数が、所定の閾値を超えている場合に、前記目下のメッセージを疑わしいものであるとして分類するように構成された分類ユニットとを含む。
【0022】
前記メッセージングサーバは、抽出されたそれぞれの前記メッセージ送信側特徴および前記メッセージ内容特徴に対してデジタルタイムスタンプを供給するように構成されたタイムスタンピングユニットをさらに含み得る。
【0023】
前記メッセージングサーバは、前記データベースを保存するように構成されたデータストレージをさらに含み得る。
【0024】
前記メッセージングサーバは、単一のコンピュータデバイスとして、または上述した方法を実施するように構成された分散型の複数のコンピュータデバイスを含む1つのコンピュータシステムとして実装することができる。
【0025】
図面の簡単な説明
本明細書に記載された本開示のさらなる詳細、態様、および利点は、以下の図面から明らかになるであろう。
【図面の簡単な説明】
【0026】
【
図1】本発明の例示的な実施形態による、疑わしい電子メッセージを検出するように構成されたメッセージングサーバを図示するブロック図である。
【
図2a】本発明の例示的な実施形態による、疑わしい電子メッセージを検出する方法を図示するフローチャートである。
【
図2b】本発明の例示的な実施形態による、疑わしい電子メッセージを検出する方法を図示するフローチャートである。
【
図2c】本発明の例示的な実施形態による、疑わしい電子メッセージを検出する方法を図示するフローチャートである。
【
図3】タイムラインを示す図であり、このライムラインに基づいて、
図2の方法の応答挙動が、従来のスパムおよびマルウェア検出技術の応答挙動と比較されている。
【発明を実施するための形態】
【0027】
詳細な説明
以下の説明では、限定する目的ではなく説明する目的で、本明細書に提示する技術の完全な理解を提供するために特定の詳細を記載する。本開示の技術が、これらの特定の詳細から逸脱する他の実施形態において実施されてもよいことは、当業者には明らかであろう。
【0028】
図1は、疑わしい電子メッセージを検出するための以下に記載する技術を実施するように設計されたメッセージングサーバ1000の例示的な実施形態を、ブロック図の形態で図示する。
【0029】
スパムメッセージまたは悪意のあるメッセージである可能性が極めて高いメッセージを、以下では疑わしいメッセージと呼ぶ。送信されたメッセージの出現頻度および内容に応じて、メッセージは、スパムメッセージまたは悪意のあるメッセージであるとしてみなされる。以下にさらに説明されるように、メッセージングサーバ1000は、複数のメッセージ送信側110~110mから複数のメッセージ受信側120~120kへのメッセージフローにおける相異なるメッセージ内容の出現頻度を評価して、特定のメッセージ内容がスパムであるかどうか、および/または、悪意のあるものかどうかを推定するように設計されている。
【0030】
図1に図示されているように、メッセージングサーバ1000は、通信ネットワーク(インターネット等)の一部である複数のメッセージ送信側110~110mおよび複数のメッセージ受信側120~120kと通信する。
図1では、任意の数のメッセージ101,102,103をメッセージングサーバ1000に送信するために、m個の相異なるメッセージ送信側110~110mがネットワーク内に存在し得ることを示すことを目的として、メッセージ送信側110および110mのみが図示されていることに留意すべきである。なお、mは2以上の整数である。同様にして
図1は、メッセージ受信側120および120kのみを図示している。しかしながら、複数のメッセージ送信側110~110mによって送信されたメッセージ101,102,103を受信するために、k個の相異なるメッセージ受信側がメッセージングサーバ1000と通信し得ることは明らかである。なお、kは2以上の整数である。メッセージ送信側110~110mおよびメッセージ受信側120~120kは、それぞれポータブルユーザ端末(PDA、携帯電話、スマートフォン、ノートブック等)または固定されたコンピュータデバイスのような、電子メッセージ101,102,103を送信/受信することができる電子デバイスの形態で実現することができる。
【0031】
メッセージングサーバ1000は、メッセージ送信側110~110mから送信された電子メッセージ101,102,103を連続的に受信し、受信したメッセージ101,102,103を、意図されたメッセージ受信側120~120kにルーティングするように設計されている。したがって、複数のメッセージ送信側110~110mからメッセージングサーバ1000を介して複数のメッセージ受信側120~120kへと向かう、メッセージ101,102,103の連続的なフローが存在する。このフローは、
図1の太字の矢印で示されている。メッセージングサーバ1000は、着信メッセージ101,102,103をスパムおよび悪意のある挙動に関して分析するように構成されているので、必ずしも全ての着信メッセージ101,102,103が、意図されたメッセージ受信側120~120kにルーティングされるわけではないことは明らかである。むしろ、悪意のあるものであることが判明したメッセージ101,102,103、または明らかにスパムメッセージであるとしてみなすことができるメッセージ101,102,103は、フィルタリングされ、対応するメッセージ受信側120~120kに送信されないようにすることができる。メッセージングサーバ1000のフィルタリング挙動は、
図1の破線の矢印で示されている。
【0032】
引き続き
図1を参照しながら、メッセージングサーバ1000の構造および機能についてさらに説明する。メッセージングサーバ1000は、分析ユニット1010と、タイムスタンピングユニット1020と、記録ユニット1030と、判定ユニット1040と、分類ユニット1050と、データベース1060とを含む。メッセージングサーバ1000はさらに、第1のインターフェース1080および第2のインターフェース1090を含む。メッセージングサーバ1000は、任意選択的にセキュリティユニット1070を含み得る。
図1に図示されているように、ユニット1010~1070は、相互に通信し合っており、かつインターフェース1080および1090と通信する。
【0033】
分析ユニット1010、スタンピングユニット1020、記録ユニット1030、判定ユニット1040、分類ユニット1050、およびセキュリティユニット1070のそれぞれは、別個のソフトウェアモジュールとして、別個のハードウェアモジュールとして、または1つの組み合わせ型のソフトウェア/ハードウェアモジュールとして実装することができる。これに代えて、分析ユニット1010、タイムスタンピングユニット1020、記録ユニット1030、判定ユニット1040、および分類ユニット1050を、共通に設計された1つのソフトウェアおよび/またはハードウェアモジュールの各サブモジュールとして実装することもできる。当業者であれば、上述したユニットを、プログラムマイクロプロセッサ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、または汎用コンピュータと連携して機能するソフトウェアを使用して実装してもよいことを理解するであろう。
【0034】
第1の通信インターフェース1080は、メッセージ送信側110~110mから電子メッセージ101,102,103を受信し、受信したメッセージ101,102,103を分析ユニット1010に供給するように構成されている。さらに、第2の通信インターフェース1090は、メッセージングサーバ1000によって受信されたメッセージ101,102,103であって、かつメッセージングサーバ1000によってブロックされていないメッセージ101,102,103を、宛先のメッセージ受信側120~120kに送信するように構成されている。両方の通信インターフェース1080,1090は、一方ではメッセージ送信側110~110mとメッセージングサーバ1000との間でのメッセージの通信、他方ではメッセージ受信側120~120kとメッセージングサーバ1000との間でのメッセージの通信が、どのようにして実施されるかに応じて、無線通信インターフェース(例えば無線送信インターフェース)および/または有線通信インターフェースの形態で実装することができる。
【0035】
別の変形形態によれば、第1および第2のインターフェース1080,1090を、周囲環境(すなわちメッセージ送信側110~110mおよびメッセージ受信側120~120k)と通信するように設計された単一の共通インターフェースとして実現することも可能である。
【0036】
セキュリティユニット1070は、メッセージングサーバ1000によって受信されたそれぞれの電子メッセージ101,102,103に対してアンチウィルス分析(AV分析)を実施するように構成されたアンチウィルス分析モジュール(AV分析モジュール)を含み得る。AV分析モジュールとして、メッセージ101,102,103に対して、ブラックリストおよびホワイトリストに保存された既知の署名に基づいて署名スキャンを少なくとも実施するように設計された、市販のAV分析モジュールを使用することができる。署名マッチングに加えて、AV分析モジュールは、メッセージ101,102,103の悪意のある挙動を検出するために、ヒューリスティックアンチウィルス検出技術および/またはエミュレーション技術を実施することもできる。AV分析モジュールはさらに、悪意のある内容を含んでいることが判明したメッセージ101,102,103をフィルタリングしてブロックするように構成されている。
【0037】
セキュリティユニット1070はさらに、スパムメッセージをフィルタリングするように構成された少なくとも1つのスパムフィルタを含み得る。したがって、セキュリティユニット1070は、スパムメッセージおよび悪意のあるメッセージをブロックし、悪意のあるメッセージまたはスパムメッセージではないことが判明したメッセージのみを通過させるように構成されている。
【0038】
分析ユニット1010は、第1のインターフェース1080と通信する。分析ユニット1010は、第1のインターフェース1080から受信した着信メッセージ101,102,103を傍受し、これらの着信メッセージ101,102,103を、その内容に関して分析するように設計されている。すなわち、分析ユニット1010は、メッセージ101,102,103によって運ばれた特定の内容に関連している可能性のある少なくとも1つのメッセージ内容特徴CFを、それぞれのメッセージ101,102,103ごとに抽出するように設計されている。抽出されるメッセージ内容特徴CFは、メッセージ101,102,103の件名内容、メッセージ101,102,103に添付されたまたは埋め込まれたメッセージ内容、およびそれらの一部、のうちの少なくとも1つを指示することができる。このようなメッセージ内容は、例えばメッセージに含まれるメッセージ添付ファイルまたはURLを含み得る。
【0039】
分析ユニット1010はさらに、受信したそれぞれのメッセージ101,102,103から、メッセージ送信側特徴を追加的に抽出するように構成されている。メッセージ送信側特徴は、メッセージ101,102,103の発信元であるメッセージ送信側110~110mのアドレスまたはアドレスの一部を指示するアドレス特徴AFとすることができる。内容特徴CFおよびアドレス特徴AFは、ハッシュ値として供給することができる。例えば、内容特徴CFおよびアドレス特徴AFを、それぞれMD5ハッシュ値として供給してもよい。
【0040】
タイムスタンピングユニット1020は、それぞれのメッセージ101,102,103に対してタイムスタンプを生成して供給するように構成されている。タイムスタンプは、所定の時間精度で供給される。例えば1秒~60秒、好ましくは5秒~10秒、より好ましくは10秒の範囲の時間精度が考えられる。供給されたそれぞれのタイムスタンプは、考慮対象のメッセージ101,102,103(ひいては考慮対象のメッセージ101,102,103から抽出されたアドレス特徴AFおよび内容特徴CF)がメッセージングサーバ1000に出現した時点を指示するものである。所定のタイムスタンプ精度範囲内で受信されたメッセージに関連している可能性のある、抽出された内容特徴およびアドレス特徴には、同じタイムスタンプtsが供給される。
【0041】
記録ユニット1030は、タイムスタンピングユニット1020および分析ユニット1010と通信する。記録ユニット1030は、分析ユニット1010によって分析されたそれぞれのメッセージ101,102,103ごとに、対応するアドレス特徴AFおよび内容特徴CF、ならびに、対応するタイムスタンプtsを受信する。記録ユニット1030は、アドレス特徴および内容特徴を、対応するタイムスタンプと共にデータベース1060に記録するように構成されている。したがって、受信したそれぞれのメッセージ101,102,103ごとに、タイムスタンプtsと、内容特徴CFと、関連するアドレス特徴AFとを含む関連データ(ts,CF,AF)の一意的なセットが、データベース1060に記録される。データベースの性能を改善するために、少なくとも1つの特徴(すなわちアドレス特徴AF、内容特徴CF、またはタイムスタンプtsのいずれか)が異なっているデータセット(ts,CF,AF)だけが、データベース1060に記録される。すなわち、相異なるデータセットであって、相異なるメッセージ101,102,103から抽出されたデータセットであるが、内容特徴CF、アドレス特徴AF、およびタイムスタンプtsのセットが同一である(すなわち同じ特徴の組み合わせを有するセットが抽出された)ことが判明した、相異なるデータセットは、データベース1060に1回だけしか記録されない。相異なるメッセージ101,102,103から、同一の特徴の組み合わせを有するデータセットが抽出される可能性がないわけではないことに留意すべきである。例えば、同じメッセージ送信側110~110mから発信され、それぞれのメッセージにおいて同じメッセージ内容を運ぶニュースレターは、同一の特徴の組み合わせ(ts,CF,AV)をもたらす場合がある。
【0042】
図1に図示された1つの実装形態によれば、記録ユニット1030は、受信したアドレス特徴AF、内容特徴CF、および関連するタイムスタンプtsを、2つの別個のインデックスデータ構造に記録するように設計されている。第1のインデックスデータ構造IDX1には、タイムスタンプ付きの内容特徴(ts,CF)が記録され、その一方で、第2のインデックスデータ構造IDX2には、タイムスタンプ付きの内容特徴が、アドレス特徴(ts,CF,AF)と共に記録される。この場合にも、データベースの性能を改善するために、重複するデータセット(ts,CF)および(ts,CF,AF)は、対応するインデックスデータ構造IDX1およびIDX2に1回だけしか記録されない。以下では、このようなデータ構造の利点について
図2a~2cと併せて説明する。
【0043】
判定ユニット1040は、分析ユニット1010と通信する。判定ユニット1040は、メッセージ101,102,103から抽出された内容特徴CF(および任意選択的にアドレス特徴AF)を分析ユニット1010から受信するように構成されている。判定ユニット1040はさらに、抽出された内容特徴CFに対して生成されたタイムスタンプtsを受信することができる。判定ユニット1040はさらに、目下受信したメッセージ(例えば
図1のメッセージ101)から抽出されたそれぞれの特定の内容特徴CFごとに、この内容特徴CFが、複数の相異なるアドレス特徴AFと併せてデータベース1060に過去に既に記録されているかどうかを判定するように構成されている。データベース1060は、以前に受信したメッセージの、相関されたアドレス特徴AFおよび内容特徴CFのセットを含んでいるので、データベースのルックアップにより、特定の内容特徴CFに関連している可能性のある全ての(または少なくとも一部の)以前に記録されたアドレス特徴AFを特定することが可能となる。今度はこれらのアドレス特徴AFから、過去にその同じ特定の内容を送信したことがあるメッセージ送信側110~110mを識別することが可能となる。ボットネットからの攻撃は、短期間に複数の相異なるメッセージ送信側110~110mによって送信される大量のメッセージを特徴としているので、複数の相異なるアドレス特徴AFの特定を、短時間のルックアップ検出時間枠に限定すれば十分である。例えば現在から最後の10時間、好ましくは最後の5時間、より好ましくは最後の1時間を網羅するルックアップ検出時間枠を、予め設定しておくことができる。
【0044】
分類ユニット1050は、判定ユニット1040によって特定された相異なるアドレス特徴AFを受信し、これらのアドレス特徴AFから、特定のメッセージ内容特徴CFに関連している可能性のある相異なるメッセージ送信側110~110mの数Nを導出するように構成されている。この数が所定の閾値数を超えている場合に、分類ユニット1050は、目下のメッセージを疑わしいものとして分類する。
【0045】
ユニット1010~1060の機能について
図2a~2cのフローチャートと併せてさらに説明する。これらのフローチャートは、複数のメッセージ送信側110~110mから複数のメッセージ受信側120~120kに送信された疑わしい電子メッセージを検出する方法を図示する。
【0046】
本方法は、ステップ210(
図2a参照)で開始する。ステップ210によれば、複数のメッセージ送信側110~110mによって送信された電子メッセージ101,102,103が、インターフェース1080を介してメッセージングサーバ1000によって受信される。インターフェース1080によって受信されたそれぞれのメッセージ101,102,103は、後続するメッセージ分析のために分析ユニット1010にルーティングされる。
【0047】
後続のステップ220では、分析ユニット1010が、受信したそれぞれのメッセージ101,102,103から、これらのメッセージのメッセージ送信側特徴および内容特徴CFを抽出する。上述したように、メッセージ送信側特徴は、メッセージ送信側アドレスを指示するハッシュ値(例えばMD5ハッシュ値)とすることができる。さらに、抽出される内容特徴CFは、件名内容、および/または、メッセージに添付されたまたは埋め込まれたメッセージ内容を指示するハッシュ値(例えばMD5ハッシュ値)とすることができる。さらに、対応する内容特徴CFおよび関連するアドレス特徴AFが抽出されたそれぞれのメッセージに対して、タイムスタンピングユニット1020によってタイムスタンプtsが供給される。
【0048】
考慮対象のそれぞれのメッセージ101,102,103ごとに、抽出されたアドレス特徴AFおよび内容特徴CF、ならびに、対応するタイムスタンプtsが、記録ユニット1030に供給される。後続の第3のステップ230では、記録ユニット1030が、抽出されたアドレス特徴AFおよび内容特徴CFを、対応するタイムスタンプtsと共にデータベース1060に記録する。メッセージ101,102,103は、メッセージングサーバ1000によって連続的に受信されるので、対応するアドレス特徴AFおよび内容特徴CFは、対応するタイムスタンプtsと共にデータベース1060に連続的に記録される。したがって、時間の経過と共に、タイムスタンプ付きの多数のアドレス特徴および内容特徴を含む1つのデータセットを記録することができる。
【0049】
抽出された内容特徴CFは、判定ユニット1040にも供給される。判定ユニット1040は、目下受信したメッセージ101から抽出された新たな内容特徴CFを受信すると、この目下のメッセージ101に関連している内容特徴CFが、データベース1060に過去に、すなわち以前に受信したメッセージに関して、既に記録されているかどうかを判定することを開始する(ステップ240)。すなわち、考慮対象の内容特徴CFに関するデータベースの記録が、データベース1060内に既に存在するかどうかが判定される。判定ユニット1040は、データベース1060内に同じ内容特徴CFに関する以前の記録が存在することを発見すると、この特定の内容特徴CFに何個のメッセージ送信側110~110mが関連している可能性があるのかをさらに特定する。
【0050】
判定ステップ240については
図2bおよび2cを参照しながらさらに説明する。
図2bは、判定アルゴリズムをフローチャートの形態でより詳細に図示する。判定ユニット1040は、同じ内容特徴がデータベース1060に既に記録されているかどうかを判定するために、第1のインデックスデータ構造IDX1においてデータベースのルックアップを実施する。ボットネット攻撃は、通常、短期間に大量のメッセージ101,102,103を生成するので、一般的に、内容特徴CFのルックアップを、過去の短期間に制限すれば十分である。上述したように、メッセージを分類するために十分な統計を得るためには、ルックアップを最後の10時間、好ましくは最後の5時間、より好ましくは最後の1時間の記録に制限すれば十分であるべきである。同一の内容特徴CFが発見されなかった場合には、アルゴリズムは、この時点で終了する(ステップ246)。本方法は、後続するメッセージから導出された新しい内容特徴CFのための新たなルックアップへと進む。
【0051】
しかしながら、判定ユニット1040が同一の内容特徴の記録を発見することができた場合には、判定ユニット1040は、ステップ250(
図2c参照)へと進む。すなわち、判定ユニット1040は、考慮対象の内容特徴CFに対して、この考慮対象の内容特徴に関連している記録されたアドレス特徴AFを特定するために、データベース1060における第2のルックアップを実施する(ステップ252)。第2のルックアップは、内容特徴CFと併せてアドレス特徴AFを含んでいる第2のデータインデックス構造IDX2において実施される。この場合にも、ルックアップを、直近の過去に記録された特徴(例えば上述したように最後の数時間)に限定することができる。第2のルックアップの結果、考慮対象の内容特徴CFに関連している可能性のある相異なるアドレス特徴AFのリストが得られる。
【0052】
得られたリストは、分類ユニット1050に供給され、分類ユニット1050は、このリストに含まれているアドレス特徴AFに基づいて目下のメッセージ101を分類する。発見された相異なるアドレス特徴AFの数N(ひいては同じ内容を送信したことがあるメッセージ送信側110~110mの数)が所定の閾値N1を超えていることを、分類ユニット1050が検出した場合には(
図2cの判定253)、分類ユニット1050は、そのメッセージ101を疑わしいものとして分類し(ステップ262)、目下のメッセージ101は、さらなるアクションに供される(ステップ266)。このようなさらなるアクションは、宛先のメッセージ受信側120~120kに警告するために、疑わしいメールとしてメールにタグ付けすることを含み得る。これに代えて、目下のメッセージ101を、メッセージフローの下流に配置されたセキュリティユニット1070(
図1も参照)によってフィルタリングまたは隔離されるように特定の方法でタグ付けしてもよい。さらにこれに代えて、目下のメッセージ101をスパムとしてタグ付けしてもよい。上述したメッセージのタグ付けは、分析ユニット1010において実施することができ、分析ユニット1010は、目下のメッセージ101が疑わしいものであることが判明したことを指示する相応のフィードバック信号を受信すると(
図1の破線の矢印)、目下のメッセージ101を阻止する。
【0053】
しかしながら、発見された相異なるアドレス特徴AFの数Nが閾値N1以下である場合には、目下のメッセージ101は、クリーンであるとして分類され(
図2cのステップ264)、さらなるアクションは必要とされない。この場合には、分類ユニット1050は、目下のメッセージ101が疑わしいものではないことが判明したことを指示するフィードバック信号を、分類ユニット1010に送信することができる。次いで、目下のメッセージ101を、必須のAVチェックのためにセキュリティユニット1070にルーティングすることができるか、または宛先のメッセージ受信側120~120kに直接的にルーティングすることができる。
【0054】
上述した2段階のルックアッププロセスは、従来の検出方法の性能を著しく改善するものであるということに留意すべきである。なぜなら、目下のメッセージ101が新しいメッセージ内容を運ぶものであるか、または以前のメッセージによって既に運ばれたメッセージ内容だけを運ぶものであるかを判定するために、さほど多くのコンピュータリソースを必要としない高速ルックアップである第1のルックアップを使用することができるからである。メッセージ内容が新しい(すなわち以前のメッセージ内容とは異なる)ことが判明した場合には、目下のメッセージ101は、ボットネット攻撃の一部を形成するものではないと仮定することができ、このようにして、より高コストの第2ルックアップを実施する前にアルゴリズムを終了させることが可能となる。他方で、メッセージ内容がデータベース内に既に存在していることが判明した場合には、目下のメッセージ101がそのような攻撃の一部である可能性を排除することができず、疑わしいメッセージ(つまりスパムメッセージまたは悪意のあるメッセージ)とクリーンなメッセージとを所定の精度水準で区別するために、第2のルックアップが必要とされる。
【0055】
1つの実施形態によれば、上述した方法の精度をさらに改善するために、企業ロゴのような、信頼できるメッセージ内容特徴を含むホワイトリストを追加的に供給することができる。このような信頼できるメッセージ内容特徴は、信頼できる複数の異なるメッセージ送信側によって送信された、複数の異なるメッセージの一部である場合がある。本方法は、そのようなメッセージを送信している信頼できるメッセージ送信側の数が、所定の閾値よりも大きければ、このようなメッセージを疑わしいものとして分類してしまうだろう。このような誤った分類は、抽出されたメッセージ内容特徴を、ホワイトリストに記録されている内容特徴と比較することによって回避することが可能である。内容特徴がホワイトリストから既知である場合には、そのメッセージは、悪意のあるものとして分類されなくなる。
【0056】
図3を参照しながら、上述した検出技術の利点についてさらに説明する。
図3は、垂直方向に進行するタイムラインを含む図を図示し、t2は、特定の内容特徴CF1を運ぶスパムメッセージまたは悪意のあるメッセージが最初に現れる時点を規定する。時点t2には、内容をスパムであるとしてまたは悪意のあるものとして識別するための適切なAVパターンが利用できないので、メッセージは、クリーンであるとしてみなされる。
【0057】
t2から開始して、同じ特定の内容特徴CF1を有するメッセージを送信するメッセージ送信側110~110mの数Nが、さらに増加する。それより後の時点t1で、本方法は、特定のメッセージ内容CF1を担当しているメッセージ送信側の数が、所定の閾値を超えたことを検出する。特定の内容特徴CF1に関連している可能性のある、かなりの数の相異なるメッセージ送信側110~110mが検出されたことより、t1より後の時点で出現する全てのメッセージは、本方法によって疑わしいものであるとして分類される。
【0058】
したがって、特定の内容特徴CF1と、相異なるメッセージ送信側110~110mとの間で検出された相関に基づいて、既にt1において、新たなボットネット攻撃を検出することが可能となる。したがって、本方法によれば、悪意のあるメッセージまたはスパムメッセージの最初の出現とその検出との間の検出ギャップΔ1を、小さく保つことが可能である。本方法とは対照的に、従来のAV検出技術は、新しい脅威を検出するために、適切なAV署名の更新を待たなければならない。このような更新にはいくらかの時間がかかることがあり、悪意のあるメッセージまたはスパムメッセージの最初の出現とその検出との間の検出ギャップΔ2は、相当に大きくなってしまう(
図3参照)。
【0059】
ボットネット攻撃に対してできるだけ最良の保護が得られるように、従来のAV検出技術および/またはスパムフィルタ(
図1も参照)のような従来のセキュリティ技術と、本発明の技術とを組み合わせることができることも、上述した説明から明らかである。さらに、本発明の検出技術は、エラーおよび信頼性に対してロバストである。なぜなら、本発明の検出技術は、所定の閾値N1およびルックアップ検出時間枠(すなわち、記録された内容特徴およびアドレス特徴AFがルックアップされ、検出アルゴリズムによって考慮される期間)のような、少数の検出パラメータにしか基づいていないからである。
【0060】
本明細書に提示された技術は、特定の実施形態に関して記載されているが、当業者であれば、本発明が、本明細書に記載および例示された特定の実施形態に限定されないことを認識するであろう。本開示が例示に過ぎないことを理解するべきである。したがって、本発明は、添付の特許請求の範囲によってのみ限定されることが意図されている。