"通常の通信、悪意のある通信を弁別するための通信分類装置であって、通信を発生させた端末の判定対象アドレスを取得し、該判定対象アドレスを構成するビット列の構造的な性質に基づいて、該判定対象アドレスに固有な特徴を特徴ベクトルとして抽出する特徴ベクトル抽出手段と、随時または所定の周期で取得した悪意性の有無を示すラベルが付与されたアドレスのリストを格納した訓練データ記憶手段と、前記訓練データ記憶手段の前記アドレスのリストのアドレス毎に、前記特徴ベクトルに対して教師付き機械学習を適用して訓練を実施し、訓練結果を出力するアドレス訓練手段と、前記アドレス訓練手段の前記訓練結果と前記特徴ベクトルを用いて、通信が通常の通信か、または、悪意のある通信かを確率的に判定する判定手段と、を有することを特徴とする通信分類装置。前記特徴ベクトル抽出手段は、前記判定対象アドレスを構成するビット列から、抽出する始点と該始点からの抽出個数を指定して前記特徴ベクトルを抽出する手段を含む請求項1記載の通信分類装置。前記特徴ベクトル抽出手段は、前記判定対象アドレスを構成するビット列をサブビット列に分割し、各サブビット列を任意の関数で変換された値を前記特徴ベクトルの要素とする手段を含む請求項1記載の通信分類装置。ある一定の性質を持つアドレスを収集したアドレスリストからなる特徴抽出用アドレス情報を格納するアドレスリスト記憶手段を更に有し、前記特徴ベクトル抽出手段は、前記判定対象アドレスが前記アドレスリスト記憶手段に格納されている前記特徴抽出用アドレス情報に含まれるか否かにより値を定め、特徴ベクトルの構成要素の値とする手段を含む請求項1記載の通信分類装置。前記アドレス訓練手段及び前記判定手段は、前記訓練結果として、悪意の有無を2値で表す、または、悪意性の距離もしくは確率を用いたスコアで表現する手段を含む請求項1記載の通信分類装置。通常の通信、悪意のある通信を弁別するための通信分類方法であって、特徴ベクトル抽出手段が、通信を発生させた端末の判定対象アドレスを取得し、該判定対象アドレスを構成するビット列の構造的な性質に基づいて、該判定対象アドレスに固有な特徴を特徴ベクトルとして抽出する特徴ベクトル抽出ステップと、アドレス訓練手段が、随時または所定の周期で取得した悪意性の有無を示すラベルが付与されたアドレスのリストを格納した訓練データ記憶手段の該アドレスのリストのアドレス毎に、前記特徴ベクトルに対して教師付き機械学習を適用して訓練を実施し、訓練結果を出力するアドレス訓練ステップと、判定手段が、前記アドレス訓練手段の前記訓練結果と前記特徴ベクトルを用いて、通信が通常の通信か、または、悪意のある通信かを確率的に判定する判定ステップと、を行うことを特徴とする通信分類方法。前記特徴ベクトル抽出ステップにおいて、前記判定対象アドレスを構成するビット列から、抽出する始点と該始点からの抽出個数を指定して前記特徴ベクトルを抽出する請求項6記載の通信分類方法。前記特徴ベクトル抽出ステップにおいて、前記判定対象アドレスを構成するビット列をサブビット列に分割し、各サブビット列を任意の関数で変換された値を前記特徴ベクトルの要素とする請求項6記載の通信分類方法。前記特徴ベクトル抽出ステップにおいて、ある一定の性質を持つアドレスを収集したアドレスリストからなる特徴抽出用アドレス情報を格納するアドレスリスト記憶手段を参照し、前記判定対象アドレスが、該アドレスリスト記憶手段に格納されている該特徴抽出用アドレス情報に含まれるか否かにより値を定め、特徴ベクトルの構成要素の値とする請求項6記載の通信分類方法。前記アドレス訓練ステップ及び前記判定ステップにおいて、前記訓練結果として、悪意の有無を2値で表す、または、悪意性の距離もしくは確率を用いたスコアで表現する請求項6記載の通信分類方法。しかしながら、上記非特許文献2のアドレスの評判リストを用いる方法は、いかにアドレスが収集されたかに大きく依存するため、一度アドレスが得られた後にはその精度を改善することが困難であったり、評判の収集時において観測されなかったアドレスに対しては判定ができない問題がある。例えば悪意のある通信に地域的な特徴が存在する場合、地域Aでの観測を元に構成した評判リストが地域Bではあまり役に立たないという問題がある。また、複数のアドレス評判リストや、アドレスの悪意性に関連するいくつかのヒントが得られているとき、各々の情報を用いて統合的な判断を下す一般的な手法はこれまでになかった。本発明は、上記の点に鑑みなされたもので、過去に観測されなかった未知のアドレスにも対応可能なアドレスの評判判定を行い、結果として悪意のある通信の検出を実現することが可能な通信分類装置及び方法を提供することを目的とする。上記の課題を解決するため、本発明は、通常の通信、悪意のある通信を弁別するための通信分類装置であって、通信を発生させた端末の判定対象アドレスを取得し、該判定対象アドレスを構成するビット列の構造的な性質に基づいて、該判定対象アドレスに固有な特徴を特徴ベクトルとして抽出する特徴ベクトル抽出手段と、随時または所定の周期で取得した悪意性の有無を示すラベルが付与されたアドレスのリストを格納した訓練データ記憶手段と、前記訓練データ記憶手段の前記アドレスのリストのアドレス毎に、前記特徴ベクトルに対して教師付き機械学習を適用して訓練を実施し、訓練結果を出力するアドレス訓練手段と、前記アドレス訓練手段の前記訓練結果と前記特徴ベクトルを用いて、通信が通常の通信か、または、悪意のある通信かを確率的に判定する判定手段と、を有する。上記のように、本発明は、通信を発生させた端末のアドレス構造から特徴ベクトルを抽出し、得られた特徴に対して教師付き機械学習の手法を適用することにより、通信が通常かあるいは悪意があるかという、通信の悪意性の種別を推定的に判定することにより、過去に観測されなかった未知のアドレスにも対応可能なアドレスの評価判定が可能となり、結果として悪意のある通信を検出することができる。以下図面と共に、本発明の実施の形態を説明する。図1は、本発明の一実施の形態における通信分類装置の構成を示す。同図に示す通信分類装置100は、判定対象アドレス受信部110、特徴抽出用アドレス受信部120、訓練用データ受信部130、アドレス特徴抽出部140、アドレス訓練部150、アドレス判定部160、判定出力部170、判定結果キャッシュ部180、アドレス情報記憶部101、訓練元データ記憶部102、訓練データ記憶部103から構成される。アドレス情報記憶部101は、特徴抽出用アドレス情報受信部120により外部から入力されたアドレス情報を格納する。訓練元データ記憶部102は、訓練用データ受信部130において、随時または所定の周期で受信されたアドレス毎に悪意性の有無に関するラベルが付与された訓練元データを格納する。訓練データ記憶部103は、訓練元データのアドレスに対して特徴ベクトルを抽出したデータを格納する。判定対象アドレス受信部110は、外部から判定対象となるアドレスを受信する。特徴抽出用アドレス情報受信部120は、外部から特徴を抽出するためのアドレスを受信し、アドレス情報記憶部101に格納する。訓練用データ受信部130は、随時または所定の周期で外部から訓練用のデータを受信し、訓練元データ記憶部102に格納する。アドレス特徴抽出部140は、端末のアドレスを構成するビット列の構造的な性質に基づいて、アドレスに固有な特徴を特徴ベクトルとして抽出する。詳細については後述する。アドレス訓練部150は、訓練元データ記憶部102から取得した、予め悪意性のある有無でラベル付けされたアドレスのリストに対し、アドレス毎に、アドレスに固有な特徴を特定することにより特徴ベクトルを抽出し、当該特徴ベクトルに対して公知技術である教師付機械学習の方法を用いて教師データの訓練を実施する。アドレス判定部160は、アドレス訓練部150における訓練結果と特徴ベクトルに基づいて、新たに観測したアドレスによる通信が通常であるか、あるいは悪意のある通信であるのかの悪意性を判断する。判定結果出力部170は、アドレス判定部160による判定結果を外部及び判定キャッシュ部180に出力する。判定キャッシュ部180は、過去の判定結果を保存し、当該判定結果は、判定対象アドレス受信部110が受信したアドレスと同じアドレスが判定キャッシュ部180の内容と照合する際に利用される。最初に、アドレス特徴抽出部140において、アドレスから特徴ベクトルを抽出する方法について説明する。アドレス特徴抽出部140において、特徴ベクトルを生成する方法として以下に示す4つの手法を示す。1抽出する始点と始点からの抽出個数を指定して特徴ベクトルを構成する方法:一般に、N個のビット列b1b2bNによって構成されるアドレスに対して、上位j番目からk個のビットを用いて構成したビット列bjbj1bjk1を特徴ベクトルとして抽出する。ここで、各ビットbjは0か1の値を取り、j,kは1≦j<jk1≦Nを満たす任意に設定が可能な値である。ここで、特徴ベクトルの抽出における、始点jと抽出個数kの値の定め方について説明する。IPv4では経験則から定め方を例示可能だが、その他アドレス体系における具体的な定め方については本発明では範疇外とする。なお、IPv4アドレスの場合は上位ビット第1~第3オクテットがネットワークアドレスに近いため、より重要な意味を持ち、始点はj1、抽出個数はk241オクテットは8ビットであり、3オクテットは24ビットに相当するという定め方が一つの実施形態となる。詳細については実施例において後述する。一方、IPv6をはじめ、他のアドレス体系の場合IPv4の経験則が当てはまるとは限らない。2サブビット列に分割し、各サブビット列を任意の関数で値に変換して特徴ベクトルの要素とする方法:一般に、N個のビット列b1b2...bNによって構成されるアドレスを、上位から順番にT個のサブビット列sjに分割する。当該分割条件を以下に示す。T個に分割された各サブビット列sjのサイズSjは、S1S2ST≦Nを満たす、任意の値となるように設定される。1番目のサブビット列s1の開始位置は、上記が満たされている限り、任意の値をとることができる。例えばN10個のビット列b1b2b10によって構成されるアドレスに対し、s1b3b4b5のようにサブビット列を構成することが可能である。各サブビット列sjに対し、各sjを構成するSj個のビットに対して、任意に定義可能な関数fを適用した結果の値を構成要素とする特徴ベクトルを構成する。上記の分割する個数T,サブビットs1の開始位置,特徴ベクトルの構成要素を作成するための任意に定義可能な関数fとその関数の適用方法の定め方としては以下の2つの方法がある。任意のサイズで定義が可能なサブビットに分割する:分割されたサブビットから特徴ベクトルを構成できる関数fを適用する:なお、特徴ベクトルを構成できる関数fは、既存の関数を利用することとする。例えば、10進表記を利用した特徴ベクトル構成方法;10進表記した値に対してハッシュ関数を適用する方法;などがある。3アドレス情報記憶部101に格納された数個のアドレスリストに対し、各アドレスリストが特定のアドレスを含むか否かで値を定め、特徴ベクトルの構成要素の値とする方法:ここで、アドレスリストとは、ある一定の性質を持つアドレスを収集したものであり、単一のアドレスあるいは複数の連続するアドレスをネットワークプレフィックスによって表記したものから構成される。例えば、アドレスリストとは、過去の実績に基づいて、悪意のある通信を発生する可能性が高いアドレスのみを収集したリスト、通常の通信を発生する可能性が高いアドレスのみを収集したリスト、ある特定の国に所属するアドレスリスト、ある特定のASに所属するアドレスリスト、ある特定のサブネットワークに所属するアドレスリスト、あるサーバにて観測されたアドレスリスト、等である。以下に、IPv4アドレスの場合を示す。単一のアドレスの例:19216811ネットワークプレフィックス表記の例:1921681024各アドレスリストは、同一の性質を有するアドレスを収集したものであり、これらのアドレスリストはリアルタイムに更新することが可能である。4上記の1~3の方法を任意に組み合わせて特徴ベクトルを抽出する方法も可能である。悪意性判定対象のアドレスが、アドレス情報記憶部101のアドレスリストLjのリスト内に含まれるか否かの結果を特徴ベクトルの要素の値として、特徴ベクトルl1l2lAを構成する。このため、特徴ベクトルの要素数は、用意したアドレスリストLjのリスト数A個に対応する。アドレス特徴抽出部140は、悪意性判定対象のアドレスがリストに含まれるか否かを判断する際に、上記のIPv4アドレスの場合では、単一アドレスの場合は該アドレスが一致するか否かで判断し、ネットワークプレフィックスの場合は、該アドレスに対してネットワークプレフィックスによって一意に指定されるサブネットマスクを適用した場合に一致するか否かで判断する。ひとつでも一致した場合にリストに含まれるとする。一般に、悪意性判定対象のアドレスが、アドレスリストLjに含まれるとき、lj1とし、そうでないときlj0とする。なお、悪意性判定対象のアドレスの与え方は実施例にて後述する。次に、アドレス訓練部150について説明する。アドレス訓練部150は、予め定めた周期毎に、訓練元データ記憶部102に格納されているラベル付きアドレスリスト訓練データ、及び訓練データ記憶部103に格納されているラベルと特徴ベクトルからなる訓練データを用いて機械学習の訓練を実施し、訓練結果として、悪意の有無の2値、または、悪性の距離または確率を用いたスコアをアドレス判定部160に出力する。訓練元データ記憶部102のラベル付きアドレスリスト訓練データは、悪意の有無の可能性を示すラベルとアドレスから構成され、訓練用データ受信部130より新たなリストを得ることにより随時更新可能である。訓練データ記憶部103は、アドレス訓練部150によって生成されたラベル付きアドレスリスト訓練データのアドレスに対して抽出された特徴ベクトルとラベルの組を格納する。アドレス判定部160は、アドレス訓練部150から取得した訓練結果と、アドレス特徴抽出部140から取得した特徴ベクトルを用いて、判定対象アドレス受信部110にて受信した受信アドレス情報に対して、通信が通常であるか否かを判定し、通信の悪意性を確率的に推定する。判定出力部170は、アドレス判定部160の判定結果を外部に出力すると共に、判定結果キャッシュ部180にも出力する。以下、本発明の実施例を図面と共に説明する。本実施例では、アドレスとしてIPv4アドレスを用い、公知の教師付機械学習の手法として2クラスのサポートベクターマシン以下SVMを用いるが、本発明の適用範囲はこの限りではない。図2は、本発明の一実施例の通信分類装置の動作のフローチャートである。ステップ101通信分類装置100の判定対象アドレス受信部110は、判定の対象となるアドレス情報を受信する。ステップ102判定対象アドレス受信部110は、受信したアドレスに対する判定が過去になされていたかを判定結果キャッシュ部180に問い合わせる。判定結果が既にキャッシュされている場合はステップ103に移行し、キャッシュされていない場合はステップ104に移行する。ステップ103判定結果キャッシュ部180に記録されている判定結果を基に、判定結果を抽出し、結果を判定出力部170に出力する。ステップ104判定結果キャッシュ部180にキャッシュされていない場合は該アドレス情報をアドレス特徴抽出部140に出力し、特徴ベクトルを抽出する。ステップ105一方、アドレス訓練部150では、訓練元データ記憶部102の予め準備した通常と悪意を区別するラベル付きの訓練データを用いて機械学習の訓練を実施しておく。この訓練データは、予め定めた周期が到来する毎に更新することができる。また、ラベル付きの訓練データは訓練用アドレスリスト受信部130より新たなリストを得ることによって随時更新可能である。図3に示すように訓練データはネットワークの内部に設置した各種の侵入攻撃異常検知システム230などの出力を利用し、実際に悪意のある通信を行ったアドレスに対してラベルを1と付与することによって構成可能である。そのほか、外部で公開しているブラックリストやホワイトリストを訓練データとして用いることが可能である。訓練した結果はアドレス判定部160によって利用される。学習や訓練した結果の詳細については後述する。アドレス特徴抽出部140で抽出された特徴ベクトルは、アドレス判定部160に出力され、アドレス判定部160ではアドレス訓練部150より得た訓練結果を用いて、アドレス受信部110にて受信した該受信したアドレス情報に対して、通信が通常であるか、悪意があるかの通信の悪意性を確率的に推定し、出力値yを出力する。ステップ106アドレス判定部160の出力値y>0であれば、ステップ108に移行し、y≦0であればステップ107に移行する。ステップ107悪意はないと判定し、その結果を判定出力部170と判定結果キャッシュ部180に出力する。ステップ108悪意があると判定し、その結果を判定出力部170と判定結果キャッシュ部180に出力する。以下に、上記のステップ104の特項ベクトルの抽出方法について説明する。以下ではIPv4アドレス192168588を例として特徴ベクトルを抽出する方法を例示する。一般にIPv4アドレスは32ビット長で定義され、広く用いられている192168588という表記は32ビットを4個の8ビットに区切り、各々の8ビットの値を10進表記したものを.で結合したものである。1抽出する始点と始点からの抽出個数を指定して特徴ベクトルを構成する方法:192168588を2進数表記すると11000000101010000000010101011000のように32個のビットから構成されるビット列となる。このうち上位j番目からk個のビットを用いて構成したビット列を特徴ベクトルとする。j1k24とすると、特徴ベクトルは24個の要素を持ち、110000001010100000000101となる。なお、IPv4アドレスの場合は、実験による経験則から、上位ビット第1~第3オクテットがネットワークアドレスに近いため、より重要な意味を持ち、始点はj1、抽出個数はk24という定め方が一つの実施形態となりえる。2サブビット列に分割し、各サブビット列を任意の関数で値に変換して特徴ベクトルの要素とする方法:一般に、N個のビット列b1b2bNによって構成されるアドレスを上位から順番にT個のサブビット列sjに分割する。ここでは前述と同じ192168588を用いると、元のビット列は、11000000101010000000010101011000である。N32T5とし、サブビット列をs111000000s21010s31000s40000s50101と定義する。サブビット列sjのサイズはS18S2S3S4S54である。各々のサブビット列sjに対して、適用する関数fをsjを10進表記すると定義した場合、19210805のように特徴ベクトルを構成できる。なお、各サブビット列に関数fを適用した値は次のとおりとなる。f210,f210,f210,f210,f210あるいは関数fをs1s2sjのビットを結合して得られたビットを10進表記すると定義した場合、19230824932078912012625925のように特徴ベクトルを構成できる。なお、各サブビット列に関数fを適用した値は次のとおりとなる。f210,f210,f210,f210,f210あるいは関数を以下のような特徴ベクトルを構成する関数として定義することもできる。例えば、簡単のため、T1とし、s1110000001010100000000101とする。サブビットのサイズはS124である。24ビット長の最大値は10進表記で22416777216であるので、サブビットs1の10進表記12625925を用い、12625925番目のビットのみが1で他はすべて0の粗な特徴ベクトルを構成することもできる。上記のバリエーションとして、s111000000s210101000s300000101とした場合、それぞれのサブビットは8ビット長であるため、0から255の256通りの値をとることができる。それらの値を利用して256x3768通りの要素からなる特徴ベクトルを構成する。関数fとして、最初の256ビットのうち、s1を10進表記した値である192番目のビットを1、次の256ビットのうち、s2を10進表記した値である168番目のビットを1、最後の256ビットのうち、s3を10進表記した値である5番目のビットを1とし、残りのすべてのビットを0とする関数を定義することもできる。上述のとおり、特徴ベクトルを構成するために、分割されたサブビット列に適用される関数fは、既存の任意の関数が利用され、例えば、10進表記を利用した特徴ベクトル構成方法、10進表記した値に対してハッシュ関数を適用する方法などがある。3アドレス情報記憶部101に格納された数個のアドレスリストに対し、各アドレスリストが特定のアドレスを含むか否かで値を定め、特徴ベクトルの構成要素の値とする方法:別途アドレス情報記憶部101に用意したA種類のアドレスデータL1L2LAを用いてA個の要素からなる特徴ベクトルを構成する方法を述べる。表1にアドレスデータの例を示す。これは日本のIPv4アドレスの一部を抽出した例である。上記の表1のアドレスデータは、ネットワークプレフィックス表記である1210016は、12100から121255255までの65536個のアドレス集合に対応する。このようなアドレスデータは、特徴抽出用アドレス受信部120を通じて通信分類システムの外部から取り込み、アドレス情報記憶部101に格納される。アドレス特徴抽出部140は、悪意性判定対象のアドレスが、アドレス情報記憶部101のLjのデータ内に含まれるか否かでベクトルl1l2lAを構成し、悪意性判定対象のアドレスの特徴として抽出する。例えばA10であり、悪意性判定対象のアドレスが1210番目のデータにアドレス情報記憶部101の掲載のアドレスに合致するとき、1100000001のように、特徴ベクトルを抽出する。該アドレスがアドレス情報記憶部101のアドレスデータに合致するか否かの判断を上記の表1の例を用いて説明する。悪意性判定対象のアドレスが12131であったとすると、これは表1における1210016で表記するアドレス集合に包含されるので、合致すると判断する。従って、特徴ベクトルは、1000000000となる。判定対象のアドレスが4123であったとすると、表1で示されるアドレスデータに含まれないので合致しないと判断する。従って、特徴ベクトルは、0000000000となる。4上記の1~3の方法を任意に組み合わせて特徴ベクトルを抽出する方法:例えば、上記の1の方法と3の方法を組み合わせ、192168588に対して、前述の1の例である、110000001010100000000101と、同様に3の最初の例である、A10であり、悪意性判定対象のアドレスが1210番目のリストに掲載のアドレスに合致するからなる特徴ベクトル1100000001とを組み合わせ、1100000010101000000001011100000001のように34次元の特徴ベクトルを構成することが可能である。本実施例ではアドレスデータとして国情報に相当する情報を用いたが、この他BGP経路情報あるいはWhoisといった外部公開されているIPアドレスに関する情報を利用することができる。次に、アドレス訓練部150の処理について説明する。以下では、2クラスのSVMを適用してアドレスを訓練する手順を例示する。SVMは入力データを高次元に写像した上でデータを識別する超平面を構築することである。写像された高次元空間において線形分離を試みる。訓練データを用いた学習では、超平面による識別境界と訓練データ間の距離、すなわちマージンを最大化するようパラメタを最適化する。はじめに、訓練元データ記憶部102に格納されている訓練データの元となるデータ訓練元データの例を表2に示す。ここでラベルは2値-11をとり、-1なら通常である可能性が高いアドレス、1なら悪意のある可能性が高いアドレスであると定義する。前記の訓練元データに記載の各々のアドレスに対して特徴ベクトルを抽出することによって表3のような訓練データを生成し、訓練データ記憶部103に格納する。ここでは特徴ベクトルは24次元であり、上位24ビットのビット列によって構成した。訓練データにおけるi番目のサンプルの特徴ベクトルをXixi1xi2xi24と表記する。同様にi番目のサンプルのラベルをciと表記する。例えば、1番目の特徴ベクトルとラベルの値はX1110000001010100000000101c11である。またSVMのパラメタをベクトルWw1w2w24と定義する。ここではXiW共に行ベクトルである。訓練データからマージン最大化を実現するようなパラメタWを学習するには、すべてのi12Mに対し、という条件の下で、目的関数∥W∥2を最小とするようなWを求める事二次計画法であり例えば、文献JCPlattFastTrainingofSupportVectorMachinesusingSequentialMinimalOptimizationAdvancesinKernelMethodsSupportVectorLearningBScholkopfcBurgesandASmolaedspp185208MITPressに記載のSequentialminimaloptimizationなどの数値的解析の手法によって高速に算出する事ができる。ここで、bはバイアスパラメタである。WTはWの転置行列φはベクトルXiに特徴空間の変換を施す非線形関数を適用したものである。∥W∥はベクトルWのユークリッドノルムである。Mは訓練データにおけるサンプル数である。特徴空間の変換を施す非線形関数φは既存技術を利用する。SVMにおいてはカーネルトリックと呼ばれる技術を利用することにより、φ自体を明示的に定義することなく、マージン最大化の計算を行うことが可能である。すなわちφを直接定義せずに、一般的に下記のようなφの内積で定義されるカーネル関数kを用いて定義する。kφTφここで、φTはφの転置行列である。よく利用されるガウスカーネルは、次の式で定義される。kexpこのようなカーネル関数を導入すると、マージン最大化はカーネル関数によって表現される二次計画法を解く問題に帰着する。次に、アドレス判定部160の処理について説明する。SVMを適用することにより、アドレスの通信の悪意性の有無を判定可能である。新たに観測したアドレスに対して、アドレス特徴抽出部140において特徴ベクトルを抽出し、Xx1x2x24を得たとする。アドレス判定部160では、yWTφbを計算し、yが正であれば悪意性がある、負の値であれば通常のアドレスである、と判定する。ここでW,bは前記のアドレス訓練部150で計算済みの値を用いる。なお、yの計算はカーネル関数を用いて、と計算することができる。ここでaiは二次計画法を解くために導入する制約式ごとに定義したラグランジュ乗数正数であり、訓練時に数値的に求めることができる。次に、図2に沿って新規のアドレスを受信してからそのアドレスを判定するまでの処理を説明する。なお、アドレス判定において、通信の悪意性の度合いを示す要素であるラベルの値の表現方法として、前述したように悪意性の有無=有る/無いの2値で示す方法の他、悪意性の距離もしくは確率というスコアで表現する方法もとり得る。ここで、悪意性の距離の測り方、確率の測り方については文献JohnCPlattProbabilisticOutputsforSupportVectorMachinesandComparisonstoRegularizedLikelihoodMethodsADVANCESINLARGEMARGINCLASSIFIERSpp61741999httpciteseerxistpsueduviewdocsummarydoi1011411639に記載の方法を本発明に適用した例を示す。ある観測したアドレスに悪意性がある状態をC1と書くことにする。Cはクラスの意である。同様にあるアドレスに対してC-1であればそのアドレスに悪意性が存在しない状態を示す。あるアドレスの特徴ベクトルに対してSVMのアドレス判定によって算出した出力値yを得たとする。yが所与である条件の下で、実際にそのアドレスに悪意性がある確率条件付き確率を次式に示すようにシグモイド関数でパラメトリックにモデル化し、シグモイド関数のパラメタABを訓練データからフィッティングする。P1フィッティングの方法は下記の通りである。はじめに訓練集合のCiを用い、ti2という変数を定義する。A,Bは次式で表現される訓練データの負の対数尤度を最小化する値を数値計算によって求める事ができる。ただし、pi1であり、yiは訓練データxiに対してSVMの出力値yを計算した結果である。以上が本願発明の各構成要素の例であるが、アドレス判定部160において、悪意性判定対象のアドレスを判定する方法の使用例として、次のようなケースがある。<ケース1>ゲートウェイルータ等で、外部インターネットから内部組織への通信の送信元IPアドレスを得ることができるため、ルータが観測したすべてのアドレスを、本装置100への入力値である悪意性判定対象アドレスとし、悪意性があると判断したアドレスをフィルターするケース。<ケース1の例>本発明の通信分類装置100はネットワーク上のゲートウェイルータ210と連携をする形で利用される。図3に構成例を示す。ネットワークの管理者は予め本システムのアドレス訓練部が保持する訓練元データを準備し、通信分類装置100に投入する。この訓練元データはアドレス毎に悪意性の有無に関するラベルが付与されたものである。同様にネットワーク内部の侵入異常攻撃検知システム230の出力結果を訓練元データとして利用することができる。本装置100では前述のアドレス訓練を実施し、アドレス判定が可能な状態を保持する。ゲートウェイルータ210で判定の対象とするアドレスが観測されたら、そのアドレス情報を本発明の通信分類装置100に送信する。本発明の通信分類装置100はアドレス受信部110にてアドレス情報を受信し、アドレス特徴抽出部140へと転送する。アドレス特徴抽出部140が特徴ベクトルの抽出を行い、特徴ベクトルデータをアドレス判定部160へと転送する。アドレス判定部160では前記得られた特徴ベクトルに対してアドレス判定を行い、結果を判定結果送信部へ送信する。判定結果送信部は前記ルータ210に対して判定結果データを送信する。ルータ210は判定結果に基づいて該アドレスから送信されたパケットに対して適切な処理を行う。例えば悪意性があるパケットに対しては送信レートに制限をかけたり、パケットを廃棄したりする。前記の処理はルータの処理負荷によって変更しても構わない。<ケース2>あるプログラムが、特定のアドレスからの通信を受信した際に、その通信を受け取るか否かを判断するために、通信分類装置100の出力である悪意性判定結果を利用するケース。<ケース2の例>あるサーバ上で動作するプログラムがあるIPアドレスを持つクライアントからリクエストを受けたものとする。この際にそのリクエストをプログラムが実際に処理する前に本発明の通信分類装置100に問い合わせをし、悪意性のあるアドレスであることが判明したらリクエストを廃棄するか、サーバの負荷が高い場合は他の通常のリクエストを優先し、悪意性のあるアドレスからのリクエストを最低優先とする。なお、図1に示す通信分類装置の構成要素の各動作をプログラムとして構築し、通信分類装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。本発明は、上記の実施の形態及び実施例に記載した方法に限定されることなく、特許請求の範囲内において、種々変更応用が可能である。"