(57)【要約】【課題】感染拡大攻撃の発生及びその攻撃元を高精度で検知する。【解決手段】転送装置が転送するパケットのトラヒック情報に基づき第１の特徴量を算出し、該第１の特徴量に基づき監視対象とするＭ個の部分アドレス空間を特定する。そして、Ｍ個の部分アドレス空間に係るトラヒック情報に基づきネットワーク内の端末のアドレス毎に第２の特徴量を算出し、第２の特徴量を学習して端末のアドレスを複数のクラスタに分類するとともに各クラスタについて感染拡大攻撃であるかを判定してクラスタ情報を生成する。そして、第２の特徴量及びクラスタ情報に基づき感染拡大攻撃が発生したか否か及び攻撃元の端末のアドレスを特定する。【選択図】図６
2020022133.tif 000002
【特許請求の範囲】
【請求項１】
パケットを転送する転送装置を備えたネットワーク内において感染拡大攻撃の発生を検知する感染拡大攻撃検知装置であって、
前記転送装置が転送するパケットについて第１のトラヒック情報を取得するとともに、前記第１のトラヒック情報に基づきトラヒックの第１の特徴量をネットワークのアドレス空間を細分化してなる複数の部分アドレス空間毎に導出する第１の特徴量導出手段と、
前記第１の特徴量導出手段により導出された第１の特徴量に基づき前記複数の部分アドレス空間のうち監視対象とするＭ個の部分アドレス空間を決定する監視対象決定手段と、
前記監視対象決定手段により決定されたＭ個の部分アドレス空間内のアドレスを宛先又は送信元とする前記転送装置が転送するパケットについて第２のトラヒック情報を取得するとともに前記第２のトラヒック情報に基づき当該トラヒックの第２の特徴量をネットワーク内に収容された端末のアドレス毎に導出する第２の特徴量導出手段と、
前記第２の特徴量導出手段により導出された第２の特徴量を学習して端末のアドレスを複数のクラスタに分類するとともに各クラスタについて感染拡大攻撃であるかを判定してクラスタ情報を生成するクラスタリング手段と、
前記第２の特徴量導出手段により導出された第２の特徴量及び前記クラスタリング手段により生成されたクラスタ情報に基づき感染拡大攻撃が発生したか否か及び攻撃元の端末のアドレスを特定する端末特定手段とを備えた
ことを特徴とする感染拡大攻撃検知装置。
【請求項２】
前記クラスタリング手段は、感染攻撃に係る攻撃スキャンを行う端末と調査に係る正常スキャンを行う端末とが別クラスタの属するようにクラスタを生成する
ことを特徴とする請求項１記載の感染拡大攻撃検知装置。
【請求項３】
前記第２の特徴量は、運用形態や利用目的の違いを示す特徴量を含む
ことを特徴とする請求項１又は２記載の感染拡大攻撃検知装置。
【請求項４】
前記第２の特徴量は、運用形態や利用目的の違いを示す特徴量として、所定の期間内においてトラヒックが観測された観測期間の長さと、現在から所定期間前までの期間内におけるトラヒックの宛先数のばらつきと、１フロー中のパケット数の分布の少なくとも一つを含む
ことを特徴とする請求項３記載の感染拡大攻撃検知装置。
【請求項５】
前記第２の特徴量は、さらに、スキャン通信の性質を示す特徴量を含む
ことを特徴とする請求項３又は４記載の感染拡大攻撃検知装置。
【請求項６】
前記端末特定手段は、感染拡大攻撃の攻撃元の端末を特定すると、特定した端末のアドレスを宛先又は送信元とするパケットを所定のセキュリティ装置へ転送するよう前記転送装置を設定する
ことを特徴とする請求項１乃至５何れか１項記載の感染拡大攻撃検知装置。
【請求項７】
パケットを転送する転送装置を備えたネットワーク内において感染拡大攻撃の発生を検知する感染拡大攻撃検知装置が、感染拡大攻撃の攻撃元の端末を特定する方法であって、
第１の特徴量導出手段が、前記転送装置が転送するパケットについて第１のトラヒック情報を取得するとともに、前記第１のトラヒック情報に基づきトラヒックの第１の特徴量をネットワークのアドレス空間を細分化してなる複数の部分アドレス空間毎に導出するステップと、
監視対象決定手段が、前記第１の特徴量導出手段により導出された第１の特徴量に基づき前記複数の部分アドレス空間のうち監視対象とするＭ個の部分アドレス空間を決定するステップと、
第２の特徴量導出手段が、前記監視対象決定手段により決定されたＭ個の部分アドレス空間内のアドレスを宛先又は送信元とする前記転送装置が転送するパケットについて第２のトラヒック情報を取得するとともに前記第２のトラヒック情報に基づき当該トラヒックの第２の特徴量をネットワーク内に収容された端末のアドレス毎に導出するステップと、
クラスタリング手段が、前記第２の特徴量導出手段により導出された第２の特徴量を学習して端末のアドレスを複数のクラスタに分類するとともに各クラスタについて感染拡大攻撃であるかを判定してクラスタ情報を生成するステップと、
端末特定手段が、前記第２の特徴量導出手段により導出された第２の特徴量及び前記クラスタリング手段により生成されたクラスタ情報に基づき感染拡大攻撃が発生したか否か及び攻撃元の端末のアドレスを特定するステップとを備えた
ことを特徴とする感染拡大攻撃の攻撃元端末特定方法。
【請求項８】
コンピュータを、請求項１乃至６何れか１項記載の感染拡大攻撃検知装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク内において感染端末による感染拡大攻撃を検知する感染拡大攻撃検知システムに関する。
【背景技術】
【０００２】
近年、ＩｏＴ（Internet of Things）の普及により、充分な計算資源が無く、セキュリティ対策が行えない端末もインターネットに接続されることが増えてきている。また、ユーザの一人あたりの所持端末数も増加しており、管理が行き届かない端末の増加も予想される。
【０００３】
一方、近年、攻撃者がインターネット経由で上述の脆弱なユーザ端末を乗っ取り、サイバー攻撃の踏み台として悪用する事例が増加しており、数ＴｂｐｓクラスのＤＤｏＳ（Denial of Service）攻撃などの大規模なサイバー攻撃が観測されている。今後も多数の端末がマルウェアに感染し、攻撃者の踏み台に用いられれば、将来的にネットワーク帯域の圧迫や対処側のセキュリティ機構への負荷が増大するおそれがある（非特許文献１参照）。
【０００４】
そこで、従来、セキュリティ対策やユーザの管理が不十分な端末が踏み台にされることを通信事業者網で防ぐことで、ユーザ端末のセキュリティ向上と大規模なサイバー攻撃の未然防止を目指し、通信事業者網での端末を踏み台化する攻撃（以下「感染拡大攻撃」と言う）を検知するシステムが提案されている。このシステムは、自身の通信事業者網に収容されている感染端末による不正通信を当該網において検知し、今後の攻撃パターンや攻撃量を事前に把握することで、通信事業者のセキュリティリスクの軽減を目指すものである。なお、感染拡大攻撃の例としては、Ｔｅｌｎｅｔやワーム等の感染活動などが挙げられる。
【０００５】
上記システムについて説明する。このシステムは、まず、（１）通信事業者網内のコアルータ等においてアクセスコントロールリスト（ＡＣＬ：Access Control List）を用いて、通信事業者網に収容された端末のトラヒック情報を、通信相手先アドレスについて細分化した部分アドレス空間毎に経時的に取得する。アドレス空間の細分化の例としては、ＩＰｖ４（Internet Protocol version 4）のパケットの場合、３２ｂｉｔのアドレス空間について上位８ｂｉｔの値を用いて細分化する方法が挙げられる。また、取得するトラヒック情報としては、所定のサンプリング時間当たりのパケット数である。なお、前記ＡＣＬとは、パケットを制御するためのアドレス等の条件と、条件にマッチしたパケットに対する制御方法を記載した情報である。
【０００６】
次に、（２）経時的に取得したトラヒック情報を、部分アドレス空間毎に所定の集計時間範囲で集計するとともに、集計した部分アドレス空間毎のトラヒック情報をベクトル化する。この処理によるベクトルは、次元数が部分アドレス空間の細分化数であり、各要素が集計したトラヒック情報というスカラー値である。そして、（３）このベクトル化されたトラヒック情報を用いて、教師なし学習により機械学習処理を行うことにより、識別器（閾値）を作成する。
【０００７】
次に、（４）検知を行う際には、前述の（１）及び（２）と同様にして、ある時点におけるベクトル化されたトラヒック情報を取得する。そして、当該トラヒック情報について前記識別器を用いて正常か異常かを判定する。これにより感染拡大攻撃を検知することができる。感染拡大攻撃を検知した場合、以降のパケットを所定のセキュリティ装置にするようコアルータを設定する。そして、セキュリティ装置において、さらに詳細な分析が行われ、感染拡大攻撃を行っている端末の特定などを行う。
【０００８】
トラヒック量の少ない空間では、正常通信に対して感染拡大攻撃に係る通信が相対的に多くなることが知られている。このため、上記のシステムでは、少量の攻撃による変化も捉えられると期待できる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】小山覚, “サイバー攻撃対策としてのIoTセキュリティについて”,[online], サイバーセキュリティタスクフォース（第2回）, 総務省, [平成30年7月6日検索], インターネット<URL:http://www.soumu.go.jp/main_content/000471279.pdf>
【非特許文献２】Johan Mazel, 他２名, "Profiling Internet Scanners: Spatiotemporal Structures and Measurement Ethics", 2016年
【非特許文献３】Seungwoon Lee1, 他２名, "Abnormal Behavior-Based Detection of Shodan and Censys-Like Scanning", IEEE, ICUFN 2017, pp.1048-1052, 2017年
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記のシステムでは、感染拡大攻撃の発生を高精度で検知できる。しかし、セキュリティ装置に引き込まれるトラヒックは、検知した部分アドレス空間宛の全てのトラヒックであり、このトラヒックには正常通信のものも含まれる。このため、セキュリティ装置での分析処理の負荷が大きいだけでなく、セキュリティ装置へ迂回する正常通信に係るトラヒックが発生することになりネットワーク負荷も高くなるという問題がある。
【００１１】
上記問題を解決するためには、感染端末のアドレスを特定する技術が必要であるが、上記のシステムではセキュリティ装置に引き込むトリガとなる送信元アドレスの情報を特定することはできなかった。
【００１２】
感染端末のアドレスを特定するためには、トラヒックが正常端末によるものなのか、感染端末によるものなのかを判別することが必要である。ところで、セキュリティ情報の共有化等を目的として、インターネットに接続された端末の全ポートに対してスキャンを行い、脆弱なポートが空いてないか等を調査し、データベース化する「Ｓｈｏｄａｎ」や「Ｃｅｎｓｙｓ」などのシステムがある（非特許文献２，３参照）。この調査に係るトラヒックは感染拡大攻撃にかかるものではないので、感染端末を特定するために、調査に係るトラヒックと感染拡大攻撃に係るトラヒックを区別する必要がある。
【００１３】
非特許文献３では、正常スキャン特有のＢａｎｎｅｒ  Ｇｒａｂｂｉｎｇ（ログイン画面の文字列を読み取ってメーカを特定する行動）の振舞いに着目している。そして、送信元アドレス毎にパケット到着間隔等の詳細な特徴量を抽出し、送信元のクラスタリングを行うことでスキャン送信元が調査に係る端末であると識別する。
【００１４】
しかし、感染端末によるスキャンと正常スキャンでは、スキャン実行時の通信特性が極めて似ているため、識別が困難である。これは、一般的な調査用スキャンは、感染端末からの攻撃を模擬することで端末の脆弱性を調査するため、感染端末によるスキャンとほぼ同じ性質になってしまうためである。また、Ｂａｎｎｅｒ  Ｇｒａｂｂｉｎｇ相当の挙動を示すマルウェアも存在する。
【００１５】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、感染拡大攻撃の発生及びその攻撃元を高精度で検知することができる感染拡大攻撃検知装置、攻撃元端末特定方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、本願発明は、パケットを転送する転送装置を備えたネットワーク内において感染拡大攻撃の発生を検知する感染拡大攻撃検知装置であって、前記転送装置が転送するパケットについて第１のトラヒック情報を取得するとともに、前記第１のトラヒック情報に基づきトラヒックの第１の特徴量をネットワークのアドレス空間を細分化してなる複数の部分アドレス空間毎に導出する第１の特徴量導出手段と、前記第１の特徴量導出手段により導出された第１の特徴量に基づき前記複数の部分アドレス空間のうち監視対象とするＭ個の部分アドレス空間を決定する監視対象決定手段と、前記監視対象決定手段により決定されたＭ個の部分アドレス空間内のアドレスを宛先又は送信元とする前記転送装置が転送するパケットについて第２のトラヒック情報を取得するとともに前記第２のトラヒック情報に基づき当該トラヒックの第２の特徴量をネットワーク内に収容された端末のアドレス毎に導出する第２の特徴量導出手段と、前記第２の特徴量導出手段により導出された第２の特徴量を学習して端末のアドレスを複数のクラスタに分類するとともに各クラスタについて感染拡大攻撃であるかを判定してクラスタ情報を生成するクラスタリング手段と、前記第２の特徴量導出手段により導出された第２の特徴量及び前記クラスタリング手段により生成されたクラスタ情報に基づき感染拡大攻撃が発生したか否か及び攻撃元の端末のアドレスを特定する端末特定手段とを備えたことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、監視対象とする部分アドレス空間がトラヒック情報から導出した第１の特徴量に基づきＭ個に限定されているので、限定された各部分アドレス空間におけるトラヒック情報から端末のアドレス毎に導出した第２の特徴量に基づくクラスタリング処理を低負荷で実施することができる。またクラスタリング処理は端末のアドレス毎に導出した第２の特徴量に基づいているので、感染拡大攻撃の発生及び攻撃元端末のアドレスを高精度で特定することができる。
【図面の簡単な説明】
【００１８】
【図１】トラヒック情報の取得について説明する図
【図２】クラスタリングによる正常状態の学習について説明する図
【図３】現タイムスロットで観測された端末の判定について説明する図
【図４】第２の特徴量の算出例について説明する図
【図５】第２の特徴量の算出例について説明する図
【図６】感染拡大攻撃検知システムのネットワーク構成の一例
【図７】パケット転送装置の機能構成の一例
【図８】転送装置制御コントローラの機能構成の一例
【図９】異常検知用ストレージ装置の機能構成の一例
【図１０】特徴量加工設定情報テーブルの一例
【図１１】トラヒック傾向分析用特徴量保持テーブルの一例
【図１２】クラスタリング用特徴量保持テーブルの一例
【図１３】検知用時系列特徴量保持テーブルの一例
【図１４】トラヒック傾向分析装置の機能構成の一例
【図１５】分析設定情報テーブルの一例
【図１６】クラスタリング演算装置の機能構成の一例
【図１７】クラスタリング設定情報テーブルの一例
【図１８】マッピング情報テーブルの一例
【図１９】クラスタ情報テーブルの一例
【図２０】端末特定装置の機能構成の一例
【図２１】特定設定情報テーブルの一例
【図２２】トラヒックの傾向分析に係るシーケンス
【図２３】クラスタリングの実施及びクラスの特定に係るシーケンス
【図２４】異常の検知・対処に係るシーケンス
【発明を実施するための形態】
【００１９】
まず、本発明に係る感染拡大攻撃検知システムの概要について説明する。なお、以下の説明においては、特に断りが無いかぎり、通信の「送信元」や「宛先」はネットワークに収容された端末からネットワーク外に出て行く方向を基準とする。
【００２０】
本発明は、通信事業者網などのネットワークに収容されているマルウェア感染端末による、アドレス空間全体への感染拡大攻撃を検知対象とし、さらに感染拡大攻撃元の端末のアドレスを特定する。また、本発明は、正常スキャンと攻撃スキャンを分離する特徴量として、スキャン実行時の通信の性質を捉えた特徴量だけではなく、それぞれの運用形態や利用目的の違いに基づいた通信の特徴にも着目する。運用形態や利用目的の違いとしては例えば以下のようなものがある。
【００２１】
＜例１：端末のＩＰアドレスが観測されている期間＞
正常スキャンの場合、端末のＩＰアドレスは長期間に観測される。一方、攻撃スキャンの場合、端末のＩＰアドレスはマルウェア感染の流行に伴い観測され始める。また、攻撃スキャンの場合、検知を避けるために中断が発生する。
【００２２】
＜例２：一度の攻撃活動における継続時間＞
この継続時間は、過去Ｍタイムスロット分の宛先数の標準偏差等の形式に加工することにより利用することができる。正常スキャンの場合、一定のレートで攻撃が発生し続ける。一方、攻撃スキャンの場合、攻撃活動の継続時間が正常スキャンよりも短い。また、攻撃スキャンの場合、端末が感染していることに気づいてない正常ユーザによる当該端末の利用（例：電源のＯＮ／ＯＦＦ等）の影響を受ける。
【００２３】
＜例３：１フロー中のパケット数の分布＞
正常スキャンの場合はスキャン後に辞書攻撃を行わない事が多く、対象端末に送信されるパケット数がほぼ一定となる。攻撃スキャン後に辞書攻撃を行う場合、辞書攻撃時のフローだけパケット数が多くなる。
【００２４】
本発明では、（１）検知に用いるトラヒック情報の取得、（２）クラスタリングによる正常状態の学習、（３）現タイムスロットで観測された端末の判定、という３つのステップにより感染拡大攻撃の発生検知及び攻撃元を特定する。
【００２５】
（１）検知に用いるトラヒック情報の取得
図１に示すように、通信事業者網内のネットワーク機器のＡＣＬ（アクセス制御リスト）等に宛先アドレス空間毎にパケット数をカウントする設定を投入し、通信の少ないアドレス空間を特定する。例えば、中央のルータのＡＣＬにおいて、宛先／８アドレス単位で送信パケット数をカウントさせる等がある。そして、通信の少ないアドレス空間宛トラヒックのｓＦｌｏｗ情報を取得する。
【００２６】
（２）クラスタリングによる正常状態の学習
図２に示すように、ある一定期間（１か月等）でｓＦｌｏｗログを解析し、送信元毎に下記の特徴量を取得する。特徴量を既存のクラスタリングアルゴリズム（例：ＤＢＳＣＡＮ：Density-Based Spatial Clustering of Applications with Noise，ＧＭＭ:Gaussian Mixture Model，CluStream）に入力することで、類似する通信特性を持つ送信元同士を同じクラスタに分類する。この特徴量は、特許請求の範囲の「第２の特徴量」に相当する。なお、図２の右側に例示したグラフは発明の理解を容易にするためにクラスタの分布を２次元で表現したものであり、実際は特徴量の数に対応する次元を有する点に留意されたい。
【００２７】
特徴量としては、１．宛先の分布（エントロピー）、２．宛先数、３．ポート番号の種類数、４．ＩＰヘッダのプロトコルの割合、５．観測期間の長さ、６．宛先数のばらつき、７．１フロー中のパケット数の分布、が挙げられる。これらの各特徴量は正常通信とランダムスキャンを見分けるための特徴量であり、この特徴量を含むクラスタリングにより、スキャンを行わない正常端末を分類できる。特に、５．観測期間の長さ、６．宛先数のばらつきは、７．１フロー中のパケット数の分布は、スキャンの性質（例：マルウェア単位とか調査機関単位とか）を分類する特徴量であり、この特徴量を含むクラスタリングにより、スキャンの中でも似た者同士でクラスタが構成される。すなわち、５．〜７．の特徴量はスキャンの運用形態や利用目的の違いを捉えた特徴量であり、この特徴量を含むクラスタリングにより正常スキャンと攻撃スキャンの分類が期待できる。
【００２８】
（３）現タイムスロットで観測された端末の判定
図３に示すように、学習期間に生成したクラスタの重心やクラスタに所属する端末の情報を利用し、現タイムスロットで観測された端末がどのクラスタに所属するかを判定する。例えば、現タイムスロットの送信元の特徴量値を算出する。そして、各クラスタの重心との距離を比較し、最も距離が近いクラスタに割り振る。
【００２９】
上記の（２）における特徴量の算出方法の一例について図４及び図５を参照して説明する。例えば、ｓＦｌｏｗのＬ３−４ヘッダ情報を取得し、一定時間ごとにクラスタリングで利用する特徴量を算出する。具体的には、前記１．〜４．の特徴量については、図４に示すように、送信元毎に／８アドレス宛のフロー数をカウントする、タイムスロット単位で発生率（全フロー数に対する割合）を計算してエントロピーを算出する、送信元毎にプロトコルやポートの種類数を計算する、送信元毎にフロー数を計算することにより算出する。
【００３０】
また、例えば、過去のタイムスロットの特徴量をテーブルで保持しておき、一定時間ごとに加工することでクラスタリングに利用する特徴量を算出する。具体的には、図５に示すように、前記５．の特徴量については、特徴量算出用ＤＢに、観測された場合は１、観測されてない場合は０を記録し、現在のタイムスロットから遡って１が連続する数をカウントする。ただし、連続Ｎ回までの０は１とみなす。すなわち、連続Ｎ回までの中断を許容する。ここでＮは正常スキャン端末のオフ時間を考慮したパラメータであり、既知の正常スキャンを解析して算出する。また、前記６．の特徴量については、現在のタイムスロットから遡ってＭ個のタイムスロットにおける宛先数のばらつきを計算する、より具体的には直前Ｍタイムスロットの宛先数の標準偏差を特徴量とする。
【００３１】
上記の（３）におけるクラスタリング結果の解析方法の一例について説明する。クラスタリングの結果得られたクラスタを以下のルールで解析し、正常スキャン端末が所属するクラスタと、感染端末が所属するクラスタに分類する。
【００３２】
ルール１：公開されている正常スキャン端末のＩＰアドレスが含まれるクラスタを正常スキャン端末のクラスタとする。
【００３３】
ルール２：クラスタの重心における、正常通信とランダムスキャンを見分けるための通信情報と既知のマルウェアの挙動を突合し、一致するクラスタを感染端末のクラスタとする。
【００３４】
ルール３：クラスタの重心における、前記の特徴量の値を比較し、例えば活動期間の長さが上位１０％のクラスタを正常スキャン端末のクラスタとする。
【００３５】
次に、本発明の一実施の形態に係る感染拡大攻撃検知システムについて図６を参照して説明する。図６は感染拡大攻撃検知システムのネットワーク構成の一例である。図６に示すように、通信事業者網等のネットワーク１には多数の端末２が収容されている。ネットワーク１は、多数の端末２が接続された大規模なＩＰネットワークである。端末２の通信特性（例えば、通信頻度、宛先数、パケットサイズなど）は不問である。端末２としては、ユーザによって操作される端末だけでなくＩｏＴ端末も含む。端末２とネットワーク１とを接続する回線種別は不問であり、無線通信回線であっても有線通信回線であてもよい。ネットワーク１はインターネット３と接続している。ネットワーク１の事業者は、端末２に対してインターネット３への接続サービスを提供する。ネットワーク１にはパケット転送装置１００が配備されている。また、ネットワーク１には、感染拡大攻撃についての詳細な分析を行う周知のセキュリティ装置４が配置されている。
【００３６】
パケット転送装置１００は、インターネット３と端末２間のパケットを中継する装置である。パケット転送装置１００の一例としては、通信事業者網のコアネットワークにおけるルータ等のネットワーク機器が挙げられる。ネットワーク１内のパケット転送装置１００の台数は不問である。
【００３７】
本実施の形態では、異常検知用装置群として、転送装置制御コントローラ２００と、異常検知用ストレージ装置３００と、トラヒック傾向分析装置４００と、クラスタリング演算装置５００と、端末特定装置６００とを備える。ここで、異常検知用ストレージ装置３００は、特許請求の範囲の「第１の特徴量導出手段」及び「第２の特徴量導出手段」に相当する。また、トラヒック傾向分析装置４００は、特許請求の範囲の「監視対象決定手段」に相当する。また、クラスタリング演算装置５００は、特許請求の範囲の「クラスタリング手段」に相当する。また、端末特定装置６００は、特許請求の範囲の「端末特定手段」に相当する。
【００３８】
各装置の実装形態は不問である。例えば、各装置は、主に半導体装置で構成され、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）等の揮発性記憶装置、ハードディスクやフラッシュメモリ等の不揮発性記憶装置、及び外部との通信のための接続を行う通信インタフェースを有する、いわゆる情報処理機器として構成することができる。また、汎用サーバにプログラムをインストールすることにより各装置を構成してもよいし、プログラムを組み込んだ専用ハードウェア装置として各装置を構成してもよい。また例えば、各装置は任意の組み合わせで１つのハードウェア装置に実装してもよい。また例えば、各装置は、仮想化環境に構築された仮想マシンに実装してもよい。
【００３９】
本実施の形態では、異常検知用装置群をパケット転送装置１００毎に設けるが、複数のパケット転送装置１００毎に１つの異常検知用装置群を設けてもよい。
【００４０】
パケット転送装置１００は、パケットの中継を行う際に、ＡＣＬを用いて宛先アドレス空間（例：／８アドレス空間等）毎の送受信パケット数等の情報を収集し、異常検知用ストレージ装置３００に転送する。
【００４１】
異常検知用ストレージ装置３００は、時系列ごとのトラヒック情報を、有効に検知可能なＭ個の部分アドレス空間の集合を特定するために用いられる情報（第１の特徴量）に加工し、トラヒック傾向分析装置４００に送信する。
【００４２】
トラヒック傾向分析装置４００は、一定時間の第１の特徴量を分析し、有効に検知可能なＭ個の部分アドレス空間の集合（例：常時トラヒック量の少ないＭ個の部分アドレス空間）を監視対象として特定する。また、転送装置制御コントローラ２００を介して前記Ｍ個のアドレス空間のトラヒック情報を収集する設定を、パケット転送装置１００に投入する。
【００４３】
パケット転送装置１００の設定投入後、パケット転送装置１００は、有効に検知可能なＭ個のアドレス空間に限り、そのトラヒック情報を異常検知用ストレージ装置３００に送信する。
【００４４】
異常検知用ストレージ装置３００は、時系列ごとのトラヒック情報を蓄積しクラスタリングを用いた学習及び検知に利用する情報（第２の特徴量）に加工し、クラスタリング演算装置５００及び端末特定装置６００に送信する。
【００４５】
クラスタリング演算装置５００は、一定期間のトラヒック情報における第２の特徴量を異常検知用ストレージ装置３００から受け取り、クラスタリングを実施する。その結果、特徴量空間に対し端末２が行なった感染拡大攻撃の傾向に応じた複数のクラスタをマッピングする。さらに、過去の観測情報等を利用してクラスタの意味づけを行う。
【００４６】
端末特定装置６００は，クラスタリング演算装置５００から、端末２のクラスタリング結果を受け取る。また、異常検知用ストレージ装置３００から時系列毎の第２の特徴量情報を受け取り、これらの情報に基づき、クラスタごとに感染端末と正常スキャン端末を分離する。さらに、感染端末を抽出した際には、転送装置制御コントローラ２００を介してパケット転送装置１００のルーティングを変更し、以降のトラヒックを所定のセキュリティ装置４に入力して精査する。
【００４７】
以下、異常検知用装置群を構成する各装置の機能構成の一例について説明する。
【００４８】
まず、パケット転送装置１００の機能構成の一例について図７を参照して説明する。パケット転送装置１００は、図７に示すように、端末２から送信されたパケットをインターネット３へと中継するとともに、インターネット３からの端末２宛てのパケットを端末２に中継する通信部１１０を備える。
【００４９】
また、パケット転送装置１００は、ＡＣＬに通信パケットの属性情報（例：宛先・送信元ＩＰアドレス）ごとに条件を設定することで、条件にマッチしたパケットの所定のサンプリング時間内での数をトラヒック情報として異常検知用ストレージ装置３００に送信する情報収集部１２０を備える。ＡＣＬはパケット転送装置１００辺りに複数設定することができ、その適用タイミングはフォワーディングの前後で限定しない。また、階層型のネットワークにおいて、ＡＣＬの設定容量が足りない場合、異なる階層ごとに異なるＡＣＬを設定し、機能分担することも可能であり、その設定箇所は不問である。また、情報収集部１２０は、トラヒック傾向分析装置４００において通信の少ないアドレス空間を特定後、その情報に基づいてそれらのアドレス帯へのｓＦｌｏｗ（Ｌ３−Ｌ４ヘッダに相当するトラヒック情報）を取得し、異常検知用ストレージ装置３００へ送信する。ＡＣＬとｓＦｌｏｗを１つのパケット転送装置１００に設定しても良いし、同階層の異なるパケット転送装置１００に分けて設定してもよい。
【００５０】
情報収集部１２０において収集すべき情報についての設定や通信部１１０におけるルーティングの設定は、転送装置制御コントローラ２００からの指令に基づいて決定される。情報収集部１２０が異常検知用ストレージ装置３００に送信するトラヒック情報は、上述したとおりＡＣＬやｓＦｌｏｗだけでなく、ＩＰヘッダやフルキャプチャ等も考えられる。以降の説明では、ＡＣＬ及びｓＦｌｏｗの２つを例に用いて説明する。
【００５１】
次に、転送装置制御コントローラ２００の機能構成の一例について図８を参照して説明する。転送装置制御コントローラ２００は、図８に示すように、通信インタフェースである通信部２１０と、コンフィグ生成部２２０とを備える。
【００５２】
コンフィグ生成部２２０は、ｓＦｌｏｗの設定情報、ＡＣＬの設定情報及びルーティング設定情報などパケット転送装置１００の設定に関する情報をシステム外部（トラヒック傾向分析装置４００及び端末特定装置６００を含む）から入力し、例えば特定のフローだけをセキュリティ装置４に引き込む等のパケット転送装置１００のコンフィグを生成する機能を有する。生成したコンフィグはパケット転送装置１００に送信され、設定される。
【００５３】
次に、異常検知用ストレージ装置３００の機能構成の一例について図９を参照して説明する。異常検知用ストレージ装置３００は、通信インタフェースである通信部３１０と、パケット転送装置１００から取得した現在のトラヒック情報を第１の特徴量及び第２の特徴量（例：一定時間間隔で送信元アドレス単位の宛先数、プロトコル種類数やそれに起因する統計量）に加工する特徴量加工演算部３２０と、特徴量加工の設定を保持する特徴量加工設定情報テーブル３３０とを備える。
【００５４】
また、異常検知用ストレージ装置３００は、必要に応じて、計算済みの特徴量を各種テーブルにおいて保持する。特徴量の保持は、トラヒック傾向分析に用いる第１の特徴量、クラスタリングに用いる第２の特徴量といったように、用途別に保持するテーブルを分けてもよいし、同じテーブルにまとめてもよい。また、クラスタリング（特にクラスタを用いた検知処理）に用いる特徴量の算出のため、時系列単位で特徴量を保持するテーブルも用意する。本実施の形態では、図９に示すように、トラヒック傾向分析用特徴量保持テーブル３４０と、クラスタリング用特徴量保持テーブル３５０と、検知用時系列特徴量保持テーブル３６０とを備える。また、異常検知用ストレージ装置３００は、前記特徴量加工演算部３２０と各テーブル３３０〜３６０とのインタフェースである情報管理部３７０を備える。これらの特徴量情報は、トラヒック傾向分析装置４００やクラスタリング演算装置５００・端末特定装置６００に送信される。
【００５５】
特徴量加工設定情報テーブル３３０は、図１０の例に示すように、特徴量加工を実施する時間幅や、パケット転送装置１００から取得した情報の加工の仕方を保持する。これらの情報に基づき、特徴量加工演算部３２０では、トラヒック傾向分析のための第１の特徴量やクラスタリングのための第２の特徴量を算出する。
【００５６】
トラヒック傾向分析用特徴量保持テーブル３４０は、有効に検知可能なアドレス空間毎に取得した特徴量を時系列ごとに保持するテーブルである。図１１の例では、所定の単位としてアドレス空間毎に第１の特徴量であるパケット数を格納している。ここで、単位の取り方は不問である。また、第１の特徴量に用いる値や次元数についても不問である。なお、図１１の例では、ネットワーク機器単位に１つのテーブルを作成しているが、複数のネットワーク機器から取得した情報を１つのテーブルに格納してもよい。これらの情報は、トラヒック傾向分析装置４００で利用される。
【００５７】
クラスタリング用特徴量保持テーブル３５０は、図１２の例に示すように、網内のＩＰアドレスに限定した送信元アドレス毎に、特徴量加工設定情報テーブル３３０の設定内容に基づき第２の特徴量を計算し、その結果がこのテーブルに格納される。第２の特徴量の例は図２を参照して上述した通りである。これらの情報は、クラスタリング演算装置５００で利用される。
【００５８】
クラスタリングに用いる時系列の中で、例えば観測期間の長さを示す特徴量や宛先数のバラつきを示す特徴量は時系列（タイムスロット）毎に観測値を保存し、複数の時系列にまたがって加工を行う必要がある。検知用時系列特徴量保持テーブル３６０は、図１３の例に示すように、これらの特徴量の算出に用いられる元となる観測情報を保持するものであり、保持した結果は特徴量加工演算部３２０で再度加工され、クラスタリング用特徴量保持テーブル３５０に保存される。
【００５９】
次に、トラヒック傾向分析装置４００の機能構成の一例について図１４を参照して説明する。トラヒック傾向分析装置４００は、図１４に示すように、通信インタフェースである通信部４１０と、異常検知用ストレージ装置３００から取得した第１の特徴量に基づき分析を行い、有効に検知可能なアドレス空間集合（例：トラヒック量の少ないアドレス空間）を監視対象として特定する分析用演算部４２０と、分析用演算部４２０での分析処理で用いる各種設定情報を保持する分析設定情報テーブル４３０と、分析用演算部４２０と分析設定情報テーブル４３０とのインタフェースである情報管理部４４０とを備えている。分析用演算部４２０は、パケット転送装置１００において第２の特徴量の導出に必要なトラヒック情報を取得するための情報（例：トラヒック量の少ないＭ個の部分アドレス空間）の分析を行う。
【００６０】
分析設定情報テーブル４３０は、前述の分析処理で必要な各種設定情報を保持する。分析設定情報テーブル４３０は、具体的には図１５の例に示すように、トラヒック量の少ない部分アドレス空間を特定するための手法や、トラヒック量の閾値、異常検知を行う部分アドレス空間の数等の情報を保持する。
【００６１】
ここで、トラヒック量の閾値Ｘは、有効に検知可能な部分アドレス空間集合を定義づけるパラメータの一例である。この例では、トラヒック量の閾値Ｘを常時下回るアドレス空間を、有効に検知可能なアドレス空間とする。閾値Ｘは、例えば、検知したい攻撃の量（例：感染台数の目標値×感染端末一台あたりの攻撃量）や攻撃先の分布等（例：一様分布又は複数のアドレス空間に偏りのある分布）に基づいて算出することができる。
【００６２】
なお、図１５で例示した手順においては、閾値Ｘを下回るアドレス空間すべてで異常検知を行う必要はない。その場合、例えばパラメータＭを明示的に定め、最終的に異常検知を行うアドレス空間の数を指定してもよい。また、図１５では、閾値Ｘを利用者が設定する例を記載したが、Ｋ−Ｍｅａｎｓ等のクラスタリングアルゴリズムにより、検知に有効なアドレス空間集合を特定してもよい。
【００６３】
次に、クラスタリング演算装置５００の機能構成について図１６を参照して説明する。クラスタリング演算装置５００は、図１６に示すように、通信インタフェースである通信部５１０と、クラスタリング用演算部５２０と、クラスタリングで用いる各種設定情報を保持するクラスタリング設定情報テーブル５３０と、クラスタリングのマッピングで用いるマッピング情報を保持するマッピング情報テーブル５４０と、クラスタリング結果であるクラスタ情報を保持するクラスタ情報テーブル５５０と、クラスタリング用演算部５２０と各テーブル５３０〜５５０とのインタフェースである情報管理部５６０とを備えている。クラスタリング用演算部５２０は、異常検知用ストレージ装置３００から取得した第２の特徴量、クラスタリング設定情報テーブル５３０の情報、マッピング情報テーブル５４０の情報に基づきクラスタリングを実施し、結果をクラスタ情報テーブル５５０に保持する。
【００６４】
クラスタリング設定情報テーブル５３０は、クラスタリングに関わる設定情報を保持するテーブルであり、図１７の例に示すように、具体的にはクラスタリングのアルゴリズム（例：Ｋ−Ｍｅａｎｓや非階層クラスタリング、生成モデル等）とそのパラメータ、実施間隔を保持しておく。これらの情報にしたがい、クラスタリング用演算部５２０ではクラスタリングの演算を行う。
【００６５】
マッピング情報テーブル５４０は、図１８の例に示すように、算出されたクラスタが正常スキャンに係るものであるか攻撃スキャンに係るものであるかを解析するためのルール及び当該ルールに基づく解析処理でも用いる既知の情報を保持する。具体的には、マッピング情報テーブル５４０は、上述したルール１〜ルール３に係る各種情報を保持する。これらの情報にしたがい、クラスタリング用演算部５２０ではクラスタの解析及びマッピング、すなわち各クラスタに対する意味づけを行う。
【００６６】
クラスタ情報テーブル５５０は、クラスタリング用演算部５２０によるクラスタリング結果を保持するテーブルであり、図１９の例に示すように、クラスタ毎に構成要素となる送信元端末のＩＰアドレスの情報や、クラスタの重心やラベルを保持する。これらのデータは、端末特定装置６００に送信される。
【００６７】
次に、端末特定装置６００の機能構成について図２０を参照して説明する。端末特定装置６００は、図２０に示すように、通信インタフェースである通信部６１０と、感染拡大攻撃の発生の有無及びその攻撃元端末を特定する特定用演算部６２０と、特定用演算部６２０で用いる設定情報を保持する特定設定情報テーブル６３０と、特定結果を表示する特定結果表示ユーザインタフェース部６４０とを備えている。特定用演算部６２０は、異常検知用ストレージ装置３００から現時系列におけるトラヒックの第２の特徴量を取得する。またクラスタリング演算装置５００から過去のトラヒック情報から算出したクラスタリング結果の情報を受け取る。特定用演算部６２０は、これらの受信情報に加え、特定設定情報テーブル６３０で定められた計算方法に従い、現時系列において観測された各端末がどのクラスタに属するのかを特定する。特定した結果は転送装置制御コントローラ２００に送信されるとともに、特定結果表示ユーザインタフェース部６４０に表示される。
【００６８】
特定設定情報テーブル６３０は、図２１の例に示すように、現時系列において観測された各端末がどのクラスタに属するのかを特定するために必要な情報を保持する。クラスタの対応付け方法としては、例えば、各クラスタの重心と現在の時系列の特徴量の距離を計算し、最短のクラスタに振り分ける等が考えられる。
【００６９】
以下、本実施の形態に係る感染拡大攻撃検知システムの動作について図２２〜図２４を参照して説明する。まず、トラヒックの傾向分析に係るシーケンスについて図２２のシーケンスチャートを参照して説明する。
【００７０】
本シーケンスでは、図６に示すネットワーク構成において、異常検知用ストレージ装置３００が、パケット転送装置１００から、細分化されたアドレス空間毎のトラヒック情報を一定の時間隔毎に取得する（ステップＳ１１）。取得したトラヒック情報は異常検知用ストレージ装置３００で複数時間幅分蓄積され、蓄積された情報をトラヒック傾向分析装置４００が分析することで、感染拡大攻撃を精度よく検知できるＭ個の部分アドレス空間集合を特定する（ステップＳ１２，Ｓ１３）。
【００７１】
転送装置制御コントローラ２００は、通信事業者網内の異常を網羅的に検知するため、複数のパケット転送装置１００に対し、Ｍ個の部分アドレス空間から、検知に利用できる情報（第２の特徴量の素になるトラヒック情報）を取得するためのコマンドを設定する（ステップＳ１４，Ｓ１５）。
【００７２】
次に、クラスタリングの実施及びクラスの特定に係るシーケンスについて図２３のシーケンスチャートを参照して説明する。
【００７３】
本シーケンスでは、図６に示すネットワーク構成において、異常検知用ストレージ装置３００が、パケット転送装置１００から、細分化されたＭ個の部分アドレス空間毎にトラヒック情報を一定の時間隔毎に（例：１ヶ月）取得する（ステップＳ２１）。取得したトラヒック情報は異常検知用ストレージ装置３００に格納され、所定の演算に基づいて第２の特徴量に加工される（ステップＳ２２）。第２の特徴量はクラスタリング演算装置５００に送信される（ステップＳ２３）。次に、第２の特徴量をクラスタリングのアルゴリズムに入力することで、各端末２のグルーピングを行い、結果を格納する（ステップＳ２４，Ｓ２５）。グルーピング結果と過去のグルーピング結果や既知のスキャン端末の情報（公開されている正常スキャン端末のＩＰアドレス）を用いて、各クラスタの性質を特定する（ステップＳ２６）。なお、トラヒックのトレンドは周期的に変動すると考えるため、上記のステップＳ２１〜Ｓ２６は一定の期間ごと（例：２か月に１度）に行う（ステップＳ２７）。
【００７４】
次に、端末特定・対処のシーケンスについて図２４のシーケンスチャートを参照して説明する。
【００７５】
本シーケンスでは、図６に示すネットワーク構成において、異常検知用ストレージ装置３００が、パケット転送装置１００から、細分化されたＭ個の部分アドレス空間毎にトラヒック情報を一定の時間隔毎に（例：２０分間隔）取得する（ステップＳ３１）。取得したトラヒック情報は異常検知用ストレージ装置３００に格納され、所定の演算に基づいて送信元アドレス単位の第２の特徴量に加工される（ステップＳ３２）。加工した第２の特徴量と前記クラスタリングの結果情報を用いて（ステップＳ３３，Ｓ３４）、比較等の演算を行うことで、送信元がどのクラスタに属するかを判定する（ステップＳ３５）。次に、送信元の属するクラスタが攻撃スキャンのクラスタである場合に、送信元の異常を検出する（ステップＳ３６）。
【００７６】
次に、送信元アドレスの情報を転送装置制御コントローラ２００に送信することで、パケット転送装置１００のルーティングを変更する（ステップＳ３７，Ｓ３８）。これにより、送信元アドレスからすべての通信をセキュリティ装置４に引き込み（ステップＳ３９）、感染端末の詳細検査を行う（ステップＳ４０）。
【００７７】
以上本発明の一実施の形態について詳述したが、本発明はこれに限定されるものではない。例えば、上記実施の形態では、Ｍ個の部分アドレス空間を特定するために用いられる第１の特徴量の導出手段と、感染拡大攻撃の検知で用いられる第２の特徴量の導出手段とを、異常検知用ストレージ装置３００において実現していたが、両手段を異なる装置として実装してもよい。
【００７８】
また、上記実施の形態では、パケット転送装置１００への設定処理は転送装置制御コントローラ２００により行っていたが、トラヒック傾向分析装置４００や端末特定装置６００が直接パケット転送装置１００の設定を行うようにしてもよい。
【００７９】
また、上記実施の形態ではアドレス空間としてＩＰｖ４について例示したが、ＩＰｖ６など他のアドレス空間であっても本発明を適用できる。
【００８０】
また、上記実施の形態では、第２の特徴量として、１．宛先の分布（エントロピー）、２．宛先数、３．ポート番号の種類数、４．ＩＰヘッダのプロトコルの割合、５．観測期間の長さ、６．宛先数のばらつき、７．１フロー中のパケット数の分布、を例示したが、他の情報を用いることもできる。
【符号の説明】
【００８１】
１…ネットワーク
２…端末
３…インターネット
４…セキュリティ装置
１００…パケット転送装置
２００…転送装置制御コントローラ
３００…異常検知用ストレージ装置
４００…トラヒック傾向分析装置
５００…クラスタリング演算装置
６００…端末特定装置
【図１】
2020022133.tif 000003
【図２】
2020022133.tif 000004
【図３】
2020022133.tif 000005
【図４】
2020022133.tif 000006
【図５】
2020022133.tif 000007
【図６】
2020022133.tif 000008
【図７】
2020022133.tif 000009
【図８】
2020022133.tif 000010
【図９】
2020022133.tif 000011
【図１０】
2020022133.tif 000012
【図１１】
2020022133.tif 000013
【図１２】
2020022133.tif 000014
【図１３】
2020022133.tif 000015
【図１４】
2020022133.tif 000016
【図１５】
2020022133.tif 000017
【図１６】
2020022133.tif 000018
【図１７】
2020022133.tif 000019
【図１８】
2020022133.tif 000020
【図１９】
2020022133.tif 000021
【図２０】
2020022133.tif 000022
【図２１】
2020022133.tif 000023
【図２２】
2020022133.tif 000024
【図２３】
2020022133.tif 000025
【図２４】
2020022133.tif 000026