(57)【要約】  端末装置３０は、自装置が動作した結果を表す動作情報３５０を、抽象化規則３４０に基づいて抽象化した抽象化動作情報３１０を生成する抽象化部３１と、動作情報３５０に関する予測可能性の高さを表す予測スコアを、抽象化動作情報３１０に基づいて算出する算出部３２０と、動作情報３５０を、自装置が不正に動作したことを検出する検出装置４０へ送信するか否かを、予測スコア３２０に基づいて判定する判定部３３と、を備えることによって、端末装置３０による不正動作を検出装置４０が確実に捕捉することを維持するとともに、端末装置３０から検出装置４０へ送信される動作情報３５０を効率的に削減する。
2019049243.tif 000002
【特許請求の範囲】
【請求項１】
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化手段と、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出手段と、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定手段と、
を備える端末装置。
【請求項２】
前記算出手段は、内容が同様である前記抽象化動作情報毎に、発生回数あるいは発生頻度を算出し、前記発生回数あるいは前記発生頻度が高いほど、前記予測スコアを高くする、
請求項１に記載の端末装置。
【請求項３】
前記算出手段は、所定の期間における前記発生回数あるいは前記発生頻度を算出し、算出した結果を記憶手段に格納する、
請求項２に記載の端末装置。
【請求項４】
前記算出手段は、自装置によって実行されるプログラムと関連付けて、前記発生回数あるいは前記発生頻度を算出する、
請求項２または請求項３に記載の端末装置。
【請求項５】
前記算出手段は、前記プログラムの名称、あるいは、前記プログラムに基づくハッシュ値を、前記プログラムを識別可能な識別子として使用する、
請求項４に記載の端末装置。
【請求項６】
前記算出手段は、これまでに順次生成された複数の前記抽象化動作情報を、まとめたのちに圧縮することによって生成した情報が有する情報量と、最新の前記抽象化動作情報を除く１以上の前記抽象化動作情報を、まとめたのちに圧縮することによって生成した情報が有する情報量との差分の大きさを求め、前記差分の大きさに基づいて前記予測スコアを算出する、
請求項１に記載の端末装置。
【請求項７】
前記算出手段は、これまでに求めた複数の前記差分の大きさについて、平均と分散とを算出することによって前記差分の大きさに関する分布を表す統計情報を生成し、前記統計情報に基づいて、前記予測スコアを算出する、
請求項６に記載の端末装置。
【請求項８】
前記算出手段は、前記抽象化手段によって生成された前記抽象化動作情報が、事前に記憶手段に登録されている正常動作情報と同様であることを検出し、
前記判定手段は、前記算出手段が、前記抽象化動作情報が前記正常動作情報と同様であることを検出した場合、前記動作情報を検出装置へ送信しないと判定する、
請求項１に記載の端末装置。
【請求項９】
前記算出手段は、前記抽象化手段によって生成された前記抽象化動作情報が、事前に記憶手段に登録されている不正動作情報と同様であることを検出し、
前記判定手段は、前記算出手段が、前記抽象化動作情報が前記不正動作情報と同様であることを検出した場合、前記動作情報を検出装置へ送信すると判定する、
請求項１に記載の端末装置。
【請求項１０】
前記判定手段は、前記予測スコアに基づいて、前記動作情報を前記検出装置へ送信する確率を求め、前記確率を使用して、前記動作情報を前記検出装置へ送信するか否かを判定する、
請求項１乃至請求項９のいずれか一項に記載の端末装置。
【請求項１１】
前記抽象化規則は、動作種別が異なる動作に対して、抽象度が異なる抽象化を表す、
請求項１乃至請求項１０のいずれか一項に記載の端末装置。
【請求項１２】
前記抽象化規則は、書き込み動作に対する前記抽象度よりも、読み込み動作に対する前記抽象度を高くした抽象化を表す、
請求項１１に記載の端末装置。
【請求項１３】
前記抽象化規則は、前記動作に付与された実行権限が強いほど、前記動作に対する前記抽象度を低くした抽象化を表す、
請求項１１または１２に記載の端末装置。
【請求項１４】
前記判定手段による判定結果に基づいて、前記動作情報を前記検出装置へ送信する出力手段をさらに備える、
請求項１乃至請求項１３のいずれか一項に記載の端末装置。
【請求項１５】
前記出力手段は、前記動作情報に関する前記予測スコアを前記検出装置へ送信する、
請求項１４に記載の端末装置。
【請求項１６】
情報処理装置である端末装置によって、
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成し、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出し、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する、
端末装置による動作情報の報告制御方法。
【請求項１７】
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化処理と、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出処理と、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定処理と、
を情報処理装置である端末装置に実行させるための端末装置による動作情報の報告制御プログラムが格納された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、端末装置による動作を示す情報を、不正動作の発生を管理するサーバ装置に報告することを制御する技術に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング等では、エンドポイント側にある多数の端末装置から送信された様々なデータを、クラウド側にあるサーバ装置が集中管理することが、一般的に行なわれている。この場合、端末装置の数が増加するにつれて、サーバ装置に送信される情報量は膨大となるので、その情報量を効率的に削減する技術に対する期待が高まってきている。【０００３】
このような技術に関連する技術として、特許文献１には、端末から収集されたデータを管理するデータ収集管理システムにおいて、リソースの利用効率を向上させるデータ収集管理システムが開示されている。このデータ収集管理システムは、測定データを送信する端末と、端末が送信する測定データを受信して管理する管理装置と、を含む。当該管理装置は、端末が測定データを管理装置に送信する際のコストを示す送信コスト情報を、端末に通知する通知部を備える。そして当該端末は、測定データの情報としての価値を示す情報価値を算出する算出部と、情報価値と送信コスト情報とに基づいて、測定データを管理装置に送信するか否かを定める送信制御部と、を備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第2014/157240号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
多種多様の新たなマルウェアが日々発生するような状況において、クラウド側にあるサーバ装置では、端末装置による動作を集中管理すると共に、マルウェア等によって不正動作を行なった端末装置を検出する処理が行なわれている。この場合、まず、端末装置による不正動作を漏れなく確実に捕捉することが求められる。そして、管理対象となる端末装置が増加するにつれて、サーバ装置に送信される端末装置の動作を示す情報（動作情報）の量が膨大となるので、サーバ装置に送信される動作情報の量を削減することも求められる。即ち、端末装置による不正動作を確実に捕捉することを維持するとともに、端末装置からサーバ装置へ送信される動作情報を効率的に削減することが課題である。特許文献１は、この課題について言及していない。本願発明の主たる目的は、この課題を解決する端末装置等を提供することである。
【課題を解決するための手段】
【０００６】
本願発明の一態様に係る端末装置は、自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化手段と、前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出手段と、前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定手段と、を備える。【０００７】
上記目的を達成する他の見地において、本願発明の一態様に係る端末装置による動作情報の報告制御方法は、情報処理装置である端末装置によって、自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成し、前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出し、前記動作情報を、自装置が不正に動作したことを検出する検出装置へ、前記予測スコアに基づいて送信するか否かを判定する。【０００８】
また、上記目的を達成する更なる見地において、本願発明の一態様に係る端末装置による動作情報の報告制御プログラムは、自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化処理と、前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出処理と、前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定処理と、を情報処理装置である端末装置に実行させるためのプログラムである。【０００９】
更に、本願発明は、係る端末装置による動作情報の報告制御プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００１０】
本願発明は、端末装置による不正動作をサーバ装置が検出する場合に、端末装置による不正動作を確実に捕捉することを維持するとともに、端末装置からサーバ装置へ送信される動作情報を効率的に削減することを可能とする。
【図面の簡単な説明】
【００１１】
【図１】本願発明の第１の実施形態に係る端末装置１０の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係る動作情報１５０の内容を例示する図である。
【図３】本願発明の第１の実施形態に係る抽象化規則１４０の構成を例示する図である。
【図４】本願発明の第１の実施形態に係る抽象化動作情報１１０の内容を例示する図である。
【図５】本願発明の第１の実施形態に係る履歴情報１４１の構成を例示する図である。
【図６】本願発明の第１の実施形態に係る判定部１３が求める送信確率の一例を示す図である。
【図７】本願発明の第１の実施形態に係る端末装置１０の動作を示すフローチャートである。
【図８】本願発明の第２の実施形態に係る端末装置３０の構成を示すブロック図である。
【図９】本願発明の各実施形態に係る端末装置を実行可能な情報処理装置９００の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。本願発明は、端末装置が正常に動作する場合と不正に動作する場合とでは、その動作に関して、下記の通り、傾向に違いがあることに着目した発明である。即ち、端末装置が所定のプログラム（プロセス）に従って正常に動作する場合は、過去に何度も発生した動作（即ち予測可能性が高い動作）を行なう傾向がある。これに対して、マルウェアに感染することによって端末装置が不正に動作する場合は、過去にほとんど発生していない動作（即ち予測可能性が低い動作）を突発的に行なう傾向がある。本発明者は、このような知見を基に、本願発明を見出した。以下、具体例により、本願発明を説明する。
【００１３】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係る端末装置１０の構成を概念的に示すブロック図である。端末装置１０は、例えばパーソナルコンピュータ、あるいはスマートフォン等の情報処理装置である。そして端末装置１０は、自装置の動作を示す情報（動作情報）を、通信ネットワークを介して通信可能に接続されている検出装置２０に送信することを制御する機能を有する。
【００１４】
検出装置２０は、端末装置１０による不正動作（不審動作）の発生を管理するサーバ装置等の情報処理装置であり、例えばクラウドコンピューティングにおけるクラウド側に設置されている。尚、図１は、説明の便宜上、１つの端末装置１０を示しているが、一般的には、多数の端末装置１０が検出装置２０と通信可能に接続されているシステム構成であり、本実施形態は、そのようなシステム構成も想定の範囲とする。
【００１５】
本実施形態に係る端末装置１０は、抽象化部１１、算出部１２、判定部１３、記憶部１４、動作情報生成部１５、及び、出力部１６を備えている。
【００１６】
記憶部１４は、例えば、磁気ディスクあるいは電子メモリ等の記憶デバイスである。記憶部１４は、抽象化規則１４０、履歴情報１４１、正常動作情報１４２、及び、不正動作情報１４３を記憶している。抽象化規則１４０、履歴情報１４１、正常動作情報１４２、及び、不正動作情報１４３の詳細については後述する。
【００１７】
動作情報生成部１５は、端末装置１０による動作（端末装置１０において発生したイベント）を表す動作情報１５０を生成する。即ち、動作情報１５０は、例えば端末装置１０に関する動作ログである。
【００１８】
図２は、本実施形態に係る動作情報１５０の内容を例示する図である。図２は、端末装置１０が動作した順に、それぞれの動作に関して、動作情報生成部１５によって生成された動作情報１５０を表す。即ち、図２における各行は、個々の動作情報１５０を表す。
【００１９】
例えば、図２に例示する１番目の動作を表す動作情報１５０は、「type」が「process」であり、「mode」が「start」であり、「path」が「\temp\abcde.exe」であり、「pid」が「1234」であることを示している。これは、当該１番目の動作が、「\temp\abcde.exe」というプロセス（プログラム）の実行を開始した動作であることを示している。但し、「\」は、ファイルの階層構造を表す符号である。尚、階層構造を表す符号として、「＼」を用いる場合もある。また、「pid」は、プロセス（プログラム）を識別可能な識別子である（２番目以降の動作についても同様）。
【００２０】
例えば、図２に例示する２番目の動作を表す動作情報１５０は、「type」が「registry」であり、「mode」が「set-value」であり、「key」が「HKCU\software\key1」であり、「value」が「１」であることを示している。これは、当該２番目の動作が、「HKCU\software\key1」というレジストリに対して、値「１」を設定した動作であることを示している。図２に例示する３番目の動作を表す動作情報１５０も同様に、当該３番目の動作が、「HKCU\software\key2」というレジストリに対して、値「２」を設定した動作であることを示している。
【００２１】
図２に例示する４番目、７番目、及び８番目の動作を表す動作情報１５０は、ファイルへのアクセス内容を示している。図２に例示する５番目、及び６番目の動作を表す動作情報１５０は、通信ネットワークへのアクセス内容を示している。図２に例示する９番目の動作を表す動作情報１５０は、上述した１番目の動作によって実行が開始された「\temp\abcde.exe」というプロセスの実行が終了したことを示している。
【００２２】
動作情報生成部１５は、生成した動作情報１５０を、図１に示す抽象化部１１へ入力する。
【００２３】
抽象化部１１は、動作情報生成部１５から入力された動作情報１５０を、記憶部１４に記憶されている抽象化規則１４０に基づいて抽象化（簡素化）し、抽象化した結果を表す抽象化動作情報１１０を生成する。
【００２４】
図３は、本実施形態に係る抽象化規則１４０の構成を概念的に例示する図である。抽象化規則１４０は、図３に例示する通り、上述した動作情報１５０に含まれる「type」（種別）の値ごとに、動作情報１５０に対する抽象化処理の内容を示した抽象化規則である。尚、図３に示す抽象化規則は、説明の便宜上、文章により記載されているが、実際には、例えばプログラミング言語等によって記載されていることとする。
【００２５】
抽象化部１１は、図３に例示する抽象化規則１４０に従って、「type」が「process」であることを示す動作情報１５０に対しては、下記の抽象化処理を行う。
・「type」及び「mode」については、その内容を維持する（即ち、抽象化を行なわない）。
・「path」については、深さ「１」まで抽象化する（即ち、深さ「１」よりも深い階層を示す情報を削除する）。
【００２６】
図４は、抽象化部１１が、図３に例示する抽象化規則１４０に従って、図２に例示する動作情報１５０を抽象化した結果を表す抽象化動作情報１１０の内容を例示する図である。抽象化部１１は、図２及び図４に例示する通り、１番目及び９番目の動作を表す動作情報１５０に対して、「type」及び「mode」についてはその内容を維持し、「path」については「\temp」よりも深い階層を示す情報を削除する。抽象化部１１は、また、抽象化規則１４０に規則が示されていない項目については、当該項目を削除する。したがって、抽象化部１１は、１番目及び９番目の動作を表す動作情報１５０に含まれる、「pid:1234」を削除する（２番目乃至８番目の動作についても同様）。
【００２７】
抽象化部１１は、図３に例示する抽象化規則１４０に従って、「type」が「registry」であることを示す動作情報１５０に対しては、下記の抽象化処理を行う。
・「type」及び「mode」については、その内容を維持する（即ち、抽象化を行なわない）。
・「key」については、深さ「２」まで抽象化する。
【００２８】
したがって、抽象化部１１は、図２及び図４に例示する通り、２番目及び３番目の動作を表す動作情報１５０に対して、「type」及び「mode」についてはその内容を維持し、「key」については「HKCU\software」よりも深い階層を示す情報を削除する。抽象化部１１は、上述したとおり、抽象化規則１４０に規則が示されていない項目については、当該項目を削除するので、２番目及び３番目の動作を表す動作情報１５０に含まれる、「value 1」、「value 2」、及び「pid:1234」を削除する。
【００２９】
抽象化部１１は、図３に例示する抽象化規則１４０に従って、「type」が「file」であることを示す動作情報１５０に対しては、下記の抽象化処理を行う。
・「type」及び「mode」については、その内容を維持する（即ち、抽象化を行なわない）。
・「path」については、「mode」が「write」あるいは「remove」である場合は、深さ「３」まで抽象化し、「mode」が「read」である場合は、深さ「２」まで抽象化する。
・「mode」が「write」あるいは「remove」である場合は、「path」に含まれる拡張子を、「ext」という項目として抽出する。
【００３０】
したがって、抽象化部１１は、図２及び図４に例示する通り、４番目の動作を表す動作情報１５０に対して、「type」及び「mode」についてはその内容を維持し、「path」については「\program files\A」よりも深い階層を示す情報を削除する。抽象化部１１は、また、７番目及び８番目の動作を表す動作情報１５０に対して、「type」及び「mode」についてはその内容を維持し、「path」については「\program files\A\B」よりも深い階層を示す情報を削除するとともに、「path」に含まれる拡張子「dat」を「ext」という項目として抽出する。
【００３１】
抽象化部１１は、上述した通り、「type」及び「mode」の組み合わせにより区分される動作種別が異なる動作に対して、抽象度（抽象化の粒度）が異なる抽象化を行なう。より具体的には、抽象化規則１４０は、端末装置１０が不正に動作した場合に、及ぼす影響が大きい（不正動作の検出における重要度が大きい）動作種別ほど、抽象度を低く（抽象化の粒度を細かく）することを表す。
【００３２】
例えば、不正な読み込み動作が発生した場合、その影響は、その読み込み動作に限定される。これに対して、不正な書き込み動作が発生した場合、その影響は、当該書き込み動作により書き込まれた情報（ファイル等）をその後に読み込む全ての読み込み動作に及ぶことになる。即ち、書き込み動作は、読み込み動作よりも、端末装置１０が不正に動作した場合に及ぼす影響が大きい。この場合、抽象化規則１４０は、上述した通り、ファイルに対する読み込み込み動作については深さ「２」まで抽象化し、ファイルに対する書き込み動作については、より深いレベルである深さ「３」までの抽象化に留めることを表している。
【００３３】
抽象化部１１は、図３に例示する抽象化規則１４０に従って、「type」が「network」であることを示す動作情報１５０に対しては、下記の抽象化処理を行う。
・「type」及び「mode」については、その内容を維持する（即ち、抽象化を行なわない）。
【００３４】
したがって、抽象化部１１は、図２及び図４に例示する通り、５番目及び６番目の動作を表す動作情報１５０に対して、「type」及び「mode」についてはその内容を維持する。そして抽象化部１１は、上述した２番目及び３番目の動作を表す動作情報１５０に対して「value 1」及び「value 2」を削除のと同様に、抽象化規則１４０に規則が示されていない項目を削除するので、５番目及び６番目の動作を表す動作情報１５０に含まれる、「host:example.com, ip:192.168.0.1」、「host:example.com, headers:...」、及び、「pid:1234」を削除する。
【００３５】
抽象化部１１は、生成した抽象化動作情報１１０を、算出部１２へ入力する。
【００３６】
算出部１２は、抽象化部１１から入力された抽象化動作情報１１０に基づいて、動作情報１５０に関する予測可能性の高さを表す予測スコア１２０を算出する。即ち、算出部１２は、図２における個々の行が示す動作情報１５０ごとに、予測スコア１２０を算出する。算出部１２は、この際、内容が同様である抽象化動作情報１１０毎に、例えば端末装置１０における発生回数あるいは発生頻度を算出し、抽象化動作情報１１０が示す動作に関して、過去における当該動作の発生回数あるいは発生頻度が多ければ多いほど、当該動作に関する予測スコア１２０を高く算出する。
【００３７】
算出部１２は、内容が同様である抽象化動作情報１１０毎の発生回数あるいは発生頻度を、記憶部１４に記憶された履歴情報１４１を用いて管理する。算出部１２は、抽象化部１１から入力された抽象化動作情報１１０を、記憶部１４に記憶された履歴情報１４１と照合する。算出部１２は、抽象化部１１から入力された抽象化動作情報１１０が履歴情報１４１に登録されている場合、その抽象化動作情報１１０に関する発生回数あるいは発生頻度を「１」加算する。算出部１２は、抽象化部１１から入力された抽象化動作情報１１０が履歴情報１４１に登録されていない場合、その抽象化動作情報１１０を履歴情報１４１に新たに登録するとともに、その抽象化動作情報１１０に関する発生回数あるいは発生頻度を「１」に設定する。
【００３８】
図５は、本実施形態に係る履歴情報１４１の構成を概念的に例示する図である。図５に例示する履歴情報１４１は、図４に例示する抽象化動作情報１１０が示す、抽象化された動作内容の種別（動作種別）ごとに、端末装置１０において、その動作が過去に発生した回数あるいは頻度を表す情報である。算出部１２は、履歴情報１４１に含まれる発生回数あるいは発生頻度を、現在までの全ての期間を対象とした値としてもよいし、過去における所定の期間を対象とした値としてもよい。
【００３９】
算出部１２は、端末装置１０によって実行されるプログラム（プロセス）ごとに（即ち、当該プログラムと関連付けて）、履歴情報１４１を管理してもよい。この場合、算出部１２は、プログラムを識別可能な識別子として、例えば、当該プログラムの名称、あるいは、当該プログラムに対して所定のハッシュ関数を用いることによって求められるハッシュ値（例えば、ＭＤ５（Message Digest Algorithm 5）ハッシュ値）等を使用することができる。
【００４０】
算出部１２は、履歴情報１４１が示す発生回数あるいは発生頻度に基づいて、発生回数あるいは発生頻度が多ければ多いほど、予測スコア１２０を高く算出する。算出部１２は、例えば、履歴情報１４１が示す発生回数あるいは発生頻度を、そのまま予測スコア１２０としてもよい。算出部１２は、算出した予測スコア１２０を、判定部１３へ入力する。
【００４１】
算出部１２は、また、抽象化動作情報１１０が特定の内容を示す場合に、端末装置１０が、予測スコア１２０に依存することなく、検出装置２０に対する動作情報１５０の送信を制御できるように、抽象化動作情報１１０がその特定の内容であるか否かを検出するようにしてもよい。この場合、算出部１２は、抽象化部１１から入力された抽象化動作情報１１０を、記憶部１４に記憶されている正常動作情報１４２、及び、不正動作情報１４３と照合する。
【００４２】
正常動作情報１４２は、例えば端末装置１０の管理者等によって、正常動作であることが明確である抽象化動作情報１１０の内容が登録された情報である。正常動作情報１４２は、端末装置１０が実行するプログラムの内容等に基づいて、管理者等が事前に作成することが可能な情報である。正常動作情報１４２が示す動作としては、例えば、所定のフォルダ（記憶領域）に格納された所定の形式のファイルへのアクセス動作などがある。
【００４３】
不正動作情報１４３は、例えば端末装置１０の管理者等によって、不正動作であることが明確である抽象化動作情報１１０の内容が登録された情報である。不正動作情報１４３は、既知のマルウェアの動作を表す情報等に基づいて、管理者等が事前に作成することが可能な情報である。不正動作情報１４３が示す動作としては、例えば、スタートアップへ実行ファイル等を登録する動作、実行ファイルを生成する動作、特定の通信先へ通信する動作などがある。
【００４４】
算出部１２は、抽象化部１１から入力された抽象化動作情報１１０が、正常動作情報１４２、あるいは、不正動作情報１４３と同様であることを検出した結果を、判定部１３へ入力する。ここで、「抽象化動作情報１１０が、正常動作情報１４２、あるいは、不正動作情報１４３と同様である」とは、例えば、抽象化動作情報１１０が、正常動作情報１４２、あるいは、不正動作情報１４３と一致することを表す。あるいは、「抽象化動作情報１１０が、正常動作情報１４２、あるいは、不正動作情報１４３と同様である」とは、抽象化動作情報１１０と、正常動作情報１４２あるいは不正動作情報１４３との類似度が基準を満たすことであってもよい。即ち、２つの情報が同様であるとは、２つの情報が一致あるいは類似することを表すこととする。２つの情報が一致するか否か、あるいは、その類似度が基準を満たすか否かを検出することは、既存の技術を適用可能であるので、その詳細な説明を省略する。
【００４５】
判定部１３は、算出部１２から入力された予測スコア１２０に基づいて、動作情報１５０を、検出装置２０へ送信するか否かを判定する。判定部１３は、この際、予測スコア１２０に基づいて、動作情報１５０を検出装置２０へ送信する確率を求めたのち、求めた送信確率を使用して、動作情報１５０を検出装置２０へ送信するか否かを判定してもよい。
【００４６】
図６は、本実施形態に係る判定部１３が求める送信確率の一例を示す図である。判定部１３は、図６に示す通り、予測スコア１２０が高くなるほど、送信確率が低くなるように、送信確率を求める。判定部１３は、例えば、ある抽象化動作情報１１０に関する送信確率が「０．３」である場合、１０回のうち３回の割合で、当該抽象化動作情報１１０に関する動作情報１５０を、検出装置２０へ送信すると判定する。
【００４７】
判定部１３は、また、予測スコアに対する送信確率を、図６に例示するような、連続的に変化する値として求めなくてもよい。判定部１３は、例えば、予測スコアが閾値以上である場合は送信確率を「０」とし、予測スコアが当該閾値未満である場合は送信確率を「１」とするような、簡易な判定を行なってもよい。
【００４８】
判定部１３は、算出部１２から、抽象化動作情報１１０が正常動作情報１４２と同様であることを示す検出結果を入力された場合、当該抽象化動作情報１１０に関する動作情報１５０を検出装置２０へ送信しないと判定する。判定部１３は、算出部１２から、抽象化動作情報１１０が不正動作情報１４３と同様であることを示す検出結果を入力された場合、当該抽象化動作情報１１０に関する動作情報１５０を検出装置２０へ送信すると判定する。
【００４９】
判定部１３は、動作情報１５０を検出装置２０へ送信するか否かを判定した結果を、出力部１６へ入力する。
【００５０】
出力部１６は、判定部１３から入力された判定結果が、動作情報１５０を検出装置２０へ送信することを示す場合、動作情報１５０を検出装置２０へ送信する。出力部１６は、この際、動作情報１５０に関する予測スコア１２０も併せて、検出装置２０へ送信してもよい。この場合、検出装置２０の側において、動作情報１５０に関する予測可能性の高さを把握することができので、端末装置１０による不正動作を容易に検出することができる。
【００５１】
次に図７のフローチャートを参照して、本実施形態に係る端末装置１０の動作（処理）について詳細に説明する。
【００５２】
動作情報生成部１５は、動作情報１５０を生成する（ステップＳ１０１）。抽象化部１１は、抽象化規則１４０に基づいて動作情報１５０を抽象化した抽象化動作情報１１０を生成する（ステップＳ１０２）。算出部１２は、抽象化動作情報１１０と、正常動作情報１４２及び不正動作情報１４３とを比較する（ステップＳ１０３）。
【００５３】
抽象化動作情報１１０が正常動作情報１４２と同様である場合（ステップＳ１０４でＹｅｓ）、判定部１３は、動作情報１５０を検出装置２０へ送信しないと判定し（ステップＳ１０５）、全体の処理は終了する。抽象化動作情報１１０が正常動作情報１４２と同様でない場合（ステップＳ１０４でＮｏ）、処理はステップＳ１０６へ進む。
【００５４】
抽象化動作情報１１０が不正動作情報１４３と同様である場合（ステップＳ１０６でＹｅｓ）、判定部１３は、動作情報１５０を検出装置２０へ送信すると判定し（ステップＳ１０７）、処理はステップＳ１１０へ進む。抽象化動作情報１１０が不正動作情報１４３と同様でない場合（ステップＳ１０６でＮｏ）、処理はステップＳ１０８へ進む。
【００５５】
算出部１２は、抽象化動作情報１１０と履歴情報１４１とに基づいて、予測スコア１２０を算出するとともに、履歴情報１４１を更新する（ステップＳ１０８）。判定部１３は、予測スコア１２０に基づいて送信確率を求め、その送信確率を使用して、動作情報１５０を検出装置２０へ送信するか否かを判定する（ステップＳ１０９）。出力部１６は、判定部１３による判定結果が動作情報１５０を検出装置２０へ送信することを示す場合、動作情報１５０を検出装置２０へ送信し（ステップＳ１１０）、全体の処理は終了する。
【００５６】
本実施形態に係る端末装置１０は、端末装置による不正動作をサーバ装置が検出する場合に、端末装置による不正動作を確実に捕捉することを維持するとともに、端末装置からサーバ装置へ送信される動作情報を効率的に削減することができる。その理由は、端末装置１０は、動作情報１５０を抽象化した抽象化動作情報１１０を生成し、その抽象化動作情報１１０に基づいて予測スコア１２０を算出し、その予測スコア１２０に基づいて動作情報１５０を検出装置２０（サーバ装置）へ送信するか否かを判定するからである。
【００５７】
以下に、本実施形態に係る端末装置１０によって実現される効果について、詳細に説明する。
【００５８】
マルウェアに感染した端末装置等による不正動作を、クラウド側にあるサーバ装置が集中管理することによって検出する場合、まず、端末装置による不正動作を漏れなく確実に捕捉することが求められる。そして、管理対象となる端末装置が増加するにつれて、端末装置からサーバ装置に送信される動作情報の量が膨大となるので、サーバ装置に送信される動作情報の量を削減することも求められる。即ち、端末装置による不正動作を確実に捕捉することを維持するとともに、端末装置からサーバ装置へ送信される動作情報を効率的に削減することが課題である。
【００５９】
このような課題に対して、本実施形態に係る端末装置１０は、所定のプログラムに従って正常に動作する場合は、予測可能性が高い動作を行ない、マルウェアに感染することによって不正に動作する場合は、予測可能性が低い動作を行なう傾向があることを利用する。ここで動作に関する予測可能性の高さ（予測スコア）は、例えば、端末装置１０に関する過去の動作履歴に基づいて求められる値である。但し、個々の動作は、通常、詳細な部分（例えばアクセスするファイルの名称等）に関して互いに異なるので、予測スコアを効率的に求めるためには、互いの動作が本質的に（概略的に）同様であるか否かを判定可能な構成が求められる。
【００６０】
したがって、本実施形態に係る端末装置１０は、上述した構成を実現すべく、抽象化部１１と、算出部１２と、判定部１３と、を備え、例えば図１乃至図７を参照して上述した通り動作する。即ち、抽象化部１１は、自装置が動作した結果を表す動作情報１５０を、抽象化規則１４０に基づいて抽象化した抽象化動作情報１１０を生成する。算出部１２は、動作情報１５０に関する予測可能性の高さを表す予測スコア１２０を、抽象化動作情報１１０に基づいて算出する。判定部１３は、動作情報１５０を、自装置が不正に動作したことを検出する検出装置２０へ送信するか否かを、予測スコア１２０に基づいて判定する。これにより、本実施形態に係る端末装置１０は、端末装置による不正動作をサーバ装置が検出する場合に、端末装置による不正動作を確実に捕捉することを維持するとともに、端末装置からサーバ装置へ送信される動作情報を効率的に削減することができる。
【００６１】
また、本実施形態に係る判定部１３は、予測スコア１２０に基づいて、動作情報１５０を検出装置２０へ送信する確率を求め、その確率を使用して、動作情報１５０を検出装置２０へ送信するか否かを判定する。これにより、本実施形態に係る端末装置１０は、サーバ装置へ送信する動作情報１５０を、適切かつ効率的に削減することができる。
【００６２】
また、本実施形態に係る抽象化部１１は、端末装置１０が不正に動作した場合に、及ぼす影響が大きい動作の動作種別ほど、抽象化を行なう際の抽象度を低くする。したがって、本実施形態に係る抽象化規則１４０は、例えば、読み込み動作よりも書き込み動作に対する抽象度を低くすることを表す。抽象化規則１４０は、あるいは、動作に付与された実行権限が強い（動作の優先順位が高い）ほど、その動作に対する抽象度を低くすることを表してもよい。即ち、本実施形態に係る端末装置１０は、動作種別が異なる動作に対して、不正に動作した場合に及ぼす影響の大きさに応じて、抽象度が異なる抽象化を行なうので、サーバ装置へ送信される動作情報を、適切かつ効率的に削減することができる。
【００６３】
また、本実施形態に係る端末装置１０は、生成した抽象化動作情報１１０が、正常動作情報１４２と同様であることを検出し、抽象化動作情報１１０が、正常動作情報１４２と同様である場合は、動作情報１５０を検出装置２０へ送信しないようにする。したがって、端末装置１０は、抽象化動作情報１１０が示す動作が正常動作であることが明確である場合、予測スコア１２０を算出するまでも無く、動作情報１５０を送信しないので、サーバ装置へ送信される動作情報を、より効率的に削減することができる。
【００６４】
また、例えば、端末装置１０が実行するプログラムが、マルウェアが一般的に行なうような動作（例えば、Windows（登録商標）等のＯＳ（Operating System）が備えるスタートアップ機能へ実行ファイル等を登録する動作や、実行ファイルを生成する動作など）を定常的に行ない、そのプログラムがマルウェアに感染した場合を考える。この場合、当該マルウェアは、コードインジェクション（動作の乗っ取り）を行った上で、当該プログラムの定常的な動作に類似する動作を実行する。算出部１２は、この際、当該マルウェアによる不正動作に関する予測スコア１２０を高く算出する。したがってこの場合、端末装置１０は、マルウェアによる不正動作であるにもかかわらず、動作情報１５０を検出装置２０へ送信することを、誤って抑制するという問題がある。
【００６５】
このような問題に対して、本実施形態に係る端末装置１０は、予測スコア１２０を、実行するプログラムと関連付けて管理する。そして、端末装置１０は、生成した抽象化動作情報１１０が、不正動作情報１４３と同様であることを検出し、抽象化動作情報１１０が、不正動作情報１４３と同様である場合は、予測スコア１２０にかかわらず、動作情報１５０を検出装置２０へ送信する。これにより、本実施形態に係る端末装置１０は、端末装置１０が実行するプログラムが、マルウェアが一般的に行なうような動作を定常的に行なうような場合において、上述した、不正動作を示す動作情報１５０を検出装置２０へ送信することを誤って抑制することを、回避することができる。
【００６６】
また、本実施形態に係る算出部１２は、一般的な情報（データ）圧縮アルゴリズムを使用することにより情報を圧縮した場合に、内容が同様である（類似する）部分的な情報を多く含む情報ほど、圧縮後の情報量が小さくなる特徴があることを利用することによって、予測スコア１２０を算出してもよい。この場合の算出部１２の動作について説明する。
【００６７】
これまでに順次生成された複数の抽象化動作情報１１０を、Ａ（１）乃至Ａ（ｋ）（ｋは２以上の任意の整数）とする。但し、Ａ（ｋ）は、検出装置２０へ動作情報１５０を送信するか否かの判定対象である、最新の動作に関する抽象化動作情報１１０であり、Ａ（１）乃至Ａ（ｋ−１）は、過去の動作に関する抽象化動作情報１１０とする。
【００６８】
そして、一般的な情報圧縮アルゴリズムを使用することによってＡ（１）乃至Ａ（ｋ）をまとめて情報圧縮した後の情報量をＬ（ｋ）とする。例えば、Ａ（１）乃至Ａ（ｋ）が文字列により表される場合、Ｌ（ｋ）は、Ａ（１）乃至Ａ（ｋ）が示す文字列を連結したのちに、連結された文字列を情報圧縮することにより生成された文字列の長さを表す。
【００６９】
この場合、「Ｌ（ｋ）−Ｌ（ｋ−１）」は、Ａ（ｋ）をＡ（１）乃至Ａ（ｋ−１）に追加することにより増加した、情報圧縮した後の情報量を表す。そして、Ａ（ｋ）がＡ（１）乃至Ａ（ｋ−１）と同様である（類似する）割合が高ければ高いほど、上述した情報圧縮の特徴によって、「Ｌ（ｋ）−Ｌ（ｋ−１）」は、小さくなる。即ち、「Ｌ（ｋ）−Ｌ（ｋ−１）」が小さければ小さいほど、Ａ（ｋ）に関する予測スコア１２０は高くなる。
【００７０】
したがって、算出部１２は、これまでに順次生成された複数の抽象化動作情報１１０を、まとめたのちに圧縮することによって生成した情報が有する情報量と、最新の抽象化動作情報１１０を除く１以上の抽象化動作情報１１０を、まとめたのちに圧縮することによって生成した情報が有する情報量との差分の大きさを求めることによって、当該差分の大きさに基づいて予測スコア１２０を算出する。したがって、この場合、端末装置１０は、動作毎の発生回数あるいは発生頻度を管理することなく、予測スコア１２０を算出することができる。
【００７１】
また、本実施形態に係る算出部１２は、このようにして予測スコア１２０を算出する場合に、これまでに求めた複数の当該差分の大きさについて、平均と分散とを算出することによって当該差分の大きさに関する分布を表す統計情報を生成し、その統計情報に基づいて、予測スコア１２０を算出するようにしてもよい。この場合、算出部１２は、当該差分の大きさに関する標準スコア（Ｚスコア）が高ければ高いほど、その予測スコア１２０を低く算出する。これにより、本実施形態に係る端末装置１０は、予測スコア１２０を高い精度で算出することができる。
【００７２】
尚、算出部１２が上述した方法で予測スコア１２０を算出する場合に、算出部１２は、これまでに順次生成された複数の抽象化動作情報１１０のうち、生成されてから所定の時間以上が経過した抽象化動作情報１１０を使用しないようにしてもよい。
【００７３】
＜第２の実施形態＞
図８は、本願発明の第２の実施形態に係る端末装置３０の構成を概念的に示すブロック図である。端末装置３０は、抽象化部３１、算出部３２、及び、判定部３３を備えている。
【００７４】
抽象化部３１は、自装置が動作した結果を表す動作情報３５０を、抽象化規則３４０に基づいて抽象化した抽象化動作情報３１０を生成する。
【００７５】
算出部３２は、動作情報３５０に関する予測可能性の高さを表す予測スコア３２０を、抽象化動作情報３１０に基づいて算出する。
【００７６】
判定部３３は、動作情報３５０を、自装置が不正に動作したことを検出する検出装置４０へ送信するか否かを、予測スコア３２０に基づいて判定する。
【００７７】
本実施形態に係る端末装置３０は、端末装置による不正動作をサーバ装置が検出する場合に、端末装置による不正動作を確実に捕捉することを維持するとともに、端末装置からサーバ装置へ送信される動作情報を効率的に削減することができる。その理由は、端末装置３０は、動作情報３５０を抽象化した抽象化動作情報３１０を生成し、その抽象化動作情報３１０に基づいて予測スコア３２０を算出し、その予測スコア３２０に基づいて動作情報３５０を検出装置４０（サーバ装置）へ送信するか否かを判定するからである。
【００７８】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図８に示した端末装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図８において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・抽象化部１１及び３１、
・算出部１２及び３２、
・判定部１３及び３３、
・記憶部１４における記憶制御機能、
・動作情報生成部１５、
・出力部１６。
【００７９】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図９を参照して説明する。
【００８０】
図９は、本願発明の各実施形態に係る端末装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図９は、図１、及び、図８に示した端末装置１０及び３０を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００８１】
図９に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・外部装置との通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９。
【００８２】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００８３】
そして、上述した実施形態を例に説明した本願発明は、図９に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図８）における上述した構成、或いはフローチャート（図７）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００８４】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００８５】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００８６】
尚、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した各実施形態により例示的に説明した本願発明は、以下には限られない。
【００８７】
（付記１）
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化手段と、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出手段と、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定手段と、
を備える端末装置。
【００８８】
（付記２）
前記算出手段は、内容が同様である前記抽象化動作情報毎に、発生回数あるいは発生頻度を算出し、前記発生回数あるいは前記発生頻度が高いほど、前記予測スコアを高くする、
付記１に記載の端末装置。
【００８９】
（付記３）
前記算出手段は、所定の期間における前記発生回数あるいは前記発生頻度を算出し、算出した結果を記憶手段に格納する、
付記２に記載の端末装置。
【００９０】
（付記４）
前記算出手段は、自装置によって実行されるプログラムと関連付けて、前記発生回数あるいは前記発生頻度を算出する、
付記２または付記３に記載の端末装置。
【００９１】
（付記５）
前記算出手段は、前記プログラムの名称、あるいは、前記プログラムに基づくハッシュ値を、前記プログラムを識別可能な識別子として使用する、
付記４に記載の端末装置。
【００９２】
（付記６）
前記算出手段は、これまでに順次生成された複数の前記抽象化動作情報を、まとめたのちに圧縮することによって生成した情報が有する情報量と、最新の前記抽象化動作情報を除く１以上の前記抽象化動作情報を、まとめたのちに圧縮することによって生成した情報が有する情報量との差分の大きさを求め、前記差分の大きさに基づいて前記予測スコアを算出する、
付記１に記載の端末装置。
【００９３】
（付記７）
前記算出手段は、これまでに求めた複数の前記差分の大きさについて、平均と分散とを算出することによって前記差分の大きさに関する分布を表す統計情報を生成し、前記統計情報に基づいて、前記予測スコアを算出する、
付記６に記載の端末装置。
【００９４】
（付記８）
前記算出手段は、前記抽象化手段によって生成された前記抽象化動作情報が、事前に記憶手段に登録されている正常動作情報と同様であることを検出し、
前記判定手段は、前記算出手段が、前記抽象化動作情報が前記正常動作情報と同様であることを検出した場合、前記動作情報を検出装置へ送信しないと判定する、
付記１に記載の端末装置。
【００９５】
（付記９）
前記算出手段は、前記抽象化手段によって生成された前記抽象化動作情報が、事前に記憶手段に登録されている不正動作情報と同様であることを検出し、
前記判定手段は、前記算出手段が、前記抽象化動作情報が前記不正動作情報と同様であることを検出した場合、前記動作情報を検出装置へ送信すると判定する、
付記１に記載の端末装置。
【００９６】
（付記１０）
前記判定手段は、前記予測スコアに基づいて、前記動作情報を前記検出装置へ送信する確率を求め、前記確率を使用して、前記動作情報を前記検出装置へ送信するか否かを判定する、
付記１乃至付記９のいずれか一項に記載の端末装置。
【００９７】
（付記１１）
前記抽象化規則は、動作種別が異なる動作に対して、抽象度が異なる抽象化を表す、
付記１乃至付記１０のいずれか一項に記載の端末装置。
【００９８】
（付記１２）
前記抽象化規則は、書き込み動作に対する前記抽象度よりも、読み込み動作に対する前記抽象度を高くした抽象化を表す、
付記１１に記載の端末装置。
【００９９】
（付記１３）
前記抽象化規則は、前記動作に付与された実行権限が強いほど、前記動作に対する前記抽象度を低くした抽象化を表す、
付記１１または１２に記載の端末装置。
【０１００】
（付記１４）
前記判定手段による判定結果に基づいて、前記動作情報を前記検出装置へ送信する出力手段をさらに備える、
付記１乃至付記１３のいずれか一項に記載の端末装置。
【０１０１】
（付記１５）
前記出力手段は、前記動作情報に関する前記予測スコアを前記検出装置へ送信する、
付記１４に記載の端末装置。
【０１０２】
（付記１６）
情報処理装置である端末装置によって、
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成し、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出し、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する、
端末装置による動作情報の報告制御方法。
【０１０３】
（付記１７）
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化処理と、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出処理と、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定処理と、
を情報処理装置である端末装置に実行させるための端末装置による動作情報の報告制御プログラムが格納された記録媒体。
【符号の説明】
【０１０４】
１０    端末装置
１１    抽象化部
１１０    抽象化動作情報
１２    算出部
１２０    予測スコア
１３    判定部
１４    記憶部
１４０    抽象化規則
１４１    履歴情報
１４２    正常動作情報
１４３    不正動作情報
１５    動作情報生成部
１５０    動作情報
１６    出力部
２０    検出装置
３０    端末装置
３１    抽象化部
３１０    抽象化動作情報
３２    算出部
３２０    予測スコア
３４０    抽象化規則
３５０    動作情報
４０    検出装置
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2019049243.tif 000003
【図２】
2019049243.tif 000004
【図３】
2019049243.tif 000005
【図４】
2019049243.tif 000006
【図５】
2019049243.tif 000007
【図６】
2019049243.tif 000008
【図７】
2019049243.tif 000009
【図８】
2019049243.tif 000010
【図９】
2019049243.tif 000011
【手続補正書】
【提出日】令和2年2月4日(2020.2.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化手段と、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出手段と、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定手段と、
を備える端末装置。
【請求項２】
前記算出手段は、内容が同様である前記抽象化動作情報毎に、発生回数あるいは発生頻度を算出し、前記発生回数あるいは前記発生頻度が高いほど、前記予測スコアを高くする、
請求項１に記載の端末装置。
【請求項３】
前記算出手段は、所定の期間における前記発生回数あるいは前記発生頻度を算出し、算出した結果を記憶手段に格納する、
請求項２に記載の端末装置。
【請求項４】
前記算出手段は、自装置によって実行されるプログラムと関連付けて、前記発生回数あるいは前記発生頻度を算出する、
請求項２または請求項３に記載の端末装置。
【請求項５】
前記算出手段は、前記プログラムの名称、あるいは、前記プログラムに基づくハッシュ値を、前記プログラムを識別可能な識別子として使用する、
請求項４に記載の端末装置。
【請求項６】
前記算出手段は、これまでに順次生成された複数の前記抽象化動作情報を、まとめたのちに圧縮することによって生成した情報が有する情報量と、最新の前記抽象化動作情報を除く１以上の前記抽象化動作情報を、まとめたのちに圧縮することによって生成した情報が有する情報量との差分の大きさを求め、前記差分の大きさに基づいて前記予測スコアを算出する、
請求項１に記載の端末装置。
【請求項７】
前記算出手段は、これまでに求めた複数の前記差分の大きさについて、平均と分散とを算出することによって前記差分の大きさに関する分布を表す統計情報を生成し、前記統計情報に基づいて、前記予測スコアを算出する、
請求項６に記載の端末装置。
【請求項８】
前記算出手段は、前記抽象化手段によって生成された前記抽象化動作情報が、事前に記憶手段に登録されている正常動作情報と同様であることを検出し、
前記判定手段は、前記算出手段が、前記抽象化動作情報が前記正常動作情報と同様であることを検出した場合、前記動作情報を検出装置へ送信しないと判定する、
請求項１に記載の端末装置。
【請求項９】
前記算出手段は、前記抽象化手段によって生成された前記抽象化動作情報が、事前に記憶手段に登録されている不正動作情報と同様であることを検出し、
前記判定手段は、前記算出手段が、前記抽象化動作情報が前記不正動作情報と同様であることを検出した場合、前記動作情報を検出装置へ送信すると判定する、
請求項１に記載の端末装置。
【請求項１０】
前記判定手段は、前記予測スコアに基づいて、前記動作情報を前記検出装置へ送信する確率を求め、前記確率を使用して、前記動作情報を前記検出装置へ送信するか否かを判定する、
請求項１乃至請求項９のいずれか一項に記載の端末装置。
【請求項１１】
前記抽象化規則は、動作種別が異なる動作に対して、抽象度が異なる抽象化を表す、
請求項１乃至請求項１０のいずれか一項に記載の端末装置。
【請求項１２】
前記抽象化規則は、書き込み動作に対する前記抽象度よりも、読み込み動作に対する前記抽象度を高くした抽象化を表す、
請求項１１に記載の端末装置。
【請求項１３】
前記抽象化規則は、前記動作に付与された実行権限が強いほど、前記動作に対する前記抽象度を低くした抽象化を表す、
請求項１１または１２に記載の端末装置。
【請求項１４】
前記判定手段による判定結果に基づいて、前記動作情報を前記検出装置へ送信する出力手段をさらに備える、
請求項１乃至請求項１３のいずれか一項に記載の端末装置。
【請求項１５】
前記出力手段は、前記動作情報に関する前記予測スコアを前記検出装置へ送信する、
請求項１４に記載の端末装置。
【請求項１６】
情報処理装置である端末装置によって、
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成し、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出し、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する、
端末装置による動作情報の報告制御方法。
【請求項１７】
自装置が動作した結果を表す動作情報を、抽象化規則に基づいて抽象化した抽象化動作情報を生成する抽象化処理と、
前記動作情報に関する予測可能性の高さを表す予測スコアを、前記抽象化動作情報に基づいて算出する算出処理と、
前記動作情報を、自装置が不正に動作したことを検出する検出装置へ送信するか否かを、前記予測スコアに基づいて判定する判定処理と、
を情報処理装置である端末装置に実行させるための端末装置による動作情報の報告制御プログラム。
【国際調査報告】
2019049243.tif 000012
2019049243.tif 000013