(57)【要約】【課題】スパムデータを発信する端末が、スパムデータの発信間隔を長くした場合であっても、その端末をスパム発信端末として判定することができる判定方法、判定装置、および判定プログラムを提供する。【解決手段】  各端末間で送受信されるデータパケットの送受信履歴情報を記憶し、その送受信履歴情報に基づいて、同一の前記端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価して、当該関係度合いに基づいて、データパケットの送信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアを計算し、その結果得られるスコアが所定の閾値より高い発信元端末をスパム発信端末と判定することにより、他の端末へスパムデータを発信するスパム発信端末を判定する判定方法、判定装置、及び判定プログラムとした。【選択図】図３
2010056693.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定方法であって、
各前記端末間で送受信されるデータパケットから、前記データパケットの送受信に関する送受信情報を取得する送受信情報取得工程と、
前記送受信情報取得工程により取得した前記送受信情報を各前記データパケットの送受信履歴情報として記憶する送受信履歴情報記憶工程と、
前記送受信履歴情報記憶工程により記憶した前記送受信履歴情報に基づいて、同一の前記端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価し、前記関係度合いに基づいて、前記データパケットの送信元となっている発信元端末が前記スパム発信端末であることの信頼度を示すスコアを計算するスコア計算工程と、
前記スコア計算工程により算出されたスコアが所定の閾値より高い前記発信元端末を前記スパム発信端末と判定するスパム発信端末判定工程と、
を有することを特徴とする判定方法。
【請求項２】
前記スコア計算工程は、前記発信先端末間でデータパケットの送受信が行われていた場合に、当該発信先端末間の前記関係度合いが高いと評価し、前記関係度合いが高いと評価した前記発信先端末の対が少ないほど、前記発信元端末のスコアとして高い前記スコアを算出する工程を含むことを特徴とする請求項１に記載の判定方法。
【請求項３】
前記スコア計算工程は、前記発信元端末へデータパケットを送信した前記発信先端末の数が少ないほど、前記発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とする請求項１又は請求項２に記載の判定方法。
【請求項４】
前記スコア計算工程は、前記発信先端末と前記発信元端末との間でのデータパケットの通信時間が短いほど、及び／又は、通信回数が少ないほど、前記発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とする請求項３に記載の判定方法。
【請求項５】
前記スコア計算工程は、各前記発信先端末が複数の前記発信先端末との間でデータパケットの送受信を行っていた場合、各前記発信先端末間の通信時間、及び／又は、通信回数に応じた各前記発信先端末間の関係度合いの強度値を算出し、各前記発信先端末に関する最も高い前記強度値同士の総和値が低いほど、前記発信元端末のスコアとして高い前記スコアを算出する工程を含むことを特徴とする請求項１〜４のいずれか１項に記載の判定方法。
【請求項６】
ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定装置であって、
各前記端末間で送受信されるデータパケットから、前記データパケットの送受信に関する送受信情報を取得する送受信情報取得部と、
前記送受信情報取得部により取得した送受信情報を各前記データパケットの送受信履歴情報として記憶する送受信履歴情報記憶部と、
前記送受信履歴情報記憶部に記憶した前記送受信履歴情報に基づいて、同一の前記端末から発信されたデータパケットの送信先となっている複数の各発信先端末間の関係度合いを評価し、前記関係度合いに基づいて、前記データパケットの送信元となっている発信元端末が前記スパム発信端末であることの信頼度を示すスコアを計算するスコア計算部と、
前記スコア計算部により算出されたスコアが所定の閾値より高い前記発信元端末を前記スパム発信端末と判定するスパム発信端末判定部と、
を有することを特徴とする判定装置。
【請求項７】
ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定プログラムであって、
各前記端末間で送受信されるデータパケットから、前記データパケットの送受信に関する送受信情報を取得する送受信情報取得手順と、
前記送受信情報取得手順により取得した送受信情報を各前記データパケットの送受信履歴情報として記憶する送受信履歴情報記憶手順と、
前記送受信履歴情報記憶手順により記憶した前記送受信履歴情報に基づいて、同一の前記端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価し、前記関係度合いに基づいて、前記データパケットの送信元となっている発信元端末が前記スパム発信端末であることの信頼度を示すスコアを計算するスコア計算手順と、
前記スコア計算手順により算出されたスコアが所定の閾値より高い前記発信元端末を前記スパム発信端末と判定するスパム発信端末判定手順と、
をコンピュータに実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定方法、判定装置、および判定プログラムに関するものである。
【背景技術】
【０００２】
近年、IP（Internet Protocol）電話を利用して、不要な音声メッセージ等をIP電話の加入者へ送りつける悪質業者が増加している。この業者の中には、VoIP（Voice over Internet Protocol）を広告電話等に悪用してIP電話加入者（以下、「通常ユーザ」という。）に対して広告電話をかける業者（以下、「VoIPスパマー」という。）もある。以下、VoIPスパマーにより発信される不要な音声メッセージのデータをVoIPスパムと称する。
【０００３】
このVoIPスパマーは、IP電話が同一のVoIP基盤の場合、通話料が無料なため、VoIPスパムを発信する端末をインターネット等の通信ネットワークに接続して、その端末から不特定多数の通常ユーザの端末に対して、膨大な回数にわたり無料でVoIPスパムを発信する。かかるVoIPスパムの被害から通常ユーザを守るためには、VoIPスパマーの端末を通信ネットワーク上で判定し、その端末から発信されるVoIPスパムを通常ユーザの端末へ送信させなくすることが必要である。
【０００４】
非特許文献１には、VoIPスパマーの端末を通信ネットワーク上で判定する技術が開示されている。この非特許文献１に記載の技術では、ISP（Internet Services Provider）にSIP（Session Initiation Protocol）シグナリング取得装置を導入して、図１７に示すように、SIP URI（Uniform Resource Identifier）毎の一定時間におけるINVITE数を測定することにより、各端末のコールレートを算出し、コールレートが閾値を超えた場合に、そのSIP URIが割当てられている端末がVoIPスパムを発信している端末であると判定する方式が取られている。
【０００５】
この技術では、VoIPスパマーが機械で連続的にVoIPスパムを多数のSIP URI宛に発信することを想定している。そのため、VoIPスパマーの端末が一定期間に発信するINVITE数が通常ユーザの端末に比べて多いという特徴を利用して、VoIPスパマーの端末に割当てられたSIP URIを判定している。
【０００６】
図１７に示す例では、SIP URIが「050XXXX1111」の端末のコールレートが他のSIP URIの端末に比べ非常に高く、そのコールレートが所定の閾値を超えているので、SIP URIが「050XXXX1111」の端末のユーザをVoIPスパマーであると判定している。
【０００７】
【非特許文献１】R. Schelegel, S. Niccolni, S. Tartarelli, M. Brunner, “SPam over Internet Telehoney(SPIT)Prevention Framework”, Proceedings of IEEE GLOBECOM 2006, San Francisco, USA, November 2006
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、上記非特許文献１に記載の技術では、VoIPスパマーの端末からVoIPスパムが発信される時間間隔が長い場合に、VoIPスパマーの端末のSIP URIを判定できないおそれがあった。
【０００９】
たとえば、VoIPスパマーが、非特許文献１の技術によって自身の端末のSIP URIを判定され難くするために、自身の端末からVoIPスパムを発信させる時間間隔を長くする設定を行った場合や、複数のSIP URIを用いて複数の端末からVoIPスパムの発信をラウンドロビンで行わせることによってVoIPスパムの発信を分散させ、一つの端末からVoIPスパムを発信する時間間隔を長くした場合、ボットネットを利用して、多数の端末にVoIPスパムを発信させるマルウェアを感染させ、VoIPスパムの発信間隔を長く設定して、VoIPスパムの発信を行わせた場合には、VoIPスパムの発信をしている端末のコールレートが閾値を超えないため、その端末をVoIPスパマーの端末として判定することができない。
【００１０】
本発明は、VoIPスパムを初めとする各種スパムデータを発信する端末が、スパムデータの発信間隔を長くした場合であっても、その端末をスパム発信端末として判定することができる判定方法、判定装置、および判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
そこで、請求項１に係る本発明では、ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定方法であって、各端末間で送受信されるデータパケットから、データパケットの送受信に関する送受信情報を取得する送受信情報取得工程と、送受信情報取得工程により取得した送受信情報を各データパケットの送受信履歴情報として記憶する送受信履歴情報記憶工程と、送受信履歴情報記憶工程により記憶した送受信履歴情報に基づいて、同一の端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価し、関係度合いに基づいて、データパケットの発信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアを計算するスコア計算工程と、スコア計算工程により算出されたスコアが所定の閾値より高い発信元端末をスパム発信端末と判定するスパム発信端末判定工程とを有する判定方法とした。
【００１２】
また、請求項２に係る本発明では、請求項１に記載の判定方法において、スコア計算工程は、発信先端末間でデータパケットの送受信が行われていた場合に、当該発信先端末間の関係度合いが高いと評価し、関係度合いが高いと評価した発信先端末の対が少ないほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とする。
【００１３】
また、請求項３に係る本発明では、請求項１又は請求項２に記載の判定方法において、スコア計算工程は、発信元端末へデータパケットを送信した発信先端末の数が少ないほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とする。
【００１４】
また、請求項４に係る本発明では、請求項３に記載の判定方法において、スコア計算工程は、発信先端末と発信元端末との間でのデータパケットの通信時間が短いほど、及び／又は、通信回数が少ないほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とする。
【００１５】
また、請求項５に係る本発明では、請求項１〜４のいずれか１項に記載の判定方法において、スコア計算工程は、各発信先端末が複数の発信先端末との間でデータパケットの送受信を行っていた場合、各発信先端末間の通信時間、及び／又は、通信回数に応じた各発信先端末間の関係度合いの強度値を算出し、各発信先端末に関する最も高い強度値同士の総和値が低いほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とする。
【００１６】
また、請求項６に係る本発明では、ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定装置であって、各端末間で送受信されるデータパケットから、データパケットの送受信に関する送受信情報を取得する送受信情報取得部と、送受信情報取得部により取得した送受信情報を各データパケットの送受信履歴情報として記憶する送受信履歴情報記憶部と、送受信履歴情報記憶部に記憶した送受信履歴情報に基づいて、同一の端末から発信されたデータパケットの送信先となっている複数の各発信先端末間の関係度合いを評価し、関係度合いに基づいて、データパケットの送信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアを計算するスコア計算部と、スコア計算部により算出されたスコアが所定の閾値より高い発信元端末をスパム発信端末と判定するスパム発信端末判定部とを有する判定装置とした。
【００１７】
また、請求項７に係る本発明では、ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定プログラムであって、各端末間で送受信されるデータパケットから、データパケットの送受信に関する送受信情報を取得する送受信情報取得手順と、送受信情報取得手順により取得した送受信情報を各データパケットの送受信履歴情報として記憶する送受信履歴情報記憶手順と、送受信履歴情報記憶手順により記憶した送受信履歴情報に基づいて、同一の端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価し、関係度合いに基づいて、データパケットの送信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアを計算するスコア計算手順と、スコア計算手順により算出されたスコアが所定の閾値より高い発信元端末をスパム発信端末と判定するスパム発信端末判定手順とをコンピュータに実行させる判定プログラムとした。
【発明の効果】
【００１８】
請求項１に係る本発明では、ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定方法であって、各端末間で送受信されるデータパケットから、データパケットの送受信に関する送受信情報を取得する送受信情報取得工程と、送受信情報取得工程により取得した送受信情報を各データパケットの送受信履歴情報として記憶する送受信履歴情報記憶工程と、送受信履歴情報記憶工程により記憶した送受信履歴情報に基づいて、同一の端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価し、関係度合いに基づいて、データパケットの発信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアを計算するスコア計算工程と、スコア計算工程により算出されたスコアが所定の閾値より高い発信元端末をスパム発信端末と判定するスパム発信端末判定工程とを有する判定方法としたため、スパムデータを発信する端末が、スパムデータの発信間隔を長くした場合であっても、スパム発信端末は、無作為にスパムデータの発信先端末を選択するもので、スパムデータの関係度合いまで考慮してスパムデータの発信先端末を選択することができないので、データパケットの送信先端末間の関係度合いから、スパム発信端末である可能性の高い端末を判定することができる。
【００１９】
また、請求項２に係る本発明では、請求項１に記載の判定方法において、スコア計算工程は、発信先端末間でデータパケットの送受信が行われていた場合に、当該発信先端末間の関係度合いが高いと評価し、関係度合いが高いと評価した発信先端末の対が少ないほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とするため、スパム発信端末が、スパムデータの発信間隔を長くした場合であっても、スパム発信端末は、無作為に選択した端末へスパムデータを送信するので、データパケットの送信先端末間の関係度合いが低い場合に、そのデータパケットの発信元端末がスパム発信端末である可能性が高いと判定することができる。
【００２０】
また、請求項３に係る本発明では、請求項１又は請求項２に記載の判定方法において、スコア計算工程は、発信元端末へデータパケットを送信した発信先端末の数が少ないほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とするため、スパム発信端末が、スパムデータの発信間隔を長くした場合であっても、発信先端末が発信元端末へデータパケットを送信する可能性が低いことから、データパケットの発信先端末から発信元端末へデータパケットの送信が行われていなければ、その発信元端末がスパム発信端末である可能性が高いと判断することができるので、スパムデータの発信先端末間の関係度合いが偶然に高かった場合でも、スパムデータの発信元端末をスパム発信端末ではないと、誤判定しにくい。
【００２１】
また、請求項４に係る本発明では、請求項３に記載の判定方法において、スコア計算工程は、発信先端末と発信元端末との間でのデータパケットの通信時間が短いほど、及び／又は、通信回数が少ないほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とするため、スパム発信端末が、スパムデータの発信間隔を長くした場合であっても、発信元端末と発信先端末との間でのデータパケットの通信時間や回数から、発信元端末と発信先端末との関係度合いの高さを判断することができ、発信先端末との関係度合いの低い発信元端末がスパム発信端末である可能性が高いと判定することができる。
【００２２】
また、請求項５に係る本発明では、請求項１〜４のいずれか１項に記載の判定方法において、スコア計算工程は、各発信先端末が複数の発信先端末との間でデータパケットの送受信を行っていた場合、各発信先端末間の通信時間、及び／又は、通信回数に応じた各発信先端末間の関係度合いの強度値を算出し、各発信先端末に関する最も高い強度値同士の総和値が低いほど、発信元端末のスコアとして高いスコアを算出する工程を含むことを特徴とするため、スパム発信端末でない発信元端末が多数の発信先端末にデータパケットを送信していた場合、その送発信端末の中に、発信先端末間でデータパケットの送受信をしていない端末があったとしても、他の発信先端末間の関係度合いの強度値が高ければ、その発信元端末をスパム発信端末であると誤判定しにくい。
【００２３】
また、請求項６に係る本発明では、ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定装置であって、各端末間で送受信されるデータパケットから、データパケットの送受信に関する送受信情報を取得する送受信情報取得部と、送受信情報取得部により取得した送受信情報を各データパケットの送受信履歴情報として記憶する送受信履歴情報記憶部と、送受信履歴情報記憶部に記憶した送受信履歴情報に基づいて、同一の端末から発信されたデータパケットの送信先となっている複数の各発信先端末間の関係度合いを評価し、関係度合いに基づいて、データパケットの送信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアを計算するスコア計算部と、スコア計算部により算出されたスコアが所定の閾値より高い発信元端末をスパム発信端末と判定するスパム発信端末判定部とを有する判定装置としたため、スパムデータを発信する端末が、スパムデータの発信間隔を長くした場合であっても、その端末をスパム発信端末として判定することができる。
【００２４】
また、請求項７に係る本発明では、ネットワークに接続している複数の端末の中から、他の端末へスパムデータを発信するスパム発信端末を判定する判定プログラムであって、各端末間で送受信されるデータパケットから、データパケットの送受信に関する送受信情報を取得する送受信情報取得手順と、送受信情報取得手順により取得した送受信情報を各データパケットの送受信履歴情報として記憶する送受信履歴情報記憶手順と、送受信履歴情報記憶手順により記憶した送受信履歴情報に基づいて、同一の端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価し、関係度合いに基づいて、データパケットの送信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアを計算するスコア計算手順と、スコア計算手順により算出されたスコアが所定の閾値より高い発信元端末をスパム発信端末と判定するスパム発信端末判定手順とをコンピュータに実行させる判定プログラムとしたため、スパムデータを発信する端末が、スパムデータの発信間隔を長くした場合であっても、その端末をスパム発信端末として判定することができる。
【発明を実施するための最良の形態】
【００２５】
（第１実施形態）
以下、本発明に係るスパムデータを発信する端末の判定方法、判定装置、及び判定プログラムの第１実施形態について、図面を参照して具体的に説明する。以下の説明では、インターネットに接続している複数の端末の中から、VoIP（Voice over Internet Protocol）を利用して、不特定多数の他のユーザの端末に対して、不要な音声データ（以下、「VoIPスパム」という。）を発信する端末のSIP URI（Session Initiation Protocol Uniform Resource Identifier）を判定する判定方法、同判定方法を実施する判定装置、同判定方法を実現するためにコンピュータに実行させる判定プログラムに対して、本発明を適用した場合を例に挙げて説明するが、本発明は、これに限定されるものではなく、VoIPスパム以外の任意のスパムデータを発信する端末を判定する判定方法、判定装置、及び判定プログラムに対して適用することができるものである。
【００２６】
以下、VoIPスパムを発信する端末をVoIPスパマーと称し、VoIPスパマー以外の端末を通常ユーザと称する。なお、VoIPスパマーと通常ユーザとを区別しない場合には、これらを総称して単に端末と称する。
【００２７】
図１に示すように、本実施形態に係る判定装置１は、通常ユーザ３とVoIPスパマー５とが接続されているインターネット２と、SIPサーバ４との間に接続され、インターネット２を介して、各端末間で送受信されるデータパケットを監視して、通常ユーザ３へVoIPスパムを発信するVoIPスパマー５のSIP URIを判定する。
【００２８】
このように、本実施形態に係る判定装置１は、SIPサーバ４と、通常ユーザ３やVoIPスパマー５等のSIPクライアントとの間にIn-line接続することができるので、既存のシステムに付加的に挿入することが可能である。そして、この判定装置１に特定のSIP URIから発信されたデータパケットを破棄する処理機能を設けることによって、判定したVoIPスパマー５のSIP URIから発信されたデータパケットを破棄させ、VoIPスパマー５から発信されるVoIPスパムを通常ユーザ３に受信させなくすることができる。
【００２９】
インターネット２に接続されている通常ユーザ３及びVoIPスパマー５は、いずれもIP電話機能を備えた装置であり、SIPサーバ４は、ある端末から発信されたデータパケットに含まれる各種データに基づいて、そのデータパケットの発信元の端末と発信先の端末との接続に関する各種処理を実行する装置である。なお、以下、データパケットの発信元の端末を発信元端末、発信先の端末を発信先端末という。
【００３０】
本実施形態の判定装置１は、各ユーザ間の通話履歴に基づいて、その端末がVoIPスパマー５であることの信頼度を示すスコア（指標）を各端末のSIP URI毎に計算し、その結果得られるスコアが所定の閾値より高い端末をVoIPスパマー５であると判定するように構成している。スコアの具体的な算出方法については、後に詳述する。
【００３１】
この判定装置１は、図２の右下部に示すように、各端末がVoIPスパマー５であるか否かを判定するためのテーブルを備えている。本実施形態では、このテーブルに示すように、端末のスコアが０〜２９の範囲内であれば、その端末を通常ユーザ３、端末のスコアが３０〜７９の範囲内であれば、その端末をVoIPスパマー５であるか否かが疑わしい端末、端末のスコアが８０〜１００の範囲内であれば、その端末をVoIPスパマー５と判定する。
【００３２】
そして、この判定装置１は、図２の右上部に示すように、各端末のSIP URIと、その端末のスコアと、その端末が通常ユーザ３なのか、VoIPスパマー５であるか否かが疑わしい端末なのか、VoIPスパマー５なのかを示すアラートとを、所定の表示装置に表示させる。
【００３３】
特に、この判定装置１では、各端末の通話履歴に基づいて、同一の端末から発信されたデータパケットの各発信先端末間の関係度合いを評価して、その関係度合いが強いほど高い値をとるクラスター係数を求め、このクラスター計数を用いて、発信元端末のスコアを計算し、このスコアを用いて発信元端末がVoIPスパマー５であるか否かを判定することによって、VoIPスパマー５がVoIPスパムを発信する時間間隔を長くした場合であっても、その端末を的確にVoIPスパマー５であると判定可能としている。
【００３４】
すなわち、VoIPスパマー５は、無作為に選択したSIP URIの端末に対して、VoIPスパムを発信するため、VoIPスパムの発信先として選択された複数の発信先端末の各ユーザ間には、知人関係等の人間関係がない可能性が高い。一方、通常ユーザ３であれば、データパケットを発信する際、発信先端末として知人等の人間関係があるユーザの端末を選択するので、発信先端末の各ユーザ間には知人等の人間関係がある可能性が高い。そのため、発信先端末のユーザ間に人間関係が存在していれば、そのユーザ間で過去にデータパケットの送受信が行われている可能性も高くなる。
【００３５】
この特徴を利用して、本実施形態の判定装置１では、各端末の通話履歴であるデータパケットの送受信に関する履歴情報から、同一の端末から発信されたデータパケットの発信先端末間における関係度合いを示すクラスター計数を求め、そのクラスター計数を用いて、データパケットの発信元端末がVoIPスパマー５である信頼度を示すスコアを計算し、その結果得られるスコアが所定の閾値より高い場合に、その送信元端末をVoIPスパマー５と判定するように構成している。
【００３６】
上記のように、VoIPスパマー５は、無作為にVoIPスパムの発信先端末を選択するので、VoIPスパムの発信先端末のユーザ間に関する人間関係までを考慮してVoIPスパムを発信することができない。この判定装置１では、このVoIPスパマー５が介入することが困難な、VoIPスパムの発信先端末間における関係度合いを考慮して、データパケットの発信元端末がVoIPスパマー５であるか否かを判定するので、データパケットの発信元端末がVoIPスパマー５であるか否かを的確に判定することができる。
【００３７】
ここで、判定装置１が各端末のスコアを計算する際に用いるクラスター係数について、図３を参照して説明する。図３に示す「●」はデータパケットの発信元端末を、「○」はデータパケットの発信先端末を、「−」は発信元端末と発信先端末との間のリンクを表している。ここでリンクとは、発信元端末から発信先端末へ過去にデータパケットが発信されたことを表している。
【００３８】
図３に示すように、発信先端末間にリンクが存在していた場合、それら発信先端末のユーザ間に知人関係等の人間関係があると考えられ、その発信元端末が通常ユーザ３であると判定することができる。一方、発信元端末と発信先端末との間にはリンクが存在するが、発信先端末間には存在しない場合、発信先端末のユーザ間に人間関係がないと考えられ、その発信元端末はVoIPスパマー５と判定することができる。この場合、クラスター係数は、通常ユーザ３の方がVoIPスパマー５よりも高い数値をとる。
【００３９】
クラスター係数は、発信元端末と、その発信元端末との間でリンクが構成されたことのある２つ発信先端末とによって構成される三角形によって求められる。クラスター係数を求めたいユーザｘと、任意の発信先端末y、zで三角形が構成されるかどうかは、ユーザx、y間にリンクが存在するかどうかをLxyとした場合に、
【００４０】
【数１】
2010056693.tif 000003
【００４１】
という数式１を用いて表すことができる。ここで、Δは、スコア算出対象となる発信元端末のユーザxと、その発信元端末が過去にデータパケットを発信した発信先端末のうちの２つの端末のユーザy、zとの関係を考えた場合に、これらユーザx、y、zの間に、共通の知人関係等という人間関係が存在するか否かを表している。
【００４２】
本実施形態では、２者間で通話が行われたことを知人であるとしている。上記式１におけるLxyは、ユーザx、y間で過去に通話が行われていたか否かを表す。ユーザx、y間で通話が行われていた場合、Lxy＝１、通話が行われていなかった場合、Lxy＝０となる。Lyz、Lzxについても同様の意味を表す。
【００４３】
これら、Lxy、Lyz、Lzxを掛け合わせた値がΔとなる。すなわち、このΔは、ユーザxとユーザyとの間に、過去に通話履歴があり、且つ、ユーザyとユーザzとの間に、過去に通話履歴があり、且つ、ユーザzとユーザxとの間に、過去に通話履歴があった場合に、Δ＝１となる。ここで、ユーザy、zは、ユーザxの過去の通話履歴から選択された発信先端末であるため、Lxy、Lzxの値は常に１となる。このΔにおいては、発信先端末同士であるユーザyとユーザzとの間に過去に通話履歴があったか否かが重要となる。
【００４４】
つまり、ユーザyとユーザzとの間に過去に通話履歴があったということは、ユーザx、y、zの間には、共通の知人関係等といった所定の人間関係が存在するということになる。そして、ユーザxに関して、Δ＝１となるユーザｙ、xの組み合わせの数が多いほど、ユーザxが過去に人間関係に沿ったデータパケットの発信を行っていたということになり、そのユーザxの端末がVoIPスパマー５である可能性が低いと判定することができる。
【００４５】
本実施形態におけるクラスター係数は、このΔ＝１となるユーザy、zの組み合わせの多さを表している。ここで、クラスター係数Cxを算出する具体的な計算方法について説明する。
【００４６】
クラスター係数Cxを求める際には、まず、上記Δの総和であるNΔを求める。このNΔは、クラスター係数Cxの算出対象となるユーザxの端末（発信元端末）がリンク先の端末（発信元端末との間にリンクが存在する発信先端末）と構成する三角形の総和を表す。このNΔは、
【００４７】
【数２】
2010056693.tif 000004
【００４８】
という数式２を用いて表すことができる。そして、ユーザxの端末が過去にデータパケットを発信した全ての発信先端末の数をｋとしたとき、ユーザxの端末のクラスター係数Cxは、
【００４９】
【数３】
2010056693.tif 000005
【００５０】
という数式３で表すことができる。このクラスター係数は、ユーザxの端末と、このユーザxの端末が過去にデータパケットを発信した全ての発信先端末とで、リンクによる三角形が構成されたと仮定した場合に、その三角形の数中に、実際に構成された三角形が何個存在したかを表している。
【００５１】
そのため、全ての発信先端末のユーザ間に人間関係が全くない場合には、クラスター係数Cx＝０となり、発信先端末のユーザ間に人間関係が十分ある場合には、クラスター係数は、「１」に近くなる。このクラスター係数Cxは、上記のように発信元端末の過去の通信履歴により決定されるものであり、発信先端末のSIP URIを無作為に選択するVoIPスパマー５からは、意図的に変更することができない。本実施形態の判定装置１では、このクラスター係数Cxを用いて、発信元端末のスコアを算出する。
【００５２】
本実施形態では、スコアをScとした場合、Sc＝100−100×Cxという式によりスコアScを算出する。なお、スコアScを算出する方法は、これに限定するものではなく、クラスター係数Cxを用いて、発信元端末がVoIPスパマー５であることの信頼度の高さを求めることができる方法であれば、他の任意の方法により求めてもよい。たとえば、ベイジアンネットワークを利用して、クラスター係数Cxの値からVoIPスパマー５である確率を算出し、その確率を100倍したものをスコアScとして用いてもよい。
【００５３】
そして、判定装置１は、上記のようにして算出した発信元端末のスコアScと予め決定した閾値とを比較し、この閾値よりも高いスコアScの発信元端末をVoIPスパマー５と判定する。この閾値は、複数のVoIPスパマー５のサンプルを用意し、そのサンプルのスコアScの平均値とする。
【００５４】
なお、この閾値の決定方法についても、上記方法に限定するものではなく、スコアScから精度よくVoIPスパマー５を判定できるものであれば、他の任意の決定方法により決定してもよい。たとえば、通常ユーザ３のサンプルを用意し、そのサンプルのスコアScの標準偏差を求め、この標準偏差から閾値を求めてもよい。また、閾値として、「80」等、経験則から所定の値を閾値として固定してもよい。
【００５５】
そして、本実施形態では、こうして算出したスコアSc及び閾値を用いて、通常ユーザ３に対して、VoIPスパム対策を目的としたサービスを提供するようにしている。ここで、本実施形態により提供可能なサービスの一例について図４を参照して説明する。
【００５６】
サービス（１）
本実施形態によれば、図４に示すように、スコア情報を利用した迷惑電話ふりわけサービスを提供することができる。このサービス（１）は、予め通常ユーザ３に、VoIPスパムだけを振り分けて着信させる留守番電話（留守電）６を設け、判定装置１によりVoIPスパムと判定されたデータパケットをこの留守電に着信させる。これにより、VoIPスパムが送りつけられても通常ユーザ３の着信音が鳴らないので、通常ユーザ３をVoIPスパムの被害から守ることができる。
【００５７】
サービス（２）
また、本実施形態によれば、図４に示すように、スコア提供サービスを提供することができる。このサービス（２）では、通常ユーザ３にVoIPスパマー５を判断させるためのスコアの範囲を予め設定しておく。判定装置１は、通常ユーザ３へ発信されたデータパケットのシグナリング情報中に、そのデータパケットの発信元端末のスコアScを挿入する。そして、通常ユーザ３は、受信したシグナリング情報に挿入された発信元端末のスコアScと、予め設定されたスコアの範囲とから、VoIPスパムと判定した場合に、着信を拒否する。
【００５８】
ここでは、シグナリング情報に挿入されているスコアScが0〜29の範囲内であれば着信を許可し、スコアScが30〜100の範囲内であった場合に着信を拒否するように設定している。なお、この通常ユーザ３に設定するスコアScの範囲は、各ユーザが任意に設定変更可能に構成する。
【００５９】
次に、本実施形態における判定装置１の具体的構成について、図５を参照して説明する。図５は、判定装置１の構成を示す機能ブロック図である。この図５に示すように、判定装置１は、パケット処理部１００と、制御部１１０と、記憶部１２０とを備えている。
【００６０】
パケット処理部１００は、発信元端末から発信先端末へ送信されるデータパケットの内容を監視する。パケット監視部１０１と、パケット監視部１０１の監視結果に基づいて、データパケットからスコアScの算出に必要な特定の情報を抽出して取得するパケット情報取得部１０２とを備えている。これらパケット監視部１０１及びパケット取得部１０２は、制御部１１０により所定の判定プログラムが実行されることによって、所定の動作を行う。
【００６１】
パケット監視部１０１は、スコアScを求めるために必要なユーザ統計情報を抽出するためのSIPパケットが来るかどうかを監視する。SIPパケットは、INVITE、BYE、CANCEL、200OK、である。
【００６２】
パケット情報取得部１０２は、パケット監視部１０１によりSIPパケットが来たことが検知されると、そのSIPパケットを取得して、後述のユーザ統計情報抽出部１１１へ送信する。
【００６３】
制御部１１０は、CPU（Central Processing Unit）とROM（Read Only Memory）とRAM（Random Access Memory）とを備えたコンピュータにより構成しており、CPUがROMに記憶している判定プログラムを読み出して、RAMを作業領域として使用し実行することによって、パケット情報取得部１０２から受信したSIPパケットから、データパケットの送受信に関するユーザ統計情報を抽出して取得するユーザ統計情報抽出部１１１、スコアScを算出するスコア計算部１１２、各SIP URIに対応する発信元端末のスコアScに基づいて、その発信元端末がVoIPスパマー５であるか否かを判定するVoIPスパマー判定部１１３等として機能する。
【００６４】
ユーザ統計情報抽出部１１１は、パケット情報取得部１０２から受信したSIPパケットのSIPヘッダ、IPヘッダ、の情報を参考にユーザ統計情報を抽出する。そして、このユーザ統計情報抽出部１１１は、ユーザ統計情報を抽出する際、SIPパケットのSIPヘッダのFrom URI、To URI、Method、Call_ID、Status Code、Reason Phrase、Cseqとパケット取得時間（時刻）とから、後述のコールテーブルにおける各項目（発信元、発信先、Call_ID、通話開始時間（時刻）、通話終了時間（時刻））を抽出する。なおユーザ統計情報抽出部１１１は、それ以外のSIPパケットではユーザ統計情報を抽出しない。
【００６５】
本実施形態では、発信元のINVITEに対する200OKが発信元から返ってきた時間（時刻）を通話開始時間（時刻）としている。このとき、ユーザ統計情報抽出部１１１は、発信元、発信先、Call_ID、通話開始時間（時刻）をコールテーブルに書き込む。また、ユーザ統計情報抽出部１１１は、BYEが送られてきた場合には、そのCall_ID、発信元、発信先に対応するデータをコールテーブルから探し（発信元、発信先はコールテーブルのデータと逆になっている場合がある。）、そのBYEが届いた時間（時刻）を通話終了時間（時刻）として書き込む。
【００６６】
また、ユーザ統計情報抽出部１１１は、CANCELが送られてきた場合には、その発信先、発信元、Call_IDに対応するコールテーブルのデータに、CANCELが届いた時間（時刻）を通話開始時間（時刻）、通話終了時間（時刻）として書き込む。
【００６７】
そして、ユーザ統計情報抽出部１１１は、このコールテーブルを基にして、後に詳述するユーザ間コールテーブルを作成する。ユーザ間コールテーブルは、発信元、発信先のペアでユニークなものである。ユーザ統計情報抽出部１１１は、コールテーブルの発信元、発信先と同じペアを、ユーザ間コールテーブルから探し、そのレコードを更新する。同じペアがない場合、ユーザ統計情報抽出部１１１は、新たに、そのペアをユーザ間コールテーブルに作成する。
【００６８】
また、ユーザ統計情報抽出部１１１は、コールテーブルの通話開始時間（時刻）、通側終了時間（時刻）、発信元と発信先との間の通話時間を求め、ユーザ間コールテーブルにその通話時間と、通話回数に加え、総通話時間を更新する。なお、スコアScを算出するためのユーザ間コールテーブルのために、コールテーブル相当のものを端末のメモリ上で一時的に保持し、直接ユーザ間コールテーブルに書き込んでもよい。
【００６９】
スコア計算部１１２は、各発信元端末のSIP URI毎に、上記式１を用いてΔを算出した後、上記式２を用いてΔの総和であるNΔを算出し、その後、上記式３を用いて、スコアScを算出して、その結果得られるスコアScを後述のユーザスコア情報記憶部１２２に記憶させる。
【００７０】
このスコア計算部１１２が算出するΔは、前述のように、スコアの算出対象の端末とその発信先端末のうち２つの発信先との人間関係の程度を表すものである。ここで、Δの算出方法の具体的一例を説明する。
【００７１】
スコア計算部１１２は、スコアの算出対象の端末に関する全ての発信先端末の中から、２つの発信先端末を選択してΔを算出する。このとき、スコア計算部１１２は、全ての２つの発信先端末の組み合わせ分計算する。
【００７２】
たとえば、ある発信元端末xがスコアの算出対象、a、b、c、dが端末xの発信先端末とすると、これらの全ての組み合わせは、（x,a,b）、（x,a,c）、（x,a,d）、（x,b,a）、（x,b,c）、（x,b,d）、（x,c,a）、（x,c,b）、（x,c,d）、（x,d,a）、（x,d,b）、（x,d,c）となる。そして、スコア計算部１１２は、これら全ての組み合わせについてΔを計算する。なお、（x,a,b）、（x,b,a）など順序を入れ替えれば同じ組み合わせとなる組み合わせに関しては、計算手順を少なくするために、（x,b,a）のΔは、（x,a,b）のΔの結果を用いてもよい。Lxyは、ユーザ間コールテーブルの発信元x、発信先y、もしくは、発信元y、発信先xというレコードがあれば１となり、なければ０となる。
【００７３】
VoIPスパマー判定部１１３は、予め設定された閾値と、スコア計算部１１２により計算したスコアScとを比較して、閾値以上のスコアScに対応する端末のSIP URIをVoIPスパマー５と判定する。そして、このVoIPスパマー判定部１１３は、VoIPスパマー５と判定した端末のSIP URIを後述のVoIPスパマー記憶部１２４に書き込んで記憶させる。
【００７４】
記憶部１２０は、ユーザ統計情報記憶部１２１と、ユーザスコア情報記憶部１２２と、スコア閾値記憶部１２３と、VoIPスパマー記憶部１２４とを備えている。この記憶部１２０は、大容量の不揮発性メモリにより構成している。
【００７５】
ユーザ統計情報記憶部１２１は、図６（ａ）に示すコールテーブルと、図６（ｂ）に示すユーザ間コールテーブルとを記憶している。図６（ａ）に示すように、コールテーブルは、発信元として、各発信元端末のSIP URI、その発信元端末からデータパケットが発信された発信先として、発信先端末のSIP URI、そのときの通話におけるCall_ID、そのときの通話における通話開始時刻、そのときの通話における通話終了時刻がそれぞれ記憶されている。
【００７６】
また、ユーザ間コールテーブルには、発信元端末のSIP URIと、そのSIP URIから発信されたデータパケットの発信先端末のSIP URIとが対（ペア）で記憶されており、各発信元端末と発信先端末との間で行われた通話の総通話時間と、総通話回数とが記憶されている。
【００７７】
ユーザスコア情報記憶部１２２には、スコア計算部１１２により算出された各発信元端末のスコアScが各発信元端末のSIP URIに対応して記憶されている。また、スコア閾値記憶部１２３には、スコアScと比較する前述した閾値が記憶されている。
【００７８】
VoIPスパマー記憶部１２４には、VoIPスパマー判定部１１３によりVoIPスパマー５と判定された発信元端末のSIP URIが記憶されている。
【００７９】
次に、制御部１１０のCPUが本実施形態に係る判定プログラムを実行する際の情報処理について説明する。まず、ユーザ統計情報を抽出する際に、制御部１１０で実行されるユーザ統計情報の抽出フロー（１）について説明する。
【００８０】
判定装置１により、ユーザ統計情報の抽出を行う際に、制御部１１０では、図７に示すように、パケット処理部１００にパケットを取得させる処理が実行され（ステップS100）、その後、取得したパケットがINVITE、BYE、CANCEL、200OKか否かの判断が行われる（ステップS101）。
【００８１】
そして、制御部１１０では、取得したパケットがINVITE、BYE、CANCEL、200OKであると判断された場合（ステップS101：Yes）、ユーザ統計情報抽出部１１１にSIPヘッダとパケットの取得時間（時刻）からユーザ統計情報を抽出させる処理が実行され、取得したパケットがINVITE、BYE、CANCEL、200OKでないと判断された場合（ステップS101：No）、処理が終了される。
【００８２】
そして、制御部１１０では、ステップS102で抽出されたユーザ統計情報を記憶部１２０のユーザ統計情報記憶部１２１に記憶させる。このとき、ユーザ統計情報における発信元（発信元端末のSIP URI）、発信先（発信先端末のSIP URI）、Call_ID、通話開始時間（時刻）、通話終了時間（時刻）をコールテーブルに書き込ませる処理が実行される（ステップS103）。
【００８３】
その後、制御部１１０では、ユーザ統計情報記憶部１２１へ、コールテーブルを利用して、ユーザ間コールテーブルの発信元、発信先、総通話時間、総通話回数を上書きさせる処理が実行され、処理が終了される。
【００８４】
ここでは、コールテーブルとユーザ間コールテーブルとがいずれも記憶部１２０に記憶されている場合について説明したが、コールテーブルとユーザ間コールテーブルとを判定装置１の記憶部１２０とは別体のデータベースに記憶可能に構成した場合には、コールテーブルの作成と、ユーザ間コールテーブルとを、それぞれ別々の処理フローにより作成することができる。
【００８５】
この場合、制御部１１０では、図８に示すユーザ統計情報の抽出フロー（２）に示す処理が実行される。このユーザ統計情報の抽出フロー（２）に示す処理が開始されると、制御部１１０では、ステップS200〜ステップS203の処理が実行されて、コールテーブルが作成される。また、制御部１１０では、図８に示すステップS204の処理が実行されて、ユーザ間コールテーブルが作成される。このステップS200〜ステップS203で実行される処理は、図７に示したステップS100〜ステップS103で実行される処理と同一の処理であり、ステップＳ204で実行される処理は、図７で示したステップS104で実行される処理と同一の処理であるため、ここでは、その説明を省略する。
【００８６】
次に、判定装置１がオフラインでスコアScを算出し、その結果得られるスコアScからVoIPスパマー５を判定する際に、制御部１１０実行される処理について、図９を参照して説明する。このオフラインでのスコアScの算出を開始するタイミングは、１日ごと、２日ごと等、任意のタイミングで設定したタイミングで算出することができるように構成している。
【００８７】
オフラインでスコアScを算出する際、制御部１１０では、図９に示すように、まず、ユーザ間コールテーブルからスコア算出対象のk（スコア算出対象の発信元端末が過去に通話した発信先端末の数）を計算する処理を行う（ステップS300）。このとき、スコア算出対象の端末のSIP URIは、全てのSIP URIや、前回のスコアSc算出時より10回以上発信を行っている端末のSIP URI等、任意の条件で設定できるように構成している。
【００８８】
その後、制御部１１０では、ユーザ間コールテーブルからΔを計算させる処理が実行される（ステップS301）。このΔを計算させる処理については、後に図１０を参照して具体的に説明する。
【００８９】
次に、制御部１１０では、ステップS300で計算したkと、ステップS301で計算したΔとからクラスター係数Cxを計算させる処理が実行される（ステップS303）。この処理では、前述した式３を用いて計算される。
【００９０】
次に、制御部１１０では、ステップS303で計算したクラスター係数CxからスコアScを計算させる処理が実行される（ステップS304）。ここでは、前述のように、Sc＝100−100×Cxという式を用いて計算される。
【００９１】
次に、制御部１１０では、ステップS303で計算したスコアScと、スコア閾値記憶部１２３に記憶している閾値とを比較して、スコアScが閾値以上のユーザのSIP URIをVoIPスパマー５と判定する処理が行われ（ステップS304）、その後、ステップS304でVoIPスパマー５と判定されたSIP URIをVoIPスパマー記憶部１２４に書き込ませる処理が実行された後（ステップS305）、処理が終了される。
【００９２】
次に、図９に示したフローチャートのステップS301で実行されるΔの算出処理を行うことによって、Δを算出する際の具体的一例について説明する。ここでは、判定装置１が図１０の右表に示すようなユーザ間コールテーブルが記憶されている場合に、Δを算出する際の一例について説明する。
【００９３】
Δを求める際には、まず、ユーザ間コールテーブルを参照して、スコア算出対象の端末xの過去の発信先を調べる。ここで端末xのSIP URIが050-XXXX-5697であった場合、発信先端末のSIP URIは、050-XXXX-1111、050-XXXX-2222、050-XXXX-3333、050-XXXX-4444、050-XXXX-5555となる。
【００９４】
次に、発信先の中からyとして未選択のyを選ぶ。このとき、上記４つの発信先の中からyを選択する。ここでは、発信先端末のyとして、SIP URIが050-XXXX-1111の端末を選んだとする。
【００９５】
次に、発信先の中から、zとして未選択のzを選ぶ。このとき、zはyと異なるSIP URIの端末を選択する。ここでは、他の発信先端末のzとして、SIP URIが050-XXXX-2222の端末を選んだとする。この場合、ユーザ間コールテーブルからy-z間で過去に通話が行われていることが分かるため、このx、y、zでの組み合わせでΔ≠０となる。
【００９６】
次に、x、yは前回と同じままで、zとして未選択のzを選ぶ。ここでzとしてSIP URIが050-XXXX-3333の端末を選んだとする。この場合、ユーザ間コールテーブルからy-z間で過去に通話が行われていないことが分かるため、Δ＝０となる。その後、ｚの選択を繰り返し行う。
【００９７】
そして、未選択のｚがなくなれば、次に未選択のyを選び、yを固定したまま、同様に未選択のzを選んでΔの計算を繰り返す。SIP URIが050-XXXX-5697の端末の発信先の５つの端末について、全ての組み合わせでΔを求める。
【００９８】
ここで、上記のように全ての組み合わせでΔを求める際に、制御部１１０で実行されるΔの算出処理について、図１０の左フローチャートを参照して具体的に説明する。判定装置１でΔを算出する際に、制御部１１０では、図１０に示すように、まず、Δの算出対象となるユーザxの過去の発信先をユーザ間コールテーブルから調べさせる処理が実行される（ステップS400）。
【００９９】
続いて、制御部１１０では、未選択の発信先yがあるか否かが判定され（ステップS401）、未選択の発信先yがあると判断された場合（ステップS401：Yes）、その発信先の中から一つの発信先yを選ぶ処理が実行され（ステップS402）、未選択の発信先yがないと判断された場合（ステップS401：No）、処理が終了される。
【０１００】
ステップS402において一つの発信先yが選択されると、制御部１１０では、ユーザ間コールテーブルから未選択の発信先zがあるか否かが判断され（ステップS403）、未選択の発信先zがあると判断された場合（ステップS403：Yes）、未選択の発信先zから一つの発信先zを選択する処理が実行され（ステップS404）、未選択の発信先がないと判断された場合（ステップS403：No）、処理がステップS401へ移行する。
【０１０１】
ステップS404において一つの発信先zが選択されると、x、y、zのΔを算出させる処理が実行される（ステップS405）。このとき、前述の式１を用いてΔが算出され、その後、処理がステップS403へ移行する。
【０１０２】
また、本実施形態の判定装置１では、図９のフローチャートを用いて説明したオフライン処理によるスコアScの算出及びVoIPスパマー５の判定に関する処理をオンライン時のリアルタイム処理として実行することもできるように構成している。
【０１０３】
このリアルタイム処理は、ユーザ統計情報を取得しつつスコアScを計算する処理である。本実施形態では、INVITEを取得したときに、そのINVITEの発信元端末に関して、前回スコアScを計算した時点から、その端末が規定回数（例えば、１０回）発信していた場合に、その端末のスコアScを計算する。なお、スコアScの計算については、判定装置１がINVITEを取得する度に毎回行うように構成してもよい。
【０１０４】
次に、スコアScの算出及びVoIPスパマー５の判定に関するリアルタイム処理について、図１１を参照して説明する。このリアルタイム処理において、制御部１１０では、図１１に示すように、まず、パケット処理部１００にパケットを取得させるパケット処理が実行され（ステップS500）、その後、ステップS500で取得したパケットからユーザ統計情報を抽出する処理が実行される（ステップS501）。
【０１０５】
その後、制御部１１０では、ステップS501で抽出したパケットがINVITEか否かの判断が行われ（ステップS502）、INVITEでないと判断された場合（ステップS502：No）、処理が終了され、INVITEであると判断された場合（ステップS502：Yes）、INVITEを送った端末のSIP URIを抽出する処理が実行される（ステップS503）。
【０１０６】
その後、制御部１１０では、ステップS503で抽出したSIP URIの端末に関して、前回スコアScを計算したときから、その端末が規定回数発信を行ったか否かが判断され（ステップS504）、規定回数発信を行っていないと判断された場合（ステップS504：No）、処理が終了され、規定回数発信を行ったと判断された場合（ステップS504：Yes）、INVITEを送ったSIP URIのスコアScを計算する処理が実行される（ステップS505）。なお、ステップS504における規定回数については、任意の回数を設定可能に構成している。
【０１０７】
そして、制御部１１０では、ステップS505で算出したスコアScをユーザスコア情報記憶部１２２に書き込みを行わせる処理が実行され（ステップS506）、次に、そのスコアScが閾値以上であるか否かが判断される（ステップS507）。
【０１０８】
ここで、制御部１１０により、スコアScが閾値未満であると判断された場合（ステップS507：No）、処理が終了される。一方、制御部１１０では、スコアScが閾値以上であると判断された場合（ステップS507：Yes）、そのスコアScに対応するSIP URIをVoIPスパマー５を行うユーザのSIP URIと判定して（ステップS508）、そのSIP URIをVoIPスパマー記憶部１２４に書き込ませる処理が実行され（ステップS509）、その後、処理が終了される。
【０１０９】
上記のように、第１実施形態の判定装置１では、インターネット２等の通信ネットワークに接続している複数の端末の中から、他の端末へスパムデータ（たとえば、VoIPスパム）を発信するスパム発信端末（VoIPスパマー５）を判定する際に、各端末間で送受信されるデータパケットから、そのデータパケットの送受信に関する送受信情報（たとえば、INVITE等）を取得し、当該取得した送受信情報を各データパケットの送受信履歴情報（たとえば、ユーザ統計情報）としてユーザ統計情報記憶部１２１に記憶させる。
【０１１０】
そして、判定装置１では、記憶した送受信履歴情報に基づいて、同一の前記端末から発信されたデータパケットの発信先となっている複数の各発信先端末間の関係度合いを評価し、その関係度合いに基づいて、データパケットの送信元となっている発信元端末がスパム発信端末であることの信頼度を示すスコアScを計算する。
【０１１１】
その後、判定装置１では、計算した発信元端末のスコアScと、予め設定した所定の閾値とを比較して、スコアScが所定の閾値より高い、又は、閾値以上の発信元端末をスパム発信端末と判定する。
【０１１２】
このように、本実施形態の判定装置１では、VoIPスパマー５がVoIPスパムの発信先端末としてランダムに選択した発信先端末のユーザ間に人間関係が存在する可能性が低いことに着目し、過去にデータパケットを発信した発信元端末の中で、データパケットの発信先端末間の関係度合いが低い場合に、その発信元端末をVoIPスパマー５である可能性が高いと判定するので、仮に、VoIPスパマー５がVoIPスパムの発信間隔を長く設定した場合であっても、精度よくVoIPスパマー５を特定することができる。
【０１１３】
さらに、この判定装置１では、各端末のスコアScを計算する際に、発信先端末間でデータパケットの送受信が行われていた場合に、当該発信先端末間の前記関係度合いが高いと評価し、関係度合いが高いと評価した発信先端末の対が少ないほど、発信元端末のスコアScとして高いスコアScを算出する。つまり、この判定装置１では、発信先端末間で行われた通信履歴に基づいて、発信先端末のユーザ間の人間関係を間接的に評価している。
【０１１４】
VoIPスパマー５は、VoIPスパムの発信先端末のユーザに関する人間関係までを考慮してVoIPスパムを発信することができない。本実施形態の判定装置１では、このようにVoIPスパマー５が介入することのできない発信先端末のユーザ間における人間関係を評価して、人間関係がないと評価したユーザの端末へデータパケットを発信し続けている発信元端末をVoIPスパマー５と判定するため、VoIPスパマー５がVoIPスパムの発信タイミングを変更しても、的確にそのVoIPスパマー５を判定することができる。
【０１１５】
（第２実施形態）
次に、本発明の第２実施形態について説明する。第２実施形態では、VoIPスパマー５と通常ユーザ３とのクラスター係数を拡張して、両クラスター係数の間に、より大きな差を生じさせてスコアの差を大きくすることによって、VoIPスパマー５の誤判定や、VoIPスパマー５の特定漏れを防止するVoIPスパマー５の判定方法について説明する。なお、以下の説明において、第１実施形態と同様のものには、同一の符号を付して説明する。
【０１１６】
VoIPスパマー５が無作為に選択した不特定多数の発信先端末へVoIPスパムを発信した場合であっても、その宛先（SIP URI）によっては、偶然にVoIPスパマー５と２つの発信先端末によって、リンクの三角形が構成されることが予想される。
【０１１７】
この場合、偶然に構成されたリンクによる三角形の数が多いと、実際にはVoIPスパムを発信しているにもかかわらず、その端末を通常ユーザ３と誤判定する可能性もある。そこで、この第２実施形態では、VoIPスパマー５が２つの発信先端末とリンクによる三角形を構成しても、その三角形がクラスター係数をあまり大きくしないように、リンクによる三角形に強度の違いを設ける。
【０１１８】
三角形に設ける強度は、三角形を構成する格端末のユーザ間における人間関係の強さを表すために用いる。これは、VoIPスパマー５は、発信先端末からデータパケットを受信する可能性が低く、また、VoIPスパムは、不要な内容の音声データであるため通話時間が短いという特徴があり、これらのことから、VoIPスパマー５と通常ユーザ３とでは、三角形を構成する発信先端末との間の人間関係に差が生じると考えられるからである。
【０１１９】
図１２に、強度の異なる三角形と、その三角形におけるスコア算出対象の発信元端末に関するクラスター係数とを示している。
【０１２０】
図１２では、スコア算出対象の発信元端末を「●」、この発信元端末が過去にデータパケットを発信した発信先端末を「○」で示しており、第１実施形態のクラスター係数をCx、第２実施形態における拡張したクラスタ係数をCx´で示している。いずれのクラスター係数Cx、Cx´も、その数値が１に近いほど、発信元端末が通常ユーザ３である可能性が高いことを示している。
【０１２１】
図１２のVoIPスパマーの欄に示すように、発信元端末がVoIPスパマー５であり、その２つの発信先端末間に偶然にリンクが存在していた場合、すなわち、VoIPスパムを受信した端末のユーザ同士が、たまたま知人同士であった場合、第１実施形態の方法では、発信元端末と２つの発信先端末とによって三角形が構成されているため、VoIPスパマー５を通常ユーザ３であると誤判定するおそれがある。
【０１２２】
そのため、第２実施形態では、３つの端末でリンクによる三角形が構成されている場合に、スコア算出対象の発信元端末が、発信先端末からデータパケットを受信したことがあれば、その三角形の強度が高く、データパケットを受信したことがなければ、その三角形の強度が低いと評価する。
【０１２３】
図１２に示す例では、スコア算出対象の端末が通常ユーザ３の三角形の場合は、発信元端末が発信先端末から受信も行っているので、三角形の強度が高く、クラスター係数Cx´も最大の１と高い値をとっている。
【０１２４】
一方、スコア算出対象の端末がVoIPスパマー５の三角形の場合は、発信元端末が発信先端末から受信をしたことがないので、三角形の強度が低く、クラスター係数Cx´も０．１と低い値をとっている。
【０１２５】
リンクの方向性は、発信元端末と発信先端末とで決める。第１実施形態では、ユーザx、y間のリンクをLxyとしていたのを、第２実施形態では、ユーザxからユーザyへのリンクをLxyと、ユーザyからユーザxへのリンクをLyxとに分けるようにしている。
【０１２６】
具体的には、第１実施形態では、リンクの有無をLxyが「１」か「０」かであらわしていたものを、第２実施形態では、ユーザxからユーザyへのリンクの重みをWxyとし、０〜１で表す。リンクの重みは、各端末間の総通話時間によって決定する。
【０１２７】
本実施形態では、総通話時間が0〜60secのときはWxy＝0.1、60〜120secのときはWxy＝0.2、・・・、総通話時間が600sec以上のときはWxy＝1.0というように、通話時間を区切ってWxyを決定する。なお、リンクの重みWxyに関しては、各端末間の総通話回数によって決定してもよい。また、スコア算出対象の発信元端末が受信した方向での通話に重みを起きたい場合、その重みWyxに係数α（1、2、・・・）をかける。この場合、2以上の値を選択する。
【０１２８】
すなわち、受信によるリンクを重視するため、Wyx、Wzxにαの係数（α≧１）を儲け、通常ユーザ３とVoIPスパマー５とで、リンクによる三角形の強度に差を生じさせる。リンクの方向性、重みを導入後のΔ´は、
【０１２９】
【数４】
2010056693.tif 000006
【０１３０】
という数式４により算出する。
【０１３１】
また、このΔ´を用いて拡張したクラスター係数Cx´は、
【０１３２】
【数５】
2010056693.tif 000007
【０１３３】
という数式５により算出する。そして、このようにして算出したクラスター係数Cx´を用いて、第１実施形態と同様の式により各端末のスコアScを算出し、スコアScが所定の閾値を超えた端末をVoIPスパマー５と判定する。
【０１３４】
上記のように、第２実施形態におけるVoIPスパマー５の判定方法では、スコアScを算出する際に、発信元端末へデータパケットを送信した発信先端末の数が少ないほど、発信元端末のスコアとして高いスコアを算出するようにしている。すなわち、発信元端末と発信先端末とのユーザ間の人間関係に基づいて、VoIPスパマー５を判定している。
【０１３５】
これにより、VoIPスパマー５からVoIPスパムを受信した発信先端末のユーザ間に、偶然に人間関係があったとしても、VoIPスパマー５と発信先端末とのユーザ間に人間関係が存在する可能性が低いと判断した場合には、その発信元端末をVoIPスパマー５であると的確に判定することができる。
【０１３６】
また、第２実施形態におけるVoIPスパマー５の判定方法では、発信先端末と発信元端末との間でのデータパケットの通信時間が短いほど、及び／又は、通信回数が少ないほど、発信元端末と発信先端末との間のリンクが弱いと判定して、発信元端末のスコアとして高いスコアを算出する。
【０１３７】
これにより、VoIPスパマー５からVoIPスパムを受信した発信先端末間に、偶然にリンクが存在した場合であっても、そのリンクが弱ければ、その発信元端末をVoIPスパマー５であると的確に判定することができる。
【０１３８】
（第３実施形態）
次に、本発明の第３実施形態について説明する。ここでも、第１実施形態と同様のものには、同一の符号を付して説明する。上記した第１実施形態においてクラスター係数Cxを求める式（式３）では、数式の特性上、通常ユーザ３であっても多くの発信先端末へ発信するほどクラスター係数が小さくなる傾向がある。
【０１３９】
そのため、上記した式３を用いた場合、クラスター係数が最大の1.0の値をとるためには、全ての発信先端末間にリンクが存在していなければならない。発信先端末のユーザ同士に知合い関係等の人間関係があった場合であっても、それらの発信先端末間にリンクが存在しないことが想定される。
【０１４０】
そのため、第３実施形態では、スコアScを算出際に用いるNΔと、Cxをさらに拡張し、その拡張したNΔ´´とCx´´とを用いてスコアScを算出して、VoIPスパマー５を判定する。第１実施形態のクラスター係数Cxは、スコア算出対象の端末がリンク先の端末と構成する三角形の数をカウントし、正規化には、全てのリンク先の端末間にリンクが存在した場合のリンクによる三角形の数を用いていた。
【０１４１】
これに対して、第３実施形態では、スコア算出対象の端末のリンク先となった発信先端末のうち、いくつの発信先端末がリンクによる三角形を構成するかに着目し、クラスター係数Cx´´を求める式の分子は、各リンク先の発信先端末が構成する三角形のうちの最も強度が高い三角形の強度の和とする。リンクによる三角形が構成されない発信先端末の最も強度が高い三角形の強度は「0」となる。また、正規化するためには、リンク先の端末数を用いる。
【０１４２】
これにより、たとえば、図１３の右部分に示すように、スコア算出対象の端末（図１３中に示す「●」）が、リンク先の発信先端末（図１３中に示す「○」）とリンクにより構成する三角形の数が、図１３左部分に示すスコア算出対象の端末より少なくても、リンク先の発信先端末と１つでもリンクによる三角形を構成している状態であれば、クラスター係数Cx´´が1.0になる。
【０１４３】
スコアSc算出対象の端末が、一つの発信先端末と、他の複数の発信先端末とによって、リンクによる複数の三角形を構成していた場合、その中で、最も強度の高い三角形を選択して、スコアSc算出対象の端末が、前述の一つの発信先端末と構成するリンクによる三角形とする。第３実施形態のCx´´は、
【０１４４】
【数６】
2010056693.tif 000008
【０１４５】
という数式６により算出する。そして、このようにして算出したクラスター係数Cx´´を用いて、第１実施形態と同様の式により各端末のスコアScを算出し、スコアScが所定の閾値を超えた端末をVoIPスパマー５と判定する。
【０１４６】
第１実施形態に記載したクラスター係数Cxを用いた場合、通常ユーザ３であっても、発信した発信先端末の数が増えると、クラスター係数Cxが小さくなり、非常に小さくなった場合、VoIPスパマー５と誤判定される可能性がある。
【０１４７】
クラスター係数Cxが小さくなる理由は、第１実施形態の場合、スコア算出対象の端末について、全ての発信先端末同士間で通話が行われていないと、クラスター係数Cxが発信先端末数の２乗に反比例して小さくなるためである。
【０１４８】
スコア算出対象の端末が通常ユーザ３であっても、発信先端末数が非常に多い場合には、それら全ての発信先端末同士において通話が行われている可能性は低い。しかし、発信先端末同士全てにおいて通話が行われてはいないが、１つか２つの発信先端末となら通話がなされている可能性は高い。
【０１４９】
そのため、第３実施形態では、その点を考慮し、発信先端末のうち、いくつの端末がスコア算出対象の端末とリンクによる三角形を構成するかを求めることによって、発信先端末数が多い通常ユーザ３のクラスター係数Cx´´が小さくなることを防止して、通常ユーザ３をVoIPスパマー５であると判定する誤判定の発生を抑制している。
【０１５０】
ここで、第３実施形態におけるクラスター係数Cx´´の算出手順の一例について、図１４を参照して説明する。図１４では、クラスター係数を求める端末に符号１、この端末の発信先でクラスター係数を求める複数の端末にそれぞれ符号２、３、４、５、６を付しており、「●」は、クラスター係数Cx´´を求めるユーザ、「○」は、クラスター係数Cx´´を求めるユーザの発信先を示している。図１４において、符号１の端末のユーザをx、符号２の端末のユーザをyとすると、ユーザｚの候補は他のユーザ（符号３〜６の端末）となる。
【０１５１】
クラスター係数Cx´´を計算する際に、このzを符号３〜６の端末に順次代えた場合、各組み合わせの三角形のうち、最も強度の高い三角形を選択する。このとき、ユーザx、yの端末は固定し、ユーザzの端末を入れ替えた場合の組み合わせは、各端末に付した符号で表すと（1,2,3）、（1,2,4）、（1,2,5）、（1,2,6）となる。
【０１５２】
この中から最も三角形におけるリンクの強度が高い三角形を選択することが、式６におけるΣの中の意味である。強度は、式６におけるmaxの中の式で求められる。例えば、１−２間、１−４間、２−４間の通話時間が、他のユーザ間との通話時間よりも非常に長かった場合、（1,2,4）の組み合わせが選択される。これにより、符号２の端末にとっての、リンクの強度が最も高い三角形が求められ、式の和として求められる。
【０１５３】
次は、ユーザyを符号３の端末とした場合に、zを符号２、４、５、６の端末に代えて、同様にリンクの強度が最も高い三角形を選択する。また、同様にyを４、５、６の端末とした場合についても、それぞれのyについて、リンクの強度が最も高い三角形を選択する。
【０１５４】
符号５の端末のように、リンクによる三角形が構成されない端末の場合、つまり符号５の端末は、他の発信先端末と通話を行っていない場合は、全てのzにおいて、リンクの強度Wyz、Wzyが「０」なので、リンクの強度が最も高い三角形の強度は「０」となる。
【０１５５】
符号２、３、４、５、６の端末のそれぞれについて、リンクの強度が最大の三角形が選択されれば、拡張したクラスター係数Cx´´を求めることができる。そして、こうして算出したクラスター係数Cx´´を用いて、第１実施形態と同様の式により各端末のスコアScを算出し、スコアScが所定の閾値を超えた端末をVoIPスパマー５と判定する。
【０１５６】
上記のように、第３実施形態におけるVoIPスパマー５の判定方法では、スコアScを算出する際に、各発信先端末が複数の発信先端末との間でデータパケットの送受信を行っていた場合、各発信先端末間の通信時間、及び／又は、通信回数に応じた各発信先端末間の関係度合いの強度値を算出し、各発信先端末に関する最も高い前記強度値同士の総和値が低いほど、発信元端末のスコアとして高い前記スコアを算出する。
【０１５７】
これにより、スコア算出対象の通常ユーザ３が、非常に多くの発信先端末と過去に通話していた場合、いくつかの発信先端末間で過去に通話が行われていなくても、それ以外の発信先端末間で通話が行われ、その通話による発信先端末間のリンクの強度が高かった場合には、クラスター係数Cx´´が小さくならず、スコアScが低くなるので、その通常ユーザ３を誤ってVoIPスパマー５と判定し難くなる。
【０１５８】
上記した第１〜第３実施形態では、図１に示したように、通常ユーザ３とVoIPスパマー５とが接続されているインターネット２と、SIPサーバ４との間に判定装置１を接続して、各端末間で送受信されるデータパケットを監視し、通常ユーザ３へVoIPスパムを発信するVoIPスパマー５のSIP URIを判定する場合を例に挙げて説明したが、判定装置１の接続位置はこれに限定するものではない。
【０１５９】
例えば、図１５に示すように、本実施形態の判定装置１は、インターネット２において、SIPサーバ４と、通常ユーザ３やVoIPスパマー５等のSIPクライアントとの中間にTAP７等のターミナルアダプタを介して、Out-line接続することもできる。このように判定装置１をOut-line接続する場合においても、既存のシステムに付加的に判定装置１を接続することができる。
【０１６０】
また、本実施形態に係るVoIPスパマー５の判定方法を実現するためには、必ずしも判定装置１を設ける必要はなく、たとえば、図１６に示すように、既存のSIPサーバ４の内部に、本実施形態に係るVoIPスパマー５の判定方法をコンピュータに実現させるVoIPスパマー５のSIP URI判定プログラム（ソフト）８を組み込むことによっても実現することができる。
【０１６１】
かかる構成とする場合、VoIPスパマー５のSIP URI判定プログラム８は、SIPサーバ用ソフトとは別のプロセスとして動作させる。そして、SIPサーバ４は、このVoIPスパマー５のSIP URI判定プログラム８を実行して、ネットワークインターフェース９から、データパケットを取得する。
【０１６２】
このように、SIPサーバ４内に、SIPサーバ用ソフトとは別のプロセスで動作するVoIPスパマー５のSIP URI判定プログラム８を設けることによって、VoIPスパマー５のSIP URIを特定した際に、SIPサーバ用ソフトにより実行中の対象となるプロセスにおいて、そのユーザからのデータパケットを破棄する処理を即座に通知できるので、VoIPスパマー５から発信されるVoIPスパムを通常ユーザ３に受信させなくすることができる。
【図面の簡単な説明】
【０１６３】
【図１】第１実施形態に係る判定装置の接続形態を示す説明図である。
【図２】第１実施形態に係る判定方法を示す説明図である。
【図３】第１実施形態に係るクラスター係数の説明図である。
【図４】第１実施形態に係るスコアの利用法の一例を示す説明図である。
【図５】第１実施形態に係る判定装置の構成を示す機能ブロック図である。
【図６】コールテーブル及びユーザ間コールテーブルの説明図である。
【図７】第１実施形態に係る判定装置の制御部で実行される処理を示すフローチャートである。
【図８】第１実施形態に係る判定装置の制御部で実行される処理を示すフローチャートである。
【図９】第１実施形態に係る判定装置の制御部で実行される処理を示すフローチャートである。
【図１０】第１実施形態に係る判定装置の制御部で実行される処理を示すフローチャートである。
【図１１】第１実施形態に係る判定装置の制御部で実行される処理を示すフローチャートである。
【図１２】第２実施形態に係るクラスター係数の説明図である。
【図１３】第３実施形態に係るクラスター係数の説明図である。
【図１４】第３実施形態に係るクラスター係数の説明図である。
【図１５】判定装置の接続形態の変形例を示す説明図である。
【図１６】判定プログラムの実装態様を示す説明図である。
【図１７】従来の判定方法の説明図である。
【符号の説明】
【０１６４】
１  判定装置
２  インターネット
３  通常ユーザ
４  SIPサーバ
５  VoIPスパマー
１００  パケット処理部
１０１  パケット監視部
１０２  パケット情報取得部
１１０  制御部
１１１  ユーザ統計情報抽出部
１１２  スコア計算部
１１３  VoIPスパマー判定部
１２０  記憶部
１２１  ユーザ統計情報記憶部
１２２  ユーザスコア情報記憶部
１２３  スコア閾値記憶部
１２４  VoIPスパマー記憶部
【図１】
2010056693.tif 000009
【図２】
2010056693.tif 000010
【図３】
2010056693.tif 000011
【図４】
2010056693.tif 000012
【図５】
2010056693.tif 000013
【図６】
2010056693.tif 000014
【図７】
2010056693.tif 000015
【図８】
2010056693.tif 000016
【図９】
2010056693.tif 000017
【図１０】
2010056693.tif 000018
【図１１】
2010056693.tif 000019
【図１２】
2010056693.tif 000020
【図１３】
2010056693.tif 000021
【図１４】
2010056693.tif 000022
【図１５】
2010056693.tif 000023
【図１６】
2010056693.tif 000024
【図１７】
2010056693.tif 000025