説明

SIPベースのアプリケーションを保護する方法

【課題】実装が容易な手段を用いて特に高度なセキュリティが実現可能な、SIP(セッション開始プロトコル)ベースのアプリケーションを保護する方法を提供する。
【解決手段】SIPメッセージを解析し、SIPベースのアプリケーションに対するセキュリティリスクとなる可能性のある悪意のあるSIPメッセージを識別する。本方法によれば、所定数N個の設定可能パラメータすなわちアイデンティティをSIPメッセージから抽出し、各SIPメッセージについて、上記アイデンティティを、過去のSIPメッセージから抽出したアイデンティティと比較し、それに基づいて、各SIPメッセージに対する悪意レベルMLを評価する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SIP(セッション開始プロトコル)ベースのアプリケーションを保護する方法に関する。本方法によれば、SIPメッセージが解析され、SIPベースのアプリケーションにとってセキュリティリスクとなり得る悪意のあるSIPメッセージが識別される。
【背景技術】
【0002】
セッション開始プロトコル(SIP)は、2以上の参加者間でセッションを確立するための標準化されたネットワークプロトコルである。SIPは、多くのメーカの装置でサポートされ、近年はボイスオーバーIP(VoIP)のための広く用いられるプロトコルに発展している。SIPのアプリケーションはインターネット電話に限定されず、多様なデータストリームに対して通信セッションを確立することができる。SIPは通信セッションの確立を行うだけであり、実際の通信データの交換は、セッション記述プロトコル(SDP)、リアルタイムトランスポートプロトコル(RTP)等の他のプロトコルにより実行される。
【0003】
SIPは、実装容易性、スケーラビリティ、拡張性およびフレキシビリティの点で有利であるが、アプリケーションのセキュリティおよびアイデンティティ管理に関してはかなり弱い。悪意のあるユーザがSIPベースのシステムに対するセキュリティ攻撃を行う目的で安全でない情報を取得し得るという点に、セキュリティリスクが存在する。現在、SIPベースのアプリケーションにセキュリティ関連機能を追加するために、セキュリティのプロトコルおよびアプリケーションの完全なセットを標準化する作業がIETFで行われている。しかし、たとえこれらの作業が成功したとしても、このような標準は、悪意のあるユーザが適当な知識で破ることができないような100%のセキュリティをもたらすものではない。
【0004】
安全なアイデンティティ管理に関しては、たとえこのような標準が利用可能となっても、SIPアイデンティティを開示しようとするSIPサービスプロバイダが将来必ず現れるであろう。このような不十分なアイデンティティ管理のもとでは、悪意のあるユーザが多数のSIPアイデンティティを取得し、それに基づいてSIPベースのシステムに対するセキュリティ攻撃を行うというセキュリティ脅威が存在する。
【0005】
以下で、本質的に重要な2種類のセキュリティ攻撃について詳細に検討する。第1のものは、サービスを妨害あるいは中断することを目的とした攻撃であり、DoS(サービス拒否)攻撃として知られている。第2のものは、インターネット電話においてSPIT(IP電話スパム、Spam over Internet Telephony)として知られているソーシャル攻撃である。SPITの脅威は、電子メールトラフィックにおいてスパムとして知られている脅威に相当し、ただ異なるのは、不要なメッセージが電話の形式で配信されることである。実際には、これにより、広告メッセージだけを含む電話が数百回もかかってきたり、常に呼出音が鳴るということが起こり得る。インターネット電話の急速な発展と普及を背景として、電話の世界でもDoS攻撃およびSPITが拡大することを懸念せざるを得ない。
【0006】
DoS攻撃を防ぐために現在利用可能な技術は主として、ダイアログおよびトランザクションのSIPプロトコルの厳格な構文解析(パーシング)に基づくものであり、これにより、プロトコルにおいて、サービスの中断を引き起こし得るような不整合を見つける。SIP構文からの逸脱が検出されたメッセージは破棄される。
【0007】
SIPベースのアプリケーションをDoS攻撃から保護する他の方法としては、システム過負荷がサービスの中断を引き起こし得ることに基づき、SIPトラフィックをSIPメッセージに許容される最大レートに制限し、それによりSIPシステムの過負荷を防ごうとするものがある。
【0008】
SPIT攻撃を防ぐために現在利用可能な技術は主として、ホワイトリスト、ブラックリスト、およびコンテンツフィルタリングに基づくものである。音声電話のコンテンツフィルタリングは、発呼者が人間であるか機械であるかを判定することを目的とした一種のチューリングテストによって実行される。他の最近提案されている方法では、ユーザ間のソーシャルネットワークや、バディリストを用いたフレンド関係も考慮に入れている。
【発明の開示】
【発明が解決しようとする課題】
【0009】
上記のアイデンティティ管理に関して、既知の方法にはいくつかの欠点もある。例えば、電子メールシステムは、電子メールメッセージのヘッダ内にある送信者の送信元IPアドレスによって送信者を識別しようとする。この情報に基づいて、電子メールシステムはDNSチェックを実行する。悪意のある送信者が真のIPアドレスあるいはドメイン名を入力していないと、既知のシステムは正しく照合ができず問題となる。ただ、このような解析は、本発明が問題にしているリアルタイム通信の場合には、異なる時間スケールで動作するので、いずれにしても適用可能でない。例えば、電子メールアプリケーションはリアルタイムアプリケーションではないが、VoIPは、リアルタイムアプリケーションであるので、DNS名のチェックが終わるまで待つことはできない。また、トラフィック特性も全く異なる。というのは、多数の電子メールメッセージの同時送信は、悪意のある行動とみなすことはできず、通常の利用法であるからである。これに対して、このトラフィック特性は、SIPベースのアプリケーションの場合には、悪意の可能性が極めて高いとみなすべきである。したがって、電子メールの世界で知られているようなセキュリティおよびアイデンティティ管理の方法は、いずれにしても、SIPベースのアプリケーションに転用することができない。
【課題を解決するための手段】
【0010】
そこで、本発明は、上記のようなSIPベースのアプリケーションを保護する方法において、実装の容易な手段により非常に高度なセキュリティを実現する方法を提供するという課題を解決しようとするものである。
【0011】
本発明によれば、上記の課題は請求項1に記載の特徴を備えた方法によって解決される。本発明により実現される方法では、常に所定数N個の設定可能パラメータ(アイデンティティ)をSIPメッセージから抽出し、各SIPメッセージについてそのアイデンティティを過去のSIPメッセージから抽出したアイデンティティと比較し、それに基づいて各SIPメッセージに対し悪意性の尺度(悪意レベルML(maliciousness level))を評価する。
【0012】
本発明により認識されたこととして、多くの異なるアイデンティティを考慮に入れた広範囲の解析の機会を設けることにより、SIPベースのアプリケーションに対する特に高度なセキュリティを実現することができる。本発明によれば、まず、所定数N個の設定可能パラメータ(以下「アイデンティティ」という)を抽出する。本発明によれば、次に、各SIPメッセージのアイデンティティを過去のSIPメッセージから抽出したアイデンティティと比較することにより、各SIPメッセージに対する悪意レベルMLを評価する。本発明による方法では、SIPトランザクションのセキュリティに関連する複数の側面を考慮することができ、これにより、例えばSIPメッセージの構文のような側面を単独で考慮する既知の方法に比べて、セキュリティが大幅に改善される。すなわち、重要な点は、単一のパラメータのみをチェックするのではなく、さらに(N−1)個のパラメータがチェックに含まれることである。したがって、本発明による方法は、特定のトラフィック特性に関して前述した問題点を解決する。というのは、そうしたトラフィック特性は、本発明により広範囲に実行されるように構成されたチェックに含まれるからである。
【0013】
また、本発明による方法では、基本的には比較演算を実行するだけでよく、これは特殊なハードウェアをほとんど必要としないので、実装が容易である。さらに、本発明による方法は、非常に容易かつ柔軟に、解析すべきさまざまな環境に合わせることができる。例えば、セキュリティが最も優先される重要データについてのSIPトランザクションの場合、Nを大きく選ぶことができる。すなわち、悪意のあるSIPアプリケーションの識別を多様な側面から実行することができる。これに対して、セキュリティがそのように優先的な問題ではない場合や、セキュリティチェックに利用可能なリソースが非常に限られている場合には、Nを小さく選ぶことができる。
【0014】
具体的には、解析および識別は、例えば、セッションボーダーコントローラ(SBC)、アプリケーション層ファイアウォール、プロキシサーバ、バックツーバックユーザエージェント、あるいはクライアント等で実行できる。
【0015】
抽出したアイデンティティは、一方ではユーザ固有のパラメータとし、他方では装置固有のパラメータとすることができる。特に有利な態様として、メッセージ送信側のSIP URI(Uniform Resource Identifier)がアイデンティティとして抽出される。SIP URIは一般に、「user@domain」の形式を有し、最も意味のあるアイデンティティであるので、抽出するアイデンティティのセットにこれを常に含めると有利であると考えられる。これに加えて(またはこの代わりに)、MACアドレス、ホスト識別プロトコル(HIP, host identity protocol)識別子、SIP Viaヘッダフィールド値、SIP Contactヘッダフィールド値、あるいは、送信側のIPアドレスやポートを含むSDPプロトコルヘッダフィールド値を抽出してもよい。この列挙は完全ではなく、他のパラメータを抽出してもよいことはいうまでもない。
【0016】
抽出したパラメータの値の保存は簡明である。すなわち、常に、抽出した値に対して実行した変換の結果が、アイデンティティとして用いられる。特に有利な態様として、変換は、ハッシュ関数の適用とすることができる。
【0017】
特に好ましい実施形態においては、N次元超空間を構成する。ここでN次元空間は、与えられたアイデンティティによって張られる。すると、特に簡明な態様では、抽出したアイデンティティを超空間内のそれぞれの軸で表すことにより、各SIPメッセージを超空間内の1点として表現できる。ここで点は、対応するSIPメッセージから抽出した所定のN個のアイデンティティの値からなるN次元タプルを意味する。
【0018】
利用可能な情報をできるだけ包括的かつ効率的に用いることに関して、n番目のメッセージの悪意レベルは、超空間内に表された過去のメッセージの点の関数fとして決定できる。nは、メッセージの到着時間順序を表すプレースホルダである。すなわち、n番目のメッセージの悪意レベルMLを定義するために、1番目、2番目、...、(n−1)番目のメッセージから抽出した、過去に得られた情報を用いることができる。
【0019】
長期間にわたり多数の到着メッセージを自動的に、すなわちオペレータの介入なしに解析するためには、必要な記憶容量に限度があるので、所定期間後に超空間から挿入順に従って点を消去するのが有利である。その場合、n番目のメッセージの悪意レベルMLを評価するために利用可能であるのは、もはやメッセージ1,2,...,n−1ではなく、メッセージi,i+1,...,n−1(1≦i<n)のみである。点が超空間に保存されている期間は設定可能なパラメータであり、事前に設定してもよく、あるいは、解析中に、好ましくはデータレートを考慮して、それぞれの現在の具体的状況に合わせて動的に調整してもよい。
【0020】
関数fは、比較の結果、n番目の点、すなわちn番目のメッセージの点の少なくとも1つのアイデンティティが、挿入された点の少なくとも1つのアイデンティティと一致する場合に、n番目のメッセージに対する悪意レベルMLがゼロとは異なるように選択できる。また、関数fは、挿入された点のうち、その少なくとも1つのアイデンティティがn番目のメッセージの点の対応するアイデンティティと一致するような点の個数が多くなるほど、n番目のメッセージの悪意レベルMLが上昇するという特性を有することが可能である。また、関数fは、挿入された点のうちの1つとn番目のメッセージの点との間で一致するアイデンティティの個数が多いほど、n番目のメッセージの悪意レベルMLが上昇するという特性を有することが可能である。
【0021】
特定のアイデンティティの場合、2つの値が一致するか相違するかを知るだけでなく、さらにアイデンティティの正確な値を知ることが重要な場合がある。SIPアイデンティティは、このような場合の一例となる。例えば、SIP ID_1=user1@domain1、SIP ID_2=user2@domain1およびSIP ID_3=user3@domain2というアイデンティティを見れば、これらはすべて互いに異なるが、セキュリティ技術の点からは、メッセージが、異なるドメインの同一ユーザから発信されているか、それとも同一ドメインの異なるユーザから発信されているかで違いがある。
【0022】
悪意レベルMLを評価する際にこれらの相違点を考慮に入れるために、距離の概念の導入が有益かつ有利である。その場合、悪意レベルMLは、N次元超空間内の点の間の所定の距離の和として計算できる。上記の例において、SIP ID_1とSIP ID_2の間の距離dist(ID_1;ID_2)には、SIP ID_1とSIP ID_3の間の距離dist(ID_1;ID_3)とは別の値を割り当てることができる。個々の距離の具体的な値は、解析の前に決めることができる。別法として、個々の距離の具体的な値は、それぞれの状況に合わせて動的に調整することも可能である。
【0023】
N次元アイデンティティを効率的に保存するには、ハッシュテーブルを用いた実装が可能である。ハッシュテーブルによれば、一方で一致するエントリを素早く見出し、他方で保存の複雑さを制限することができる。具体的には、例えば、各アイデンティティごとに1つのハッシュテーブルを用いることができる。ハッシュテーブルのキー列にそれぞれのアイデンティティの対応するハッシュ値を保存し、アイデンティティのセット(Nタプル)をエントリとして保存することができる。
【0024】
メモリに関する複雑さをさらに最適化するため、ハッシュテーブルに、いわゆる「共通エントリ」を設けることができる。この場合、ハッシュテーブルのキー列には、対応するアイデンティティのそれぞれのハッシュ値を順に保存するが、共通のアイデンティティのセット(Nタプル)へのポインタのみをエントリとして保存する。これにより、メモリに関する複雑さをさらに大幅に低減することができる。
【0025】
効率をさらに向上させるには、構文的に正しいSIPメッセージのみを解析するのが特に有利である。このためには、当技術分野で知られているような、構文解析(パーシング)を事前に実行し、疑わしい特徴を示さずに構文解析に合格したSIPメッセージのみを解析する。
【0026】
悪意レベルMLに対していくつかの閾値を設定し、それらの閾値を超過した場合に、SIPメッセージを悪意があると分類することができる。有利な態様として、フレキシビリティを最適にするため、閾値を動的に更新することができる。具体的には、閾値は、時間的に動的に更新するとよい。というのは、そうすることにより、ピーク時のデータトラフィックパターンが、夜間に観測されるようなデータトラフィックパターンとは明確に異なるという事実を考慮に入れることができるからである。動的更新は、その時までに実行した解析の効率に関して得られた値に基づいて実行することも可能である。例えば、特定の攻撃がシステムのクラッシュを引き起こした場合に、すなわち、このような攻撃からシステムをより良く保護するために、値zにより定義される閾値は引き下げられると考えられる。
【0027】
システムを保護するためには、悪意があると識別されたSIPメッセージがアラームを発生させ、あるいはブロックされることが可能である。また、アラームの発生は、悪意のあるメッセージをその発信元までトレースバックするためのトリガとして用いることも可能である。このためには、長時間にわたる悪意のある挙動を識別する後処理アルゴリズムを適用することができる。このような方式の簡単な実装として、悪意のある送信者を、そのSIP URI、そのIPアドレス等により識別することが考えられる。識別の実行後、悪意のあるユーザは、そのユーザから発信されるすべてのトラフィックをブロックすることによって、被保護システムへのアクセスから(一時的に)ブロックされることが可能である。
【0028】
有利な構成として、2個以上の閾値を設定し、それぞれの閾値の超過が異なる結果を有するようにすることができる。例えば、第1の低い閾値を超過した場合、送信者は、被保護システムへのアクセスを許可されるためには追加的テストに合格しなければならないとすることができる。第2の高い閾値を超過した場合にのみ、アクセスのブロックを引き起こす。この場合、一時的制限だけでなく、アクセスを最終的にブロックすることも可能である。
【0029】
本発明を有利な態様で構成し実施するためのいくつかの選択肢がある。これに関しては、一方で請求項1に従属する請求項を参照し、他方で本発明によるSIPアプリケーションを保護する方法の好ましい実施例に関する以下の説明を参照されたい。好ましい実施例および図面の説明においては、一般的に本発明の好ましい実施形態および改良形態も説明される。
【発明を実施するための最良の形態】
【0030】
図1は、本発明による方法の基本的機能を示す概略図である。ネットワーク(雲のように示す)を通じてSIPトランザクションにより通信する3個のSIPクライアント1が示されている。悪意のあるユーザ2の攻撃からSIPベースのアプリケーションを保護するため、所定数N個(N>1)の設定可能パラメータ(いわゆるアイデンティティ)を、SIPクライアント1が相互にあるいは外部と交換したSIPメッセージから抽出する。
【0031】
各SIPメッセージについて、そのアイデンティティを、過去に交換したSIPメッセージから抽出したアイデンティティと比較する。次に、各SIPメッセージについて、実行した比較結果に基づいて、悪意レベルMLを評価する。SIPメッセージの解析は、それらを悪意があると識別することとともに、複数の装置により実行可能である。これら複数の装置は、SIPメッセージ解析手段、アイデンティティ抽出手段、アイデンティティ比較手段および悪意レベル評価手段を含むことができる。図1では、可能な装置の例として3個だけ示している。具体的には、ファイアウォール3、バックツーバックユーザエージェント4およびプロキシサーバ5である。
【0032】
図2に、N次元アイデンティティを保存する具体的保存態様をテーブル形式で示す。これは、データの保存にハッシュテーブルを用いる実施態様である。図2に示すテーブルは、重複エントリにより動作する。すなわち、この実施態様では、各アイデンティティごとに1つのハッシュテーブルを使用する。各ハッシュテーブルのキー列はそれぞれのアイデンティティのハッシュ値であり、エントリはアイデンティティのセットを含む。すなわち、N個のアイデンティティの場合、アイデンティティの各セット(すなわちトランザクション)はN重に重複している。このため、メモリに関する複雑さはN×n×N×aと計算される。ここでnはエントリ数(すなわち解析されるメッセージの個数)、aはアイデンティティ要素のサイズ、Nはアイデンティティの個数である。したがって、複雑さはアイデンティティ数の2乗に従う。すなわち、アイデンティティ数が2倍になると、メモリに関する複雑さは4倍になる。トランザクション数nに関しては、複雑さは線形である。
【0033】
図3に、図2の実施態様と比べてメモリに関する複雑さを最適化した保存実施態様を示す。最適化は、共通エントリを使用することで達成される。各アイデンティティにつき1つのハッシュテーブルを用いるが、ハッシュテーブル内のエントリは完全なエントリを含むのではなく、共通のアイデンティティのセットへのポインタのみを含む。このような保存によるメモリに関する複雑さはN×n+N×n×aと計算される。ここで記号は図2に関して説明した記号と同一である。したがって、メモリに関する複雑さは、トランザクション数nに関してだけでなく、アイデンティティ数Nに関しても線形である。ハッシュテーブルにおける衝突数が無視できる(これはハッシュテーブルのサイズを十分大きく選ぶことにより実現可能である)と仮定すると、計算量(計算の複雑さ)はエントリ数/トランザクション数に関して線形となる。さらに、探索はアイデンティティ数に関して線形である。
【0034】
図4に、本発明による方法の実施例の適用を模式的に示す。解析のために、SIPメッセージはある装置を通る。この装置は、本具体例ではプロキシサーバ5として示されている。プロキシサーバ5は、SIPメッセージから2個のアイデンティティ、すなわちSIPアイデンティティ自体およびSIPメッセージの送信元のIPアドレスを抽出する。したがってN=2である。アプリケーションがIPレイヤの情報にアクセスできないために、受信したSIPメッセージの送信元のIPアドレスがパラメータとして利用可能でない場合、アプリケーションはSIPメッセージボディからIPアドレスパラメータを抽出することも可能である。この場合、IPアドレスは、例えばSIP VIAヘッダに書かれている可能性がある。
【0035】
図5に、SIPアイデンティティを第1の抽出パラメータ(x座標で表す)とし、IPアドレスを第2の抽出パラメータ(y座標で表す)として張られる2次元超空間(すなわち平面)を示す。全部で5個の点が示され、これらは次のような5個の解析されたSIPメッセージを表す。以下では到着順を仮定する。
1.(SIP ID1=user1@domain1;IP ADDR1);
2.(SIP ID2=user2@domain1;IP ADDR3);
3.(SIP ID2=user2@domain1;IP ADDR1);
4.(SIP ID3=user3@domain2;IP ADDR1);
5.(SIP ID4=user4@domain1;IP ADDR2);
【0036】
n番目のメッセージの到着時に、以下のステップを実行する。
1.n番目の点pn(下記の数式中で上付きバーを付したpnと同一。本文中では上付きバーを省略する)を超空間に挿入する。この超空間は、上記のように、本具体例では平面である。
2.平面に既に挿入されている点、すなわち、過去に解析したメッセージに対応する点であって、同一のSIPアイデンティティを有するか、または、pnと同一のSIPアドレスを共有する点を識別する。
3.悪意レベルMLを次のように計算する。
【数1】

