【課題を解決するための手段】
【0007】
第1態様によれば、本発明に係るネットワークにおけるトラフィックの異常を検出するための方法は、
所定期間内にネットワーク監視ノードによって生成されたネットワークデータフロー(Netflow)を取得し、前記Netflowのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Netflowを所定の時間間隔で集約し、前記いずれかの属性に関するN個の時系列を生成するステップと、
それぞれの属性に対応するそれぞれのN個の時系列に基づいて、前記Netflowに対応するN個の検知しようとするサンプルを確定するステップと、
第1検知しようとするサンプルの第1属性に対応する第1時系列に対して、前記第1時系列と残余のN−1個の検知しようとするサンプルの前記第1属性に対応するN−1個の第2時系列との間のそれぞれの角度の非類似度を計算し、前記第1時系列に対応するN−1個の角度の非類似度に基づいて、前記第1時系列に関する第1検知結果を確定するステップと、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定するステップとを備え、
前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含み、
前記第1検知しようとするサンプルはN個の検知しようとするサンプルのうちのいずれかであり、前記第1属性は前記Netflowの属性のうちのいずれかであり、それぞれの角度の非類似度は前記第1時系列ベクトルと前記第2時系列ベクトルとの間の夾角の正弦である。
【0008】
好ましくは、検知結果の確定方法として前記第1時系列に対応するN−1個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断し、大きければ、前記第1時系列が異常時系列である第1検知結果を生成し、そうでなければ、前記第1時系列が正常時系列である第1検知結果を生成する。それから、それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【0009】
好ましくは、式1に基づいて前記第1時系列と残余のN−1個の検知しようとするサンプルの前記第1属性に対応するN−1個の第2時系列との間のそれぞれのN−1個の角度の非類似度を計算し、
前記式1
【0010】
【数1】
【0011】
であり、
ここで、xは第1時系列ベクトルであり、yは第2時系列ベクトルであり、θ
xyは時系列ベクトル間の角度であり、前記sinθ
xyは角度の非類似度である。
【0012】
さらに、第1検知しようとするサンプルの第1属性に対応する第1時系列を、所定の前記第1属性に対応する1クラスSVM分類器を用いて分類し、
分類結果に基づいて、前記第1時系列に関する第2検知結果を確定し、ここで、分類結果が同類であれば、前記第2検知結果が正常な時系列であり、分類結果が同類でなければ、前記第2検知結果が異常時系列であり、
前記第1検知結果と前記第2検知結果の加重和を求め、第1時系列の目標検知結果を得て、
さらに、それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常な時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【0013】
ここで、好ましくは、前記所定の前記第1属性に対応する1クラスSVM分類器は次の方法で生成し、
前記
所定期間前の過去のNetflowを取得し、
前記過去のNetflowの第1属性に対して、前記第1属性に基づいて、前記過去のNetflowを所定の時間間隔で集約し、前記第1属性に関するN個の時系列を生成し、前記第1属性は前記Netflowの属性のうちのいずれかであり、
第1属性に対応するN個の時系列をトレーニングデータとして、前記第1属性に関する1クラスSVM分類器を生成する。
【0014】
第2の態様によれば、同様な発想に基づいて、本発明の実施例はさらにネットワークにおけるトラフィックの異常を検出するための装置を提供し、当該設置は、
所定期間内にネットワーク監視ノードによって生成されたNetflowを取得するための取得ユニットと、
前記Netflowのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Netflowを所定の時間間隔で集約し、前記いずれかの属性に関するN個の時系列を生成するための処理ユニットと、
それぞれの属性に対応するそれぞれのN個の時系列に基づいて、前記Netflowに対応するN個の検知しようとするサンプルを確定するための確定ユニットであって、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含む前記確定ユニットと、
第1検知しようとするサンプルの第1属性に対応する第1時系列に対して、前記第1時系列と残余のN−1個の検知しようとするサンプルの前記第1属性に対応するN−1個の第2時系列との間のそれぞれの角度の非類似度を計算するための計算ユニットであって、前記第1検知しようとするサンプルはN個の検知しようとするサンプルのうちのいずれかで、前記第1属性は前記Netflowの属性のうちのいずれかで、それぞれの角度の非類似度は前記第1時系列ベクトルと前記第2時系列ベクトルの間の夾角の正弦である計算ユニットと、
前記第1時系列に対応するN−1個の角度の非類似度に基づいて、前記第1時系列に関する第1検知結果を確定し、それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定するための検知ユニットとを備える。
【0015】
さらに、前記検知ユニットは、
前記第1時系列に対応するN−1個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第1時系列が異常時系列である第1検知結果を生成し、そうでなければ、前記第1時系列が正常時系列である第1検知結果を生成し、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【0016】
さらに、前記計算ユニットは、
式1に基づいて、前記第1時系列と残余のN−1個の検知しようとするサンプルの前記第1属性がそれぞれ対応しているN−1個の第2時系列との間のN−1個の角度の非類似度を計算し、
前記式1
【0017】
【数2】
【0018】
であり、
ここで、xは第1時系列ベクトルであり、yは第2時系列ベクトルであり、θ
xyは時系列ベクトル間の角度であり、前記sinθ
xyは角度の非類似度である。
【0019】
さらに、当該設置は分類ユニットをさらに備え、分類ユニットは第1検知しようとするサンプルの第1属性に対応する第1時系列を、所定の前記第1属性に対応する1クラスSVM分類器を用いて分類するのに用い、
前記検知ユニットは、また、分類結果に基づいて前記第1時系列に関する第2検知結果を確定するに用い、ここで、分類結果が同類であれば、前記第2検知結果が正常な時系列であり、分類結果が同類でなければ、前記第2検知結果が異常時系列であり、前記第1検知結果と前記第2検知結果の加重和を求め、前記第1時系列の目標検知結果を得て、それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常な時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【0020】
当該設置は1クラスSVM分類器生成ユニットをさらに備え、次の方法に基づいて前記所定の前記第1属性に対応する1クラスSVM分類器を生成するのに用い、
前記
所定期間前の過去のNetflowを取得し、
前記過去のNetflowの第1属性に対して、前記第1属性に基づいて、前記過去のNetflowを所定の時間間隔で集約し、前記第1属性に関するN個の時系列を生成し、前記第1属性は前記Netflowの属性のうちのいずれかであり、
第1属性に対応するN個の時系列をトレーニングデータとして、前記第1属性に関する1クラスSVM分類器を生成する。
【0021】
第3の態様によれば、本願の実施例は電子装置を提供し、当該電子装置は、通信用インタフェース、プロセッサーおよびメモリを含み、
前記プロセッサーはメモリに格納された命令を読み出し、
前記通信用インタフェースを通じて所定期間内にネットワーク監視ノードによって生成されたNetflowを取得し、
前記Netflowのうちのいずれかの属性に対して、前記いずれかの属性に基づいて、前記Netflowを所定の時間間隔で集約し、前記いずれかの属性に関するN個の時系列を生成し、
それぞれの属性に対応するそれぞれのN個の時系列に基づいて、前記Netflowに対応するN個の検知しようとするサンプルを確定し、ここで、前記それぞれの検知しようとするサンプルは同じ集約期間内のそれぞれの属性に対応する時系列を含み、
第1検知しようとするサンプルの第1属性に対応する第1時系列に対して、前記第1時系列と残余のN−1個の検知しようとするサンプルの前記第1属性に対応するN−1個の第2時系列との間のそれぞれの角度の非類似度を計算し、ここで、前記第1検知しようとするサンプルはN個の検知しようとするサンプルのうちのいずれかで、前記第1属性は前記Netflowの属性のうちのいずれかであり、それぞれの角度の非類似度は前記第1時系列ベクトルと前記第2時系列ベクトルとの間の夾角の正弦で、前記第1時系列に対応するN−1個の角度の非類似度に基づいて、前記第1時系列に関する第1検知結果を確定し、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記それぞれの検知しようとするサンプルが異常データフローであるかどうかを確定する。
【0022】
好ましくは、前記プロセッサーは、
前記第1時系列に対応するN−1個の角度の非類似度の総計が設定した閾値より大きいかどうかを判断して、大きければ、前記第1時系列が異常時系列である第1検知結果を生成し、そうでなければ、前記第1時系列が正常時系列である第1検知結果を生成し、
それぞれの検知しようとするサンプルのそれぞれの時系列の検知結果に基づいて、前記検知しようとするサンプルが異常データフローであるかどうかを確定する場合、
それぞれの検知しようとするサンプルの異常時系列の数量が前記検知しようとするサンプルの正常時系列の数量より多いかどうかを確定し、多ければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【0023】
好ましくは、前記プロセッサーは、式1に基づいて前記第1時系列と残余のN−1個の検知しようとするサンプルの前記第1属性に対応するN−1個の第2時系列との間のそれぞれのN−1個の角度の非類似度を計算する。
【0024】
さらに、前記プロセッサーは、第1検知しようとするサンプルの第1属性に対応する第1時系列を、所定の前記第1属性に対応する1クラスSVM分類器を用いて分類し、
分類結果に基づいて、前記第1時系列に関する第2検知結果を確定し、ここで、分類結果が同類であれば、前記第2検知結果が正常な時系列であり、分類結果が同類でなければ、前記第2検知結果が異常時系列であり、
前記第1検知結果と前記第2検知結果の加重和を求め、第1時系列の目標検知結果を得て、
それぞれの検知しようとするサンプルのそれぞれの時系列に対応する目標検知結果の異常時系列が正常時系列より大きいかどうかを確定し、大きければ、前記検知しようとするサンプルが異常データフローであり、そうでなければ、正常なデータフローである。
【0025】
さらに、前記プロセッサーは、次の方法に基づいて前記所定の前記第1属性に対応する1クラスSVM分類器を生成し、
前記通信用インタフェースを通じて前記
所定期間前の過去のNetflowを取得し、
前記過去のNetflowの第1属性に対して、前記第1属性に基づいて、前記過去のNetflowを所定の時間間隔で集約し、前記第1属性に関するN個の時系列を生成し、前記第1属性は前記Netflowの属性のうちのいずれかであり、
第1属性に対応するN個の時系列をトレーニングデータとして、前記第1属性に関する1クラスSVM分類器を生成する。
【0026】
第4の態様によれば、本発明の実施例は非一過性コンピュータが読み取り可能な記憶媒体を提供し、前記非一過性コンピュータが読み取り可能な記憶媒体にはコンピュータ命令が格納されており、前記コンピュータ命令は前記コンピュータに上述態様1に記載したネットワークにおけるトラフィックの異常を検出するための方法を実行させるのに用いる。
【0027】
第5の態様によれば、本発明の実施例はコンピュータプログラム製品を提供し、前記コンピュータプログラム製品は非一過性コンピュータが読み取り可能な記憶媒体に格納した
コンピュータプログラムを含み、前記コンピュータプログラムはプログラム命令を含み、前記プログラム命令がコンピュータによって実行される場合、前記コンピュータは上述態様1に記載した前記ネットワークにおけるトラフィックの異常を検出するための方法を実行する。