IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ルノー エス.ア.エス.の特許一覧 ▶ 日産自動車株式会社の特許一覧

特許7339276接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法
<>
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図1
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図2
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図3
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図4
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図5
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図6
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図7
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図8
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図9
  • 特許-接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-28
(45)【発行日】2023-09-05
(54)【発明の名称】接続性モジュールを標的にする攻撃ストリームをフィルタリングする方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20230829BHJP
【FI】
G06F21/55
【請求項の数】 11
(21)【出願番号】P 2020557307
(86)(22)【出願日】2019-04-04
(65)【公表番号】
(43)【公表日】2021-08-30
(86)【国際出願番号】 EP2019058477
(87)【国際公開番号】W WO2019201609
(87)【国際公開日】2019-10-24
【審査請求日】2022-03-04
(31)【優先権主張番号】1853343
(32)【優先日】2018-04-17
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】507308902
【氏名又は名称】ルノー エス.ア.エス.
【氏名又は名称原語表記】RENAULT S.A.S.
【住所又は居所原語表記】122-122 bis, avenue du General Leclerc, 92100 Boulogne-Billancourt, France
(73)【特許権者】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】ペロー, エリク
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2007-243459(JP,A)
【文献】米国特許出願公開第2018/0004948(US,A1)
【文献】Pedro Casas他,UNADA:Unsupervised Network Anomaly Detection Using Sub-space Outliers Ranking,NETWORKING 2011 - 10th International IFIP TC 6 Networking Conference Part1,2011年05月09日,LNCS vol.6640,p.40-p.51
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
複数の接続インフローを受け取る接続性モジュール(5)を標的にする攻撃フローフィルタリングをプロセッサにより実現する方法であって、
- 複数の集合体を決定するステップであって、各集合体は、予め定義された期間(δt)内に受け取られた前記複数の接続インフローの結合からもたらされ、各集合体を決定するために考慮される前記期間(δt)は、他の集合体を決定するために考慮される期間とは異なり、前記複数の集合体を決定するために考慮される前記期間(δt)は全て、第1の観察時間ウィンドウ(Δt)内に含まれる、複数の集合体を決定するステップと、
- 前記集合体の1つにそれぞれ関連しているとともに、関連している前記集合体の第1の特性パラメータの値を含む複数の第1の測定ベクトル(X)を決定するステップと、
- 前記複数の第1の測定ベクトル(X)を前記第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するステップと、
- 別の期間(δtN+1)内に受け取られた複数の接続インフローの結合からもたらされる別の集合体を決定するステップであって、前記別の期間(δtN+1)は、前記第1の観察時間ウィンドウ(Δt)の後にある、別の集合体を決定するステップと、
- 前記別の集合体に関連しているとともに、前記別の集合体の第1の特性パラメータの値を含む別の第1の測定ベクトル(XN+1)を決定するステップと、
- 前記別の第1の測定ベクトル(XN+1)を前記第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するステップと、
- 前記別の第1の測定ベクトル(XN+1)の投影、および前記複数の第1の測定ベクトル(X)の投影の結果に応じて異常性スコア(S(X))を決定するステップと、
次いで、前記異常性スコア(S(X))が、攻撃フローの存在に関して疑いのゾーン内に含まれる場合、
- 前記集合体の1つにそれぞれ関連しているとともに、関連している前記集合体の他の特性パラメータの値を含む複数の第2の測定ベクトル(Y)を決定するステップであって、前記他の特性パラメータは、前記第1の特性パラメータとは別個である、複数の第2の測定ベクトル(Y)を決定するステップと、
- 前記他の集合体に関連しているとともに、前記他の集合体の他の特性パラメータの値を含む別の第2の測定ベクトル(YN+1)を決定するステップと、
- 前記別の第2の測定ベクトル(YN+1)を解析することによって攻撃の有無を検出するステップと、を含む方法。
【請求項2】
前記異常性スコア(S(X))が攻撃フローの前記存在に関して疑いのゾーン内に含まれるか判定するために、前記異常性スコア(S(X))を第1の閾値(th)および第2の閾値(th)と比較するようになされている、請求項1に記載の攻撃フローをフィルタリングする方法。
【請求項3】
前記異常性スコア(S(X))を第2の閾値(th)と比較するようになされており、前記異常性スコア(S(X))が前記第2の閾値(th)よりも高い場合、攻撃の存在が前記別の期間(δtN+1)内で検出される、請求項1または2に記載の攻撃フローをフィルタリングする方法。
【請求項4】
前記異常性スコア(S(X))を前記第2の閾値(th )よりも低い第1の閾値(th)と比較するようになされており、前記異常性スコア(S(X))が前記第1の閾値(th)よりも低い場合、攻撃が存在しないことが、前記別の期間(δtN+1)内に検出される、請求項に記載の攻撃フローをフィルタリングする方法。
【請求項5】
- 第2の観察時間ウィンドウ(Δt’)を定義するステップであって、前記第2の観察時間ウィンドウ(Δt’)は、前記の期間(δtN+1)だけシフトされた前記第1の観察時間ウィンドウ(Δt)に対応する、第2の観察時間ウィンドウ(Δt’)を定義するステップと、
- 新しい集合体を決定するステップであって、前記新しい集合体は、新しい期間(δtN+2)内に受け取られた前記複数の接続インフローの結合からもたらされ、前記新しい期間(δtN+2)は、前記第2の観察時間ウィンドウ(Δt’)の後にある、新しい集合体を決定するステップと、
- 前記新しい集合体に関連しているとともに、前記新しい集合体の第1の特性パラメータの値を含む新しい第1の測定ベクトル(XN+2)を決定するステップと、
- 前記第1の観察時間ウィンドウ(Δt)内に位置するが前記第2の観察時間ウィンドウ(Δt’)の外側に位置する前記期間内に受け取られた前記複数の接続インフローの前記結合からもたらされる前記集合体に関連した第1の測定ベクトルの前記投影を削除するステップと、
- 前記新しい第1の測定ベクトル(XN+2)を前記第1の特性パラメータによって定義される少なくとも前記部分空間に投影するステップと、
- 前記投影の結果に応じて新しい異常性スコアを決定するステップと、
をさらに含む、請求項1から4のいずれか一項に記載の攻撃フローをフィルタリングする方法。
【請求項6】
前記投影するステップにおいて、前記複数の第1の測定ベクトル(X)を複数の部分空間に投影するようになされ、前記異常性スコア(S(X))は、異常性関数(F(X,k))の合計から決定され、1つの異常性関数(F(X,k))は、前記複数の第1の測定ベクトル(X)の前記投影の前記結果、ならびに前記別の第1の測定ベクトル(XN+1)の前記投影、および平均異常性(A(k))に応じて部分空間ごとに決定され、前記平均異常性(A(k))もまた、前記複数の第1の測定ベクトル(X)の前記投影からおよび前記別の第1の測定ベクトル(XN+1)の前記投影から決定される、請求項1から5のいずれか一項に記載の攻撃フローをフィルタリングする方法。
【請求項7】
攻撃の存在が検出された場合に、
- 全ての前記部分空間について決定される前記異常性関数(F(X,k))を比較するステップと、
- 最も高い異常性関数(F(X,k))を有する少なくとも1つの部分空間を選択するステップと、
- 前記他の集合体を複数の別々の接続フローに分けるステップと、
- 前記複数の別々の接続フローの複数の特定ベクトルを決定するステップであって、前記特定ベクトルが前記第1の測定ベクトル(X)と同じ前記第1の特性パラメータを含む、特定ベクトルを決定するステップと、
- 前記複数の特定ベクトルを前記少なくとも1つの選択された部分空間に投影するステップと、
- 少なくとも1つの真正でない接続フローを特定するステップであって、前記真正でない接続フローは、特定ベクトルの異常な投影に関連した前記接続フローに対応する、少なくとも1つの真正でない接続フローを特定するステップと、
- 前記真正でない接続フローをフィルタリングするステップと、
をさらに含む、請求項6に記載の攻撃フローをフィルタリングする方法。
【請求項8】
部分空間は、第1の軸および第2の軸によって画定され、前記第1の軸は第1の特性パラメータに対応し、前記第2の軸は、前記第1の特性パラメータから選択される第2の特性パラメータに対応する、請求項1から7のいずれか一項に記載の攻撃フローをフィルタリングする方法。
【請求項9】
前記第1の特性パラメータの少なくとも1つは、以下のデータ、すなわち、
- 接続フロー源の個数(x)、
- サブネットワークごとの接続フロー源の平均個数(x)、
- 送信リクエストの割合(x)、
- 受け取ったエラーリクエストの割合(x)、
- 前記受け取ったリクエストの平均サイズ(x)、
- 前記受け取ったリクエストの平均持続時間
のうちの1つを含む、請求項1から8のいずれか一項に記載の攻撃フローをフィルタリングする方法。
【請求項10】
前記他の特性パラメータの少なくとも1つは、以下のデータ、すなわち、
- 第1のキャッシュメモリレベルへのアクセスに関連したヒット率、
- 第2のキャッシュメモリレベルへのアクセスに関連したヒット率、
- 別のキャッシュメモリレベルへのアクセスに関連したミス率、
- 使用されるメモリの割合
のうちの1つを含む、請求項1から9のいずれか一項に記載の攻撃フローをフィルタリングする方法。
【請求項11】
複数の接続インフローからの接続性モジュール(5)を標的にする攻撃フローをフィルタリングする装置であって、
- 複数の集合体を決定するモジュールであって、各集合体は、予め定義された期間(δt)内に受け取られた前記複数の接続インフローの結合からもたらされ、各集合体を決定するために考慮される前記期間(δt)は、他の集合体を決定するために考慮される期間とは異なり、前記複数の集合体を決定するために考慮される前記期間(δt)は全て第1の観察時間ウィンドウ(Δt)内に含まれる、複数の集合体を決定するモジュールと、
- 前記集合体の1つにそれぞれ関連しているとともに、関連している前記集合体の第1の特性パラメータを含む複数の第1の測定ベクトル(X)を決定するモジュールと、
- 前記複数の第1の測定ベクトル(X)を前記第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するモジュールと、
- 別の期間(δtN+1)内に受け取られた複数の接続インフローの結合からもたらされる別の集合体を決定するモジュールであって、前記別の期間(δtN+1)は、前記第1の観察時間ウィンドウ(Δt)の後にある、別の集合体を決定するモジュールと、
- 前記別の集合体に関連しているとともに、前記別の集合体の第1の特性パラメータの値を含む別の第1の測定ベクトル(XN+1)を決定するモジュールと、
- 前記別の第1の測定ベクトル(XN+1)を前記第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するモジュールと、
- 前記別の第1の測定ベクトル(XN+1)の前記投影および前記複数の第1の測定ベクトル(X)の前記投影結果に応じて異常性スコア(S(X))を決定するモジュールと、
- 前記異常性スコア(S(X))が攻撃フローの存在に関して疑いのゾーン内に含まれる場合に、前記集合体の1つにそれぞれ関連しているとともに、関連している前記集合体の他の特性パラメータを含む複数の第2の測定ベクトル(Y)を決定するのに適した決定モジュールであって、前記他の特性パラメータは、前記第1の特性パラメータとは別個である、決定モジュールと、
- 前記他の集合体に関連しているとともに、前記他の集合体の他の特性パラメータの値を含む別の第2の測定ベクトル(YN+1)を決定するモジュールと、
- 前記別の第2の測定ベクトル(YN+1)を解析することによって攻撃の有無を検出するモジュールと
を備える、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、サービス拒否攻撃からの接続性モジュールの保護に関する。
【0002】
より詳細には、本発明は、複数の接続インフローを受け取る接続性モジュールを標的にする攻撃フローをフィルタリングする方法に関する。
【0003】
本発明は、そのような攻撃フローをフィルタリングする装置にも関する。
【背景技術】
【0004】
サービス拒否攻撃(DoS攻撃)および分散型サービス拒否攻撃(DDoS攻撃)はサイバー攻撃であり、この攻撃の目的は攻撃を受けるサイトのサービスを利用できなくさせることである。これは、攻撃を受けるサイトのデータを破損させるような攻撃に関する問題ではない。
【0005】
これらの攻撃は、いずれかのサーバーにリンクした接続性モジュール、特に、いずれかのインターネットサーバーにリンクした接続性モジュールを標的にすることができる。
【0006】
自動車の接続性モジュールは、一般に、製造業者のプライベートネットワークに接続される。しかしながら、特に運転者支援システムを改善するために、または用意されたマルチメディアの提供においてより広範な選択を提案するために、自動車の接続性モジュールを公衆インターネットネットワークに接続することが想定される。この場合には、接続性モジュールは、様々な攻撃、特に分散型サービス拒否攻撃にさらされる。
【0007】
接続性モジュール、すなわち、例えばサーバーまたはルーターなどのネットワーク機器の一部品を標的にする潜在的な攻撃を検出するために使用される機械学習法が知られている。この知られた方法は、無数の入力接続および出力接続を受け取るネットワーク機器の重要な部品のために開発された。この方法は、入力するインターネットフロー(またはIPフロー(IPは、インターネットプロトコルの頭字語である))を真正のフローと攻撃フローに分類することを目的とする。
【0008】
これをするために、本方法は、複数の部分空間における入力フローを特徴付けるパラメータのグラフィカルな分布に基づく。部分空間は、インフローを特徴付ける2つのパラメータにより定められるグラフィカルゾーンによって定義される。それは、例えば、リクエスト(IPパケットのリマインダ)の平均持続時間を接続フロー源の個数の関数として示すグラフの問題であり得る。
【0009】
公称条件の下で、インフローのパラメータは、1つの動作点のまわりでクラスターにグラフ的に集まるのに対して、攻撃の場合には、攻撃フローのパラメータは、常軌を外れた値を有し、孤立点または外れ値のまわりにグラフ的に集まる。
【0010】
知られている方法では、複数の接続インフローが、所与の期間内にソースアドレスによってまとめられる。次いで、様々なまとめられたフローは解析され、(少なくとも1つの常軌を外れた値の存在によって)攻撃が検出される場合、真正でないとして特定されるインフローは、含まれるプロセッサの優れた計算能力によって一度にフィルタリングされる。
【0011】
この方法は、複数の接続インフローまたはアウトフローが信頼できる統計が抽出されることを可能にするとても多数の接続からなるため、および処理を実行するために使用されるプロセッサが強力であるため、ネットワーク機器が公衆インターネットネットワーク(典型的には、サーバー)に接続されている場合に有効である。一般に、攻撃により、接続インフローの総数に対して少ないいくつかの接続インフローがもたらされるので、クラスターと常軌を外れた値との間の区別が可能であり、うまく機能する。
【0012】
対照的に、自動車の接続性モジュールは、限られた個数の入力接続(一般に、約10個の接続)だけを受け取るのに適している。したがって、インフローの解析中、真正のフローが攻撃フローの中に埋もれ、後者は、クラスターとして(およびしたがって公称条件として)現れ、もはや常軌を外れた値として現れない。したがって、上述した解決策は、自動車の接続性モジュールの保護に適用することができない。
【発明の概要】
【0013】
発明の主題
本発明は、特に接続性モジュールが自動車に含まれる場合に、接続性モジュールを標的とする攻撃の検出を改善することを提案する。
【0014】
より詳細には、本発明によれば、導入部で定義されたような攻撃フローをフィルタリングする方法であって、
- 複数の集合体を決定するステップであって、各集合体は、予め定義された期間内に受け取られた複数の接続インフローの結合からもたらされ、各集合体を決定するために考慮される期間は、他の集合体を決定するために考慮される期間とは異なり、複数の集合体を決定するために考慮される期間は全て、第1の観察時間ウィンドウ内に含まれる、複数の集合体を決定するステップと、
- 集合体の1つにそれぞれ関連しているとともに、関連している集合体の第1の特性パラメータの値を含む複数の第1の測定ベクトルを決定するステップと、
- 複数の第1の測定ベクトルを第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するステップと、
- 別の期間内に受け取られた複数の接続インフローの結合からもたらされる別の集合体を決定するステップであって、他の期間は、第1の観察時間ウィンドウの後にある、別の集合体を決定するステップと、
- 他の集合体に関連しているとともに、他の集合体の第1の特性パラメータの値を含む別の第1の測定ベクトルを決定するステップと
- 他の第1の測定ベクトルを第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するステップと、
- 他の第1の測定ベクトルの投影、および複数の第1の測定ベクトルの投影の結果に応じて異常性スコアを決定するステップと、
次いで、異常性スコアが、攻撃フローの存在に関して疑いのゾーン内に含まれる場合、
- 集合体の1つにそれぞれ関連しているとともに、関連している集合体の他の特性パラメータの値を含む複数の第2の測定ベクトルを決定するステップであって、他の特性パラメータは、第1の特性パラメータとは別個である、複数の第2の測定ベクトルを決定するステップと、
- 他の集合体に関連しているとともに、他の集合体の他の特性パラメータの値を含む別の第2の測定ベクトルを決定するステップと、
- 他の第2の測定ベクトルを解析することによって攻撃の有無を検出するステップと、を含む方法が提供される。
【0015】
したがって、本発明によれば、攻撃フローが複数の別個の実施フェーズにおいて検出され、これにより、これらのフェーズを実行するのに必要な計算能力を制限する。したがって、この実施は、車両の接続性モジュールに組み込まれるプロセッサなどのあまり強力でないプロセッサによって実現することができる。
【0016】
加えて、通常使用される特性パラメータとは別個であり、独立している他の特性パラメータに応じて定義される第2の測定ベクトルを使用することによって、車両の接続性モジュールを標的にする攻撃の有無に関して得られる結論を有効化することを可能にする。
【0017】
個々にまたは任意の技術的に可能な組合せにおいて実施できる以下のものが、本発明による攻撃フローをフィルタリングする方法の非限定のおよび有利な他の特徴である。
- 異常性スコアが攻撃フローの存在に関して疑いのゾーン内に含まれるか判定するために、異常性スコアを第1の閾値および第2の閾値と比較するようになされている。
- 異常性スコアを第2の閾値と比較するようになされており、異常性スコアが第2の閾値よりも高い場合、攻撃の存在が他の期間内で検出される。
- 記異常性スコアを第1の閾値と比較するようになされており、異常性スコアが第1の閾値よりも低い場合、攻撃が存在しないことが、他の期間内に検出される。
- 以下のステップについても用意がなされている。
- 第2の観察時間ウィンドウを定義するステップであって、第2の観察時間ウィンドウは、他の期間だけシフトされた第1の観察時間ウィンドウに対応する、第2の観察時間ウィンドウを定義するステップ。
- 新しい集合体を決定するステップであって、新しい集合体は、新しい期間内に受け取られた複数の接続インフローの結合からもたらされ、新しい期間は、第2の観察時間ウィンドウの後にある、新しい集合体を決定するステップ。
- 新しい集合体に関連しているとともに、新しい集合体の第1の特性パラメータの値を含む新しい第1の測定ベクトルを決定するステップ。
- 第1の観察時間ウィンドウ内に位置するが第2の観察時間ウィンドウの外側に位置する期間内に受け取られた複数の接続インフローの結合からもたらされる集合体に関連した第1の測定ベクトルの投影を削除するステップ。
- 新しい第1のベクトルを第1の特性パラメータによって定義される少なくとも部分空間に投影するステップ。
- 投影の結果に応じて新しい異常性スコアを決定するステップ。
- 投影するステップにおいて、複数の第1の測定ベクトル(X)を複数の部分空間に投影するようになされ、異常性スコア(S(X))は、異常性関数(F(X,k))の合計から決定され、1つの異常性関数(F(X,k))は、複数の第1の測定ベクトル(X)の投影の結果、ならびに他の第1の測定ベクトル(XN+1)の投影、および平均異常性(A(k))に応じて部分空間ごとに決定され、平均異常性(A(k))もまた、複数の第1の測定ベクトル(X)の投影からおよび他の第1の測定ベクトル(XN+1)の投影から決定される。
- 攻撃の存在が検出された場合に、以下のステップについても用意されている。
- 全部の部分空間について決定される異常性関数を比較するステップ。
- 最も高い異常性関数を有する少なくとも1つの部分空間を選択するステップ。
- 他の集合体を複数の別々の接続フローに分けるステップ。
- 複数の別々の接続フローの複数の特定ベクトルを決定するステップであって、特定ベクトルが第1の測定ベクトルと同じ第1の特性パラメータを含む。特定ベクトルを決定するステップ。
- 複数の特定ベクトルを少なくとも1つの選択された部分空間に投影するステップ。
- 少なくとも1つの真正でない接続フローを特定するステップであって、真正でない接続フローは、特定ベクトルの異常な投影に関連した接続フローに対応する、少なくとも1つの真正でない接続フローを特定するステップ。
- 真正でない接続フローをフィルタリングするステップ。
- 部分空間は、第1の軸および第2の軸によって定義され、第1の軸は第1の特性パラメータに対応し、第2の軸は、第1の特性パラメータから選択される第2の特性パラメータに対応する。
- 第1の特性パラメータの少なくとも1つは、以下のデータのうちの1つを含む。
- 接続フロー源の個数、
- サブネットワークごとの接続フロー源の平均個数、
- 送信リクエストの割合、
- 受け取ったエラーリクエストの割合、
- 受け取ったリクエストの平均サイズ、
- 受け取ったリクエストの平均持続時間。
- 他の特性パラメータの少なくとも1つは、以下のデータのうちの1つを含む。
- 第1のキャッシュメモリレベルへのアクセスに関連したヒット率
- 第2のキャッシュメモリレベルへのアクセスに関連したヒット率
- 別のキャッシュメモリレベルへのアクセスに関連したミス率、および
- 使用されるメモリの割合。
【0018】
本発明は、複数の接続インフローからの接続性モジュールを標的にする攻撃フローをフィルタリングする装置であって、
- 複数の集合体を決定するモジュールであって、各集合体は、予め定義された期間内に受け取られた複数の接続インフローの結合からもたらされ、各集合体を決定するために考慮される該期間は、他の集合体を決定するために考慮される期間とは異なり、複数の集合体を決定するために考慮される期間は全て第1の観察時間ウィンドウ内に含まれる、複数の集合体を決定するモジュールと、
- 集合体の1つにそれぞれ関連しているとともに、関連している集合体の第1の特性パラメータを含む複数の第1の測定ベクトルを決定するモジュールと、
- 複数の第1の測定ベクトルを第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するモジュールと、
- 別の期間内に受け取られた複数の接続インフローの結合からもたらされる別の集合体を決定するモジュールであって、他の期間は、第1の観察時間ウィンドウの後にある、別の集合体を決定するモジュールと、
- 他の集合体を関連しているとともに、他の集合体の第1の特性パラメータの値を含む別の第1の測定ベクトルを決定するモジュールと、
- 他の第1の測定ベクトルを第1の特性パラメータによって定義される少なくとも1つの部分空間に投影するモジュールと、
- 他の第1の測定ベクトルの投影および複数の第1の測定ベクトルの投影の結果に応じて異常性スコアを決定するモジュールと、
- 異常性スコアが攻撃フローの存在に関して疑いのゾーン内に含まれる場合に、集合体の1つにそれぞれ関連しているとともに、関連している集合体の他の特性パラメータを含む複数の第2の測定ベクトルを決定するのに適した決定モジュールであって、他の特性パラメータは、第1の特性パラメータとは別個である、決定モジュールと、
- 他の集合体に関連しているとともに、他の集合体の他の特性パラメータの値を含む別の第2の測定ベクトルを決定するモジュールと、
- 他の第2の測定ベクトルを解析することによって攻撃の有無を検出するモジュールと、を備える装置も提供する。
【0019】
一例示実施形態の詳細な説明
非限定の例によって示される添付図面を参照して与えられる以下の説明により、本発明が何からなり、本発明をどのように実行することができるのかについて明確に理解することが可能になる。
【図面の簡単な説明】
【0020】
図1】本発明による攻撃フローをフィルタリングする装置を装備した車両の乗員室の概略図である。
図2】発明による攻撃フローをフィルタリングする方法をフローチャートの形式で示す図である。
図3図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
図4図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
図5図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
図6図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
図7図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
図8図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
図9図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
図10図2に示された攻撃フローをフィルタリングする方法を実施するために使用される部分空間の8つの例のうちの1つを示す図である。
【発明を実施するための形態】
【0021】
図1は、複数の接続フローを受け取るのに適した接続性モジュール5、および攻撃フローをフィルタリングする装置2を装備した自動車1の乗員室を概略的に示す。
【0022】
接続フローは、例えば、サーバーから来ることができ、例えば、インターネットへのアクセスを可能にする。接続性モジュール5は、例えば、車両1のマルチメディアプロセッサ10に接続され、これによって拡張されたマルチメディアの提供に、車両1の内部に存在する個人がアクセスすることを可能にする。
【0023】
攻撃フローをフィルタリングする装置2は、潜在的な攻撃を特定するために接続性モジュール5によって受け取られる接続フローを解析するのに適している。攻撃フローをフィルタリングする装置2は、検出された攻撃をフィルタリングするのにも適している。
【0024】
図1に示されるように、攻撃フローをフィルタリングする装置2は、例えば、接続性モジュール5に含まれる。代替として、装置2は、接続性モジュール5から独立したエンティティに配置されてもよいが、直接通信している。
【0025】
攻撃フローをフィルタリングする装置2は、一組のモジュール(図示せず)を備える。実際には、これらのモジュールは、ハードウェア要素とソフトウェア要素を結合することによって作り出すことができる。各モジュールは、本発明による方法に記載されるおよび以下に説明される機能性の1つを所有する。
【0026】
図2は、本発明による攻撃フローをフィルタリングする装置2で実施される方法の一例をフローチャートの形式で示す。
【0027】
本方法は、複数の接続インフローの接続性モジュール5による受け取りで、ステップE2で始まる。これらの様々な接続インフローは、単一のソースエンティティ(例えば、単一のサーバー)からまたは複数の別個のソースエンティティから来ることができる。
【0028】
この方法の残りの部分については、第1の観察時間ウィンドウΔtが定義されており、そこで方法のステップが実施される。この第1の観察時間ウィンドウは、例えば、約5秒である。
【0029】
この第1の観察時間ウィンドウは、連続した期間δtに分割される。本発明の文脈では、期間δtは、同一である。使用される期間δtは、例えば約100ミリ秒である(したがって、第1の観察時間ウィンドウは、50個の連続した別個の期間からなる)。期間δtは、分散型サービス拒否攻撃が存在するか判定するために全ての接続インフローが解析される期間に相当する。
【0030】
ステップE4では、1つの期間δt内に受け取られる全ての接続インフローが、「集合体」と称される単一のフローを得るために結合される。したがって、ステップE4では、1つの集合体が、期間ごとに得られる(したがって、約50個の集合体が、第1の観察時間ウィンドウΔt)の全体で得られる。
【0031】
実際には、各接続フローは、一連のデータ、特にネットワークへのアクセスを可能にするデータを含む。次いで、全ての接続インフローを結合することは、全ての接続フローに含まれる全てのデータを(本説明において「集合体」と呼ばれる)単一のフローにグループ化することにある。
【0032】
集合体は、複数の測定値を含む第1の測定ベクトルによって定義される。例えば、期間δtでは、関連した第1の測定ベクトルXはX=[xi,n]と書かれ、xi,nは、期間δt中の測定値nに対応する変数である。各変数xi,nは、調査されるデータのタイプに応じて各様に計算される。
【0033】
例えば、変数xi,nは、期間δtにわたる問題のデータの平均を計算することによって値を求めることができる。これは、例えば、(従来から受け取ったIPパケットとも称される)受け取ったリクエストの平均サイズが、期間δt中の全ての接続についての全ての受け取ったリクエストのサイズの平均を計算することによって得られる場合である。
【0034】
ソース数の例では、変数xi,nは、期間δt内に受け取られた異なるソースアドレスの個数から決定される。
【0035】
サブネットワークごとの平均ソースの個数の例では、変数xi,nは、期間δt内に受け取られる異なるソースアドレスの個数から、および期間δt内に受け取られるリクエストの中の(以下Nで示される)サブネットワークの個数から決定される。実際には、ソースアドレスの最初の24個のビットだけが(このソースアドレスは、IP/24と示される)が考慮される。次いで、各ソースアドレスIP/24について、異なるソースの個数、および受け取ったリクエスト(または受け取ったIPパケット)の個数が決定される。最後に、(以下の式においてNs/rと示される)サブネットワークごとの平均ソースの個数が、(以下の式においてNと示される)ソースアドレスIP/24ごとの異なるソースの個数を(以下の式においてNと示される)ソースアドレスIP/24ごとの受け取ったリクエストの個数で重み付けすることによって、以下のように得られる。
【0036】
受け取った送信リクエストの割合(これは、TCP接続リクエストの割合とも称され、TCPは、トランスミッションコントロールプロトコルの頭字語である)に関しては、変数xi,nは、期間δt内に受け取られた送信リクエストの個数と受け取ったリクエストの総数との間の比率として定義される。
【0037】
受け取ったエラーリクエストの割合の例では(これは、ICMPプロトコルに従うパケットの割合とも称され、ICMPは、インターネットコントロールメッセージプロトコルの頭字語である)、変数xi,nは、期間δt内に受け取られたエラーリクエストの個数と受け取ったリクエストの総数との間の比率として定義される。
【0038】
図2に見ることができるように、本方法は、ステップE6へ続く。このステップでは、得られた各集合体について(第1の観察時間ウィンドウの各期間について)、第1の測定ベクトルXが決定される。この第1の測定ベクトルXは、特性パラメータによってそれが関連付けられる集合体を特徴付ける。
【0039】
これらの特性パラメータは、受け取ったインターネット通信フロー(またはIPフロー(IPは、一般に使用されるインターネットプロトコルの頭字語である))が特徴付けられることを可能にする。これらの受け取った接続フローは、特に、過程中の接続のタイプ、またはこれらの接続フローを介して送信されるデータのタイプに依存する。これらの特性パラメータのうち、例えば、以下のもの、すなわち、接続フローのソースの個数(以下xと示されるパラメータ)、サブネットワークごとの平均ソースの個数(以下xと示されるパラメータ)、データ送信リクエストの割合(TCPパケットによって通常決定され、このパラメータは、xと示される)、エラーコントロールリクエストの割合(通常ICMPパケットと呼ばれ、このパラメータは、xと示される)、送信されたリクエストの平均サイズ(通常受け取ったIPパケットから決定され、このパラメータは、xと示される)、データ転送(またはタイムトゥライブについてのTTL)中のリクエストの平均持続時間(または受け取られたIPパケット)、あるいはさらにサブネットワークの個数が区別される。
【0040】
これらの特性パラメータは、接続性モジュールに対する分散型サービス拒否攻撃を特定することを可能にする判別子である。
【0041】
ここで、第1の測定ベクトルXは、x、x、x、x、xと示される5個のパラメータを含む。
【0042】
ステップE6の終わりに、第1の測定ベクトルXは、期間δtごとに決定され、したがって、複数の第1の測定ベクトルXは、第1の観察時間ウィンドウΔt内で得られる。かくして、例えば、100ミリ秒の期間の間に、および5秒の第1の観察時間ウィンドウの間に、50個の第1の測定ベクトルが得られる。
【0043】
これらの第1の測定ベクトルXは、ステップE8において方法で続いて使用される。特性パラメータは、投影部分空間が定義されることを可能にする。部分空間は、セルのグリッドとして定義される。このグリッドについては、第1の軸、例えば横軸は、第1の特性パラメータに対応するとともに、第2の軸、例えば、縦軸は、第2の特性パラメータに対応する。実際には、ペアで選択された特性パラメータにより、複数の2次元の部分空間が定義されることを可能にする。変形例として、より多くの次元を有する部分空間を考慮することもできる。
【0044】
図3から図10は、上で導入された特性パラメータから得られる部分空間を示す。ここで、各部分空間は、10個のセル×10個のセルのグリッドとして定義される。図3および図7は、例えば、エラーコントロールリクエストの割合(x)の関数としてデータ送信リクエストの割合(x)に対応する部分空間を示す。図4および図8は、送信されたリクエスト(または受け取ったIPパケット)の平均サイズ(x)の関数としてデータ送信リクエストの割合(x)に対応する部分空間を示す。図5および図9は、接続フロー源の個数(x)の関数としてデータ送信リクエストの割合(x)に対応する部分空間を示す。図6および図10は、接続フロー源の個数(x)の関数としてエラーコントロールリクエストの割合(x)を示す。
【0045】
ステップE8では、第1の測定ベクトルXが、特性パラメータによって定義された部分空間に投影される。第1の観察時間ウィンドウΔt内で得られた全ての第1の測定ベクトルXは、これらの部分空間に投影される。投影によって、意味されるものは、投影された第1の測定ベクトルXの値が属するグリッドのセルを特定している。言い換えれば、2つのデータnおよびmから定義される部分空間について、投影は、第1の測定ベクトルXの点(xi,n;xi,m)が属するグリッドのセルの特定に対応する。
【0046】
実際には、投影前に、第1の測定ベクトルXは、特性パラメータの関連する比較を確実にするために正規化される。ここで、第1の測定ベクトルXの各特性パラメータは、問題のパラメータの予め定義された値によって正規化される。使用される予め定義された値は、例えば、特性パラメータの合理的に最大の値に対応する。「最大」の概念は、自動車内に存在する接続性モジュールが受け取ることができる限界接続フローに関して定義される。例えば、xと示される送信されたリクエスト(または受け取ったIPパケット)の平均サイズについて、値1500が、IPプロトコルのIPv4バージョンのために値を正規化するものとして使用される。値8000は、IPプロトコルのIPv6バージョンのために値を正規化するものとして使用される。
【0047】
図3から図10は、第1の測定ベクトルXが第1の観察時間ウィンドウΔtについての様々な部分空間に投影されることを示す。第1の測定ベクトルXの投影に終わりに、第1の測定ベクトルXが問題のセルに投影されていない場合、セルは空のままである。
【0048】
セルの密度は、セルに投影される第1の測定ベクトルの割合X に対応するものとして定義される。そこに投影される第1の測定ベクトルの割合Xが予め定義された割合よりも高い場合、セルは、濃いと言われる。予め定義された割合は、例えば、5%に等しい。
【0049】
複数の隣接した濃いセルは、クラスターを定義することができる。「隣接したセル」によって、意味されるものは、共通の縁を有するセルである。図3から図10では、上記で定めたようなクラスターは、斜めのハッチングを含むセルによって表される。例えば、図3では、第1の測定ベクトルXのこの部分空間への全ての投影は、単一のセルに集中する。
【0050】
例えば、図4図8図9、および図10に存在する水平ハッチングは、空でないが、その密度が予め定義された割合(ここでは、5%未満)よりも低いセルを表す。水平線の本数がより大きくなると、(予め定義された割合よりも低いまま)セルの密度が高くなる。
【0051】
図7から図10に存在するバツ印は、攻撃の存在を示す(攻撃の検出は、以下に詳細に説明される)。
【0052】
図2に見ることができるように、次いで、本方法は、ステップE10に続く。このステップでは、異常性スコアS(X)が、第1の測定ベクトルXが投影された各部分空間について決定される。
【0053】
部分空間(以下、部分空間kと示される)では、ある点の異常性α(j,k)が、この点が属するセルjと最も近いクラスターとの間の距離であるとして定義される。言い換えれば、異常性α(j,k)は、セルjと1つ(または2つ以上)の最も近い濃いセル(すなわち、5%よりも高い投影される第1の測定ベクトルの割合X)との間の距離に対応する。計算された距離は、ユークリッド距離またはマハラノビス距離のどちらかである。
【0054】
点がクラスター内にある場合には、異常性α(j,k)はゼロである。クラスターが問題の部分空間に存在しない(すなわち、例えば、セルが投影される第1の測定ベクトルの5%よりも大きいものを含まない)場合には、異常性α(j,k)は、セルjと、問題の部分空間k内の最も高い密度(ただし、密度は、まだ5%未満である)を有するセルとの間の距離に対応する。
【0055】
部分空間kの各セルjについて定義された異常性α(j,k)から、問題の部分空間kの全てのセルjの平均異常性A(k)を決定することが可能である。平均異常性は、
と書かれ、ただし、α(j,k)は、部分空間k内のセルjの(上で定義した)異常性に対応し、Dens(j,k)は、部分空間k内のセルjの密度に対応し、nは、部分空間k内のセルの個数である。
【0056】
この定義によれば、平均異常性A(k)が0により近くなると、第1の観察時間ウィンドウΔt内の(第1の測定ベクトルXの投影に対応する)より多くの点が、同心のクラスターに分布する。例として、図3に示された部分空間について評価された平均異常性は、全ての点が単一のクラスターに分布するので、ゼロである。同じことが、図5に示された部分空間および図6の部分空間に当てはまる。
【0057】
対照的に、平均異常性A(k)が高くなると、点が問題の部分空間にわたってより均一に分布する。
【0058】
異常性スコアS(X)を決定するために、部分空間k内の第1の測定ベクトルXの異常性関数F(X,k)が導入され、
となり、ここで、α(X,k)は、第1の測定ベクトルXの部分空間kへの投影の異常性である。ここで、平均異常性A(k)は、(全ての部分空間が等しく取り扱われることを可能にするために)部分空間kの問題の第1の測定ベクトルXの投影Xの異常性α(X,k)が正規化されることを可能にする。
【0059】
これらの異常性関数F(X,k)から、各部分空間kについて決定された全ての異常性関数F(X,k)を全ての部分空間にわたって合計することによって、第1の測定ベクトルXについての異常性スコアS(X)を定義することが可能であり、
である。
【0060】
したがって、異常性スコアS(X)は、様々な部分空間に投影した第1の測定ベクトルXについて得られた、異常性関数F(X,k)の合計に対応する。
【0061】
次いで、本方法は、ステップE12に続き、そこで新しい期間δtN+1が定義される。新しい期間δtN+1は、第1の観察時間ウィンドウΔtの直後である期間である。
【0062】
新しい期間δtN+1内に受け取られた全ての接続インフローは、(上述したステップE4に用いられた方法に類似する方法を用いて)新しい集合体を得るために結合される。
【0063】
新しい第1の測定ベクトルXN+1は、この新しい集合体の特性パラメータを含む。
【0064】
上述した本方法を用いて新しい第1のベクトルXN+1について決定される異常性スコアS(XN+1)は、時間ウィンドウδtN+1中の接続性モジュール5によって受け取られる接続インフローの間に攻撃フローが存在するのかまたは存在しないのか判定されることを可能にする品質である。この異常性スコアS(XN+1)は、(期間δtN+1に先行する)第1の観察時間ウィンドウΔtに対して、期間δtN+1内に受け取られる(および新しい集合体によって特徴付けられる)全ての接続フローの異常性の程度を示す。
【0065】
グラフの視点から、この異常性スコアS(XN+1)が高い場合、これは、ステップE8における第1の観察期間Δt内に形成されるおよび様々な部分空間内で特定されるクラスターからかなり大きく異なる様々な部分空間への新しい第1の測定ベクトルXN+1の投影を意味する。新しい集合体に対応する一組の接続フローは、疑わしいと思われ、攻撃の存在を裏付けるまたは無効にするために解析を深めることが必要である。
【0066】
これをするために、ステップE14では、異常性スコアS(XN+1)は、第1の閾値thおよび第2の閾値thと比較される。第1の閾値thは、第2の閾値thよりも低い。3つの別個の場合が説明される。
【0067】
第1のケースは、第1の閾値thよりも低い異常性スコアS(XN+1)に対応する。この場合には、攻撃がないことは、新しい時間ウィンドウδtN+1に検出され、本方法はステップE20に続く。それは、図3から図6に示された例の問題であり、全ての投影が濃いまたは高密度である隣接したセル内に集中させられる(図4)。これらの図では、孤立値は、異常性スコアの計算によって特定されない。
【0068】
ステップE20では、第2の観察時間ウィンドウΔt’が特定される。この第2の観察時間ウィンドウΔt’は、1つの期間δtだけシフトされた第1の観察時間ウィンドウΔtに対応する。言い換えれば、第1の観察時間ウィンドウΔtは、移動ウィンドウであり、これは、1つの期間δtだけ増分されて第2の観察時間ウィンドウΔt’を定義する。この第2の観察時間ウィンドウΔt’は、新しい第1の測定ベクトルXN+1を取り込む。したがって、最後に、2つの観察時間ウィンドウは、共同で複数の期間を有する。(以下、古い期間と呼ばれる)第1の観察時間ウィンドウの最初の期間は、第2の観察時間ウィンドウΔt’に含まれない。さらに、(上の新しい期間δtN+1と呼ばれる)第2の観察時間ウィンドウΔt’の最後の期間は、第1の観察時間ウィンドウΔtに含まれない。
【0069】
ステップE8において考慮される部分空間内で、古い期間に対応する第1の測定ベクトルの投影は、ステップE22において削除される。
【0070】
ステップE24では、新しい第1の測定ベクトルXN+1が、これらの部分空間の中に投影される。これらの部分空間内に存在するクラスターは、ステップE8を参照して説明される本方法を用いて再び特定される。本方法において前もって得られた結果に基づくステップE22およびE24は、本方法の実行時間が制限されることを可能にする。それらは、そのような方法の実施に必要とされる(特に、攻撃フローをフィルタリングする装置2に含まれたプロセッサの)計算能力が制限されることも可能にする。
【0071】
図2に示されるように、本方法は、ステップE26において、新しい第1の測定ベクトルXN+1が問題の全ての部分空間に投影されると、および古い期間に関連した第1の測定ベクトルが削除されると、平均の異常性A(k)の決定を続ける。
【0072】
次いで、本方法は、何度も繰り返され、ステップE12から始まる。
【0073】
第2の比較ケースは、第2の閾値thよりも高い異常性スコアに対応する。この場合には、攻撃の存在は新しい期間δtN+1に検出され、本方法はステップE60を続ける。
【0074】
この第2の場合は、図7から図10に示された例に対応する。これらの例について計算される異常性スコアは、高いと分かっている。
【0075】
このステップE60は、新しい第1の測定ベクトルXN+1についてステップE10において決定される異常性関数F(X,k)が比較されることを可能にする。
【0076】
ステップE62において、考慮される全ての部分空間の間で、少なくとも2つの部分空間が選択される。実際には、1つまたは2つの部分空間が選択される。それは、最も高い異常性関数F(X,k)を有する部分空間の問題である。これらの選択された部分空間でなされる調査に基づいて、次いで、この(または2つ以上の)攻撃フローは、(新しい期間δtN+1に先行する)第1の観察時間ウィンドウΔtの間に、選択された部分空間内に存在する(および公称動作条件を特徴付ける)クラスターを特に用いて特定される。例として、図7から図10において、クラスターは、(上述したように)斜めのハッチングによって特定される。
【0077】
攻撃フローが特定されることを可能にするために、ステップE12におけるこの結合をもたらすために結合されるインフローであって、新しい期間δtN+1内に受け取られた複数のインフローの結合である新しい集合体は、ステップE64において別々の接続フローと称される複数のものに分解される。接続性モジュール5によって新しい期間δtN+1内に受け取られた全ての接続インフローは、新しい集合体を形成するためにステップE12における結合のために考慮される。この新しい集合体は、新しい期間δtN+1内に受け取られた接続フローをソースアドレスによって結合することによって分離される。したがって、疑わしいと考えられる複数の別々の集合体を定義することが可能である。実際には、ソースアドレスが存在するのと同じくらい多くの別々の集合体が存在する。
【0078】
ステップE66では、別々の各集合体は、特定ベクトルと称されるベクトルによって特徴付けられる。これらの特定ベクトルは、部分空間を選択することによってステップE62で特定されるパラメータから構成される。したがって、特定ベクトルは、例えば上で定義された新しい第1の測定ベクトルXN+1に関する少数のパラメータを含む。例えば、パラメータxおよびxによって定義される部分空間だけがステップE62に選択された場合、特定ベクトルは、単にこれらの2つのパラメータを含む(これらの2つのパラメータは、新しい期間δtN+1中に別々の集合体ごとに決定される)。
【0079】
次いで、ステップE68において、これらの特定ベクトルは、1つまたは複数の選択された部分空間に投影される。これらの特定ベクトルがクラスターを形成する部分空間のセルに投影されるとき、関連した別々の接続フローは、攻撃フローであるとみなされない。対照的に、特定ベクトルが、クラスターの外側に投影される場合、別々の集合体は、攻撃であるとみなされる。
【0080】
このステップの終わりに、攻撃が部分空間内で特定される。図7から図10では、攻撃は、バツ印を含むセルによって表される。
【0081】
構成により、攻撃に対応する別々の集合体は、同じソースアドレスから来る一組の別々の接続フローに関連している。次いで、攻撃に対応する別々の集合体の検出は、いわゆる真正でない接続フローを生成しているソースアドレスが、ステップE70において特定されることを可能にする。
【0082】
次いで、これらの真正でない接続フローは、本方法のステップE72においてフィルタリングされる。例えば、フィルタリングは、接続性モジュール5の入力において真正でない接続フローを阻止することによって実行される。実際には、これらのフローは、例えば、真正でない接続フローに関連したソースアドレスを阻止されたソースアドレスのリストに加えることによって阻止される。次いで、このソースアドレスから生じるあらゆるリクエストが破壊される。
【0083】
ステップE74では、真正でない接続フローがフィルタリングされると、別々の接続フローが再結合されていわゆるフィルタリングされた集合体を形成し、関連したフィルタリングされた第1の測定ベクトルXが決定される。このフィルタリングされた第1の測定ベクトルXは、問題の全ての部分空間中に投影される。さらに、攻撃フローがフィルタリングされた(したがって、攻撃フローが新しい期間内に検出されない)とき、本方法は、上述された(および攻撃が検出されなかったときに本方法の残りに対応する)ステップE20に続く。
【0084】
異常性スコアS(X)と第1の閾値thおよび第2の閾値thとの比較の第3のケースは、疑いのゾーンに含まれる異常性スコアS(X)に対応する。この疑いのゾーンは、第1の閾値thと第2の閾値thとの間に含まれる異常性スコアS(X)について定義される。この場合には、新しい期間δtN+1内の攻撃の有無に関して結論に直接到達することができない。次いで、本方法は、ステップE40に続く。
【0085】
このステップE40では、ステップE4で得られた各集合体について(第1の観察時間ウィンドウΔtの各期間δtについて)、第2の測定ベクトルYが決定される。この第2の測定ベクトルYは、第2の測定ベクトルYが他の特性パラメータによって関連付けられる集合体を特徴付ける。これらの他の特性パラメータは、第1の測定ベクトルXに関連付けられる特性パラメータとは別個である。
【0086】
これらの他の特性パラメータは、今度は、IP接続フローではなく、むしろ攻撃フローをフィルタリングする装置2に組み込まれたソフトウェアの実行が特徴付けられることを可能にする。これらの他の特性パラメータは、特に、攻撃フローをフィルタリングする装置2に含まれる様々なメモリレベルに関する命令およびデータの分散が説明されることを可能にする。これらの他の特性パラメータの間で、例えば、以下のもの、すなわち、(レベル1の「データ」および「命令」キャッシュメモリのヒット率によって通常測定される)第1のキャッシュメモリレベルへのアクセスに関連したヒット率、(レベル2の統一されたキャッシュメモリのヒット率によって通常測定される)第2のキャッシュメモリレベルへのアクセスに関連したヒット率、第3のキャッシュメモリレベルに関連したミス率、またはさらに使用されるメモリの割合が、区別される。
【0087】
所与のプロセッサ上のソフトウェアの実行を特徴付けるために、これらの特性パラメータを使用することが知られている。
【0088】
ステップE40の終わりに、1つの第2の測定ベクトルYが期間δtごとに決定され、したがって、複数の第2の測定ベクトルYが第1の観察時間ウィンドウΔtに得られる。このようにして、 例えば、100ミリ秒の期間および5秒の第1の観察時間ウィンドウの間に、50個の第2の測定ベクトルが得られる。
【0089】
これらの第2の測定ベクトルYは、ステップE42において本方法に続いて用いられ、攻撃の有無の検出に関する疑いが取り除かれることを可能にするために、第2の測定ベクトルYは解析される。
【0090】
第2の測定ベクトルYの解析の目的は、ソフトウェアの実行時に異常動作を検出することである。
【0091】
第1の測定ベクトルXに関するのと同じように、ステップE6において、第2の測定ベクトルYは、2次元の部分空間に投影される。クラスターを特定し、(平均異常性A(k)の決定と同じ原理で)部分空間B(K)ごとの1つの他の平均異常性を決定することも可能である。
【0092】
本方法の前述のステップが、新しい第1のベクトルXN+1の解析に基づいて新しい期間δtN+1中の攻撃の存在に関する疑いを特定するとき、新しい期間δtN+1に関連した新しい第2の測定ベクトルYN+1についての他の異常性スコアS(YN+1)が上述した本方法を用いて計算される。
【0093】
次いで、この他の異常性スコアS(YN+1)は、第3の閾値thと比較される。他の異常性スコアS(YN+1)が第3の閾値thよりも高い場合、新しい期間δtN+1中の攻撃の存在が裏付けられる。
【0094】
図2に示されるように、このステップE42の後に、攻撃が検出されない場合、本方法は、上述したステップE20に続く。第2の測定ベクトルの解析の終わりに、攻撃の存在が検出された場合、本方法は、上述したステップE60に続く。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10