(57)【特許請求の範囲】
【請求項１】
所定期間内にネットワーク監視ノードによって生成されたＮｅｔｆｌｏｗを取得するステップと、
前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成するステップと、
それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定するステップと、
第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算し、前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定するステップと、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定するステップとを備え、
前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含み、
前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかであり、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、それぞれの角度の非類似度は第１時系列ベクトルと第２時系列ベクトルとの間の夾角の正弦であることを特徴とする、ネットワークにおけるトラフィックの異常を検出するための方法。
【請求項２】
前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定するステップでは、
前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成し、
前記それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記検知しようとするサンプルが異常データフローであるかどうかを確定するステップでは、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローであることを含むことを特徴とする、請求項１に記載のネットワークにおけるトラフィックの異常を検出するための方法。
【請求項３】
前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算するステップでは、
式１に基づいて前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれのＮ−１個の角度の非類似度を計算し、
前記式１は
【数１】
0006850902.tif 000011
であり、
ここで、ｘは第１時系列ベクトルであり、ｙは第２時系列ベクトルであり、θｘｙは時系列ベクトル間の角度であり、前記ｓｉｎθｘｙは角度の非類似度であることを特徴とする、請求項１に記載のネットワークにおけるトラフィックの異常を検出するための方法。
【請求項４】
第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類し、
分類結果に基づいて、前記第１時系列に関する第２検知結果を確定し、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、
前記第１検知結果と前記第２検知結果の加重和を求め、前記第１時系列の目標検知結果を得て、
前記それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記検知しようとするサンプルが異常データフローであるかどうかを確定するステップでは、
それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローであることを特徴とする、請求項１に記載のネットワークにおけるトラフィックの異常を検出するための方法。
【請求項５】
前記所定の第１属性に対応する１クラスＳＶＭ分類器は次の方法に基づいて生成したものであり、
前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成することを特徴とする、請求項１に記載のネットワークにおけるトラフィックの異常を検出するための方法。
【請求項６】
所定期間内にネットワーク監視ノードによって生成されたＮｅｔｆｌｏｗを取得するための取得ユニットと、
前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成するための処理ユニットと、
それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定するための確定ユニットであって、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含む前記確定ユニットと、
第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算するための計算ユニットであって、前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかであり、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、それぞれの角度の非類似度は第１時系列ベクトルと第２時系列ベクトルとの間の夾角の正弦である前記計算ユニットと、
前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定し、それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定するための検知ユニットとを備えることを特徴とする、ネットワークにおけるトラフィックの異常を検出するための装置。
【請求項７】
前記検知ユニットは、
前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成し、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローであることを特徴とする、請求項６に記載のネットワークにおけるトラフィックの異常を検出するための装置。
【請求項８】
前記計算ユニットは、
式１に基づいて、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性がそれぞれ対応しているＮ−１個の第２時系列との間のＮ−１個の角度の非類似度を計算するのに用い、
前記式１は
【数２】
0006850902.tif 000012
であり、
ここで、ｘは第１時系列ベクトルであり、ｙは第２時系列ベクトルであり、θｘｙは時系列ベクトル間の角度であり、前記ｓｉｎθｘｙは角度の非類似度であることを特徴とする、請求項６に記載のネットワークにおけるトラフィックの異常を検出するための装置。
【請求項９】
第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類するための分類ユニットをさらに備え、
前記検知ユニットは、分類結果に基づいて前記第１時系列に関する第２検知結果を確定するに用い、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、前記第１検知結果と前記第２検知結果の加重和を求め、前記第１時系列の目標検知結果を得て、それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常な時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローであることを特徴とする、請求項６に記載のネットワークにおけるトラフィックの異常を検出するための装置。
【請求項１０】
次の方法で前記所定の前記第１属性に対応する１クラスＳＶＭ分類器を生成するのに用いる１クラスＳＶＭ分類器生成ユニットをさらに備え、
前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成することを特徴とする、請求項６に記載のネットワークにおけるトラフィックの異常を検出するための装置。
【請求項１１】
通信用インタフェース、プロセッサーおよびメモリを含み、
前記プロセッサーはメモリに格納された命令を読み出し、前記通信用インタフェースを通じて所定期間内にネットワーク監視ノードによって生成されたたＮｅｔｆｌｏｗを取得し、
前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成し、
それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定し、ここで、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含み、
第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算し、前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかであり、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、それぞれの角度の非類似度は第１時系列ベクトルと第２時系列ベクトルとの間の夾角の正弦であり、前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定し、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定することを特徴とする、電子装置。
【請求項１２】
前記プロセッサーは、
前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成し、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローであるように用いることを特徴とする、請求項１１に記載の電子装置。
【請求項１３】
前記プロセッサーは、
式１に基づいて前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれのＮ−１個の角度の非類似度を計算し、
前記式１は
【数３】
0006850902.tif 000013
であり、
ここで、ｘは第１時系列ベクトルであり、ｙは第２時系列ベクトルであり、θｘｙは時系列ベクトル間の角度であり、前記ｓｉｎθｘｙは角度の非類似度であることを特徴とする、請求項１１に記載の電子装置。
【請求項１４】
前記プロセッサーは、
第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類し、
分類結果に基づいて、前記第１時系列に関する第２検知結果を確定し、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、
前記第１検知結果と前記第２検知結果の加重和を求め、前記第１時系列の目標検知結果を得て、
それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローであることを特徴とする、請求項１１に記載した電子装置。
【請求項１５】
前記プロセッサーは、
次の方法に基づいて前記所定の前記第１属性に対応する１クラスＳＶＭ分類器を生成し、
前記通信用インタフェースを通じて前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成することを特徴とする、請求項１１に記載した電子装置。
【請求項１６】
非一過性コンピュータが読み取り可能な記憶媒体にコンピュータによって実行可能な命令を格納し、前記コンピュータによって実行可能な命令は前記コンピュータに請求項１ないし請求項５のいずれかに記載の前記方法を実行させることを特徴とする、非一過性コンピュータ記憶媒体。
【請求項１７】
非一過性コンピュータが読み取り可能な記憶媒体に格納したコンピュータプログラムを含み、前記コンピュータプログラムは前記コンピュータによって実行可能な命令を含み、前記コンピュータによって実行可能な命令がコンピュータによって実行された場合、前記コンピュータに請求項１ないし請求項５のいずれかに記載の前記方法を実行させることを特徴とする、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年１２月２９日に中国特許庁に提出し、出願番号が２０１６１１２４６７５１．７であり、発明の名称「ネットワークにおけるトラフィックの異常を検出するための方法および装置」との中国特許出願を基礎とする優先権を主張し、その開示の総てをここに取り込む。
【０００２】
本発明はネットワークセキュリティ領域、特にネットワークにおけるトラフィックの異常を検出するための方法および装置に関する。
【背景技術】
【０００３】
不正侵入検知システム（ＩＤＳ）などの安全装置で構成する防御システムの大部分がネットワークの入口に配置され、入口でイントラネットの環境を防護することで、ネットワーク外部からの安全脅威を大きく減らしているものの、イントラネットの安全は軽視されがちである。多くのイントラネットの防護能力が比較的脆弱なため、内部人員による越権アクセス、不正アクセス、情報漏洩などの安全事故が頻発している。そのほか、ハッカーがエクストラネットのファイアウォールを突き破ってイントラネットに侵入すると、完全にオープンしているネットワーク環境に入ったようなもので、イントラネットのすべての資源がハッカーの攻撃と窃取のターゲットになっている。
【０００４】
イントラネットを防護するために、既存の技術の多くは規則に則った防御方法を取り入れている。既存の時系列を基本とする異常検知において、ヨーロッパ式ディスタンスで時系列の非類似度を量ることが多い。しかしながら、このような異常検知方法が平行移動変換や拡張変換に敏感なので、これらの変換を消去してしまうことがある。例えば、多くの場合装置のクロックが完全にシンクロナイズしているわけではなく、記録したデータが時間軸上である程度平行移動することがある。例えばバイトの数量において、異なる桁で記録する可能性があるため、時系列に拡張変換が生じる可能性がある。これらの変換が一旦取り消されてしまうと、記録したデータは類似な変化が表れる傾向があるため、データフローの検知結果に偏差が生じる結果を招いてしまう。
【０００５】
上述したように、既存の方法はネットワークの異常フローを正確に検知することが難しく、検知結果の正確性を保つことができない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施例はネットワークにおけるトラフィックの異常を検出するための方法および装置を提供し、より精確なネットワークにおけるトラフィックの異常を検出するための方法を提供することによって、検知結果の正確性を高めることが目的である。
【課題を解決するための手段】
【０００７】
第１態様によれば、本発明に係るネットワークにおけるトラフィックの異常を検出するための方法は、
所定期間内にネットワーク監視ノードによって生成されたネットワークデータフロー（Ｎｅｔｆｌｏｗ）を取得し、前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成するステップと、
それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定するステップと、
第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算し、前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定するステップと、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定するステップとを備え、
前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含み、
前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかであり、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、それぞれの角度の非類似度は前記第１時系列ベクトルと前記第２時系列ベクトルとの間の夾角の正弦である。
【０００８】
好ましくは、検知結果の確定方法として前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断し、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成する。それから、それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【０００９】
好ましくは、式１に基づいて前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれのＮ−１個の角度の非類似度を計算し、
前記式１
【００１０】
【数１】
0006850902.tif 000002
【００１１】
であり、
ここで、ｘは第１時系列ベクトルであり、ｙは第２時系列ベクトルであり、θｘｙは時系列ベクトル間の角度であり、前記ｓｉｎθｘｙは角度の非類似度である。
【００１２】
さらに、第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類し、
分類結果に基づいて、前記第１時系列に関する第２検知結果を確定し、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、
前記第１検知結果と前記第２検知結果の加重和を求め、第１時系列の目標検知結果を得て、
さらに、それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常な時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００１３】
ここで、好ましくは、前記所定の前記第１属性に対応する１クラスＳＶＭ分類器は次の方法で生成し、
前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成する。
【００１４】
第２の態様によれば、同様な発想に基づいて、本発明の実施例はさらにネットワークにおけるトラフィックの異常を検出するための装置を提供し、当該設置は、
所定期間内にネットワーク監視ノードによって生成されたＮｅｔｆｌｏｗを取得するための取得ユニットと、
前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成するための処理ユニットと、
それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定するための確定ユニットであって、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含む前記確定ユニットと、
第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算するための計算ユニットであって、前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかで、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかで、それぞれの角度の非類似度は前記第１時系列ベクトルと前記第２時系列ベクトルの間の夾角の正弦である計算ユニットと、
前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定し、それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定するための検知ユニットとを備える。
【００１５】
さらに、前記検知ユニットは、
前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成し、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００１６】
さらに、前記計算ユニットは、
式１に基づいて、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性がそれぞれ対応しているＮ−１個の第２時系列との間のＮ−１個の角度の非類似度を計算し、
前記式１
【００１７】
【数２】
0006850902.tif 000003
【００１８】
であり、
ここで、ｘは第１時系列ベクトルであり、ｙは第２時系列ベクトルであり、θｘｙは時系列ベクトル間の角度であり、前記ｓｉｎθｘｙは角度の非類似度である。
【００１９】
さらに、当該設置は分類ユニットをさらに備え、分類ユニットは第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類するのに用い、
前記検知ユニットは、また、分類結果に基づいて前記第１時系列に関する第２検知結果を確定するに用い、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、前記第１検知結果と前記第２検知結果の加重和を求め、前記第１時系列の目標検知結果を得て、それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常な時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００２０】
当該設置は１クラスＳＶＭ分類器生成ユニットをさらに備え、次の方法に基づいて前記所定の前記第１属性に対応する１クラスＳＶＭ分類器を生成するのに用い、
前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成する。
【００２１】
第３の態様によれば、本願の実施例は電子装置を提供し、当該電子装置は、通信用インタフェース、プロセッサーおよびメモリを含み、
前記プロセッサーはメモリに格納された命令を読み出し、
前記通信用インタフェースを通じて所定期間内にネットワーク監視ノードによって生成されたＮｅｔｆｌｏｗを取得し、
前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成し、
それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定し、ここで、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含み、
第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算し、ここで、前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかで、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、それぞれの角度の非類似度は前記第１時系列ベクトルと前記第２時系列ベクトルとの間の夾角の正弦で、前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定し、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定する。
【００２２】
好ましくは、前記プロセッサーは、
前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成し、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記検知しようとするサンプルが異常データフローであるかどうかを確定する場合、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００２３】
好ましくは、前記プロセッサーは、式１に基づいて前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれのＮ−１個の角度の非類似度を計算する。
【００２４】
さらに、前記プロセッサーは、第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類し、
分類結果に基づいて、前記第１時系列に関する第２検知結果を確定し、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、
前記第１検知結果と前記第２検知結果の加重和を求め、第１時系列の目標検知結果を得て、
それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００２５】
さらに、前記プロセッサーは、次の方法に基づいて前記所定の前記第１属性に対応する１クラスＳＶＭ分類器を生成し、
前記通信用インタフェースを通じて前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成する。
【００２６】
第４の態様によれば、本発明の実施例は非一過性コンピュータが読み取り可能な記憶媒体を提供し、前記非一過性コンピュータが読み取り可能な記憶媒体にはコンピュータ命令が格納されており、前記コンピュータ命令は前記コンピュータに上述態様１に記載したネットワークにおけるトラフィックの異常を検出するための方法を実行させるのに用いる。
【００２７】
第５の態様によれば、本発明の実施例はコンピュータプログラム製品を提供し、前記コンピュータプログラム製品は非一過性コンピュータが読み取り可能な記憶媒体に格納したコンピュータプログラムを含み、前記コンピュータプログラムはプログラム命令を含み、前記プログラム命令がコンピュータによって実行される場合、前記コンピュータは上述態様１に記載した前記ネットワークにおけるトラフィックの異常を検出するための方法を実行する。
【発明の効果】
【００２８】
本発明の実施例は多次元時系列に対する異常検知を行うものであり、次元とはＮｅｔｆｌｏｗのそれぞれの属性を指しており、例えばソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号など、角度の非類似度の方法を利用して、Ｎｅｔｆｌｏｗの同一属性の時系列の相似性分析を通じて異常系列を探し出し、角度の非類似度は時系列ベクトル間の夾角の正弦であるため、装置のクロックが完全にシンクロナイズしなくても、検知結果の偏差を招くことはないため、本発明の実施例に係るネットワーク異常データフローの検知方法で得られた検知結果がより正確になり、こうすればタイムリー的かつ迅速的にネットワークの異常行為を発見し、効果的にネットワーク攻撃を予防することができる。
【００２９】
本発明実施例の技術手段をさらに説明するために、次に実施例を説明するのに必要な図面を簡潔に紹介するが、次に陳述する図面は本発明のいくつかの実施例に過ぎず、当領域の普通の技術者にとって、創造的工夫をしなくても、これらの図面をもとにその他の図面を容易に取得できることが明白である。
【図面の簡単な説明】
【００３０】
【図１】は本発明の実施例に係るネットワークにおけるトラフィックの異常を検出するための方法のフローチャートである。
【図２ａ】本発明の実施例に係るネットワークにおけるトラフィックの異常を検出するための結果の概略図である。
【図２ｂ】本発明の実施例に係るネットワークにおけるトラフィックの異常を検出するための結果の概略図である。
【図２ｃ】本発明の実施例に係るネットワークにおけるトラフィックの異常を検出するための結果の概略図である。
【図３】本発明の実施例に係るネットワークにおけるトラフィックの異常を検出するための装置の構造図である。
【図４】本発明の実施例に係る電子装置の構造図である。
【発明を実施するための形態】
【００３１】
本発明の目的、技術手段と長所をさらに明確にするために、次に図面に合わせて本発明をさらに詳しく説明するが、描述している実施例は本発明の実施例の一部に過ぎず、全部の実施例でないことが明白である。本発明の実施例に基づいて、当領域の普通の技術者が創造的工夫をしなくて取得したその他のすべての実施例は、すべて本発明の保護する範囲に属するものである。
【００３２】
図１に示したように、本発明の実施例はネットワークにおけるトラフィックの異常を検出するための方法のフローチャートを提供し、具体的な実現方法は次のステップを備える。
【００３３】
ステップＳ１０１において、所定期間内にネットワーク監視ノードによって生成されたＮｅｔｆｌｏｗを取得する。
【００３４】
ステップＳ１０２において、前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成する。
【００３５】
ステップＳ１０３において、それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定する。ここで、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含む。
【００３６】
ステップＳ１０４において、第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算するここで、前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかであり、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかであり、それぞれの角度の非類似度は前記第１時系列ベクトルと前記第２時系列ベクトルとの間の夾角の正弦である。前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定する。
【００３７】
ステップＳ１０５において、それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定する。
【００３８】
上述のステップは通常、ネットワークデータフロー（ＮｅｔＦｌｏｗ）の診断ツールによって実行され、ここで、ネットワーク監視ノードは通常それぞれのルータあるいは交換機を指しており、ステップＳ１０１において、一般的にはコレクターを利用してそれぞれのルータあるいは交換機のＮｅｔＦｌｏｗ（ネットワークにおけるデータフロー）のデータを採集し、それから採集したデータフローをサーバーに格納して、種々のＮｅｔＦｌｏｗデータ診断ツールを利用してＮｅｔｆｌｏｗに対する更なる処理を行う。
【００３９】
Ｎｅｔｆｌｏｗ自身は主に１式のネットワークにおけるトラフィック統計プロトコルで、ルータはソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号、プロトコルのタイプ、サーバーのタイプおよび入力インタフェースなどの制御情報を通じてＮｅｔｆｌｏｗを区分する。あらゆる時間においてルータが新しいデータパケットを受けた時、ルータはデータフロー中のこれらの制御情報を精査して当該データパケットがあらゆる登録済みのＮｅｔｆｌｏｗに属しているかどうかを判断し、属している場合、新しく収集したデータパケットの関連情報を相応のＮｅｔｆｌｏｗ記録に統合し、属していない場合、新しい記録を作成する。
【００４０】
ステップＳ１０２において、Ｎｅｔｆｌｏｗの属性は一般的にソースＩＰアドレス、ソースポート、宛先ＩＰアドレス、宛先ポートおよびトランスポートプロトコルの５つの属性を指しており、この５つの属性を含むデータパケットがフローを生成し、例えば（１９２．１６８．１．１、１００００、１２１．１４．８８．７６、８０）は、ＩＰアドレス１９２．１６８．１．１の端末がポート１００００を通して、ＴＣＰプロトコルを利用して、ＩＰアドレス１２１．１４．８８．７６、ポート８０の端末と接続して、以上の５つの属性によって唯一の会話を確定することができることを表す。
【００４１】
上述のステップにおいて、時系列自身がベクトルの形式で表され、時系列ベクトルは一連のデータ要素からなる順序集合であり、これらのデータ要素自身は記録時刻と記録値によって構成されており、
【００４２】
【数３】
0006850902.tif 000004
【００４３】
と記し、ここで、
要素
【００４４】
【数４】
0006850902.tif 000005
【００４５】
はｔｉ時刻で取得した記録値がｖｉであることを表し、ここの記録時刻ｔｉは厳格に単調で増加するものであり、すなわち時間の前進につれて、それぞれのデータを絶えずに累積し、｜Ｘ｜は時系列ベクトルＸのノルムと称し、時系列の長さを表す。広義の時系列にとっては、記録値ｖｉは離散記号、構造化データ、マルチメディアデータなどであってもよく、狭義の時系列にとっては、記録値ｖｉは実数型である。
【００４６】
例えば、ＮｅｔＦｌｏｗデータ収集ソフトウェアは１時間内のフローを採集し、それからサーバーに格納して、さらにＮｅｔＦｌｏｗデータ診断ツールはサーバーから連続して格納した１０時間のＮｅｔｆｌｏｗを取得して、得られたＮｅｔｆｌｏｗに対して１時間をタイムスパンとして集約し、１０個の集約期間のＮｅｔｆｌｏｗを得て、それからそれぞれのＮｅｔｆｌｏｗの３つの属性（ソースＩＰアドレス、ソースポート、トランスポート層のプロトコル）の３つの時系列を生成し、このようにして、属性元ＩＰアドレスにとっては、１０セグメントのＮｅｔｆｌｏｗには１０本の時系列があり、同一期間のソースＩＰアドレスに対応する時系列、ソースポートに対応する時系列、トランスポート層のプロトコルに対応する時系列を１つの検知しようとするサンプルに構成すると、１０個の検知しようとするサンプルを形成し、そしてそれぞれの検知しようとするサンプルの時系列に対する検知を行えば、異常なサンプルを検出することができる。
【００４７】
さらに、それぞれの検知しようとするサンプルの時系列の検知方法は次の通りである。第１検知しようとするサンプルの第１時系列に対して、式１に基づいて前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれのＮ−１個の角度の非類似度を計算し、前記式１は
【００４８】
【数５】
0006850902.tif 000006
【００４９】
である。
【００５０】
ここで、ｘは第１時系列ベクトルであり、ｙは第２時系列ベクトルであり、θｘｙは時系列ベクトル間の角度であり、前記ｓｉｎθｘｙは角度の非類似度である。
【００５１】
上例に引き続いて、属性元ＩＰアドレスにとっては、１０セグメントのＮｅｔｆｌｏｗには１０個の時系列があり、仮に第１セグメント検知しようとするサンプルの属性元ＩＰアドレスに関する第１時系列ベクトルをＸ１、第２セグメント検知しようとするサンプルの属性元ＩＰアドレスに関する時系列ベクトルをＸ２とした場合、順次に類推すると、第１０セグメント検知しようとするサンプルの属性元ＩＰアドレスに関する時系列ベクトルがＸ１０となり、式１を利用して順次にＸ１とＸ２、Ｘ３…Ｘ１０の間の角度の非類似度を計算することが可能で、例えば、Ｘ１とＸ２の間の角度の非類似度は
【００５２】
【数６】
0006850902.tif 000007
【００５３】
である。
【００５４】
類推すれば、第１時系列ベクトルとその他の９つの時系列との間のベクトル間の角度の非類似度
【００５５】
【数７】
0006850902.tif 000008
【００５６】
を計算することができ、同様に、第１検知しようとするサンプルの残余の属性の時系列ベクトルも上述の方法に基づいて順次に角度の非類似度を計算することができ、当然のことながら、その他の９つの検知しようとするサンプルのそれぞれの時系列ベクトルの角度の非類似度は第１検知しようとするサンプルの計算方法と同じなので、ここでその詳細を省略する。
【００５７】
さらに、それぞれの検知しようとするサンプルのそれぞれの時系列の角度の非類似度を得た後、前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成する。
【００５８】
すなわち、上述の第１時系列で計算して得られたこの９つの角度の非類似度
【００５９】
【数８】
0006850902.tif 000009
【００６０】
を足して、その和を設定した閾値と比較して、設定した閾値より大きければ、第１時系列が異常時系列で、そうでなければ、正常な時系列である。
【００６１】
さらに、それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００６２】
例えば、上述の検知方法に基づいて次の検知結果を得たとする場合、第１検知しようとするサンプルの属性がソースＩＰアドレスの第１時系列ベクトルであれば異常時系列であり、第１検知しようとするサンプルの属性がソースポートの時系列ベクトルであれば異常時系列であり、第１検知しようとするサンプルの属性がトランスポート層のプロトコルの時系列ベクトルであれば正常な時系列であり、前記第１検知しようとするサンプルの異常時系列の数量が正常な時系列の数量より大きければ、第１検知しようとするサンプルに対応する当該時系列は異常時系列である。
【００６３】
さらに、角度の非類似度を利用して検知するほか、また１クラスＳＶＭ分類器に合わせてそれぞれの検知しようとするサンプルの時系列に対する検知を行うことも可能で、検知方法は次の通りである。
【００６４】
第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応するＯＣＳＶＭ（１クラスサポートベクターマシン）の分類器を利用して分類する。
【００６５】
分類結果に基づいて、前記第１時系列に関する第２検知結果を確定する。ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列で、分類結果が同類でなければ、前記第２検知結果が異常時系列である。
【００６６】
前記第１検知結果と前記第２検知結果の加重和を求め、第１時系列の目標検知結果を得る。
【００６７】
それからそれぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００６８】
ここで、データ分類とは既に分類されたトレーニングデータをもとに、ある種の原理に基づいて、トレーニングを経て１つの分類器を形成し、それから分類器を使って分類されていないデータの類別を判断することを指す。注意すべきなのは、データがすべてベクトルの形式で現れることである。ＯＣＳＶＭの基本的原理とは、与えられたデータサンプルに対して、カーネル関数Φを通じてそれを高次元特異空間に投影することである。高次元特異空間で１つの最適超平面を求めて目標データと座標原点の最大の分離を実現させる。ここで、座標原点を唯一の異常サンプルとする仮説を立てている。単一類別のデータを用いて１クラスＳＶＭ分類器をトレーニングして、それからトレーニング済みの分類器を用いて新しいデータに対する検知を行い、新しいデータがトレーニングデータと同一の類別に属するかどうかを判断する。ＯＣＳＶＭに基づく１分類方法はトレーニング、決定速度が速く、分類の正確率が高いなどの特徴があり、高次元、ノイズの多い環境および限られたサンプルの１分類問題の処理に適合している。ＯＣＳＶＭの１分類区別方法は取得した目標データに基づいてそのエッジを予想して、正しい分類を行うことができる。
【００６９】
本発明の実施例において、前もってＭ個の過去の同期のサンプルを選んで１つの１クラスＳＶＭ分類器をトレーニングして、それからトレーニング済みの分類器を用いて検知しようとするサンプルが異常であるかどうかを判断する。具体的には、前記所定の前記第１属性に対応するＳＶＭ分類器は次の方法で生成したものである。
【００７０】
前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかである。
【００７１】
第１属性に対応するＮ個の時系列をトレーニングデータとして、第１属性に関するＳＶＭ分類器を生成する。
【００７２】
すなわち、過去のＮｅｔｆｌｏｗのそれぞれの属性の時系列を用いて、それぞれの属性に対応するＳＶＭ分類器をトレーニングして、このようにして、トレーニング済みのそれぞれの属性のＳＶＭ分類器を用いて取得した新しいＮｅｔｆｌｏｗに対する検知を行うことができる。ここで、検知方法はまたオンライン検知とオフライン検知に分けられており、オンライン検知は主にリアルタイムでルータなどのネットワーク監視ノードのＮｅｔｆｌｏｗを取得して、それからリアルタイムに検知結果を提供し、当然なことながら、このような検知方法のリアルタイム性が比較的強く、もう１つのオフライン検知は主にサーバーに格納された一定時間のＮｅｔｆｌｏｗに対する検知を行い、この検知方法は明らかにリアルタイム性が欠けるが、異なる時間の長さの検知を行うことができるため、検知の正確率を高めることができる。
【００７３】
具体的に言えば、場面１、オンライン検知の目的はリアルタイムにシステムの異常フローを発見し、直ちに異常警報を提供することである。オンライン検知はリアルタイム性に対する要求が高いため、オンライン検知中に多種長さと多種粒度の時系列に対する検知を同時に行うことはできない。検知の過程において、まずＮｅｔｆｌｏｗデータに基づいて現在の時刻より先Ｔ時間窓の時系列を生成し、当該系列に対する異常検知分析を行うが、検知方法は上述の通りである。場面２、オフライン検知はオンライン検知に対する補充である。オンライン検知にリアルタイム性の要求があるため、検知の過程において検査漏れの情況があり得る。そのため、過去のデータに対するオフライン検知を行う必要がある。オフライン検知の過程において、多種長さと多種粒子の時系列を生成することが可能で、かつより多くの過去の同期の時系列を用いて非類似度を計算したり分類器をトレーニングしたりすることもできる。
【００７４】
次の異常検知事例は、イントラネット環境のＮｅｔｆｌｏｗデータに対する検知を行ったものである。本発明の実施例において、ネットワークの１つのキーノードに対して、それをソースＩＰのアクセス回数、各フローの持続時間、伝送したデータパケットの数量の３つのフィルードとすることを考慮して、それぞれの検知しようとするサンプルは３つの時系列を含む。与えられた時刻にとっては、上述の方法に基づいて時系列を生成し、ここで、Ｔ＝２４時間、Δｔ＝１時間、Ｍ＝１０である。すべての１０本の時系列において、第８本目の系列は異常系列で、残りは正常な系列である。角度異常の検知方法において、上述の角度の非類似度の計算方法に基づいて時系列の角度の非類似度を計算する。計算結果は図２ａ、図２ｂ、図２ｃに示した通りである。図２ａ、図２ｂ、図２ｃから、第８グループの３本の時系列の非類似度の和はその他の系列よりはるかに高いため、第８グループの時系列に対応するＮｅｔｆｌｏｗには異常な情況があることがわかる。１クラスＳＶＭ方法において、正常な系列で分類器をトレーニングし、そして異常系列に対する検知を行い、その検知結果は実際とも合致している。
【００７５】
同様な発明思想に基づいて、本発明の実施例はまたネットワークにおけるトラフィックの異常を検出するための装置を提供し、当該装置は上述の方法の実施例を実行することができる。本発明実施例が提供した装置は図３示した通りで、取得ユニット３０１、処理ユニット３０２、確定ユニット３０３、計算ユニット３０４、および検知ユニット３０５を備える。
【００７６】
前記取得ユニット３０１は、所定期間内にネットワーク監視ノードによって生成されたＮｅｔｆｌｏｗを取得するのに用いる。
【００７７】
前記処理ユニット３０２は、前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成するのに用いる。
【００７８】
前記確定ユニット３０３は、それぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定するのに用い、ここで、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含む。
【００７９】
前記計算ユニット３０４は、第１検知しようとするサンプルの第１属性に対応する第１時系列に対して、前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算するのに用い、ここで、前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかで、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかで、それぞれの角度の非類似度は前記第１時系列ベクトルと前記第２時系列ベクトルの間の夾角の正弦である。
【００８０】
前記検知ユニット３０５は、前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定し、それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定するのに用いる。
【００８１】
さらに、前記検知ユニット３０５は、
前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成し、
それぞれの検知しようとするサンプルの異常時系列は検知しようとするサンプルの正常な時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００８２】
さらに、前記計算ユニット３０４は、
式１に基づいて前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれのＮ−１個の角度の非類似度を計算するのに用いる。
【００８３】
前記式１は
【００８４】
【数９】
0006850902.tif 000010
【００８５】
である。
【００８６】
ここで、ｘは第１時系列ベクトルであり、ｙは第２時系列ベクトルであり、θｘｙは時系列ベクトル間の角度であり、前記ｓｉｎθｘｙは角度の非類似度である。
【００８７】
さらに、それはまた第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類するための分類ユニット３０６を備える。
【００８８】
前記検知ユニット３０５は、また分類結果に基づいて、前記第１時系列に関する第２検知結果を確定するのに用い、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、前記第１検知結果と前記第２検知結果の加重和を求め、前記第１時系列の目標検知結果を得る。それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常な時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【００８９】
さらに、それはまた次の方法に基づいて前記所定の前記第１属性に対応する１クラスＳＶＭ分類器を生成するのに用いる１クラスＳＶＭ分類器生成ユニット３０７を備える。
【００９０】
前記１クラスＳＶＭ分類器生成ユニット３０７は、
前記所定期間前の過去のＮｅｔｆｌｏｗを取得する。
【００９１】
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかである。
【００９２】
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成する。
【００９３】
上述したように、本発明の実施例が採用しているのは多次元時系列に対する異常検知を行うもので、次元とはＮｅｔｆｌｏｗのそれぞれの属性を指し、例えばソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号など、角度の非類似度の方法を利用して各セグメントのＮｅｔｆｌｏｗの同一属性の時系列の類似性の分析を通じて、そのなかの異常系列を探し出し、角度の非類似度が時系列ベクトル間の夾角の正弦であるため、装置のクロックが完全にシンクロナイズしなくても、検知結果の偏差を招くことはなく、そのため本発明の実施例に係るネットワーク異常データフローの検知方法で得られた検知結果がさらに正確となり、このようにすれば、タイムリーで、迅速にネットワークの異常行為を発見し、ネットワーク攻撃に対する効果的な検知を行うことができる。
【００９４】
本願は本発明実施例の手段、装置（システム）およびコンピュータプログラム製品のフローチャートと／あるいはブロック図を参照して描述したものである。コンピュータプログラム命令でフローチャートと／あるいはブロック図のなかのそれぞれのチャートと／あるいはブロック、ならびにフローチャートと／あるいはブロック図のなかのチャートと／あるいはブロックの組み合わせを実現することができると理解すべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込み式処理機あるいはその他のプログラミングできるデータ処理装置のプロセッサーに提供することによって一つの機器を生成させ、コンピュータあるいはその他のプログラミングできるデータ処理装置のプロセッサーが実行する命令を通じてフローチャート１つあるいは複数のチャートと／あるいはブロック図１つあるいは複数のブロックに指定された機能に用いる装置を形成させる。
【００９５】
これらのコンピュータプログラム命令はコンピュータあるいはその他のプログラミングできるデータ処理装置を誘導して特定の方式で働くコンピュータが読み取り可能なメモリのなかに格納することも可能で、当該コンピュータが読み取り可能なメモリのなかに格納された命令にコマンド装置を含む製造品を形成させ、当該コマンド装置はフローチャート１つあるいは複数のチャートと／あるいはブロック図１つあるいは複数のブロックに指定された機能を実現する。
【００９６】
これらのコンピュータプログラム命令はコンピュータあるいはその他のプログラミングできる処理装置に搭載することも可能で、コンピュータあるいはその他のプログラミングできる装置の上で一連の操作ステップを実行させてコンピュータで実現する処理を形成させることによって、コンピュータあるいはその他のプログラミングできる装置の上で実行する命令にフローチャート１つあるいは複数のチャートと／あるいはブロック図１つあるいは複数のブロックに指定された機能を実現するのに用いるステップを提供させる。
【００９７】
同様な発明思想に基づいて、本願の実施例はもう一種の電子装置を提供する。図４は本発明が提供した電子装置の構造概略図で、当該電子装置４００は、通信用インタフェース４０１、プロセッサー４０２、メモリ４０３とバスシステム４０４を含む。
【００９８】
ここで、メモリ４０３は、プログラムを格納するのに用いる。具体的には、プログラムはプログラムコードを含んでもよく、プログラムコードはコンピュータの操作命令を含む。メモリ４０３はランダムアクセス記憶媒体（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、略称ＲＡＭ）であってもよく、不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）であってもよいが、少なくとも１つのディスクのようなメモリである。図の中に１つのメモリしか示していないが、当然なことながら、メモリは必要に応じて、複数個を設けることもできる。メモリ４０３はプロセッサー４０２の中のメモリであってもよい。
【００９９】
メモリ４０３は次の要素を格納しており、モジュールあるいはデータ構造、あるいはそれらの部分集合、あるいはそれらの上位集合を実行することができる、
操作命令は、各種の操作命令を含み、各種の操作を実現するのに用いる。
【０１００】
操作システムは、各種のシステムプログラムを含み、各種の基礎的業務の実現およびハードウエアに基づく任務を処理するのに用いる。
【０１０１】
上述した本願の実施例が掲示した方法はプロセッサー４０２に応用するか、あるいはプロセッサー４０２で実現することができる。プロセッサー４０２はＩＣチップであってもよく、信号の処理能力がある。実現の過程において、前記方法の各ステップはプロセッサー４０２のハードウエアの集積論理回路あるいはソフトウェア形式の命令を通じて完成することができる。上述のプロセッサー４０２は汎用プロセッサー、デジタル・シグナル・プロセッサー（ＤＳＰ）、エーシック（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）あるいはその他プログラマブルロジック装置、ディスクリートゲートあるいはトランジスターロジック装置、ディスクリートハードウエアモジュールであってもよい。本願の実施例が公開した各種の方法、ステップおよびロジックブロックダイアグラムを実現または実行することができる。汎用プロセッサーはマイクロ・プロセッサであってもよく、あるいは当該プロセッサーはあらゆる常用プロセッサーなどであってもよい。本願の実施例が公開した方法のステップに合わせて直接ハードウエアディコーディングプロセッサーに体現して実行するか、あるいはディコーディングプロセッサーの中のハードウエアとソフトウェアモジュールの組み合わせで実行して完成することができる。ソフトウェアモジュールはランダムアクセス記憶媒体、フラッシュ記憶媒体、読み出し専用メモリ、プログラマブル読み出し専用メモリあるいはイーイープロム、レジスターなど当該領域の成熟した記憶媒体の中にあってもよい。当該記憶媒体のメモリ４０３、プロセッサー４０２、読み出し専用メモリ４０３の中にある情報は、そのハードウエアと合わせて以下のステップを実行する。
【０１０２】
プロセッサー４０２は通信用インタフェース４０１を通じて、ネットワーク監視ノードの期間内で生成したＮｅｔｆｌｏｗを取得し、
前記Ｎｅｔｆｌｏｗのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、プロセッサー４０２は前記Ｎｅｔｆｌｏｗを所定の時間間隔で集約し、前記いずれかの属性に関するＮ個の時系列を生成する。
【０１０３】
プロセッサー４０２はそれぞれの属性に対応するそれぞれのＮ個の時系列に基づいて、前記Ｎｅｔｆｌｏｗに対応するＮ個の検知しようとするサンプルを確定し、ここで、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含み、
第１検知しようとするサンプルの第１属性に対応する第１時系列に対応して、プロセッサー４０２は前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれの角度の非類似度を計算し、ここで、前記第１検知しようとするサンプルはＮ個の検知しようとするサンプルのうちのいずれかで、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかで、それぞれの角度の非類似度は前記第１時系列ベクトルと前記第２時系列ベクトルとの間の夾角の正弦で、前記第１時系列に対応するＮ−１個の角度の非類似度に基づいて、前記第１時系列に関する第１検知結果を確定し、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定する。
【０１０４】
好ましくは、前記プロセッサー４０２は具体的に次のように用いる。
【０１０５】
前記第１時系列に対応するＮ−１個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第１時系列が異常時系列である第１検知結果を生成し、そうでなければ、前記第１時系列が正常時系列である第１検知結果を生成し、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【０１０６】
好ましくは、前記プロセッサー４０２は具体的には、式１に基づいて前記第１時系列と残余のＮ−１個の検知しようとするサンプルの前記第１属性に対応するＮ−１個の第２時系列との間のそれぞれのＮ−１個の角度の非類似度を計算するのに用いる。
【０１０７】
さらに、前記プロセッサー４０２は具体的に次のように用いる。第１検知しようとするサンプルの第１属性に対応する第１時系列を、所定の前記第１属性に対応する１クラスＳＶＭ分類器を用いて分類し、
分類結果に基づいて、前記第１時系列に関する第２検知結果を確定し、ここで、分類結果が同類であれば、前記第２検知結果が正常な時系列であり、分類結果が同類でなければ、前記第２検知結果が異常時系列であり、
前記第１検知結果と前記第２検知結果の加重和を求め、第１時系列の目標検知結果を得て、
それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【０１０８】
好ましくは、前記プロセッサー４０２は具体的に次のように用いる。
【０１０９】
次の方法に基づいて前記所定の前記第１属性に対応する１クラスＳＶＭ分類器を生成し、
前記通信用インタフェースを通じて前記所定期間前の過去のＮｅｔｆｌｏｗを取得し、
前記過去のＮｅｔｆｌｏｗの第１属性に対して、前記第１属性に基づいて、前記過去のＮｅｔｆｌｏｗを所定の時間間隔で集約し、前記第１属性に関するＮ個の時系列を生成し、前記第１属性は前記Ｎｅｔｆｌｏｗの属性のうちのいずれかで、
第１属性に対応するＮ個の時系列をトレーニングデータとして、前記第１属性に関する１クラスＳＶＭ分類器を生成する。
【０１１０】
本発明の実施例の電子装置は多様な形式で存在しており、次を含むが、それに限るものではない。
【０１１１】
（１）移動通信装置：これらの装置の特徴は移動通信機能を備えており、かつ音声、データ通信を提供することを主な目標としている。これらの装置にはスマートフォン（例えばｉＰｈｏｎｅ（登録商標））、マルチメディア携帯電話、機能性携帯電話および低価携帯などが含まれる。
【０１１２】
（２）ウルトラモバイルパソコン装置：これらの装置はパソコンの範疇に属し、計算と処理機能のほか、一般的にはインターネットに接続する機能も備えている。これらの端末にはＰＤＡ、ＭＩＤおよびＵＭＰＣなどが含まれ、例えばｉＰａｄ（登録商標）。
【０１１３】
（３）ポータブルレクリエーション装置：これらの装置はマルチメディアの内容を表示したり、放映したりすることができる。これらの装置はオーディオ、ビデオプレーヤー（例えばｉＰｏｄ（登録商標））、携帯ゲーム機、電子書籍および知能玩具とポータブルカーナビゲーション装置を含む。
【０１１４】
（４）サーバー：計算サービスを提供する装置で、サーバーの構成としてはプロセッサー、ハードディスク、メモリ、システムバスなどを含み、サーバーと通用コンピュータアーキーテクチャと類似しているが、高い信頼性のサービスを提供しなければならないため、処理能力、安定性、信頼性、安全性、拡張性能、管理の易さなどの面において高い性能が求められる。
【０１１５】
（５）その他のデータ交換機能を有する電子装置。
【０１１６】
当該領域の技術者は上述の実施例の方法の全部あるいは一部分のステップを実現するにはプログラムを通じて関連のハードウエアに命令して完成させることができると理解してもよく、当該プログラムは１つの記憶媒体に格納しており、いくつかの命令を含んで１つの装置（マイクロコントローラ、あるいはチップなどでもよい）あるいはプロセッサー（ｐｒｏｃｅｓｓｏｒ）に本願のそれぞれの実施例の方法の全部あるいは一部分のステップを実行させるのに用いる。上述の記憶媒体はＵＳＢ記憶媒体、ポータブルハードディスク、読み出し専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセス記憶媒体（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ディスクあるいは光ディスクなど各種プログラムコードを格納できる媒質を含む。
【０１１７】
そのほか、本発明は非一過性コンピュータの記憶媒体を提供し、前記非一過性コンピュータが読み取り可能な記憶媒体にはコンピュータ命令が格納されており、前記コンピュータ命令は前記コンピュータに上述任一つの意項目のネットワークにおけるトラフィックの異常を検出するための方法を実行させるのに用いる。
【０１１８】
そのほか、本発明はコンピュータプログラム製品を提供し、前記コンピュータプログラム製品は非一過性コンピュータが読み取り可能な記憶媒体に格納されたコンピュータプログラムを含み、前記コンピュータプログラムはプログラム命令を含み、前記プログラム命令がコンピュータによって実行される場合、前記コンピュータが上述の任意一つの項目の前記ネットワークにおけるトラフィックの異常を検出するための方法を実行する。
【０１１９】
本発明の好ましい実施例について描述してきたが、当該領域の技術者は一旦基本的創造理念を知っておけば、これらの実施例を変更したり修正したりすることが可能である。そのため、本願の権利請求は好ましい実施例および本願の請求範囲に羅列された如何なる変更と修正をも含むことと解釈すべきである。
【０１２０】
当然なことながら、当該領域の技術者は本願の精神と範囲を逸脱しない限り本願に対する種々の補正と変更を行うことができる。このように、本願のこれらの補正と変更は本願の権利請求および同等の技術範囲内に属するものであれば、本願はこれらの変更と変更をも含むことを意図する。
【図１】
0006850902.tif 000014
【図２ａ】
0006850902.tif 000015
【図２ｂ】
0006850902.tif 000016
【図２ｃ】
0006850902.tif 000017
【図３】
0006850902.tif 000018
【図４】
0006850902.tif 000019