(57)【要約】【課題】機械学習を用いたサイバー攻撃検知において、現実時間内で最適な特徴量を選定し、計算量削減と攻撃検知精度の向上を実現する。【解決手段】サイバー攻撃検知システムにおいて、既知パケットのヘッダ情報から特徴量を抽出する特徴量抽出部と、前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定部と、前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習部と、前記特徴量抽出部により抽出される判別対象パケットの特徴量と前記学習モデルとから、当該判別対象パケットがサイバー攻撃に係るパケットか否かを判別して判別結果を出力する攻撃判別部とを備える。【選択図】図７
2019102960.tif 000002
【特許請求の範囲】
【請求項１】
既知パケットのヘッダ情報から特徴量を抽出する特徴量抽出部と、
前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定部と、
前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習部と、
前記特徴量抽出部により抽出される判別対象パケットの特徴量と前記学習モデルとから、当該判別対象パケットがサイバー攻撃に係るパケットか否かを判別して判別結果を出力する攻撃判別部と
を備えることを特徴とするサイバー攻撃検知システム。
【請求項２】
前記特徴量抽出部は、前記判別対象パケットの特徴量として、当該判別対象パケットのヘッダ情報から前記特徴量選定部により選定された特徴量を抽出する
ことを特徴とする請求項１に記載のサイバー攻撃検知システム。
【請求項３】
前記特徴量選定部は、特徴量を抽出する対象となるパケットのヘッダ情報に含まれる特徴量のうち、カテゴリデータの特徴量をダミー変数化し、数値データの特徴量とカテゴリーデータの特徴量のそれぞれについて、特徴量の選定を行う
ことを特徴とする請求項１又は２に記載のサイバー攻撃検知システム。
【請求項４】
サイバー攻撃検知のために使用される特徴量を選定する特徴量選定システムであって、
既知パケットのヘッダ情報から特徴量を抽出する特徴量抽出部と、
前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定部と、
前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習部と
を備えることを特徴とする特徴量選定システム。
【請求項５】
前記特徴量選定部は、前記既知パケットのヘッダ情報に含まれる特徴量のうち、カテゴリデータの特徴量をダミー変数化し、数値データの特徴量とカテゴリーデータの特徴量のそれぞれについて、特徴量の選定を行う
ことを特徴とする請求項４に記載の特徴量選定システム。
【請求項６】
サイバー攻撃検知システムが実行するサイバー攻撃検知方法であって、
既知パケットのヘッダ情報から特徴量を抽出する学習用特徴量抽出ステップと、
前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定ステップと、
前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習ステップと、
判別対象パケットのヘッダ情報から特徴量を抽出する判別用特徴量抽出ステップと、
前記判別用特徴量抽出ステップにより抽出された判別対象パケットの特徴量と前記学習モデルとから、当該判別対象パケットがサイバー攻撃に係るパケットか否かを判別して判別結果を出力する攻撃判別ステップと
を備えることを特徴とするサイバー攻撃検知方法。
【請求項７】
コンピュータを、請求項１ないし３のうちいずれか１項に記載のサイバー攻撃検知システムにおける各部として機能させるためのプログラム。
【請求項８】
コンピュータを、請求項４又は５に記載の特徴量選定システムにおける各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイバー攻撃検知技術に関連するものであり、特に、ネットワークにおいて転送されるパケットのヘッダ情報に含まれる特徴量を選定して、機械学習手法によってサイバー攻撃を検知する技術に関連するものである。
【背景技術】
【０００２】
背景技術として、まず、ネットワークを転送するパケットとサイバー攻撃検知について説明する。
【０００３】
ネットワークで転送されるパケットの構造は、一般的にヘッダ部分とペイロード部分に分けられる。図１に、ヘッダ部分とペーロード部分を有するパケットの構造の一例を示す。ヘッダ部分として、例えば、イーサネット（登録商標）ヘッダ、ＩＰヘッダ、ＴＣＰ、ＵＤＰ、ＡＲＰなどのプロトコルヘッダがある。また、パケットに含まれる情報にはカテゴリデータと数値データが存在する。カテゴリデータとは、定性的に決められた離散量のデータであり、パケットのヘッダ情報としてプロトコルの種類やサービス種類、ＩＰアドレス、ポート番号、ステータス状態などがある。数値データとしては、例えば、パケットの生存時間ＴＴＬ値、ウィンドウサイズなどがある。
【０００４】
サイバー攻撃とは、サーバやパソコン端末、ネットワークに対する攻撃行為であり、代表的な攻撃としてＤＤｏＳ攻撃、不正アクセス攻撃、マルウェアによる不正通信、攻撃などが存在する。一般ユーザがインターネットサービス等を正常な目的で利用する際に発生する通信を正常通信と呼び、これらのサイバー攻撃に関わるような通信を攻撃通信と呼ぶ。
【０００５】
サイバー攻撃を検知する方法として、端末側での攻撃検知とネットワーク側での攻撃検知が従来から存在する。端末側での攻撃検知にはアンチウイルスソフトやホストＩＤＳ／ＩＰＳが用いられ、端末に攻撃検知用のソフトウェアをインストールして利用する。一方でネットワーク側ではネットワークＩＤＳ／ＩＰＳ、ＦＷ、ＷＡＦなどの装置又はソフトウェアが利用されており、これらの装置、ソフトウェアはネットワークを転送するパケットを用いて攻撃検知を行うことが一般的である。
【０００６】
また、攻撃通信の発見方法として、シグネチャ型とアノマリ型の攻撃検知方法がある。シグネチャ型の攻撃検知方法は、パケットに含まれるパターンが事前に定義していた既知の攻撃のシグネチャと一致する場合、攻撃通信として検知する方法である。シグネチャ型はシグネチャパターンとマッチングする攻撃を確実に検知できる一方、亜種や未知の攻撃を検知できない問題点がある。
【０００７】
アノマリ型の攻撃検知方法は、機械学習や統計的手法を用いる攻撃検知の方法であり、例えば正常通信又は攻撃通信の特徴を予めパターンとして学習しておくことで、攻撃の特徴と類似したパターンのパケットを攻撃通信として検知する。アノマリ型はシグネチャ型の課題であった未知の攻撃に対する攻撃検知が可能である。
【０００８】
続いて、背景技術として機械学習によるサイバー攻撃検知について説明する。機械学習とは、データからパターンや特徴を反復的に学習し、学習モデルを基に分類や異常検知を行う人工知能分野の手法であり、ナイーブベイズ、サポートベクタマシン、決定木、ロジスティック回帰、ニューラルネットなど様々な手法・アルゴリズムが存在する。
【０００９】
機械学習の手法には、大きく分けて教師あり学習と教師なし学習がある。教師あり学習とは、事前に既知である正解ラベル付き教師データを用意し、これらのデータからパターンを学習した学習モデルを作成し、判別対象のデータに対して、予測を行うものである。教師なし学習とは、事前に教師データを利用せず、判別対象のデータの特性からクラスタリングや外れ値を求めることで、予測を行うものである。
【００１０】
機械学習によるサイバー攻撃検知において、学習時には正解ラベルのある攻撃通信と正常通信が既知である学習用データをもとに特徴量を抽出し、特徴量をもとに学習モデルを作成する。予測時には未知のデータに対して、特徴量を抽出の上、学習済みのモデルを攻撃判別器として用いて予測を行い、攻撃検知の結果を得る。
【００１１】
この時、学習モデル作成用に利用する特徴量について、利用する特徴量が多すぎる場合、攻撃検知に不必要な特徴量を利用してしまうことで攻撃検知精度が低下する、あるいは学習モデルの作成に時間を要する等の可能性が発生する。また、利用する特徴量が少なすぎる場合、攻撃検知に必要な特徴量を利用しない可能性があり、同じく攻撃検知精度が低下する可能性がある。
【００１２】
従って、機械学習によるサイバー攻撃検知において、攻撃検知用の学習モデル作成の前段である特徴量の選定が攻撃検知精度や実システム運用において非常に重要であるといえる。
【００１３】
次に、機械学習を用いた攻撃検知の従来技術について説明する。ネットワークでの攻撃検知に機械学習手法を用いる場合、スケーラビリティの観点からヘッダ情報を利用して攻撃検知をする従来技術が存在する。この場合に、インプットとなるヘッダ情報からどの特徴量を機械学習のモデル学習に利用するかを選定することが、アウトプットとなる攻撃検知とその検知精度へ大きく影響する。例えば攻撃検知に関係性が低い特徴量を多く選ぶことで検知精度が悪く、かつ学習に時間を要する場合や、選定した特徴量が少なすぎるため、十分な攻撃検知精度を得られない可能性がある。このように、ヘッダ情報を特徴量とした攻撃検知においても、特徴量の選定と削減が重要となる。
【００１４】
パケットのヘッダ情報を特徴量として用いて、攻撃検知に有効な特徴量を選定する従来技術として非特許文献１に記載された技術（従来技術１と呼ぶ）と非特許文献２に記載された技術（従来技術２と呼ぶ）があり、これらの技術では、有効な特徴量を選定することで攻撃検知精度の向上を行なっている。
【００１５】
従来技術１では、攻撃検知に有効な特徴量について、アソシエーション・ルール・マイニング手法（ＡＲＭ）を用いて、信頼度と支持度を繰り返し計算することで重要な特徴量を選定している。従来技術２では、攻撃検知に有効な特徴量の組み合わせをランダムに選定、評価を繰り返し行うことで最適な組み合わせを選定する焼きなまし法を特徴量選定に用いている。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】Moustafa, Nour, and Jill Slay. "The significant features of the UNSW-NB15 and the KDD99 data sets for Network Intrusion Detection Systems."  BADGERS, 2015 4th International Workshop on. IEEE, 2015.
【非特許文献２】Chowdhury, Md Nasimuzzaman, Ken Ferens, and Mike Ferens. "Network Intrusion Detection Using Machine Learning." Proceedings of the International Conference on Security and Management (SAM)  WorldComp2016.
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかし、従来技術ではヘッダ情報の特徴量選定において、ランダムな組み合わせで繰り返し評価計算を行う特徴量選定手法を用いるため、現実時間内での最適な特徴量の選定が困難であり、その結果として攻撃検知精度が十分ではないという課題がある。
【００１８】
例えば、従来技術２の特徴量選定手法では、焼きなまし法によってランダムな特徴量の組み合わせを選択し、ＳＶＭ手法を用いて攻撃検知精度の評価を繰り返し行い、最終的に攻撃検知精度が最も高い結果を得た特徴量の組み合わせを選定している。
【００１９】
このように、繰り返し評価計算を行うことで攻撃検知精度の評価が最も良い特徴量の組み合わせを選定することができるが、一方で特徴量の数が非常に多い場合には現実時間内での最適な特徴量の選定が困難である。また、新たな特徴を持った攻撃が発生した等で学習用データを変更した際にも繰り返しの評価再計算が必要となる。その結果、十分な攻撃検知精度が得られないといえる。
【００２０】
本発明は上記の点に鑑みてなされたものであり、機械学習を用いたサイバー攻撃検知において、現実時間内で最適な特徴量を選定し、計算量削減と攻撃検知精度の向上を実現することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００２１】
開示の技術によれば、既知パケットのヘッダ情報から特徴量を抽出する特徴量抽出部と、
前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定部と、
前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習部と、
前記特徴量抽出部により抽出される判別対象パケットの特徴量と前記学習モデルとから、当該判別対象パケットがサイバー攻撃に係るパケットか否かを判別して判別結果を出力する攻撃判別部と
を備えることを特徴とするサイバー攻撃検知システムが提供される。
【発明の効果】
【００２２】
開示の技術によれば、機械学習を用いたサイバー攻撃検知において、現実時間内で最適な特徴量を選定し、計算量削減と攻撃検知精度の向上を実現することを可能とする技術が提供される。
【図面の簡単な説明】
【００２３】
【図１】パケットの構造の例を示す図である。
【図２】本発明の実施の形態におけるサイバー攻撃検知システム１００の構成図である。
【図３】サイバー攻撃検知システム１００における全体の処理の流れを説明するための図である。
【図４】サイバー攻撃検知システム１００における各機能部の詳細構成を示す図である。
【図５】決定木の例を示す図である。
【図６】特徴量の重要度の例を示す図である。
【図７】カテゴリデータ特徴量を数値データ特徴量とは別の特徴量として扱うことを説明するための図である。
【図８】カテゴリデータをダミー変数化することを説明するための図である。
【図９】サイバー攻撃検知システム１００のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００２５】
（システム構成）
図２に、本実施の形態におけるサイバー攻撃検知システム１００の機能構成図を示す。図２に示すように本実施の形態におけるサイバー攻撃検知システム１００は、特徴量抽出部１１０（既知パケット用と判別対象パケット用が含まれる）、特徴量選定部１２０（カテゴリデータ用と数値データ用が含まれる）、特徴量学習部１３０、攻撃判別部１４０を含む。なお、サイバー攻撃検知システム１００は、ネットワーク上のパケットを取得可能であれば、ネットワークのどこに設置しても構わない。
【００２６】
図２に示すサイバー攻撃検知システム１００の処理動作の概要を図３のフロー図の手順に沿って説明する。なお、図３は、教師あり学習を行う場合の例であるが、本発明は、教師なし学習を行う場合にも適用可能である。また、図３に示す全体の流れ自体は従来のものと同様であるが、本実施の形態は従来技術にない特徴的な部分を含む。以下では概要を説明し、詳細は後述する。下記の手順において、Ｓ１０１〜Ｓ１０４は学習フェーズであり、Ｓ１０５〜Ｓ１０７は検知判別フェーズである。
【００２７】
Ｓ１０１において、特徴量抽出部１１０（既知パケット用）に、既知パケットが正解ラベル付きデータとして入力される。特徴量抽出部１１０（既知パケット用）は、パケットのヘッダ部の情報から特徴量を抽出し、特徴量を特徴量選定部１２０に出力する。
【００２８】
Ｓ１０２において、特徴量選定部１２０は、特徴量抽出部１１０（既知パケット用）から入力された既知パケットの特徴量を数値データの特徴量とカテゴリデータの特徴量に分けて、各特徴量の情報の重要度を算出し、重要度に基づき、特徴量学習部１３０で使用する特徴量を選定する。
【００２９】
Ｓ１０３及びＳ１０４において、特徴量学習部１３０は、特徴量選定部１２０により選定された特徴量に基づいて、機械学習により学習モデルを作成し、作成した学習モデルを攻撃判別部１４０に出力する。
【００３０】
Ｓ１０５において、特徴量抽出部１１０（判別対象パケット用）に、判別対象パケットが予測対象データとして入力され、特徴量抽出部１１０（判別対象パケット用）は、特徴量選定部１２０による特徴量選定結果に基づいて、判別対象パケットのヘッダ部の情報から特徴量を抽出する。
【００３１】
Ｓ１０６において、攻撃判定部１４０は、特徴量学習部１３０により作成された学習モデルを使用して、特徴量抽出部１１０（判別対象パケット用）により抽出された特徴量に基づいて、判別対象パケットがサイバー攻撃に該当するか否かの判別を行う。Ｓ１０７において、攻撃判定部１４０は、判別結果を出力する。
【００３２】
なお、サイバー攻撃検知システム１００において、特徴量選定、学習、攻撃検知の全ての機能を含むことは必須ではない。例えば、サイバー攻撃検知システム１００は、既知パケットを利用した特徴量選定に係る機能のみを含み、学習と攻撃検知は別システムで行うこととしてもよい。既知パケットを利用した特徴量選定に係る機能のみを含むシステムを特徴量選定システムと称してもよい。
【００３３】
（詳細構成）
図４は、サイバー攻撃検知システム１００の詳細構成図を示す。図４を参照して、サイバー攻撃検知システム１００における各機能部の詳細を説明する。
【００３４】
＜特徴量抽出部１１０＞
図４に示すように、特徴量抽出部１１０は、パケット入力部１１１、既知パケット特徴量抽出部１１２、判別パケット特徴量抽出部１１３、カテゴリデータ特徴量変換部１１４、特徴量出力部１１５を備える。
【００３５】
パケット入力部１１１は、パケットが送受信されるネットワークからパケットを入力する。既知パケット特徴量抽出部１１２は、既知パケット（攻撃通信あるいは正常通信として既知のパケット）からヘッダ部分の情報から特徴量を取得する。判別パケット特徴量抽出部１１３は、判別対象パケットのヘッダ部分の情報から特徴量を取得する。
【００３６】
本実施の形態で特徴量として抽出されるヘッダ部分の情報は、カテゴリデータと数値データに分けられる。カテゴリデータとは、定性的に決められた離散量のデータであり、例えば、プロトコルの種類、サービス種類、ＩＰアドレス、ポート番号、ステータス状態などである。数値データは、例えば、パケットの生存時間ＴＴＬ値、ウィンドウサイズなどである。
【００３７】
カテゴリデータ特徴量変換部１１４は、既知パケット特徴量抽出部１１２／判別パケット特徴量抽出部１１３により抽出された特徴量のうちのカテゴリデータの特徴量をダミー変数化する。ダミー変数化するとは、定性的に決められた離散量のデータを数値で表すことである。
【００３８】
ダミー変数化の一例を説明する。プロトコルＡ、プロトコルＢ、プロトコルＣを利用する通信フローを想定した場合において、プロトコルという特徴量をダミー変数化することで、プロトコルＡ＿特徴量、プロトコルＢ＿特徴量、プロトコルＣ＿特徴量という新しい特徴量が作成される。当該特徴量は、０又は１をとるダミー変数である。この場合において、プロトコルＡであれば｛プロトコルＡ＿特徴量，プロトコルＢ＿特徴量，プロトコルＣ＿特徴量｝＝｛１，０，０｝、プロトコルＢであれば｛プロトコルＡ＿特徴量，プロトコルＢ＿特徴量，プロトコルＣ＿特徴量｝＝｛０，１，０｝になる。
【００３９】
特徴量出力部１１５は、既知パケットから抽出した特徴量を特徴量選定部１２０へ出力し、判別対象のパケットから抽出した特徴量を攻撃判別部１４０へ出力する。
【００４０】
＜特徴量選定部１２０＞
特徴量選定部１２０は、特徴量入力部１２１、既知パケット特徴量重要度算出部１２２、既知パケット特徴量選定部１２３、選定特徴量出力部１２４を備える。
【００４１】
特徴量入力部１２１は、既知パケットの特徴量を特徴量抽出部１１０から入力する。既知パケット特徴量重要度算出部１２２は、既知パケットの特徴量を数値データの特徴量とカテゴリデータの特徴量に分けて、数値データの特徴量とカテゴリデータの特徴量のぞれぞれについて、各特徴量の情報の重要度を算出する。重要度の算出方法は特定の方法に限定されないが、本実施の形態では、例えば、ランダムフォレストのアルゴリズムを使用し、決定木を作成するときの分岐による情報利得に基づき、特徴量の重要度を算出する。
【００４２】
既知パケット特徴量選定部１２３は、既知パケットの特徴量算出結果を基に上位の重要度である特徴量を選定する。選定特徴量出力部１２４は、既知パケット特徴量選定部１２３により選定された特徴量を特徴量学習部１３０と特徴量抽出部１１０へ出力する。
【００４３】
＜特徴量学習部１３０＞
特徴量学習部１３０は、特徴量選定結果入力部１３１、特徴量学習処理部１３２、学習モデル出力部１３３を備える。
【００４４】
特徴量選定結果入力部１３１は、特徴量選定部１２０により選定された特徴量を入力する。特徴量学習処理部１３２は、特徴量選定結果に基づいて、既知のパケットから抽出された特徴量を用いて機械学習の学習モデルを作成する。なお、学習モデルは、例えば、特徴量を変数とし、判別結果（攻撃か否か）を出力する関数である。
【００４５】
本実施の形態において適用される機械学習の手法は特定の方法に限定されない。ナイーブベイズ、サポートベクタマシン、決定木、ロジスティック回帰、ニューラルネットなど種々の手法を適用できる。また、教師あり学習と教師なし学習のいずれも使用することができる。
【００４６】
学習モデル出力部１３３は、特徴量学習処理部１３２により作成された学習モデルを攻撃判別部１４０へ出力する。
【００４７】
＜攻撃判別部１４０＞
攻撃判別部１４０は、学習モデル入力部１４１、学習モデル記録部１４２、特徴量入力部１４３、攻撃判別部１４４、及び判別結果出力部１４５を備える。
【００４８】
学習モデル入力部１４１は、特徴量学習部１３０から学習モデルを入力する。学習モデル記録部１４２は、入力された学習モデルを記録する。特徴量入力部１４３は、特徴量抽出部１１０から判別対象のパケットの特徴量を入力する。攻撃判別部１４４は、学習モデルと特徴量とに基づいて、判別対象のパケットがサイバー攻撃に係るパケットか否かの判別を行う。判別結果出力部１４５は、攻撃の判別結果を攻撃判別結果として出力する。
【００４９】
以下、上述した構成における、従来技術にない特徴的なポイント１〜３を説明する。
【００５０】
＜ポイント１＞
ポイント１は、特徴量の情報の重要度を算出するだけで、攻撃検知に有効な特徴量を選定する点である。
【００５１】
前述したように、既知パケット特徴量重要度算出部１２２は、    各特徴量の情報の重要度を算出する。算出には、例えば、決定木を作成するグラフ構造の機会学習手法を用いることができる。図５に決定木の一例を示す。既知パケット特徴量重要度算出部１２２は、特徴量を各ノードにあてはめた決定木を多数作成し、分岐に関わるジニ係数やエントロピーを算出することで各特徴量の攻撃検知に関する重要度を求める。
【００５２】
図６は、特徴量の情報の重要度の例を示す。既知パケット特徴量重要度算出部１２２は、例えば、重要度が最高のものから所定数の上位の特徴量を選定する。図６の例では、上位３つの特徴量が選択されたことが示されている。このように、重要度が上位である特徴量を選定することで攻撃検知に有効な特徴量の組み合わせを決定できる。    
＜ポイント２＞
ポイント２は、攻撃検知に関して重要な意味合いを持つカテゴリデータ特徴量を数値データ特徴量とは別の特徴量として扱う点である。
【００５３】
この点に関する処理イメージを図７に示す。図７に示すとおり、既知パケット特徴量重要度算出部１２２は、既知パケットの特徴量を数値データの特徴量とカテゴリデータの特徴量に分けて、数値データの特徴量とカテゴリデータの特徴量のぞれぞれについて、各特徴量の情報の重要度を算出し、特徴量の選定を行う。特徴量学習部１３０は、選定された学習モデルの組み合わせを用いて、学習モデルを作成する。
【００５４】
＜ポイント３＞
ポイント３は、カテゴリデータをダミー変数化することで、カテゴリデータ内の重要な特徴量を選定することとしている点である。図８は、ダミー変数化の概念を示す図である。図８に示すように、数量ではない情報（male, female等）を変数として表現する。
【００５５】
このようなダミー変数化により、特徴量の情報の損失を防ぐことが可能となるとともに、カテゴリデータ内での情報の重要度を用いた特徴量選定が可能となる。
【００５６】
上記のようなポイントにより、従来技術において課題であった「特徴量を組み合わせた繰り返し評価」を行うことなく、特徴量選定及び学習モデル作成を実現できる。
【００５７】
（ハードウェア構成例）
上述したサイバー攻撃検知システム１００は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。また、特徴量選定システムも同様に、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。ここでは、サイバー攻撃検知システム１００や特徴量選定システム等の本発明に係る機能を含むシステムを処理システムと呼ぶことにする。
【００５８】
すなわち、処理システムは、コンピュータに内蔵されるＣＰＵやメモリ等のハードウェア資源を用いて、処理システムで実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００５９】
図９は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図９のコンピュータは、それぞれバスＢで相互に接続されているドライブ装置１５０、補助記憶装置１５２、メモリ装置１５３、ＣＰＵ１５４、インターフェース装置１５５、表示装置１５６、及び入力装置１５７等を有する。
【００６０】
当該コンピュータでの処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１５１によって提供される。プログラムを記憶した記録媒体１５１がドライブ装置１５０にセットされると、プログラムが記録媒体１５１からドライブ装置１５０を介して補助記憶装置１５２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１５１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１５２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００６１】
メモリ装置１５３は、プログラムの起動指示があった場合に、補助記憶装置１５２からプログラムを読み出して格納する。ＣＰＵ１５４は、メモリ装置１５３に格納されたプログラムに従って処理システムに係る機能を実現する。インターフェース装置１５５は、ネットワークに接続するためのインターフェースとして用いられる。表示装置１５６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１５７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。なお、ユーザとのインターフェースを必要としない場合は、表示装置１５６や入力装置１５７を備えないこととしてもよい。
【００６２】
（システムの動作例）
次に、サイバー攻撃検知システム１００が不正アクセス攻撃を検知する動作例を説明する。なお、サイバー攻撃検知システム１００は、サイバー攻撃全般を検知対象とすることが可能である。以下、学習フェーズと検知判別フェーズのそれぞれについて説明する。
【００６３】
＜学習フェーズ＞
学習フェーズでは、正常通信と攻撃通信の正解ラベル付きデータセットを特徴量選定及び機械学習の特徴量学習の学習用データとして利用する。また、攻撃通信には不正アクセス攻撃に関する既知のパケットも含んでおり、攻撃通信のパケットがどのような攻撃と関連するものかの正解ラベルが付与されている。
【００６４】
初めに、特徴量抽出部１１０において学習用データセットのパケットを入力し、各パケットのヘッダ部分から特徴量を抽出する。次に、カテゴリデータ特徴量変換部１１４は、特徴量のうち、カテゴリデータの特徴量をダミー変数化する。例えば、プロトコルのカテゴリデータ特徴量に含まれる項目数が１０個であれば、これらの項目の情報を１０個の新しい特徴量に変換する。
【００６５】
次に、特徴量選定部１２０において攻撃検知に有効な特徴量の選定を行う。特徴量選定部１２１はまず正常通信と攻撃通信の既知パケットの特徴量から特徴量の重要度を算出する。特徴量の重要度を算出後、重要度の値が上位である特徴量を、攻撃検知に利用する最適な特徴量として選定する。
【００６６】
その後、特徴量学習部１３０は、特徴量選定部１２０により選定された特徴量に基づいて攻撃検知用の学習モデルを作成する。当該学習モデルは単数又は複数の機械学習手法により作成される学習モデルである。
【００６７】
また、新しい攻撃通信や正常通信を利用して学習を行う場合、上記の特徴量選定処理を再度実施し、選定結果が変わる場合には、当該変更後の新たな選定特徴量を用いて学習モデルを再作成し、攻撃判別用の学習モデルとして使用する。
【００６８】
＜検知判別フェーズ＞
検知判別フェーズでは、特徴量抽出部１１０において、判別対象のパケットのヘッダ部分から特徴量選定部１２０で選定された特徴量のみを抽出する。この際に、カテゴリデータの特徴量の場合、ダミー変数化した後に、選定した特徴量の抽出を行う。
【００６９】
次に、攻撃判別部１４０において、判別対象パケットから選定した特徴量に基づいて攻撃の判別を行う。この時、攻撃判別部１４０は、判別対象パケットの特徴量に基づいて学習モデルで予測を行い、その判別結果を出力する。これにより、不正アクセス攻撃に係る判別対象パケットが、不正アクセス攻撃に係るパケットであることを検知することが可能である。
【００７０】
（実施の形態の効果）
従来技術では、攻撃検知に用いるヘッダ情報の特徴量選定において、現実時間内での最適な選定が困難であり、攻撃検知精度が十分でない課題があったが、本実施の形態の技術によると、特徴量に関する情報の重要度の算出のみで現実時間内での最適な特徴量選定を実現し、計算量削減と攻撃検知精度の向上が可能となる。
【００７１】
また、ネットワークでの攻撃検知において重要な意味合いを持つカテゴリデータの特徴量を有効的に利用することで、攻撃検知精度の向上が可能となる。
【００７２】
更に、最適な特徴量の選定により特徴量空間の次元数を削減でき、攻撃検知に利用する機械学習手法の学習時間を短縮することが可能となる。
【００７３】
（実施の形態のまとめ）
以上、説明したように、本実施の形態により、既知パケットのヘッダ情報から特徴量を抽出する特徴量抽出部と、前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定部と、前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習部と、前記特徴量抽出部により抽出される判別対象パケットの特徴量と前記学習モデルとから、当該判別対象パケットがサイバー攻撃に係るパケットか否かを判別して判別結果を出力する攻撃判別部とを備えることを特徴とするサイバー攻撃検知システムが提供される。
【００７４】
前記特徴量抽出部は、例えば、前記判別対象パケットの特徴量として、当該判別対象パケットのヘッダ情報から前記特徴量選定部により選定された特徴量を抽出する。
【００７５】
前記特徴量選定部は、例えば、特徴量を抽出する対象となるパケットのヘッダ情報に含まれる特徴量のうち、カテゴリデータの特徴量をダミー変数化し、数値データの特徴量とカテゴリーデータの特徴量のそれぞれについて、特徴量の選定を行う。
【００７６】
また、本実施の形態により、サイバー攻撃検知のために使用される特徴量を選定する特徴量選定システムであって、既知パケットのヘッダ情報から特徴量を抽出する特徴量抽出部と、前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定部と、前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習部とを備えることを特徴とする特徴量選定システムが提供される。
【００７７】
特徴量選定システムの前記特徴量選定部は、例えば、前記既知パケットのヘッダ情報に含まれる特徴量のうち、カテゴリデータの特徴量をダミー変数化し、数値データの特徴量とカテゴリーデータの特徴量のそれぞれについて、特徴量の選定を行う。
【００７８】
また、本実施の形態により、サイバー攻撃検知システムが実行するサイバー攻撃検知方法であって、既知パケットのヘッダ情報から特徴量を抽出する学習用特徴量抽出ステップと、前記既知パケットの各特徴量の情報の重要度を算出し、重要度が上位の特徴量を選定する特徴量選定ステップと、前記選定した特徴量から機械学習の学習モデルを作成する特徴量学習ステップと、判別対象パケットのヘッダ情報から特徴量を抽出する判別用特徴量抽出ステップと、前記判別用特徴量抽出ステップにより抽出された判別対象パケットの特徴量と前記学習モデルとから、当該判別対象パケットがサイバー攻撃に係るパケットか否かを判別して判別結果を出力する攻撃判別ステップとを備えることを特徴とするサイバー攻撃検知方法が提供される。
【００７９】
また、本実施の形態により、コンピュータを、前記サイバー攻撃検知システムにおける各部として機能させるためのプログラムが提供される。また、本実施の形態により、コンピュータを、前記特徴量選定システムにおける各部として機能させるためのプログラムが提供される。
【００８０】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８１】
１００  サイバー攻撃検知システム
１１０  特徴量抽出部
１１１  パケット入力部
１１２  既知パケット特徴量抽出部
１１３  判別パケット特徴量抽出部
１１４  カテゴリデータ特徴量変換部
１１５  特徴量出力部
１２０  特徴量選定部
１２１  特徴量入力部
１２２  既知パケット特徴量重要度算出部
１２３  既知パケット特徴量選定部
１２４  選定特徴量出力部
１３０  特徴量学習部
１３１  特徴量選定結果入力部
１３２  特徴量学習処理部
１３３  学習モデル出力部
１４０  攻撃判別部
１４１  学習モデル入力部
１４２  学習モデル記録部
１４３  特徴量入力部
１４４  攻撃判別部
１４５  判別結果出力部
１５０  ドライブ装置
１５１  記録媒体
１５２  補助記憶装置
１５３  メモリ装置
１５４  ＣＰＵ
１５５  インターフェース装置
１５６  表示装置
１５７  入力装置
【図１】
2019102960.tif 000003
【図２】
2019102960.tif 000004
【図３】
2019102960.tif 000005
【図４】
2019102960.tif 000006
【図５】
2019102960.tif 000007
【図６】
2019102960.tif 000008
【図７】
2019102960.tif 000009
【図８】
2019102960.tif 000010
【図９】
2019102960.tif 000011