(57)【要約】  行動計画推定装置１０は、コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、情報取得部１１と、動作ログそれぞれを、文脈情報間の類似性に基づいて、グループに分ける、グループ生成部１２と、グループ毎に、当該グループに含まれる動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる動作ログが示す動作から、予め設定された目標状態に至るまでの、動作ログが取得されたソフトウェアによって実行される行動計画を推定する、行動計画推定部１３と、を備えている。
2020161780.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、情報取得部と、
前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、グループ生成部と、
前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、行動計画推定部と、
を備えている、
ことを特徴とする行動計画推定装置。
【請求項２】
請求項１に記載の行動計画推定装置であって、
推定された前記行動計画を外部に出力する、行動計画出力部を更に備えている、
ことを特徴とする行動計画推定装置。
【請求項３】
請求項２に記載の行動計画推定装置であって、
前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、メッセージ作成部を、
更に備え、
前記行動計画出力部が、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する
ことを特徴とする行動計画推定装置。
【請求項４】
請求項１〜３のいずれかに記載の行動計画推定装置であって、
前記グループ毎に、当該グループに含まれる前記動作ログを、前記知識データに適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、部分目的推定部を更に備え、
前記行動計画推定部は、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とする行動計画推定装置。
【請求項５】
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を有する、
ことを特徴とする行動計画推定方法。
【請求項６】
請求項５に記載の行動計画推定方法であって、
（ｄ）推定された前記行動計画を外部に出力する、ステップを更に有する、
ことを特徴とする行動計画推定方法。
【請求項７】
請求項６に記載の行動計画推定方法であって、
（ｅ）前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、ステップを更に有し、
前記（ｄ）のステップにおいて、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する
ことを特徴とする行動計画推定方法。
【請求項８】
請求項５〜７のいずれかに記載の行動計画推定方法であって、
（ｆ）前記グループ毎に、当該グループに含まれる前記動作ログを、前記知識データに適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、ステップを更に有し、
前記（ｃ）のステップにおいて、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とする行動計画推定方法。
【請求項９】
コンピュータに、
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項９に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｄ）推定された前記行動計画を外部に出力する、ステップを実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１１】
請求項１０に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｅ）前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、ステップを実行させる命令を更に含む、
前記（ｄ）のステップにおいて、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項９〜１１のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｆ）前記グループ毎に、当該グループに含まれる前記動作ログを、前記知識データに適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、ステップを実行させる命令を更に含む、
前記（ｃ）のステップにおいて、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム上でのソフトウェアの行動計画を推定するための、行動計画推定装置、及び行動計画推定方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年においては、企業等の組織、社会においては、コンピュータシステムの役割がますます大きくなっており、コンピュータシステムを安全に運用することが求められている。従って、悪意のある第三者が、コンピュータシステムに対して何らかのサイバー攻撃を起こした場合は、そのことに素早く気づき、サイバー攻撃によって侵入したソフトウェア（マルウェア、ウィルス等）によって実行される行動計画を把握した上で、必要な対応をできるだけ早く行なうことが重要である。【０００３】
但し、昨今のサイバー攻撃は、様々な目的で行なわれており、サイバー攻撃でコンピュータシステムに侵入したソフトウェアによって実行される行動計画を把握することは容易ではない。このような問題に対して、例えば、特許文献１は、サイバー攻撃におけるマルウェアの振る舞いを検出し、検出した振る舞いから、それに関連する機能を辿って、マルウェアの目的を推定する分析装置を開示している。特許文献１に開示されている分析装置によれば、マルウェアの目的、即ち、攻撃者がマルウェアを用いて達成しようとしている目的と、目的達成のために策定された行動計画とを把握できるので、マルウェアの行動を先回りでき、サイバー攻撃に迅速に対応できると考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／０２７２９２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、以前は、サイバー攻撃の大半は、コンピュータウィルスのばらまき、サービスを停止させる攻撃（DoS攻撃、DDoS攻撃）といった、自己顕示又は不満のある組織の信用失墜を目的とした攻撃であったが、近年、サイバー攻撃の手口は多様化している。また、これに合わせて、コンピュータシステムに侵入したソフトウェアによって実行される行動計画も多様化している。【０００６】
具体的には、近年は、金銭の獲得を狙った機密情報の盗取、ランサムウェアによる身代金要求といった、金銭を目的とした攻撃が急増し、サイバー攻撃の手口は、標的に応じて、多種多様化すると共に巧妙化している。例えば、標的のコンピュータシステムに侵入させたマルウェアに、多種類のマルウェアのダウンロードを行わせることが行われている。この場合、コンピュータシステムにおいては、マルウェアの感染が徐々に拡大すると共に、多数のマルウェアが、協調して情報探索及び痕跡消去を実行する。【０００７】
これに対して、上記特許文献１に開示された分析装置では、ソフトウェアの動作と、予め定義されたマルウェアの振る舞いのパターンとを照合することで、マルウェアの振る舞いを検出する。このため、上記特許文献１に開示された分析装置では、振る舞いがパターンと合致しない新たなマルウェアによる攻撃に対応できず、行動計画を推定できない場合がある。【０００８】
本発明の目的の一例は、上記問題を解消し、外部から入力されたソフトウェアによるサイバー攻撃の手口が多様化した場合であっても、このソフトウェアによって実行される行動計画を推定し得る、行動計画推定装置、行動計画推定方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一側面における行動計画推定装置は、
コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、情報取得部と、
前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、グループ生成部と、
前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、行動計画推定部と、
を備えている、
ことを特徴とする。【００１０】
また、上記目的を達成するため、本発明の一側面における行動計画推定方法は、
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を有する、
ことを特徴とする。【００１１】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、
コンピュータに、
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とする。
【発明の効果】
【００１２】
以上のように、本発明によれば、外部から入力されたソフトウェアによるサイバー攻撃の手口が多様化した場合であっても、このソフトウェアによって実行される行動計画を推定することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明の実施の形態１における行動計画推定装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における行動計画推定装置の具体的構成を示すブロック図である。
【図３】図３は、本発明の実施の形態１における行動計画推定装置の動作を示すフロー図である。
【図４】図４は、図３に示したステップＡ１で取得される動作ログ及び文脈情報の一例を示す図である。
【図５】図５は、図３に示したステップＡ２で作成されたグループの一例を示す図である。
【図６】図６は、図３に示したステップＡ３の仮説推論から推定された行動計画の一例を示す図である。
【図７】図７は、図３に示したステップＡ６の実行により画面に表示された行動計画とメッセージとの一例を示す図である。
【図８】図８は、本発明の実施の形態２における行動計画推定装置の構成を示すブロック図である。
【図９】図９は、本発明の実施の形態２における行動計画推定装置の動作を示すフロー図である。
【図１０】図１０（ａ）は、図９に示したステップＢ３及びＢ４の処理の一例を示し、図１０（ｂ）は、図９に示したステップＢ５及びＢ６の処理の一例を示す図である。
【図１１】図１１は、本発明の実施の形態１及び２における行動計画推定装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
（実施の形態１）
以下、本発明の実施の形態１における、行動計画推定装置、行動計画推定方法、及びプログラムについて、図１〜図７を参照しながら説明する。
【００１５】
［装置構成］
最初に、本発明の実施の形態１における行動計画推定装置の概略構成について説明する。図１は本発明の実施の形態１における行動計画推定装置の概略構成を示すブロック図である。
【００１６】
図１に示す、本実施の形態における行動計画推定装置１０は、コンピュータシステム上でソフトウェアによって実行される行動計画を推定する装置である。本実施の形態において、「ソフトウェアによって実行される行動計画」には、ソフトウェアを用いて達成したい人の行動計画も含まれる。
【００１７】
図１に示すように、行動計画推定装置１０は、情報取得部１１と、グループ生成部１２と、行動計画推定部１３とを備えている。このうち、情報取得部１１は、コンピュータシステム上でソフトウェアが行った動作毎に、その動作を示す動作ログ及びその動作の状況を示す文脈情報を取得する。グループ生成部１２は、動作ログそれぞれを、文脈情報間の類似性に基づいて、グループに分ける。
【００１８】
行動計画推定部１３は、まず、グループ毎に、各グループに含まれる動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行する。続いて、行動計画推定部１３は、仮説推論の結果を用いて、各グループに含まれる動作ログが示す動作から、予め設定された目標状態に至るまでの、動作ログが取得されたソフトウェアによって実行される行動計画を推定する。
【００１９】
このように、本実施の形態では、互いに関連のある動作ログに、実行計画と動作との関係を示す知識データを適用して実行される仮説推論の結果を用いて、行動計画が推定される。つまり、本実施の形態では、ソフトウェアの振る舞いのみに依存することなく、行動計画が推定される。このため、本実施の形態によれば、外部から入力されたソフトウェアによるサイバー攻撃の手口が多様化した場合であっても、このソフトウェアによって実行される行動計画を推定することができる。
【００２０】
続いて、図２を用いて、本実施の形態１における行動計画推定装置１０の構成をより具体的に説明する。図２は、本発明の実施の形態１における行動計画推定装置の具体的構成を示すブロック図である。
【００２１】
図２に示すように、本実施の形態１では、行動計画推定装置１０は、コンピュータシステム３０に接続されている。コンピュータシステム３０は、ネットワークを介して接続された多数のコンピュータによって構築されている。行動計画推定装置１０は、コンピュータシステム３０上で動作するソフトウェア、特には、マルウェア等のコンピュータシステム３０を攻撃するソフトウェアによって実行される行動計画を推定する。
【００２２】
情報取得部１１は、本実施の形態１では、まず、コンピュータシステム３０から、動作ログを収集し、収集した動作ログから、それに付随する文脈情報を取得する。文脈情報は、例えば、動作の実行時刻（開始時刻）、実行場所、行為主体、行為対象等を含む情報である。
【００２３】
グループ生成部１２は、本実施の形態では、例えば、複数の文脈情報それぞれに含まれる、動作の実行時刻（開始時刻）、実行場所、行為主体、行為対象のうちいずれかが一致している場合に、これらの動作ログは関連していると判断し、これらを同じグループとする。
【００２４】
例えば、実行時刻については、２つの動作ログそれぞれの文脈情報中の実行時刻の差が閾値以下（１時間以内、１週間以内等）である場合に一致と判断される。実行場所については、各動作ログが取得されたエリアが同一エリア（同じホストマシン上、同じドメインネットワーク上、感染範囲内等）にある場合に一致と判断される。また、実行場所については、動作が行われた場所間の空間的距離又はネットワーク的距離が閾値以下である場合（動作ログの取得元が同一部門又は連携部門にある等）にも一致と判断される。
【００２５】
また、行為主体については、２つの動作ログそれぞれが関連するユーザアカウントが一致している場合、ユーザアカウントの権限レベルが同等である場合に、一致と判断される。更に、行為主体については、動作を行った各ソフトウェアが同一のマルウェアである場合、同じ攻撃に用いられた実績がある一連のマルウェア等である場合も、一致と判断される。更に、行為対象については、２つの動作ログそれぞれで対象となっていたオブジェクトが同一である場合、又は同一ファミリのオブジェクトである場合に、一致と判断される。
【００２６】
行動計画推定部１３は、上述したように、まず、グループ毎に、各グループに含まれる動作ログに、知識データを適用して仮説推論を実行する。この場合、知識データは、本実施の形態では、一階述語論理式の含意関係ルールによって表現される。
【００２７】
知識データは、例えば、「前状態（前提）∧行為（の達成状態）⇒後状態（帰結）」の形式で表現される。この形式は、前提となる前状態と行為（の達成状態）とが共に真ならば、必然の帰結となる後状態が導かれる、ことを示している。また、この形式では、前状態と行為とは、それぞれ後状態が成り立つための必要条件である。また、「前状態∧行為」は、後状態が成り立つための十分条件である。また、行為は複数の命題の連言で表現することもできる。例えば、知識データは、「前状態∧行為１∧行為２⇒後状態」と表現されていても良い。
【００２８】
知識データの具体例としては、「マルウェア侵入(Event1, Mal)∧不正ログオン(Event2, Host, Host1) ⇒ 感染拡大(Plan, Mal,  Host1)」が挙げられる。この場合、Event1、Mal、Host等はそれぞれ各述語の「項」と呼ばれる変数である。「項」に具体的な値が入った論理式は、「観測(observation)」と呼ばれる。例として、「不正ログオン(“e1”, “10.23.123.1”)」が挙げられる。
【００２９】
続いて、行動計画推定部１３は、上述したように、仮説推論の結果を用いて、各グループに含まれる動作ログが示す動作から、予め設定された目標状態に至るまでの、動作ログが取得されたソフトウェアによって実行される行動計画を推定する。具体的には、行動計画推定部１３は、推論の結果を用いて、動作ログが示す動作が行われてから、目標状態に到達するまでに、ソフトウェアによって行われる行為を推定する。ここで、「目標状態」としては、例えば、機密情報が外部に送信された状態、要求した金額が送金された状態等が挙げられる。
【００３０】
また、図２に示すように、行動計画推定装置１０は、情報取得部１１、グループ生成部１２、及び行動計画推定部１３に加えて、行動計画出力部１４と、メッセージ作成部１５とを備えている。
【００３１】
メッセージ作成部１５は、仮説推論の結果から、動作ログに直接結びついていない要素の成立に必要となる動作を特定する。そして、メッセージ作成部１５は、動作ログの文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、推定した文脈情報を用いて、行動計画についてのメッセージを生成する。
【００３２】
行動計画出力部１４は、推定された行動計画を、例えば、表示装置、端末装置といった外部の装置に出力する。これにより、表示装置または端末装置の画面上に、行動計画が表示される。また、行動計画出力部１４は、メッセージ作成部１５によってメッセージが生成された場合は、推定された行動計画に加えて、生成されたメッセージも外部の装置に出力することもできる。
【００３３】
［装置動作］
次に、本実施の形態１における行動計画推定装置１０の動作について図３を用いて説明する。図３は、本発明の実施の形態１における行動計画推定装置の動作を示すフロー図である。以下の説明においては、適宜図１及び図２を参照する。また、本実施の形態１では、行動計画推定装置１０を動作させることによって、行動計画推定方法が実施される。よって、本実施の形態１における行動計画推定方法の説明は、以下の行動計画推定装置１０の動作説明に代える。
【００３４】
図３に示すように、最初に、情報取得部１１が、コンピュータシステム３０上でソフトウェアが行った動作毎に、その動作を示す動作ログ及びその文脈情報を取得する（ステップＡ１）。具体的には、情報取得部１１は、コンピュータシステム３０から、動作ログを収集し、収集した動作ログから、それに付随する文脈情報を取得する。
【００３５】
次に、グループ生成部１２は、ステップＡ１で取得した動作ログそれぞれを、文脈情報間の類似性に基づいて、グループに分ける（ステップＡ２）。具体的には、グループ生成部１２は、複数の文脈情報それぞれに含まれる、動作の実行時刻（開始時刻）、実行場所、行為主体、行為対象のうちいずれかが一致している場合に、これらの動作ログは関連していると判断し、これらを同じグループとする。
【００３６】
次に、行動計画推定部１３は、グループ毎に、各グループに含まれる動作ログに、知識データを適用して仮説推論を実行する（ステップＡ３）。
【００３７】
次に、行動計画推定部１３は、ステップＡ３の仮説推論の結果を用いて、各グループに含まれる動作ログが示す動作から、予め設定された目標状態に至るまでの、動作ログが取得されたソフトウェアによって実行される行動計画を推定する（ステップＡ４）。
【００３８】
次に、メッセージ作成部１５は、ステップＡ４で推定された行動計画についてのメッセージを生成する（ステップＡ５）。具体的には、メッセージ作成部１５は、仮説推論の結果から、動作ログに直接結びついていない要素の成立に必要となる動作を特定する。そして、メッセージ作成部１５は、動作ログの文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、推定した文脈情報を用いて、行動計画についてのメッセージを生成する。
【００３９】
次に、行動計画出力部１４は、ステップＡ４で推定された行動計画と、ステップＡ５で生成されたメッセージとを、例えば、表示装置、端末装置といった外部の装置に出力する（ステップＡ６）。
【００４０】
［具体例］
ここで、本実施の形態１における行動計画推定装置１０の動作の具体例について、図４〜図７を用いて説明する。また、具体例の説明は、上述した図３に示す各ステップに沿って行う。
【００４１】
ステップＡ１
情報取得部１１は、図４に示す動作ログとそれに付随する文脈情報とを取得する。図４は、図３に示したステップＡ１で取得される動作ログ及び文脈情報の一例を示す図である。図４の例では、動作ログとして、「マルウェア検知」、「不正ログオン１」、及び「不正ログオン２」が取得されている。また、図４では、左側に、動作ログと文脈情報とが模式的に示され、右側にこれらの論理式が示されている。
【００４２】
ステップＡ２
グループ生成部１２は、図５に示すように、ステップＡ１で取得した動作ログそれぞれを、文脈情報間の類似性に基づいて、グループに分ける。図５は、図３に示したステップＡ２で作成されたグループの一例を示す図である。図４に示したように、「マウルェア検知」と「不正ログオン１」とにおいて、行為主体及び実行場所が一致している。このため、図５の例では、これらの動作は同じグループとなる。
【００４３】
ステップＡ３及びＡ４
行動計画推定部１３は、図５に示したグループに含まれる動作ログに、知識データを適用して仮説推論を実行する。そして、行動計画推定部１３は、図６に示すように、仮説推論の結果から行動計画を推定する。図６は、図３に示したステップＡ３の仮説推論から推定された行動計画の一例を示す図である。図６の例では、仮説推論により、ステップＡ２で作成されたグループに含まれる「マルウェア検知」及び「不正ログオン１」を起点として、起点から終点「目標状態」までに、マルウェアによって行われる行為が導出されている。
【００４４】
なお、図６において破線で囲まれている「データ外部送信」は、動作ログとして取得された動作ではない。但し、「データ外部送信」も、行動計画推定部１３による仮説推論によって推定される。
【００４５】
ステップＡ５
メッセージ作成部１５は、ステップＡ３で得られた仮説推論に含まれる「行為」のうち、ステップＡ１で取得された動作ログに直接結びついていないものを特定する。図６の例では、「データ外部送信」がそれに該当する。続いて、メッセージ作成部１５は、知識データを用いて、「データ外部送信」の成立に必要な動作を特定する。具体的には、メッセージ作成部１５は、知識データを用いて、「データ外部送信」の成立に必要な動作として、「情報盗取」を特定する。
【００４６】
次に、メッセージ作成部１５は、ステップＡ１で取得された動作ログの文脈情報、例えば、成立に必要な動作として特定した「情報盗取」の直前の「感染拡大」の必要条件である「不正ログオン１」の文脈情報から、「データ外部送信」の文脈情報を推定する。具体的には、メッセージ作成部１５は、「不正ログオン１」の文脈情報における実行日時（time）、動作主体（agent）、及び実行場所（src, dest）の値をそれぞれ抽出する（図４参照）。
【００４７】
次に、メッセージ作成部１５は、「データ外部送信」の実行日時を、抽出した日時の後に設定し、行為主体、行為対象及び実行場所を、抽出したものに設定する。そして、メッセージ作成部１５は、未確認の動作である「データ外部送信」と、それについて設定した文脈情報とを用いて、メッセージを作成する。メッセージの例としては、「“情報盗取”に関する“データ外部送信”が、“2018/05/31 13:54:28”より後に、“admin01”の権限で、“183.79.40.183”または“183.79.52.210”上で行なわれた可能性があります。」が挙げられる。
【００４８】
ステップＡ６
次に、行動計画出力部１４は、図７に示すように、ステップＡ４で推定された行動計画と、ステップＡ５で生成されたメッセージとを外部の装置に出力する。図７は、図３に示したステップＡ６の実行により画面に表示された行動計画とメッセージとの一例を示す図である。図７の例では、行動計画とメッセージとが画面上に表示されている。
【００４９】
［実施の形態１における効果］
このように、本実施の形態１では、コンピュータシステム３０上で、ソフトウェア、具体的にはマルウェアが動作しようとすると、マルゥエアによって何がどのような手順で行われようとしているか（行動計画）が、推定され、推定結果が提示される。また、行動計画の推定は、仮説推論を用いて行われるので、サイバー攻撃の手口が多様化した場合であっても可能である。更に、本実施の形態１では、この行動計画の解釈を支援するメッセージが作成され、これも提示される。このため、コンピュータシステム３０の管理者は、適切な対応をすばやくとることができる。
【００５０】
［プログラム］
本実施の形態１におけるプログラムは、コンピュータに、図３に示すステップＡ１〜Ａ６を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態１における行動計画推定装置１０と行動計画推定方法とを実現することができる。この場合、コンピュータのプロセッサは、情報取得部１１、グループ生成部１２、行動計画推定部１３、行動計画出力部１４、及びメッセージ作成部１５として機能し、処理を行なう。
【００５１】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報取得部１１、グループ生成部１２、行動計画推定部１３、行動計画出力部１４、及びメッセージ作成部１５のいずれかとして機能しても良い。
【００５２】
（実施の形態２）
本発明の実施の形態２における、行動計画推定装置、行動計画推定方法、及びプログラムについて、図８〜図１０を参照しながら説明する。
【００５３】
［装置構成］
最初に、本発明の実施の形態２における行動計画推定装置２０の構成について説明する。図８は、本発明の実施の形態２における行動計画推定装置の構成を示すブロック図である。
【００５４】
図８に示すように、本実施の形態２における行動計画推定装置２０は、図２に示した実施の形態１における行動計画推定装置１０と同様に、情報取得部１１、グループ生成部１２、行動計画推定部１３、行動計画出力部１４、及びメッセージ作成部１５を備えている。
【００５５】
但し、本実施の形態２では、行動計画推定装置２０は、これらに加えて、部分目的推定部１６も備えており、この点で、実施の形態１における行動計画推定装置１０と異なっている。以下、実施の形態１との相違点を中心に説明する。
【００５６】
部分目的推定部１６は、まず、グループ毎に、各グループに含まれる動作ログに、知識データを適用して、演繹推論を実行する。更に、部分目的推定部１６は、グループ毎に、演繹推論の結果を用いて、動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した新たな動作を示す動作ログを各グループに追加する。
【００５７】
また、本実施の形態２では、行動計画推定部１３は、部分目的推定部１６によって新たな動作を示す動作ログが追加された、グループ毎に、ソフトウェアによって実行される行動計画を推定する。
【００５８】
［装置動作］
次に、本実施の形態２における行動計画推定装置２０の動作について図９を用いて説明する。図９は、本発明の実施の形態２における行動計画推定装置の動作を示すフロー図である。以下の説明においては、適宜図８を参照する。また、本実施の形態２においても、行動計画推定装置２０を動作させることによって、行動計画推定方法が実施される。よって、本実施の形態２における行動計画推定方法の説明は、以下の行動計画推定装置２０の動作説明に代える。
【００５９】
図８に示すように、最初に、情報取得部１１が、コンピュータシステム３０上でソフトウェアが行った動作毎に、その動作を示す動作ログ及びその文脈情報を取得する（ステップＢ１）。ステップＢ１は、図３に示したステップＡ１と同様のステップである。
【００６０】
次に、グループ生成部１２は、ステップＢ１で取得した動作ログそれぞれを、文脈情報間の類似性に基づいて、グループに分ける（ステップＢ２）。ステップＢ２は、図３に示したステップＡ２と同様のステップである。
【００６１】
次に、部分目的推定部１６は、ステップＢ２で作成されたグループ毎に、各グループに含まれる動作ログに、知識データを適用して、演繹推論を実行する（ステップＢ３）。続いて、部分目的推定部１６は、グループ毎に、演繹推論の結果を用いて、ステップＢ１で取得された動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した新たな動作を示す動作ログを各グループに追加する（ステップＢ４）。
【００６２】
次に、行動計画推定部１３は、各グループに、ステップＢ４によって新たな動作を示す動作ログが追加されると、動作ログが追加されたグループ毎に、各グループに含まれる動作ログに、知識データを適用して仮説推論を実行する（ステップＢ５）。
【００６３】
次に、行動計画推定部１３は、ステップＢ５の仮説推論の結果を用いて、各グループに含まれる動作ログが示す動作から、予め設定された目標状態に至るまでの、動作ログが取得されたソフトウェアによって実行される行動計画を推定する（ステップＢ６）。ステップＢ６は、図３に示したステップＡ４と同様のステップである。
【００６４】
次に、メッセージ作成部１５は、ステップＢ６で推定された行動計画についてのメッセージを生成する（ステップＢ７）。ステップＢ７は、図３に示したステップＡ５と同様のステップである。
【００６５】
次に、行動計画出力部１４は、ステップＢ６で推定された行動計画と、ステップＢ７で生成されたメッセージとを、例えば、表示装置、端末装置といった外部の装置に出力する（ステップＢ８）。ステップＢ８は、図３に示したステップＡ６と同様のステップである。
【００６６】
［具体例］
ここで、本実施の形態２における行動計画推定装置２０の動作の具体例について、図１０（ａ）及び（ｂ）を用いて説明する。図１０（ａ）は、図９に示したステップＢ３及びＢ４の処理の一例を示し、図１０（ｂ）は、図９に示したステップＢ５及びＢ６の処理の一例を示す図である。また、具体例の説明は、上述した図９に示す各ステップに沿って行う。
【００６７】
ステップＢ１
本実施の形態２においても、情報取得部１１は、実施の形態１と同様に、例えば、図４に示す動作ログとそれに付随する文脈情報とを取得する。
【００６８】
ステップＢ２
本実施の形態２においても、グループ生成部１２は、実施の形態１と同様に、例えば、図５に示すように、ステップＢ１で取得した動作ログそれぞれを、文脈情報間の類似性に基づいて、グループに分ける。
【００６９】
ステップＢ３及びＢ４
部分目的推定部１６は、ステップＢ１で取得された動作に対して、知識データを適用して、演繹推論を実行する。これにより、図１０（ａ）に示すように、「マルウェア検知」に対して行為「侵入」が導出され、その「侵入」と「不正ログオン１」とに対して「感染拡大」が導出される。また、「侵入」に対して演繹推論を実行すると、「感染拡大」が導出される。このため、図１０（ａ）に示すように、「マルウェア検知」と「不正ログオン１」との両方が揃うと、「侵入」及び「感染拡大」が追加される。
【００７０】
ステップＢ５及びＢ６
行動計画推定部１３は、図１０（ａ）に示した追加後のグループに含まれる動作ログに、知識データを適用して仮説推論を実行する。そして、行動計画推定部１３は、図１０（ｂ）に示すように、行動計画を推定する。図１０（ｂ）の例でも、実施の形態１で示した図６の例と同様に、仮説推論により、ステップＢ２で作成されたグループに含まれる「マルウェア検知」及び「不正ログオン１」を起点として、起点から終点「目標状態」までに、マルウェアによって行われる行為が導出されている。
【００７１】
ステップＢ７
本実施の形態２においても、メッセージ作成部１５は、実施の形態１において示した具体例と同様にメッセージを作成する。メッセージの例としては、「“情報盗取”に関する“データ外部送信”が、“2018/05/31 13:54:28”より後に、“admin01”の権限で、“183.79.40.183”または“183.79.52.210”上で行なわれた可能性があります。」が挙げられる。
【００７２】
ステップＢ８
本実施の形態２においても、行動計画出力部１４は、例えば、図７に示すように、ステップＢ６で推定された行動計画と、ステップＢ７で生成されたメッセージとを外部の装置に出力する。
【００７３】
［実施の形態２における効果］
このように、本実施の形態２では、演繹推論が行われるので、事実に基づいた現象を追加することができ、その上で仮説推論が行われる。このため、本実施の形態２によれば、実施の形態１に比べて仮説推論における精度の向上を期待できる。なお、上述の具体例で得られた行動計画は、実施の形態１に示した具体例で得られた行動計画と同様であるが、取得される動作ログの数が増加する程、実施の形態１に比べて、仮説推論における精度は向上する。
【００７４】
加えて、仮説推論よりも演繹推論の方が、処理にかかる負荷が小さく、高速に処理できる。また、同じ仮説に結びつく動作ログ（観測）の数が多い程、演繹推論で導出できる現象の割合が増えるため、仮説推論で探索すべき知識データは限定される。これらの点から、本実施の形態２によれば、処理時間の短縮化が可能となる。
【００７５】
また、本実施の形態２においても、実施の形態１と同様に、サイバー攻撃の手口が多様化した場合であっても、行動計画の推定が可能である。更に、本実施の形態２においても、実施の形態１と同様に、行動計画の解釈を支援するメッセージが提示されるので、コンピュータシステム３０の管理者は、適切な対応をすばやくとることができる。
【００７６】
［プログラム］
本実施の形態２におけるプログラムは、コンピュータに、図９に示すステップＢ１〜Ｂ８を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態２における行動計画推定装置２０と行動計画推定方法とを実現することができる。この場合、コンピュータのプロセッサは、情報取得部１１、グループ生成部１２、行動計画推定部１３、行動計画出力部１４、メッセージ作成部１５、及び部分目的推定部１６として機能し、処理を行なう。
【００７７】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、情報取得部１１、グループ生成部１２、行動計画推定部１３、行動計画出力部１４、メッセージ作成部１５、及び部分目的推定部１６のいずれかとして機能しても良い。
【００７８】
（物理構成）
ここで、実施の形態１及び２におけるプログラムを実行することによって、行動計画推定装置を実現するコンピュータについて、図１１を用いて説明する。図１１は、本発明の実施の形態１及び２における行動計画推定装置を実現するコンピュータの一例を示すブロック図である。
【００７９】
図１１に示すように、コンピュータ１１０は、ＣＰＵ（Central Processing Unit）１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。なお、コンピュータ１１０は、ＣＰＵ１１１に加えて、又はＣＰＵ１１１に代えて、ＧＰＵ（Graphics Processing Unit）、又はＦＰＧＡ（Field-Programmable Gate Array）を備えていても良い。
【００８０】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００８１】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８２】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８３】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００８４】
なお、本実施の形態における行動計画推定装置１０は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、行動計画推定装置１０は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００８５】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１２）によって表現することができるが、以下の記載に限定されるものではない。
【００８６】
（付記１）
コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、情報取得部と、
前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、グループ生成部と、
前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、行動計画推定部と、
を備えている、
ことを特徴とする行動計画推定装置。
【００８７】
（付記２）
付記１に記載の行動計画推定装置であって、
推定された前記行動計画を外部に出力する、行動計画出力部を更に備えている、
ことを特徴とする行動計画推定装置。
【００８８】
（付記３）
付記２に記載の行動計画推定装置であって、
前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、メッセージ作成部を、
更に備え、
前記行動計画出力部が、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する
ことを特徴とする行動計画推定装置。
【００８９】
（付記４）
付記１〜３のいずれかに記載の行動計画推定装置であって、
前記グループ毎に、当該グループに含まれる前記動作ログに、前記知識データを適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、部分目的推定部を更に備え、
前記行動計画推定部は、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とする行動計画推定装置。
【００９０】
（付記５）
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を有する、
ことを特徴とする行動計画推定方法。
【００９１】
（付記６）
付記５に記載の行動計画推定方法であって、
（ｄ）推定された前記行動計画を外部に出力する、ステップを更に有する、
ことを特徴とする行動計画推定方法。
【００９２】
（付記７）
付記６に記載の行動計画推定方法であって、
（ｅ）前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、ステップを更に有し、
前記（ｄ）のステップにおいて、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する
ことを特徴とする行動計画推定方法。
【００９３】
（付記８）
付記５〜７のいずれかに記載の行動計画推定方法であって、
（ｆ）前記グループ毎に、当該グループに含まれる前記動作ログに、前記知識データを適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、ステップを更に有し、
前記（ｃ）のステップにおいて、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とする行動計画推定方法。
【００９４】
（付記９）
コンピュータに、
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を実行させる命令を含む、プログラムを記録している、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９５】
（付記１０）
付記９に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｄ）推定された前記行動計画を外部に出力する、ステップを実行させる命令を更に含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９６】
（付記１１）
付記１０に記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｅ）前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、ステップを実行させる命令を更に含む、
前記（ｄ）のステップにおいて、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９７】
（付記１２）
付記９〜１１のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記プログラムが、前記コンピュータに、
（ｆ）前記グループ毎に、当該グループに含まれる前記動作ログを、前記知識データに適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、ステップを実行させる命令を更に含む、
前記（ｃ）のステップにおいて、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【００９８】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【００９９】
以上のように、本発明によれば、外部から入力されたソフトウェアによるサイバー攻撃の手口が多様化した場合であっても、このソフトウェアによって実行される行動計画を推定することができる。本発明は、外部からソフトウェアが入力される可能性がある種々のシステムに対して有用である。
【符号の説明】
【０１００】
１０  行動計画推定装置（実施の形態１）
１１  情報取得部
１２  グループ生成部
１３  行動計画推定部
１４  行動計画出力部
１５  メッセージ作成部
１６  部分目的推定部
２０  行動計画推定装置（実施の形態２）
３０  コンピュータシステム
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2020161780.tif 000003
【図２】
2020161780.tif 000004
【図３】
2020161780.tif 000005
【図４】
2020161780.tif 000006
【図５】
2020161780.tif 000007
【図６】
2020161780.tif 000008
【図７】
2020161780.tif 000009
【図８】
2020161780.tif 000010
【図９】
2020161780.tif 000011
【図１０】
2020161780.tif 000012
【図１１】
2020161780.tif 000013
【手続補正書】
【提出日】令和3年7月30日(2021.7.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、情報取得部と、
前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、グループ生成部と、
前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、行動計画推定部と、
を備えている、
ことを特徴とする行動計画推定装置。
【請求項２】
請求項１に記載の行動計画推定装置であって、
推定された前記行動計画を外部に出力する、行動計画出力部を更に備えている、
ことを特徴とする行動計画推定装置。
【請求項３】
請求項２に記載の行動計画推定装置であって、
前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、メッセージ作成部を、
更に備え、
前記行動計画出力部が、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する
ことを特徴とする行動計画推定装置。
【請求項４】
請求項１〜３のいずれかに記載の行動計画推定装置であって、
前記グループ毎に、当該グループに含まれる前記動作ログを、前記知識データに適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、部分目的推定部を更に備え、
前記行動計画推定部は、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とする行動計画推定装置。
【請求項５】
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を有する、
ことを特徴とする行動計画推定方法。
【請求項６】
コンピュータに、
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を実行させる、プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、コンピュータシステム上でのソフトウェアの行動計画を推定するための、行動計画推定装置、及び行動計画推定方法に関し、更には、これらを実現するためのプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の目的の一例は、上記問題を解消し、外部から入力されたソフトウェアによるサイバー攻撃の手口が多様化した場合であっても、このソフトウェアによって実行される行動計画を推定し得る、行動計画推定装置、行動計画推定方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を実行させる、
ことを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００９４
【補正方法】変更
【補正の内容】
【００９４】
（付記９）
コンピュータに、
（ａ）コンピュータシステム上でソフトウェアが行った動作毎に、当該動作を示す動作ログ及び当該動作の状況を示す文脈情報を取得する、ステップと、
（ｂ）前記動作ログそれぞれを、前記文脈情報間の類似性に基づいて、グループに分ける、ステップと、
（ｃ）前記グループ毎に、当該グループに含まれる前記動作ログに、ソフトウェアによって実行される行動計画とその際のソフトウェアの動作との関係を示す知識データを適用して仮説推論を実行し、仮説推論の結果を用いて、当該グループに含まれる前記動作ログが示す動作から、予め設定された目標状態に至るまでの、前記動作ログが取得された前記ソフトウェアによって実行される行動計画を推定する、ステップと、
を実行させる、プログラム。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００９５
【補正方法】変更
【補正の内容】
【００９５】
（付記１０）
付記９に記載のプログラムであって、
前記コンピュータに、
（ｄ）推定された前記行動計画を外部に出力する、ステップを更に実行させる、
ことを特徴とするプログラム。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
（付記１１）
付記１０に記載のプログラムであって、
前記コンピュータに、
（ｅ）前記仮説推論の結果から、前記動作ログに直接結びついていない要素の成立に必要となる動作を特定し、そして、前記動作ログの前記文脈情報を用いて、特定した動作の状況を示す文脈情報を推定し、加えて、推定した前記文脈情報を用いて、前記行動計画についてのメッセージを生成する、ステップを更に実行させ、
前記（ｄ）のステップにおいて、推定された前記行動計画に加えて、生成された前記メッセージも外部に出力する、
ことを特徴とするプログラム。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
（付記１２）
付記９〜１１のいずれかに記載のプログラムであって、
前記コンピュータに、
（ｆ）前記グループ毎に、当該グループに含まれる前記動作ログを、前記知識データに適用して、演繹推論を実行し、更に、演繹推論の結果を用いて、前記動作ログが示す動作から導かれる新たな動作を特定し、そして、特定した前記新たな動作を示す動作ログを当該グループに追加する、ステップを更に実行させ、
前記（ｃ）のステップにおいて、前記新たな動作を示す動作ログが追加された、前記グループ毎に、前記ソフトウェアによって実行される行動計画を推定する、
ことを特徴とするプログラム。
【国際調査報告】
2020161780.tif 000014
2020161780.tif 000015