(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126067
(43)【公開日】2024-09-20
(54)【発明の名称】強化学習を用いた、ネットワークシステムに対する自律型セキュリティ検証のための行動選択装置、学習装置、行動選択方法及びプログラム
(51)【国際特許分類】
G06F 21/57 20130101AFI20240912BHJP
G06N 20/00 20190101ALI20240912BHJP
G06N 3/092 20230101ALI20240912BHJP
G06N 3/044 20230101ALI20240912BHJP
【FI】
G06F21/57 370
G06N20/00
G06N3/092
G06N3/044
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023034209
(22)【出願日】2023-03-07
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】長谷川 健人
(72)【発明者】
【氏名】披田野 清良
(72)【発明者】
【氏名】福島 和英
(57)【要約】
【課題】ネットワークシステムを対象としたセキュリティ検証において、より大きな状態、行動空間を的確に表現する手法や、ネットワークトポロジやホストの数が異なる場合にも同じモデルで入力としてこれらを受け取ることができる手法を提供すること。
【解決手段】
強化学習を用いたセキュリティ検証において、ネットワークシステムの状態をグラフとして観測し、内部でホスト、行動種別を分割して処理することで、次に採るべき行動を出力する方策モデルを採用する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
セキュリティ検証の対象となるネットワークシステムの状態を、前記ネットワークシステムにおけるホストに対応するノードの集合と、前記ホストの接続関係に対応するエッジの集合と、前記ホストの各々の属性情報を示す特徴ベクトルに対応するノードの特徴ベクトルの集合との3つ組みによって表すグラフを入力として受け取り、前記グラフ全体の特徴を表すベクトルを出力するグラフ処理部と、
前記グラフ全体の特徴を表すベクトルと、前記グラフのノードの特徴ベクトルの集合とを入力として受け取り、前記グラフの局所的な特徴を考慮したベクトルを出力する局所的特徴処理部と、
前記グラフの局所的な特徴を考慮したベクトルを入力として受け取り、前記ネットワークシステムの過去の状態を考慮したベクトルを出力する再帰型学習処理部と、
前記過去の状態を考慮したベクトルを入力として受け取り、次に採るべきセキュリティ検証のための行動の確率を示すベクトルを出力するホスト・行動種別選択処理部と、
を備える行動選択装置。
【請求項2】
前記再帰型学習処理部は、前記グラフの局所的な特徴を考慮したベクトルに加え、隠れベクトルを入力として受け取り、過去の状態を考慮したベクトルに加え、更新された隠れベクトルを出力し、当該更新された隠れベクトルを次の時刻の処理における隠れ状態ベクトルとして受け取る、請求項1に記載の行動選択装置。
【請求項3】
前記ホスト・行動種別選択処理部は、前記過去の状態を考慮したベクトルを、ホストを表すベクトルと行動種別を表すベクトルに分解し、これらの行列積により前記ホストと前記行動種別の両者を含む値を取得し、これをもとに行動の確率を示すベクトルを得る、請求項1又は請求項2に記載の行動選択装置。
【請求項4】
ネットワークシステムを対象とするセキュリティ検証のために採るべき行動を示す関数を最適化するための強化学習を行う学習装置であって、
前記関数は、引数としてセキュリティ検証の対象となる前記ネットワークシステムの状態を表すグラフの局所的な特徴を考慮した状態を受け取り、前記ネットワークシステムの過去の状態を考慮してセキュリティ検証のために次に採るべき行動の確率を返す方策関数である、学習装置。
【請求項5】
セキュリティ検証の対象となるネットワークシステムの状態を、前記ネットワークシステムにおけるホストに対応するノードの集合と、前記ホストの接続関係に対応するエッジの集合と、前記ホストの各々の属性情報を示す特徴ベクトルに対応するノードの特徴ベクトルの集合との3つ組みによって表すグラフを入力として受け取り、前記グラフ全体の特徴を表すベクトルを出力するグラフ処理ステップと、
前記グラフ全体の特徴を表すベクトルと、前記グラフのノードの特徴ベクトルの集合とを入力として受け取り、前記グラフの局所的な特徴を考慮したベクトルを出力する局所的特徴処理ステップと、
前記グラフの局所的な特徴を考慮したベクトルを入力として受け取り、前記ネットワークシステムの過去の状態を考慮したベクトルを出力する再帰型学習処理ステップと、
前記過去の状態を考慮したベクトルを入力として受け取り、次に採るべきセキュリティ検証のための行動の確率を示すベクトルを出力するホスト・行動種別選択処理ステップと、
を含む行動選択方法。
【請求項6】
前記再帰型学習処理ステップは、前記グラフの局所的な特徴を考慮したベクトルに加え、隠れベクトルを入力として受け取り、過去の状態を考慮したベクトルに加え、更新された隠れベクトルを出力し、当該更新された隠れベクトルを次の時刻の処理における隠れ状態ベクトルとして受け取る、請求項5に記載の行動選択方法。
【請求項7】
前記ホスト・行動種別選択処理ステップは、前記過去の状態を考慮したベクトルを、ホストを表すベクトルと行動種別を表すベクトルに分解し、これらの行列積により前記ホストと前記行動種別の両者を含む値を取得し、これをもとに行動の確率を示すベクトルを得る、請求項5又は請求項6に記載の行動選択方法。
【請求項8】
請求項1又は請求項2に記載の行動選択装置としてコンピュータを機能させるための行動選択プログラム。
【請求項9】
請求項3に記載の行動選択装置としてコンピュータを機能させるための行動選択プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習を用いた、ネットワークシステムに対する自律的なセキュリティ検証のための行動選択装置、学習装置、行動選択方法及びプログラムに関する。
【背景技術】
【0002】
ネットワークシステムに対する脆弱性検査では、検査対象となるネットワークシステムの状態の観測と、その観測した状態にもとづく脆弱性検査の行動の選択を繰り返し行う場合があり、このようにして行われる脆弱性検査は、マルコフ決定過程モデルの一例といえる。この場合、マルコフ決定過程における状態空間をネットワークシステムの状態、行動空間を脆弱性検査のための行動と対応づけることで、脆弱性検査に強化学習を適用することができる。そして、ネットワークシステムに対する脆弱性検査に強化学習を適用することにより検査を効率的に行い得るとの期待がある。
【0003】
また、ネットワークシステムのセキュリティ検証では、近年、セキュリティの専門家集団が攻撃チームを作り、検証対象システムに対して物理/仮想を問わず現実に近い各種攻撃を仕掛けることによりセキュリティ対応能力等の検査を行う、レッドチーム演習(Red Teaming Operation)が行われるようになっている。このようなレッドチーム演習の場面において、攻撃チーム(レッドチーム)を担当する専門家には高度な知識が要求されるため、演習を完全に自動化することは難しかった。
しかしながら、IoTの進展等により、ますます高度に情報化・ネットワーク化が進みつつある昨今では、あらゆる機器に対するセキュリティ検証が必要不可欠となるであろうところ、AIの導入により検証を自動化し得るとの期待がある。
【0004】
非特許文献1は、外部から攻撃を仕掛けてシステムに侵入しコンピュータやネットワークの脆弱性を検査する侵入テスト(Penetration Testing)の自動化に関する研究を開示しており、行動空間を階層化し、各エージェントが出力する行動の数を抑制することで、強化学習を高速かつ安定的に進めるモデルを提案している。
しかしながら、このモデルでは、環境から取得する状態の数がホストマシンやサブネットの数が増えるにしたがって増加する。加えて、現実的には検査対象となるマシンで稼働するOSやサービス等の情報が重要であるにも関わらず、非特許文献1の研究では各マシンで稼働するサービスの状態までは考慮していない。したがって、このモデルを現実的なネットワークシステムに適用することは困難である。
【0005】
なお、一般に、侵入テストは脆弱性検査の手法の一つであり、脆弱性検査はセキュリティを検証するための具体的行動と位置付けられる。なお、本明細書で用いる「セキュリティ検証」という用語の厳密な定義については後述する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特願2022-129996(出願日:2022年8月17日、発明の名称:状態表現装置、学習装置、状態表現方法及び状態表現プログラム)
【非特許文献】
【0007】
【非特許文献1】K. Tran et al., “Deep hierarchical reinforcement agents for automated penetration testing,” Proc. International Workshop on Adaptive Cyber Defense, 2021.
【発明の概要】
【発明が解決しようとする課題】
【0008】
既存の研究では、環境から観測する状態空間やエージェントが選択する行動空間については限定的な設定しか検討されていない。そのため、より大きな状態、行動空間への適用が課題となっている。また、既存の研究では、学習したネットワークシステムと同一の環境にしか対応できなかった。そのため、ネットワークトポロジやホストの数が異なる場合はモデルの構造から変更する必要があった。
これらの課題を解決するために、より大きな状態、行動空間を的確に表現する手法や、ネットワークトポロジやホストの数が異なる場合にも同じモデルでこれらを入力として受け取ることができる手法の開発が望まれている。
【0009】
なお、先述の特許文献1(先願)は、ネットワークシステムの状態を示す効率的な表現(グラフ)を得るための装置等を提案しており、当該装置等を用いることにより強化学習の収束性が改善され得ることを示唆しているが、ネットワークシステムのセキュリティを検証するための具体的な手法を開示するものではない。
【0010】
本発明は、先述の課題を解決するために、より大きな状態、行動空間を的確に表現する手法や、ネットワークトポロジやホストの数が異なる場合にも同じモデルで入力としてこれらを受け取ることができる手法を提供することを目的とする。そのために、本発明は、強化学習を用いたセキュリティ検証において、ネットワークシステムの状態をグラフとして観測し、前記グラフの局所的な特徴を考慮し、また、前記ネットワークシステムの過去の状態を考慮し、さらに、内部でホスト、行動種別を分割して処理することで、次に採るべき行動を出力するモデルを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る行動選択装置は、セキュリティ検証の対象となるネットワークシステムの状態を、前記ネットワークシステムにおけるホストに対応するノードの集合と、前記ホストの接続関係に対応するエッジの集合と、前記ホストの各々の属性情報を示す特徴ベクトルに対応するノードの特徴ベクトルの集合との3つ組みによって表すグラフを入力として受け取り、前記グラフ全体の特徴を表すベクトルを出力するグラフ処理部と、前記グラフ全体の特徴を表すベクトルと、前記グラフのノードの特徴ベクトルの集合とを入力として受け取り、前記グラフの局所的な特徴を考慮したベクトルを出力する局所的特徴処理部と、前記グラフの局所的な特徴を考慮したベクトルを入力として受け取り、前記ネットワークシステムの過去の状態を考慮したベクトルを出力する再帰型学習処理部と、前記過去の状態を考慮したベクトルを入力として受け取り、次に採るべきセキュリティ検証のための行動の確率を示すベクトルを出力するホスト・行動種別選択処理部と、を備える。
【0012】
前記再帰型学習処理部は、前記グラフの局所的な特徴を考慮したベクトルに加え、隠れベクトルを入力として受け取り、過去の状態を考慮したベクトルに加え、更新された隠れベクトルを出力し、当該更新された隠れベクトルを次の時刻の処理における隠れ状態ベクトルとして受け取るようにしてもよい。
【0013】
前記ホスト・行動種別選択処理部は、前記過去の状態を考慮したベクトルを、ホストを表すベクトルと行動種別を表すベクトルに分解し、これらの行列積により、前記ホストと前記行動種別の両者を含む値を取得し、これをもとに行動の確率を示すベクトルを得るようにしてもよい。
【0014】
また、本発明に係る学習装置は、ネットワークシステムを対象とするセキュリティ検証のために採るべき行動を示す関数を最適化するための強化学習を行う学習装置であって、前記関数は、引数としてセキュリティ検証の対象となる前記ネットワークシステムの状態を表すグラフの局所的な特徴を考慮した状態を受け取り、前記ネットワークシステムの過去の状態を考慮してセキュリティ検証のために次に採るべき行動の確率を返す方策関数である。
【0015】
また、本発明に係る行動選択方法は、セキュリティ検証の対象となるネットワークシステムの状態を、前記ネットワークシステムにおけるホストに対応するノードの集合と、前記ホストの接続関係に対応するエッジの集合と、前記ホストの各々の属性情報を示す特徴ベクトルに対応するノードの特徴ベクトルの集合との3つ組みによって表すグラフを入力として受け取り、前記グラフ全体の特徴を表すベクトルを出力するグラフ処理ステップと、前記グラフ全体の特徴を表すベクトルと、前記グラフのノードの特徴ベクトルの集合とを入力として受け取り、前記グラフの局所的な特徴を考慮したベクトルを出力する局所的特徴処理ステップと、前記グラフの局所的な特徴を考慮したベクトルを入力として受け取り、前記ネットワークシステムの過去の状態を考慮したベクトルを出力する再帰型学習処理ステップと、前記過去の状態を考慮したベクトルを入力として受け取り、次に採るべきセキュリティ検証のための行動の確率を示すベクトルを出力するホスト・行動種別選択処理ステップと、を含む。
【0016】
前記再帰型学習処理ステップは、前記グラフの局所的な特徴を考慮したベクトルに加え、隠れベクトルを入力として受け取り、過去の状態を考慮したベクトルに加え、更新された隠れベクトルを出力し、当該更新された隠れベクトルを次の時刻の処理における隠れ状態ベクトルとして受け取るようにしてもよい。
【0017】
前記ホスト・行動種別選択処理ステップは、前記過去の状態を考慮したベクトルを、ホストを表すベクトルと行動種別を表すベクトルに分解し、これらの行列積により、前記ホストと前記行動種別の両者を含む値を取得し、これをもとに行動の確率を示すベクトルを得るようにしてもよい。
【0018】
さらに、本発明に係る行動選択プログラムは、先述の行動選択装置としてコンピュータを機能させるためのプログラムであってよい。
【発明の効果】
【0019】
本発明によれば、グラフ処理部を設けることで、セキュリティ検証の対象となるネットワークの状態を詳細に表現することが可能となる。その上で、局所的特徴処理部と再帰型学習処理部により、グラフ処理を含む複雑な学習を安定化することが可能となる。また、ホスト・行動種別選択処理部において行動の対象となるホストと、行動種別とを異なる関数で判定するため、それぞれの関数で学習する重みと行動との対応づけが明確化され、学習がさらに安定する。学習を安定化させることで、既存手法では学習が難しい、より大規模なネットワークへの対応も可能となる。
【図面の簡単な説明】
【0020】
【
図1】本発明の実施形態における行動選択装置の機能構成例を示すブロック図である。
【
図2】本発明の実施形態における行動選択方法の手順例を示すフローチャートである。
【
図3】本発明の実施形態における方策モデルの一例を示す図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態の一例について説明する。
始めに、本発明の実施形態を説明するために用いる用語の定義を以下に示す。
【0022】
「セキュリティ検証」とは、あるシステムに存在する脆弱性などの不具合の発見や、それらが攻撃として成立するかを評価するため、システムのスキャンや侵入、コマンドの実行を試みる操作を指す。
【0023】
「環境」とは、セキュリティ検証の対象となるネットワークシステムを指す。環境は、後述するエージェントから行動(コマンド)を受け取り、環境内部でその行動を実行した後、環境の内部を表現する状態とその時の報酬をエージェントに返す。なお、報酬は、例えば、攻撃が成功したかどうかを示す値である。
【0024】
「エージェント」とは、環境から受け取った状態と報酬にもとづき、次の行動(環境に対するコマンド)を選択する行動主体である。エージェントには、引数として状態を受け取り、次に採るべき行動(あるいは、その確率)を返す関数が存在する。この関数を最適化するため、強化学習アルゴリズムが用いられる。なお、引数として状態を受け取り、次に採るべき行動の確率を返す関数は、「方策関数」と呼ばれる。
【0025】
「強化学習アルゴリズム」は、一連の状態、行動が採られるときの、累積される報酬の期待値を最大化するよう、行動を選択する関数(具体例として、方策関数)を最適化するアルゴリズムを指す。
【0026】
「セキュリティ検証のための行動」の集合は、環境に存在するホストと、それぞれのホストに対して実行可能な行動種別との直積により構成される。具体例として、3種類のホストHa、Hb、Hcと、2種類の行動種別A1、A2が存在するものとする。ここで、ホストはシステムに存在するホストマシン、行動種別は各ホストに対して実行する行動である。行動種別は、より具体的にはポートスキャンや権限昇格コマンドの実行などに対応する。この例における行動の集合Aは、ホストと行動種別の直積により、要素が6つの集合
A={(Ha,A1),(Ha,A2),(Hb,A1),(Hb,A2),(Hc,A1),(Hc,A2)}
となる。
【0027】
本発明では、強化学習を用いたセキュリティ検証において、ネットワークシステムの現在の状態をグラフとして表現してモデルに入力するため、モデル内でGNN(Graph Neural Network)を利用している。このとき、学習を安定させるため、局所的特徴の処理や再帰型学習の処理を行う機構を導入し、さらに、行動の対象となるホストと行動種別とを異なる関数で処理する機構を設けている。これらの処理は、後述する各々の処理部(機能ブロック)において実施される。
【0028】
図1は、本実施形態における行動選択装置1の機能構成を示すブロック図である。
行動選択装置1は、入力部10、制御部20、記憶部30及び出力部30の他、図示を省略した通信部等を備えた情報処理装置(コンピュータ)である。
【0029】
制御部20は、行動選択装置1の全体を制御する部分であり、記憶部30に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機構を実現する。制御部20は、CPUであってよい。
【0030】
記憶部30は、ハードウェア群を行動選択装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)等であってよい。
【0031】
制御部20は、グラフ処理部21と、局所的特徴処理部22と、再帰型学習処理部23と、ホスト・行動種別選択処理部24とを備える。
図1に示すように、各処理部は、制御部20における機能ブロックとして実装されており、各処理部における処理は、CPUが対応するプログラムを読み出して実行する。
【0032】
図2は、本実施形態における行動選択方法の手順を示すフローチャートである。
ステップS1において、行動選択装置1は、環境の状態を表すグラフを入力として受け取る。
ステップS2において、行動選択装置1は、受け取ったグラフ全体の特徴を表すベクトルを出力するグラフ処理を行う。
【0033】
ステップS3において、行動選択装置1は、前記グラフ全体の特徴を表すベクトルとグラフのノードの特徴ベクトルの集合とに基づき、グラフの局所的な特徴を考慮したベクトルを出力する局所的特徴処理を行う。
ステップS4において、行動選択装置1は、再帰型学習処理を行う。
【0034】
ステップS5において、行動選択装置1は、ホスト・行動種別選択処理を行う。
ステップS6において、ホスト・行動種別選択処理の結果を出力する。
なお、各処理部及び各処理ステップにおける処理の具体例については、後述する方策モデルにおける提案手法の中で説明する。
【0035】
強化学習を用いたセキュリティ検証では、環境とエージェントの相互作用を通じて、強化学習アルゴリズムがセキュリティ検証のための行動を選択する関数を、効率的に検証が進むよう最適化する。
【0036】
本発明は、方策関数を用いる強化学習アルゴリズムを対象とし、方策関数のモデルを方策モデルと呼ぶ。なお、
図1の行動選択装置1は、方策モデルを装置として具体化したものである。方策モデル(方策関数)の引数には、環境から受け取る状態を含む。状態は、セキュリティ検査対象のネットワークシステムの、その時点における性質を表す値やその集合である。ここでは、ネットワークシステムに含まれるホストマシンの数や接続関係、各ホストマシンで動作するオペレーティングシステムやアプリケーションの情報を、数値化してベクトルとして表現した値を指す。
【0037】
方策モデルの出力は、セキュリティ検証のために次に採るべき行動とその確率である。具体例として、採り得る行動の数と同数の要素から構成されるベクトルで表現されることがある。この場合、ベクトルの各要素の合計は1となり、各要素は対応する行動を取る確率を表す。
方策モデルの出力から得られた値をもとに、実際の行動、すなわち、セキュリティ検証のために次に採る行動を決定する。通常は、ベクトルの各要素の値のうち最も大きい値に対応する行動(確率が最も高い行動)を選択する。
【0038】
方策モデルは、4種類の処理部、すなわち、グラフ処理部、局所的特徴処理部、再帰型学習処理部及びホスト・行動種別選択処理部から構成される。以下、方策モデルにおける提案手法を示す
図3を参照しつつ、各処理部における処理の具体例を説明する。
【0039】
グラフ処理部(
図3のグラフ処理部21)は、検査対象となるネットワークシステムである環境の状態をグラフG=(V,E,X)として受け取り、グラフ全体の特徴を表すベクトルh
Gとして出力する。ここで、Vはグラフのノードの集合であり、ネットワークシステムにおけるホストの集合に対応し、Eはグラフのエッジの集合であり、ホストの接続関係の集合に対応し、Xはノードの特徴ベクトルの集合であり、各ホストの属性情報を示す特徴ベクトルの集合に対応する。属性情報には、各ホストに搭載されるOSやアプリケーション等の情報を含む。加えて、脆弱性検査の途中経過(例えば、ポートスキャンを実施済みか、既に侵入に成功しているか、等)の情報も含むことができる。
【0040】
なお、検査対象となるネットワークシステムである環境の状態を示す表現(グラフ)は、例えば、先述の特許文献1(先願)で提案している装置等を用いることにより、効率的に得ることができる。
【0041】
局所的特徴処理部(
図3の局所的特徴処理部22)は、グラフ処理部から出力された、グラフ全体の特徴を表すh
Gと、ノードの特徴ベクトルの集合を表すXを入力として受け取り、グラフの局所的な特徴を考慮したベクトルc
Gを出力する。ここでは、Xの値を参照することで、h
Gに各ノードの局所的な特徴を考慮した値を付与(重み付け)する。具体的な局所的特徴処理の例として、注意機構(Attention機構又はAttentionとも呼ばれる。)や、クラスタリングを用いた処理等が挙げられる。
図3は、局所的特徴処理として注意機構を用いた場合を示している。
【0042】
再帰型学習処理部(
図3の再帰型学習処理部23)は、局所的特徴処理部から出力されたベクトルc
Gと、隠れ状態ベクトルgを受け取り、過去の状態を考慮したベクトルz
Gと、更新された隠れ状態ベクトルg′を出力する。ここで、入力される隠れ状態ベクトルgは、前の時刻の処理において出力された隠れ状態ベクトルg′であり、要するに、1つ前の処理における隠れ状態ベクトルを受け取って更新する。なお、初めての処理の場合、隠れ状態ベクトルgには任意の値が設定される。
隠れ状態ベクトルを用いて過去の状態を記録することで、過去に観測した状態(過去の履歴)を基にした新たな表現を獲得することができる。これにより、例えば同じ状態を繰り返し観測したとしても、異なる行動を出力することが可能となる。
【0043】
再帰型学習処理部における具体的な処理の例としては、LSTM(Long Short-Term Memory)や、GRU(Gated Recurrent Unit)、RNN(Recurrent Neural Network)が挙げられる。
図3は、再帰型学習処理としてGRUを用いた場合を示している。
【0044】
なお、
図3に示されたgとg′は、外部との入出力ではなく、同じ方策モデルにおける前後の時刻の処理との間で受け渡される隠れ状態ベクトルであることに注意されたい。先述のとおり、
図3に示されたgは、前の時刻の処理において出力された隠れ状態ベクトルg′を受け取ったものであり、また、
図3に示されたg′は、後の時刻の処理に渡されて隠れ状態ベクトルgとなる。
【0045】
ホスト・行動種別選択処理部(
図3のホスト・行動種別選択処理部24)は、ベクトルz
Gを受け取り、次の行動の確率を示すベクトルaを出力する。このとき、内部では、ベクトルz
Gを、ホストを表すベクトルv
hと行動種別を表すベクトルv
aに分解(分割)する。これらの行列積v
h
T×v
aにより、ホストと行動種別の両者を含む値を取得する。これをもとに、行動の確率を示すベクトルaを得る。
【0046】
図3では、ホスト・行動種別選択処理部24が、ベクトルz
Gをホストを表すベクトルv
hと行動種別を表すベクトルv
aに分解することを示すとともに、これらの行列積v
h
T×v
aにより、行動(ホストと行動種別)の確率を示すベクトルaを得ていることを示している。
【0047】
なお、ホスト・行動種別選択処理部のうち、特に行動種別選択を処理する部分は、階層化して構成することが可能である。具体例として、行動種別を、「戦略」と「戦術」に階層化する方法が挙げられる。ここで、「戦略」は大局的な行動方針であり、セキュリティ検証における具体例としてスキャンや侵入が挙げられる。「戦術」は具体的な行動内容であり、セキュリティ検証における具体例として、スキャンに対応するポートスキャンやプロセススキャンの実行、侵入に対応するSMB(Server Message Block)やRDP(Remote Desktop Protocol)サービス経由の侵入コマンドの実行が挙げられる。
【0048】
また、ベクトルvhとvaは、それぞれ行列に拡張してもよい。加えて、ベクトル(又は拡張された行列)vhとvaは、直交になるように制約を加えてもよい。例えば、vhとvaの次元数を強制的に揃えてもよい。vhとvaが直交であれば、ホストと行動種別をそれぞれ独立して表現することができるため、さらに性能が向上する可能性がある。
【0049】
なお、本実施形態により、例えば、セキュリティ検証の対象となるネットワークシステムの状態を詳細に表現することが可能となるとともに、セキュリティ検証のための行動を選択する方策関数を最適化するための学習を安定化させることでより大規模なネットワークへの対応も可能となることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進すると共に、イノベーションの拡大を図る」に貢献することが可能となる。
【0050】
以上、本発明の実施形態について説明したが、本発明は、前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0051】
例えば、
図1ないし
図3は、局所的特徴処理部、再帰型学習処理部、ホスト・行動種別選択処理部が直列に接続されるとともに、各処理部における処理が接続された順番どおりに行われる実施形態を示しているが、これに限られない。例えば、ホスト・行動種別選択処理部において、局所的特徴処理や再帰型学習処理を再度行うようにし、それにより学習のさらなる安定化を図るようにしてもよい。
また、処理部に、正規化処理や線形変換など、その処理部の外部からは引数を受け取らない関数を含むようにしてもよい。
【符号の説明】
【0052】
1 行動選択装置(学習装置)
10 入力部
20 制御部
21 グラフ処理部
22 局所的特徴処理部
23 再帰型学習処理部
24 ホスト・行動種別選択処理部
30 記憶部