kはステップ2で識別したすべての点にわたる。
【0037】
MLを計算するために、距離の概念を導入している。これにより、MLを計算する際に、同一/非同一の比較だけでなく、アイデンティティの正確な値も考慮することができる。距離のとる値は、システムにおける設定可能なパラメータである。
【0038】
図5に示した例に対して、定義した距離を図6に示す。これ以外はこれら2つの図は同一である。図示した具体例の背後にある基本原理は次の通りである。
【0039】
基本的には、同一のSIPアイデンティティから相異なるIPアドレスを用いて発信される複数のトランザクションは、悪意の可能性があるとみなされる。トランザクションの発信元となる相異なるIPアドレスの個数が多いほど、それらが悪意のあるメッセージである確率は高い。ただし、このようなトランザクションが正当であって、単に送信ユーザのモビリティ(移動)の結果である可能性もある。しかし、ユーザがモビリティ状況でSIPトランザクションを実行する時間スケールは一般に、SIPトランザクションが解析される時間スケールとは異なる。本発明による方法は通常、時間スケールが短いほど特異性が発見されるように作用する。
【0040】
一般的には、同一のIPアドレスから相異なるSIPアイデンティティを用いて発信される複数のトランザクションもまた、悪意があるとみなすべきである。この場合も、同一のIPアドレスを共有するSIPアイデンティティの個数が多いほど、このようなトランザクションが悪意である確率は高いということが成り立つ。
【0041】
この主張は、複数のユーザがNAT(Network Address Translator)の背後に所在してSIPトランザクションを送信する場合には無効となる。しかし、同一NATの背後にいる複数のユーザが同じ宛先アドレスへトランザクションを送信する確率は十分に低いので、その場合には基本的な仮定は正しい。この確率が十分には低くない場合、レイヤ4のポート番号等の追加的なアイデンティティを用いることで、NATの背後にいる正当なユーザと悪意のあるユーザとを正しく見分けることができる。
【0042】
図6に示した値を定義する際に、相異なるドメインのSIPアイデンティティ間の距離を同一ドメインのSIPアイデンティティ間の距離よりも大きく定義することによって、上記の確率は既に考慮に入っている。この定義では、同一NATの背後にいるユーザは高い確率で、そのSIP URIに同一ドメインを呈示すると考慮している。図6に示した例では、MLの値は次のように評価される。
【0043】
第1のメッセージの到着時には、平面上にただ1つの点しかないので、ML=0である。メッセージ2が到着すると、抽出したアイデンティティは両方ともメッセージ1とは異なることが検出されるので、依然としてML=0が成り立つ。メッセージ3が到着すると、メッセージ1と同じIPアドレスおよびメッセージ2と同じSIP IDを示していることが検出されるので、ML=1+3=4となる。メッセージ4が到着すると、そのIPアドレスはメッセージ1および3のものと一致することが検出されるので、MLについてはML=5+5=10となる。メッセージ5が到着すると、過去に解析したメッセージとの一致は検出されないので、ML=0が成り立つ。
【0044】
冗長さを避けるため、本発明による方法のその他の有利な実施形態に関しては、添付の特許請求の範囲とともに、本明細書の概要説明部分を参照されたい。
【0045】
最後に、留意すべき特に重要な点であるが、上記実施例は本発明による教示の実例としての役割を果たすに過ぎず、本発明を上記実施例に限定するものでは全くない。
【図面の簡単な説明】
【0046】
【図1】本発明によるSIPベースのアプリケーションを保護する方法の実施例を示す。
【図2】重複エントリによりハッシュテーブルにアイデンティティを保存する様子を示す。
【図3】共通エントリによりハッシュテーブルにアイデンティティを保存する様子を示す。
【図4】SIPメッセージから相異なるアイデンティティを抽出する様子を示す。
【図5】次元N=2の超空間の実施例を示す。
【図6】図5の超空間において、さらに距離を示した図である。
【符号の説明】
【0047】
1 SIPクライアント
2 悪意のあるユーザ
3 ファイアウォール
4 バックツーバックユーザエージェント
5 プロキシサーバ

【特許請求の範囲】
【請求項1】
SIP(セッション開始プロトコル)メッセージを解析し、SIPベースのアプリケーションに対するセキュリティリスクとなる可能性のある悪意のあるSIPメッセージを識別する、SIPベースのアプリケーションを保護する方法において、
所定数N個の設定可能パラメータ(以下、アイデンティティという。)を前記SIPメッセージから抽出し、
各SIPメッセージについて、前記アイデンティティを、過去のSIPメッセージから抽出したアイデンティティと比較し、それに基づいて、各SIPメッセージに対する悪意レベルMLを評価する
ことを特徴とする、SIPベースのアプリケーションを保護する方法。
【請求項2】
前記解析および識別が、セッションボーダーコントローラ(SBC)、アプリケーション層ファイアウォール、プロキシサーバ、バックツーバックユーザエージェント、および、クライアントから選択された少なくとも1つの装置により実行されることを特徴とする請求項1に記載の方法。
【請求項3】
前記抽出したアイデンティティがユーザ固有および/または装置固有のパラメータであることを特徴とする請求項1または2に記載の方法。
【請求項4】
前記抽出したアイデンティティは、前記メッセージの送信者のSIP URI、MACアドレス、ホスト識別プロトコル(HIP)識別子、SIP VIAヘッダフィールド値、SIP Contactヘッダフィールド値、および、前記送信者のIPアドレスおよびポートを含むSDPプロトコルヘッダフィールド値から選択された2個以上の値であることを特徴とする請求項3に記載の方法。
【請求項5】
アイデンティティとして、変換、好ましくはハッシュ関数、の対応する結果が前記値の1つに適用されることを特徴とする請求項4に記載の方法。
【請求項6】
所定のアイデンティティによって張られるN次元超空間が形成され、各SIPメッセージについて1個の点が前記超空間に挿入されることを特徴とする請求項1−5のいずれか1項に記載の方法。
【請求項7】
n番目のメッセージに対する前記悪意レベルMLが、前記超空間に挿入された過去のメッセージの点の関数fであることを特徴とする請求項6に記載の方法。
【請求項8】
設定可能な時間後に、前記点がその挿入順に従って前記超空間から消去されることを特徴とする請求項6または7に記載の方法。
【請求項9】
前記比較の結果、n番目のメッセージの点の少なくとも1つのアイデンティティが、前記挿入された点の少なくとも1つのアイデンティティと一致する場合に、前記n番目のメッセージの前記悪意レベルMLがゼロとは異なることを特徴とする請求項6−8のいずれか1項に記載の方法。
【請求項10】
挿入された点のうち、少なくとも1つのアイデンティティが、n番目のメッセージの点の対応するアイデンティティと一致するような点の個数が多いほど、前記n番目のメッセージの前記悪意レベルMLが高いことを特徴とする請求項6−9のいずれか1項に記載の方法。
【請求項11】
前記挿入された点のうちの1つとn番目のメッセージの点との間で一致するアイデンティティの個数が多いほど、前記n番目のメッセージの前記悪意レベルMLが高いことを特徴とする請求項6−10のいずれか1項に記載の方法。
【請求項12】
前記悪意レベルMLが、前記N次元超空間内の点の間の設定可能な距離の和として計算されることを特徴とする請求項6−11のいずれか1項に記載の方法。
【請求項13】
前記距離の個々の値が固定値であることを特徴とする請求項12に記載の方法。
【請求項14】
前記距離の個々の値が動的に調整されることを特徴とする請求項12に記載の方法。
【請求項15】
前記N次元アイデンティティを保存するためにハッシュテーブルが使用されることを特徴とする請求項1−14のいずれか1項に記載の方法。
【請求項16】
各アイデンティティにつき1個のハッシュテーブルが使用されることを特徴とする請求項15に記載の方法。
【請求項17】
前記ハッシュテーブルのキー列にはそれぞれのアイデンティティの対応するハッシュ値が保存され、エントリとしてはそれぞれアイデンティティのセットが保存されることを特徴とする請求項15または16に記載の方法。
【請求項18】
共通のアイデンティティのセットへのポインタがエントリとして保存されるように共通エントリが使用されることを特徴とする請求項15または16に記載の方法。
【請求項19】
過去に異常の検出なしに構文解析に合格したSIPメッセージのみが解析されることを特徴とする請求項1−18のいずれか1項に記載の方法。
【請求項20】
前記悪意レベルに対する閾値が事前に設定され、それを超過する場合にSIPメッセージは悪意があると分類されることを特徴とする請求項1−19のいずれか1項に記載の方法。
【請求項21】
悪意があると識別されたSIPメッセージがアラームを発生し、および/またはブロックされることを特徴とする請求項1−20のいずれか1項に記載の方法。
【請求項22】
2個以上の閾値が事前に設定され、それぞれの閾値を超過することが異なる結果に結び付けられることを特徴とする請求項20または21に記載の方法。
【請求項23】
前記閾値が動的に更新されることを特徴とする請求項20−22のいずれか1項に記載の方法。
【請求項24】
悪意があると識別された前記SIPメッセージがさらに解析されることを特徴とする請求項1−23のいずれか1項に記載の方法。
【請求項25】
少なくとも1つのクライアント装置と、前記クライアント装置の通信に関与する少なくとも1つのノードと、を含むネットワークにおけるSIPベースのアプリケーションを保護するシステムにおいて、
前記少なくとも1つのノードは、
前記クライアントが交換したSIP(セッション開始プロトコル)メッセージを解析し、所定数N個の設定可能パラメータ(以下、アイデンティティという。)を前記SIPメッセージから抽出する手段と、
各SIPメッセージについて、前記アイデンティティを、過去のSIPメッセージから抽出したアイデンティティと比較し、その比較結果に基づいて各SIPメッセージに対する悪意レベルMLを評価する手段と、
を有することを特徴とするシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−200323(P2007−200323A)
【公開日】平成19年8月9日(2007.8.9)
【国際特許分類】
【出願番号】特願2007−12235(P2007−12235)
【出願日】平成19年1月23日(2007.1.23)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】