(57)【要約】      （修正有）【課題】よく知られた悪意のあるプログラムだけでなく、未知の悪意のある行動を有する新しい悪意のあるプログラムの有効な検出を可能とする。【解決手段】システムは、少なくとも一つの行動パターンを形成し、全ての行動パターンのコンボリューションを算出し、行動パターンに基づいて検出モデルのデータベースから悪意のあるファイルの検出のための少なくとも二つのモデルを選択し、コンボリューションおよび悪意のあるファイルの検出のための少なくとも二つのモデルの分析に基づいて実行されるファイルの有害性の程度を算出し、有害性の程度に基づいて、意思決定パターンを形成し、構築された意思決定パターンと悪意のあるファイルの分析に基づいて以前に構築された意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超えるとすれば悪意のあるものとして実行されるファイルを認識する。【選択図】図２
2019091435.tif 000002
【特許請求の範囲】
【請求項１】
悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するシステムであって、
前記システムは、
実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成すると共に、
形成された全ての行動パターンのコンボリューションを算出すると共に、
前記実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベースから悪意のあるファイルの検出のための少なくとも二つのモデルを選択すると共に、
前記コンボリューションおよび前記悪意のあるファイルの検出のための少なくとも二つのモデルの分析に基づいて実行されるファイルの有害性の程度を算出すると共に、
前記有害性の程度に基づいて、意思決定パターンを形成すると共に、
構築された意思決定パターンと悪意のあるファイルの分析に基づいて以前に構築された意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が、所定の閾値の値を超えるとすれば、悪意のあるものとして前記実行されるファイルを認識する
ように構成されたハードウェアプロセッサ
を備える、
システム。
【請求項２】
請求項１のシステムにおいて、
前記ハードウェアプロセッサは、
少なくとも前記ファイルの実行の間に少なくとも一つのコマンドをインターセプトするようにおよび前記ファイルの実行をエミュレートするように設計される、前記実行されるファイルの行動ログを形成すると共に、
各々のインターセプトされたコマンドについて、そのコマンドを記述する少なくとも一つのパラメーターを決定すると共に、
前記インターセプトされたコマンドおよび前記決定されたパラメーターに基づいて、そのファイルの行動ログを形成する
ように構成された、
システム。
【請求項３】
請求項１のシステムにおいて、
前記検出モデルのデータベースから選択される悪意のあるファイルの検出のための各々のモデルは、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出のために訓練される、
システム。
【請求項４】
請求項１のシステムにおいて、
前記ハードウェアプロセッサは、
前記構築された意思決定パターンと前記意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超えると共に悪意のあるファイルのためのそれらの検出モデルの援助で算出された前記有害性の程度が所定の閾値の値を超えるものではない場合には、前記実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて前記検出モデルのデータベースからの少なくとも一つの検出モデルを再訓練する
ようにさらに構成されたものである、
システム。
【請求項５】
請求項１のシステムにおいて、
前記行動パターンは、少なくとも一つのコマンドおよび述べられたセットからの全てのコマンドを記述するパラメーターのセットを構成する、
システム。
【請求項６】
請求項１のシステムにおいて、
前記悪意のあるファイルの検出のためのモデルは、前記有害性の程度を決定するための意思決定ルールを構成する、
システム。
【請求項７】
請求項２のシステムにおいて、
前記ハードウェアプロセッサは、
前記行動ログを分析することによって前記行動パターンを形成する
ようにさらに構成されたものである、
システム。
【請求項８】
悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出する方法であって、
前記方法は、
実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成すること、
形成された全ての行動パターンのコンボリューションを算出すること、
前記実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベースから悪意のあるファイルの検出のための少なくとも二つのモデルを選択すること、
前記コンボリューションおよび前記悪意のあるファイルの検出のための少なくとも二つのモデルの分析に基づいて実行されるファイルの有害性の程度を算出すること、
前記有害性の程度に基づいて、意思決定パターンを形成すること、
構築された意思決定パターンと悪意のあるファイルの分析に基づいて以前に構築された意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が、所定の閾値の値を超えるとすれば、悪意のあるものとして前記実行されるファイルを認識すること
を備える、
方法。
【請求項９】
請求項８の方法において、
前記ハードウェアプロセッサは、
少なくとも前記ファイルの実行の間に少なくとも一つのコマンドをインターセプトするようにおよび前記ファイルの実行をエミュレートするように設計される、前記実行されるファイルの行動ログを形成すると共に、
各々のインターセプトされたコマンドについて、そのコマンドを記述する少なくとも一つのパラメーターを決定すると共に、
前記インターセプトされたコマンドおよび前記決定されたパラメーターに基づいて、そのファイルの行動ログを形成する
ように構成された、
方法。
【請求項１０】
請求項８の方法において、
前記検出モデルのデータベースから選択される悪意のあるファイルの検出のための各々のモデルは、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出のために訓練される、
方法。
【請求項１１】
請求項８の方法において、
前記ハードウェアプロセッサは、
前記構築された意思決定パターンと前記意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超えると共に悪意のあるファイルのためのそれらの検出モデルの援助で算出された前記有害性の程度が所定の閾値の値を超えるものではない場合には、前記実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて前記検出モデルのデータベースからの少なくとも一つの検出モデルを再訓練する
ようにさらに構成されたものである、
方法。
【請求項１２】
請求項８の方法において、
前記行動パターンは、少なくとも一つのコマンドおよび述べられたセットからの全てのコマンドを記述するパラメーターのセットを構成する、
方法。
【請求項１３】
請求項８の方法において、
前記悪意のあるファイルの検出のためのモデルは、前記有害性の程度を決定するための意思決定ルールを構成する、
方法。
【請求項１４】
請求項９の方法において、
前記ハードウェアプロセッサは、
前記行動ログを分析することによって前記行動パターンを形成する
ようにさらに構成されたものである、
方法。
【請求項１５】
悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するためのそれに記憶された命令を有する非一時的なコンピューター媒体であって、
前記命令は、
実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成すること、
形成された全ての行動パターンのコンボリューションを算出すること、
前記実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベースから悪意のあるファイルの検出のための少なくとも二つのモデルを選択すること、
前記コンボリューションおよび前記悪意のあるファイルの検出のための少なくとも二つのモデルの分析に基づいて実行されるファイルの有害性の程度を算出すること、
前記有害性の程度に基づいて、意思決定パターンを形成すること、
構築された意思決定パターンと悪意のあるファイルの分析に基づいて以前に構築された意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が、所定の閾値の値を超えるとすれば、悪意のあるものとして前記実行されるファイルを認識すること
を備える、
媒体。
【請求項１６】
請求項１５の媒体において、
前記ハードウェアプロセッサは、
少なくとも前記ファイルの実行の間に少なくとも一つのコマンドをインターセプトするようにおよび前記ファイルの実行をエミュレートするように設計される、前記実行されるファイルの行動ログを形成すると共に、
各々のインターセプトされたコマンドについて、そのコマンドを記述する少なくとも一つのパラメーターを決定すると共に、
前記インターセプトされたコマンドおよび前記決定されたパラメーターに基づいて、そのファイルの行動ログを形成する
ように構成された、
媒体。
【請求項１７】
請求項１５の媒体において、
前記検出モデルのデータベースから選択される悪意のあるファイルの検出のための各々のモデルは、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出のために訓練される、
媒体。
【請求項１８】
請求項１５の媒体において、
前記ハードウェアプロセッサは、
前記構築された意思決定パターンと前記意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超えると共に悪意のあるファイルのためのそれらの検出モデルの援助で算出された前記有害性の程度が所定の閾値の値を超えるものではない場合には、前記実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて前記検出モデルのデータベースからの少なくとも一つの検出モデルを再訓練する
ようにさらに構成されたものである、
媒体。
【請求項１９】
請求項１５の媒体において、
前記行動パターンは、少なくとも一つのコマンドおよび述べられたセットからの全てのコマンドを記述するパラメーターのセットを構成する、
媒体。
【請求項２０】
請求項１５の媒体において、
前記悪意のあるファイルの検出のためのモデルは、前記有害性の程度を決定するための意思決定ルールを構成する、
媒体。
【請求項２１】
請求項１６の媒体において、
前記ハードウェアプロセッサは、
前記行動ログを分析することによって前記行動パターンを形成する
ようにさらに構成されたものである、
媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示は、アンチウィルスのテクノロジーに、および、より詳しくは、訓練された機械学習モデルを使用することで悪意のあるファイルの検出のためのシステムおよび方法に、関連する。
【背景技術】
【０００２】
様々な計算装置（パーソナルコンピューター、ノートパソコン、タブレット、スマートフォン等）の幅広い流通のみならず、最近の十年間におけるコンピューターテクノロジーの急速な発展は、様々な活動の領域においておよび莫大な数のタスクについて（インターネットサーフィンから銀行振替および電子文書取引まで）そのような装置の使用に対する強力な推進力になってきたものである。計算装置およびこれらの装置上で動くソフトウェアの数における増大と並行して、悪意のあるプログラムの数は、また急速なペースで増加してきたものである。
【０００３】
現在のところ、莫大な数の種類の悪意のあるプログラムが存在するものである。それらのもののいくつかは、装置のユーザーから（ログイン情報およびパスワード、銀行取引情報、電子文書のような）個人のおよび機密のデータを盗む。他のものは、サービスの拒否（ＤＤｏＳ−分散型サービス妨害）のような攻撃のために、または、他のコンピューターまたはコンピューターネットワーク上での総当たりの方法によってパスワードをより分けるために、ユーザーの装置からいわゆるボットネットを形成する。さらに他のものは、煩わしい広告を通じたユーザーへの有料のコンテンツ、有料の定期購読、および電話番号へのＳＭＳの送付などを提示する。
【０００４】
アンチウィルスとして知られた専門のプログラムは、悪意のあるプログラムの検出、感染の予防、および悪意のあるプログラムに感染させられてきたものである計算装置の作業能力の回復を含む、悪意のあるプログラムに対する闘いにおいて使用される。アンチウィルスプログラムは、
●静的な分析−分析されるプログラムを構成するファイルに含まれたデータに基づいた、分析されるプログラムの作業の起動またはエミュレーションを含む、有害性についてのプログラムの分析であって、それによって、統計的な分析の間に、
○シグネチャ分析−悪意のあるプログラムのシグネチャのデータベースから既知のコード（シグネチャ）に対する分析されるプログラムのコードの特定のセグメントの対応関係についての検索、
○ホワイトおよびブラックリスト−悪意のあるプログラムのチェックサムのデータベース（ブラックリスト）または安全なプログラムのチェックサムのデータベース（ホワイトリスト）における分析されるプログラム（またはそれの部分）の算出されたチェックサムについての検索
を使用することは可能なことであるもの、
●動的な分析−分析されるプログラムの作業の実行またはエミュレーションの過程において得られたデータに基づいた有害性についてのプログラムの分析であって、それによって、動的な分析の間に、
○ヒューリスティックな分析−分析されるプログラムの作業のエミュレーション、（ＡＰＩ関数の呼び出しについてのデータ、送信されたパラメーター、および分析されるプログラムのコードセグメントなどを含む）エミュレーションログの作成、および、作成されたログのデータと悪意のあるプログラムの行動シグネチャのデータベースからのデータとの間の対応関係についての検索、
○プロアクティブ保護−分析される起動されたプログラムのＡＰＩ関数の呼び出しのインターセプト、（ＡＰＩ関数の呼び出しについてのデータ、送信されたパラメーター、および分析されるプログラムのコードセグメントなどを含む）分析されるプログラムの行動のログの作成、および、作成されたログのデータと悪意のあるプログラムの呼び出しのデータベースからのデータとの間の対応関係についての検索
を使用することは可能なことであるもの
のような、あらゆる種類の悪意のあるプログラムを検出するために様々なテクノロジーを用いる。
【０００５】
静的なおよび動的な分析の両方は、それらのプラス面およびマイナス面を有する。静的な分析は、分析がなされるものである計算装置の資源の要求がより少ないものであると共に、それが、分析されるプログラムの実行またはエミュレーションを使用するものではないので、統計的な分析は、より速いものであるが、しかし同時に、あまり有効なものではない、即ち、それは、より低い割合の悪意のあるプログラムの検出およびより高い割合の誤認警報（即ち、アンチウィルスプログラムによって分析されたファイルが、それが安全なものであるのに対して、悪意のあるものであるとの判断を告げること）を有する。動的な分析は、それが、分析されるプログラムの作業の実行またはエミュレーションの間に得られたデータを使用するので、より遅いものであると共に、分析が行われるものである計算装置の資源についてより高い要求をなすが、しかし他方では、それはまたより有効なものである。最新のアンチウィルスプログラムは、静的なおよび動的な分析の両方の要素を含む、包括的な分析を用いる。
【０００６】
コンピューターセキュリティーの最新の基準が、悪意のあるプログラム（特に新しいもの）に対する動作上の応答に頼るので、悪意のあるプログラムの自動的な検出は、主要な注目の的である。そのようなソフトウェアの有効な動作のために、ある者は、しばしば、人工知能の要素および悪意のあるプログラムの検出のためのモデル（即ち、悪意のあるファイルを記述する入力データのある一定のセットに基づいたファイルの有害性に関する意思決定のためのルールのセット）の機械的な教育の様々な方法を使用するが、新しい悪意のあるプログラムを検出するための動作上の適合（学習）のみならず、よく知られた悪意のあるプログラムまたはよく知られた悪意のある行動を備えた悪意のあるプログラムだけでなく、また未知のまたはほとんど研究されてない悪意のある行動を有する新しい悪意のあるプログラムの有効な検出を可能とする。
【０００７】
上述したテクノロジーが、ある一定の特徴的な特徴（即ち、グラフィックインターフェースの存在、データの暗号化、およびコンピューターネットワークによるデータの送信などのような、ある一定のグループのファイルからのファイルのある一定の特異性を記述するデータ）を有する悪意のあるファイルを検出することに良好なものであるとはいえ、既に知られた悪意のあるファイルの特徴的な特徴に類似の、それは、（類似の行動ではあるが）既に知られた悪意のあるファイルの特徴的な特徴とは異なる特徴的な特徴を有する悪意のあるファイルの検出を取り扱うことができないものである。さらには、上述したテクノロジーは、特徴的な特徴の（前述した試験の結果に依存する）訓練および再訓練のみならず、モデルの試験および教育としてモデルの機械教育のそのような態様を開示するものではない。
【０００８】
本開示は、悪意のあるファイルの検出の課題を解決することを可能なものとする。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
開示は、ファイルのアンチウィルススキャニングのために設計される。
【００１０】
本開示の技術的な結果は、悪意のあるファイルの検出のための訓練されたモデルを使用することによる悪意のあるファイルの検出である。
【００１１】
本開示のさらに別の技術的な結果は、悪意のあるファイルの検出のための数個のモデルの使用による悪意のあるファイルの検出の精度を増加させることであるが、それらの各々は、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出のために訓練されてきたものである。
【００１２】
本開示のさらに別の結果は、悪意のあるファイルの検出のための数個のモデルの使用による悪意のあるファイルの検出のスピードを増加させることであるが、それらの各々は、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出のために訓練されてきたものである。
【課題を解決するための手段】
【００１３】
一つの態様において、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するためのシステムは、提供されるが、システムが、実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成すると共に、形成された全ての行動パターンのコンボリューションを算出すると共に、実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベースから悪意のあるファイルの検出のための少なくとも二つのモデルを選択すると共に、コンボリューションおよび悪意のあるファイルの検出のための少なくとも二つのモデルの分析に基づいて実行されるファイルの有害性の程度を算出すると共に、有害性の程度に基づいて、意思決定パターンを形成すると共に、構築された意思決定パターンと悪意のあるファイルの分析に基づいて以前に構築された意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が、所定の閾値の値を超えるとすれば、悪意のあるものとして実行されるファイルを認識するように、構成されたハードウェアプロセッサを備える。
【００１４】
システムの別の態様において、ハードウェアプロセッサは、少なくともファイルの実行の間に少なくとも一つのコマンドをインターセプトするようにおよびファイルの実行をエミュレートするように設計される、実行されるファイルの行動ログを形成すると共に、各々のインターセプトされたコマンドについて、そのコマンドを記述する少なくとも一つのパラメーターを決定すると共に、インターセプトされたコマンドおよび決定されたパラメーターに基づいて、そのファイルの行動ログを形成するように、構成された。
【００１５】
システムの別の態様において、検出モデルのデータベースから選択される悪意のあるファイルの検出のための各々のモデルは、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出のために訓練される。
【００１６】
システムの別の態様において、ハードウェアプロセッサは、構築された意思決定パターンと意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超えると共に悪意のあるファイルのためのそれらの検出モデルの援助で算出された有害性の程度が所定の閾値の値を超えるものではない場合には、実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベースからの少なくとも一つの検出モデルを再訓練するようにさらに構成されたものである。
【００１７】
システムの別の態様において、行動パターンは、少なくとも一つのコマンドおよび述べられたセットからの全てのコマンドを記述するパラメーターのセットを構成する。
【００１８】
システムの別の態様において、悪意のあるファイルの検出のためのモデルは、有害性の程度を決定するための意思決定ルールを構成する。
【００１９】
システムの別の態様において、ハードウェアプロセッサは、行動ログを分析することによって行動パターンを形成するようにさらに構成されたものである。
【００２０】
別の態様において、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するための方法は、提供されるが、方法が、実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成すること、形成された全ての行動パターンのコンボリューションを算出すること、実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベースから悪意のあるファイルの検出のための少なくとも二つのモデルを選択すること、コンボリューションおよび悪意のあるファイルの検出のための少なくとも二つのモデルの分析に基づいて実行されるファイルの有害性の程度を算出すること、有害性の程度に基づいて、意思決定パターンを形成すること、構築された意思決定パターンと悪意のあるファイルの分析に基づいて以前に構築された意思決定パターンのデータベースからの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が、所定の閾値の値を超えるとすれば、悪意のあるものとして実行されるファイルを認識することを備える。
【００２１】
さらに別の態様において、それに命令を記憶するコンピューター読み取り可能な媒体は、実行されたとき、上の方法を行うものである。
【００２２】
例の態様の上の単純化された概要は、開示の基本的な理解を提供することに役に立つ。この概要は、全ての企図された態様の広範囲の概観であるものではないと共に、全ての態様の鍵となるまたは重大な要素を識別すること、または、開示のいずれのまたは全ての態様の範囲を描くことのいずれでもないことが意図されたものである。それの単独の目的は、後に続くものである詳細な記載のより詳細な記載に対する前置きとして単純化された形態における一つ以上の態様を提示することである。前述のことの達成に対して、開示の一つ以上の態様は、請求項に記載されたおよび特定して指摘された特徴を含む。
【図面の簡単な説明】
【００２３】
この明細書の中へ組み込まれると共にそれの一部分を構成する、添付する図面は、開示の一つ以上の例の態様を図示すると共に、詳細な記載と一緒に、それらの原理および実施を説明することに役に立つ。
【００２４】
【図１】図１は、悪意のあるファイルの検出のためのモデルの機械学習のシステムの構造図を示す。
【００２５】
【図２】図２は、悪意のあるファイルの検出のためのモデルの機械学習の方法の構造図を示す。
【００２６】
【図３】図３は、行動パターンの数の関数として有害性の程度を変化させるダイナミクスの例を示す。
【００２７】
【図４】図４は、行動パターンの要素の間における関係の図の例を示す。
【００２８】
【図５】図５は、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するシステムの構造図を提示する。
【００２９】
【図６】図６は、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出する方法の構造図を提示する。
【００３０】
【図７】図７は、汎用のコンピューターシステム、パーソナルコンピューター、またはサーバーの例を示す。
【発明を実施するための形態】
【００３１】
訓練された機械学習モデルを使用する悪意のあるファイルの検出のためのシステム、方法、およびコンピュータープログラムプロダクトのコンテキストで例示的な態様がここに記載される。当業者は、後に続く記載が実例となるものにすぎないものであると共にいずれの方式でも限定するものであることが意図されるものではないことを実現することになる。他の態様は、それらをこの開示の利益を有する当業者に容易に提案することになる。添付する図面に図示されたような例の態様の実施への参照が今詳細になされることになる。同じ参照符号が同じまたは同様のアイテムを参照するために図面および後に続く記載の至るところで可能性のある範囲まで使用されることになる。
【００３２】
後に続く用語は、開示、図面、およびクレームの至るところで使用されることになる。
【００３３】
悪意のあるファイル−その実行がコンピューター情報の不正な破壊、ブロッキング、変更、複製、または、保護モジュールの無効化に帰着することができることが知られる、ファイル。
【００３４】
実行可能なファイルの悪意のある行動−そのファイルの実行の間に行われることがあると共に情報の不正な破壊、ブロッキング、変更、複製、または、保護モジュールの無効化に帰着することができることが知られる、アクションのグループ。
【００３５】
実行可能なファイルの悪意のある活動−それの悪意のある行動と一致してそのファイルによって行われたアクションのグループ。
【００３６】
平均的なユーザーの計算装置−それらのユーザーの計算装置におけるものと同じアプリケーションが実行される、以前に選択されたグループのユーザーの計算装置の平均化された特性を有する仮説の（理論的な）計算装置。
【００３７】
計算装置によって実行可能なコマンド−コマンドパラメーターまたは上記のコマンドを記述するパラメーターとして知られた、それらの命令のパラメーターに基づいた機械命令または計算装置によって実行可能なスクリプトの命令のセット。
【００３８】
語彙の分析（トークン化）−出力の識別の列（以後、トークン）を形成するために、認識されたグループ（以後、語彙素）への入力の文字の列の分析的な構文解析の処理。
【００３９】
トークン−語彙の分析の処理において語彙素から形成された識別の列。
【００４０】
図１は、悪意のあるファイルの検出のためのモデルの機械学習のシステムの構造図を示す。
【００４１】
機械学習のシステムの構造図は、用意モジュール１１１、行動ログモジュール１１２、行動パターンモジュール１２１、コンボリューション関数モジュール１２２、検出モデルモジュール１３１、機械学習モジュール１３２、有害性モジュール１４２、および管理モジュール１４３からなる。
【００４２】
一つの例示的な態様において、検出モデルの機械学習の述べたシステムは、用意モジュール１１１、行動ログモジュール１１２、行動パターンモジュール１２１、コンボリューション関数モジュール１２２、検出モデルモジュール１３１、および機械学習モジュール１３２がサーバー側で作業すると共に行動パターンモジュール１２１、有害性モジュール１４２、および管理モジュール１４３がクライアント側で作業する、クライアント−サーバーアーキテクチャを有する。
【００４３】
例えば、クライアントは、パーソナルコンピューター、ノートパソコン、およびスマートフォンなどのような、ユーザーの計算装置であることがあると共に、サーバーは、サーバーの分散システムのような、アンチウィルス会社の計算装置であることがあると共に、それの手段によって、その他全てのことに加えて、ファイルの予備的な収集およびアンチウィルス分析、およびアンチウィルスのレコードの作成などがなされるが、ここで、悪意のあるファイルの検出のためのモデルの機械学習のシステムは、クライアント側で悪意のあるファイルを検出するために使用されることになるが、それによってそのクライアントのアンチウィルス保護の有効性を高める。
【００４４】
さらに別の例において、クライアントおよびサーバーの両方は、単独でアンチウィルス会社の計算装置であることがあると共に、ここで、悪意のあるファイルの検出のためのモデルの機械学習のシステムは、ファイルの自動化されたアンチウィルス分析およびアンチウィルスのレコードの作成のために使用されることになるが、それによって、アンチウィルス会社の作業の有効性を高める。
【００４５】
用意モジュール１１１は、
●学習選択のファイルを形成する所定のルールと一致してファイルのデータベースから少なくとも一つのファイルを選択するが、それの後に機械学習モジュール１３２は、選択されたファイルの分析に基づいて検出のモデルの教育を実行することになるように、
●行動ログモジュール１１２へ選択されたファイルを送るように、
設計される。
【００４６】
一つの例示的な態様において、少なくとも一つの安全なファイルおよび一つの悪意のあるファイルは、ファイルのデータベースに保たれる。
【００４７】
例えば、ファイルのデータベースは、安全なファイルとしての、オペレーティングシステムのＷｉｎｄｏｗｓ（登録商標）のファイル、および、悪意のあるファイルとしての、バックドアのファイル、データへの不正なアクセス、および、オペレーティングシステムおよび全体としてのコンピューターのリモートコントロールを実行するアプリケーション、を保つことがある。述べたファイルで訓練することおよび機械学習の方法を使用することによって、悪意のあるファイルの検出のためのモデルは、高い精度で前述したバックドアの機能性に類似の機能性を有する悪意のあるファイルを検出することができることになる（精度がより高いほど、より多いファイルが、前述した検出のモデルの教育に使用される）。
【００４８】
さらに別の例示的な態様において、ファイルのデータベースは、追加的に少なくとも
●疑わしいファイル（リスクウェア）−悪意のあるものであるということではないが、まだ悪意のあるアクションを実行することができるものであるファイル、
●未知のファイル−その有害性が決定されてきてないものであると共に未知のままであるファイル（即ち、安全なもの、悪意のあるもの、および疑わしいものなどであるのということではないファイル）
を保つ。
【００４９】
例えば、ファイルのデータベースは、疑わしいファイルとしての、（ＲＡｄｍｉｎ（登録商標）のような）リモートアドミニストレーション、アーカイビング、または（ＷｉｎＺｉｐ（登録商標）のような）データの暗号化のアプリケーションファイルなどを有することがある。
【００５０】
さらに別の例示的な態様において、ファイルのデータベースは、少なくとも
●アンチウィルスウェブクローラーによって収集された、
●ユーザーによって送られた、
ファイルを保つ。
【００５１】
述べたファイルは、次にそのようなファイルの有害性に関する判断を告げるために、自動的なファイルの分析の助けを備えたものを含む、アンチウィルスの専門家によって分析される。
【００５２】
例えば、ファイルのデータベースは、ユーザーによって彼らまたは彼女らの計算装置からアンチウィルス会社へ送られたファイルを、それらの有害性をチェックするために、保つことがあるが、それの場合には、送信されたファイルは、安全なものまたは悪意のあるもののいずれかであることがあると共に、上記の安全なおよび悪意のあるファイルの数の間の分布は、上記のユーザーの計算装置に位置させられた全ての安全なおよび悪意のあるファイルの数の間の分布に近いものである（即ち、上記の悪意のあるファイルの数に対する上記の安全なファイルの数の比は、上記のユーザーの計算装置に位置させられた全ての悪意のあるファイルの数に対する全ての安全なファイルの数の比から、指定された閾値の値と比べてより少ない量だけ、異なる。
【数１】
2019091435.tif 000003
）。
【００５３】
ユーザーによって送信されたファイル（即ち、主観的に疑わしいものであるファイル）とは違って、疑わしいおよび悪意のあるファイルを検索するように設計されるアンチウィルスウェブクローラーによって収集されたファイルは、より頻繁に悪意のあるものであることが判明する。
【００５４】
さらに別の例示的な態様において、条件の少なくとも一つは、ファイルのデータベースからファイルを選択するための尺度として使用される。
●ファイルのデータベースから選択された安全なおよび悪意のあるファイルの間の分布は、平均的なユーザーの計算装置に位置させられた安全なおよび悪意のあるファイルの間の分布に対応する。
●ファイルのデータベースから選択された安全なおよび悪意のあるファイルの間の分布は、アンチウィルスウェブクローラーの助けと共に収集された安全なおよび悪意のあるファイルの間の分布に対応する。
●ファイルのデータベースから選択されたファイルのパラメーターは、平均的なユーザーの計算装置に位置させられたファイルのパラメーターに対応する。
●ファイルそれら自体がランダムに選択される一方で、選択されたファイルの数は、所定の値に対応する。
【００５５】
例えば、ファイルのデータベースは、１０００００個のファイルを含むが、それらのうち４０％が安全なファイルであると共に６０％が悪意のあるファイルである。ファイルのデータベースから１５０００個のファイル（ファイルのデータベースに保たれるファイルの合計の数の１５％）は、選択された安全なおよび悪意のあるファイルの間の分布が、平均的なユーザーの計算装置に位置させられた安全なおよび悪意のあるファイルの間の分布に対応すると共に９５対５になるように、選択されるものである。この目的のために、１４２５０個の安全なファイル（安全なファイルの合計の数の３５．６３％）および７５０個の悪意のあるファイル（悪意のあるファイルの合計の数の１．２５％）は、ファイルのデータベースからランダムに選ばれる。
【００５６】
さらに別の例において、ファイルのデータベースは、１２５００００個のファイルを含むが、それらのうち９５％が安全なファイルであると共に５％が悪意のあるファイルである、即ち、ファイルのデータベースに保たれる安全なおよび悪意のあるファイルの間の分布が、平均的なユーザーの計算装置に位置させられた安全なおよび悪意のあるファイルの間の分布に対応する。これらのファイルのうち、５０００個のファイルは、ランダムに選ばれると共に、高い確率でそれらの〜４７５０個が安全なファイル、および、〜２５０個が悪意のあるファイルであることが判明する。
【００５７】
さらに別の例示的な態様において、ファイルパラメーターは、少なくとも
●ファイルが安全なもの、悪意のあるもの、潜在的に危険なものであるか、または、ファイルを実行するときコンピューターシステムの行動が決定されるものではないものかどうかなどを特徴付ける、ファイルの有害性、
●ファイルの実行の間に計算装置によって行われたコマンドの数、
●ファイルのサイズ、
●ファイルを利用するアプリケーション
である。
【００５８】
例えば、悪意のあるファイルは、アプリケーション“Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）”によって実行可能な、かつ、サイズにおいて５ｋｂを超えるものではない、“ＡｃｔｉｏｎＳｃｒｉｐｔ（登録商標）”の言語におけるスクリプトであるファイルのデータベースから選ばれる。
【００５９】
さらに別の例示的な態様において、用意モジュール１１１は、追加的に
●試験選択のファイルを形成する所定のルールと一致してファイルのデータベースから少なくとも一つの他のファイルを選択するが、それの後に、機械学習モジュール１３２は、選択されたファイルの分析に基づいて訓練された検出のモデルの検証を実行することになるように、
●行動ログモジュール１１２へ選択されたファイルを送るように、
設計される。
【００６０】
例えば、ファイルのデータベースは、７５０００個のファイルを含むが、それらのうち２０％が安全なファイルであると共に８０％が悪意のあるファイルである。まず第１に、１２５００個のファイルがファイルのデータベースから選ばれると共に、それらのうちの３０％が安全なファイルであると共に７０％が悪意のあるファイルであるが、それの後に、機械学習モジュール１３２は、選択されたファイルの分析に基づいて検出のモデルの教育を行うことになると共に、次に、残りの６２５００個のファイルから２，５００個のファイルを選択すると共に、それらのうちの６０％が安全なファイルであると共に４０％が悪意のあるファイルであるが、これの後に、機械学習モジュール１３２は、選択されたファイルの分析に基づいて訓練された検出のモデルのチェックを行うことになる。上述した方式において構築されたデータは、データの相互検証セットと呼ばれる。
【００６１】
行動ログモジュール１１２は、
●少なくとも
○受信されたファイルの実行、
○受信されたファイルの実行のエミュレーション
の間に、少なくとも一つの実行可能なコマンドをインターセプトするが、ここでファイルの実行のエミュレーションは、述べたファイルのオープニング（例えば、インタープリターによるスクリプトのオープニング）を含むように、
●各々のインターセプトされたコマンドについて上記のコマンドを記述する少なくとも一つのパラメーターを決定するように、
インターセプトされたコマンドおよびそのように決定されたパラメーターに基づいて得られたファイルの行動ログを形成するが、ここで行動ログは、ファイルからのインターセプトされたコマンド（以後、コマンド）の全体を構成するが、ここで各々のコマンドは、そのように決定されたと共にそのコマンドを記述する少なくとも一つのパラメーター（以後、パラメーター）に対応するように、
設計される。
【００６２】
例えば、パスワードを収集すると共にコンピューターネットワークを介してそれらを送信する悪意のあるファイルの実行の間にインターセプトされたコマンドおよび上記のコマンドについて算出されたパラメーターは、
【数２】
2019091435.tif 000004
と同様に見えることがある。
【００６３】
一つの例示的な態様において、ファイルからのコマンドのインターセプトは、少なくとも、
●専門のドライバ、
●デバッガ、
●ハイパーバイザ
の援助でなされる。
【００６４】
例えば、ファイルの実行の間におけるコマンドのインターセプトおよびそれらのパラメーターの決定は、ＷｉｎＡＰＩ（登録商標）関数のエントリポイントのスプライシングによるインターセプトを利用するドライバの援助でなされる。
【００６５】
さらに別の例において、ファイルの作業のエミュレーションの間におけるコマンドのインターセプトは、エミュレートされることを必要とするコマンドのパラメーターを決定する、上記のエミュレーションを行うエミュレータによって直接的になされる。
【００６６】
さらに別の例において、仮想マシンにおけるファイルの実行の間におけるコマンドのインターセプトは、エミュレートされることを必要とするコマンドのパラメーターを決定する、ハイパーバイザによってなされる。
【００６７】
さらに別の例示的な態様において、ファイルからのインターセプトされたコマンドは、少なくとも、
●ＡＰＩ関数、
●アクションの所定のセットを記述する機械命令のセット（マクロコマンド）
である。
【００６８】
例えば、悪意のあるプログラムは、非常に頻繁にある一定のファイルについての検索を行うと共にそれらの属性を変更するが、それのために、それらは、
【数３】
2019091435.tif 000005
のようなコマンドのシーケンスを用いる。
【００６９】
それは、今度は、単一のコマンド
【数４】
2019091435.tif 000006
のみによって記述されることがある。
【００７０】
さらに別の例示的な態様において、各々のコマンドは、それの一意の識別子と一致させられる。
【００７１】
例えば、全てのＷｉｎＡＰＩ（登録商標）関数は、０ｘ００００から０ｘ８０００までの範囲における数と一致させられることがあるが、ここで各々のＷｉｎＡＰＩ（登録商標）関数は、一意の数に対応する（例えば、ＲｅａｄＦｉｌｅ→０ｘ００ｆ０、ＲｅａｄＦｉｌｅＥｘ→０ｘ００ｆ１、ｃｏｎｎｅｃｔ→０ｘ０３Ａ２）。
【００７２】
さらに別の例示的な態様において、類似のアクションを記述する数個のコマンドは、単一の識別子と一致させられる。
【００７３】
例えば、ファイルからのデータの読出しを記述する、ＲｅａｄＦｉｌｅ、ＲｅａｄＦｉｌｅＥｘ、ｉｆｓｔｒｅａｍ、ｇｅｔｌｉｎｅ、およびｇｅｔｃｈａｒなどのような全てのコマンドは、識別子＿ｒｅａｄ＿ｄａｔａ＿ｆｉｌｅ（０Ｘ７０Ｆ０）と一致させられる。
【００７４】
行動パターンモジュール１２１は、
●行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成するが、ここで行動ログは、ファイルからの実行可能なコマンド（以後、コマンド）の全体を構成するが、ここで各々のコマンドは、そのコマンドを記述する少なくとも一つのパラメーター（以後、パラメーター）に対応すると共に、行動パターンが少なくとも一つのコマンドおよびそのセットのコマンドの全てを記述するパラメーター（以後、行動パターンの要素）のセットであるように、
●コンボリューション関数モジュール１２２へそのように形成された行動パターンを送るように
設計される。
【００７５】
例えば、行動ログから、後に続くコマンドｃｉおよびパラメーターｐｉは、選択される。
【数５】
2019091435.tif 000007
【００７６】
選択されたコマンドおよびパラメーターに基づいて、各々一つのコマンドおよびそのコマンドを記述する一つのパラメーターを含む行動パターンは、形成される。
【数６】
2019091435.tif 000008
【００７７】
次に、そのように形成されたパターンに基づいて、各々一つのパラメーターおよびそのパラメーターによって記述されることができる全てのコマンドを含む、追加的な行動パターンは、形成される。
【数７】
2019091435.tif 000009
【００７８】
これの後に、そのように形成されたパターンに基づいて、各々数個のパラメーターおよびそれらのパラメーターによって同時に記述されることができる全てのコマンドを含む、追加的な行動パターンは、形成される。
【数８】
2019091435.tif 000010
【００７９】
一つの例示的な態様において、コマンドおよびパラメーターは、ルールに基づいて行動ログからを選ばれるが、それらによって、少なくとも、
●インクリメントｉが前もって指定される、連続したｉ番目毎のコマンドおよびそれを記述するパラメーター、
●以前の選択されたコマンドから所定の時間の間隔の後に（例えば、１０秒毎に）実行されたコマンド、およびそれらを記述するパラメーター、
●ファイルの実行の開始から所定の時間間隔で実行されるコマンドおよびそれらを記述するパラメーター、
●所定のリストからのコマンドおよびそれらを記述するパラメーター、
●所定のリストからのパラメーターおよびそれらのパラメーターによって記述されたコマンド、
●コマンドパラメーターの数が所定の閾値の値と比べてより大きいものである場合におけるコマンドの最初のまたはランダムなｋ個のパラメーター
が選択される。
【００８０】
例えば、行動ログから、ある者は、（ＣｒｅａｔｅＦｉｌｅ、ＲｅａｄＦｉｌｅ、ＷｒｉｔｅＦｉｌｅ、ＤｅｌｅｔｅＦｉｌｅ、およびＧｅｔＦｉｌｅＡｔｔｒｉｂｕｔｅなどのような）ハードディスクと共に作業するための全てのコマンド、および、選択されたコマンドを記述する全てのパラメーターを選択する。
【００８１】
さらに別の例において、行動ログから、ある者は、１０００番目毎のコマンドおよび選択されたコマンドを記述する全てのパラメーターを選択する。
【００８２】
一つの例示的な態様において、行動ログは、少なくとも二つのファイルから前もって形成されるが、それらの一方が安全なファイルであると共に他方が悪意のあるファイルである。
【００８３】
さらに別の例示的な態様において、行動パターンの各々の要素は、行動パターンの要素のタイプのような特性と一致させられる。行動パターンの要素（コマンドまたはパラメーター）のタイプは、少なくとも、
●行動パターンの要素を数として表現することができるとすれば、“数の範囲”
である。
【００８４】
例えば、ｃｏｎｎｅｃｔコマンドのパラメーター
【数９】
2019091435.tif 000011
を構成する行動パターンの要素については、上記の行動パターンの要素のタイプは、“０ｘ００００から０ｘＦＦＦＦまでの数の範囲”、
●行動パターンの要素をストリングの形態で表現することができるとすれば、“ストリング”
であることがある。
【００８５】
例えば、ｃｏｎｎｅｃｔコマンドを構成する行動パターンの要素については、上記の行動パターンの要素のタイプは、“サイズにおいて３２個と比べてより少ない文字のストリング”であることがある。
●行動パターンの要素を所定のデータ構造によって記述されたデータの形態で表現することができるとすれば、その行動パターンの要素のタイプは、“データ構造”であることがある。
【００８６】
例えば、ｆｉｎｄ＿ｒｅｃｏｒｄコマンドのパラメーター
【数１０】
2019091435.tif 000012
を構成する行動パターンの要素については、この行動パターンの要素のタイプは、“データ構造ＭＤ５”であることがある。
【００８７】
さらに別の例示的な態様において、行動パターンは、追加的に、行動パターンの要素として、少なくとも、
●語彙素の形成のための所定のルール、
●以前に訓練された再帰型ニューラルネットワーク
の使用で上記の行動パターンの要素の語彙の分析に基づいて形成されたトークンを含む。
例えば、パラメーター
【数１１】
2019091435.tif 000013
の語彙の分析の援助で、
【００８８】
語彙素の形成のためのルールに基づいて、
●ストリングがファイルへのパスを含むとすれば、ファイルが位置させられるディスクを決定する、
●ストリングがファイルへのパスを含むとすれば、ファイルが位置させられるフォルダを決定する、
●ストリングがファイルへのパスを含むとすれば、ファイル拡張子を決定する。
【００８９】
ここで、語彙素は、
●ファイルへのパス、
●ファイルが位置させられるフォルダ、
●ファイルの名前、
●ファイルの拡張子
である。
【００９０】
トークン
【数１２】
2019091435.tif 000014
を形成することができる。
【００９１】
さらに別の例において、パラメーター
【数１３】
2019091435.tif 000015
の語彙の分析の援助で、
【００９２】
語彙素の形成のためのルールに基づいて、
●パラメーターがＩＰアドレスを構成するとすれば、上記のＩＰアドレスを記述するビットマスク（またはメタ文字によって表現された、それの類似物）（即ち、相等
【数１４】
2019091435.tif 000016
が全ての上記のＩＰについて真であるビットマスクＭ）を決定する。
【００９３】
トークン
【数１５】
2019091435.tif 000017
を構築することができる。
【００９４】
さらに別の例において、数を備える全ての利用可能なパラメーターから、数のトークンは、所定の範囲
【数１６】
2019091435.tif 000018
において形成される。
【００９５】
と共に、ソーティングは、数の範囲
【数１７】
2019091435.tif 000019
によってなされる。
【００９６】
さらに別の例示的な態様において、トークンは、ストリングからなる行動パターンの要素から形成される。
【００９７】
例えば、行動パターンは、ディスクの名前、ディレクトリ、ファイル、およびファイル拡張子などを含むファイルへのパスである。この場合には、トークンは、ディスクの名前およびファイル拡張子であることがある。
【数１８】
2019091435.tif 000020
【００９８】
コンボリューション関数モジュール１２２は、
●得られた行動パターンについてのそのコンボリューション関数の結果の逆コンボリューション関数が、指定された値と比べてより大きい得られた行動パターンとの類似性の程度を有することになる、即ち、
【数１９】
2019091435.tif 000021
であるように行動パターンからコンボリューション関数を形成する
ように設計される。
【００９９】
ここで、
ｒｉは、行動パターンであると共に、
ｇは、コンボリューション関数であると共に、
ｇ−１は、逆コンボリューション関数であると共に、
●機械学習モジュール１３２へそのように形成されたコンボリューション関数を送る。
【０１００】
一つの例示的な態様において、コンボリューション関数モジュール１２２は、追加的に、
●得られた行動パターンに基づいて行動パターンの特徴ベクトルを算出するが、ここで、行動パターンの特徴ベクトルは、行動パターンの要素のハッシュ値の和として表現されることがあるように、
●行動パターンの特徴ベクトルからコンボリューション関数を形成するが、ここで、コンボリューション関数は、算出された特徴ベクトルと算出された特徴ベクトルのそのハッシュ関数の結果の逆ハッシュ関数の結果との間の類似性の程度が、所定の値と比べてより大きいものであるように、ハッシュ関数を構成するように、
設計される。
【０１０１】
さらに別の例示的な態様において、コンボリューション関数は、計量学習法によって、即ち、所定の閾値の値と比べてより大きい類似性の程度を有する行動パターンについての上記のコンボリューション関数の援助で得られたコンボリューション間の距離が、所定の閾値の値と比べてより小さいものである一方で、所定の閾値の値と比べてより小さい類似性の程度を有する行動パターンについてはそれが所定の閾値の値と比べてより大きいものであるように、形成される。
【０１０２】
例えば、行動パターンの特徴ベクトルは、後に続くもののように、算出されることがある。
●まず、１０００００個の要素からなる、空のビットベクトルが、作成される（ここで、１ビットの情報がベクトルの各々の要素のために取って置かれる）。
●行動パターンｒからの１０００個の要素が、コマンドｃｉについてのデータの記憶のために確保されると共に、残りの９９０００個の要素が、行動パターンｒからパラメーターｃｉのために確保されるが、ここで、（要素１，００１から要素５１０００までの）５００００個の要素が、ストリングパラメーターのために、および、（要素５１００１から要素７６０００までの）２５０００個の要素が、数のパラメーターのために、確保される。
●行動パターンｒの各々のコマンドｃｉが、０から９９９までのある一定の数ｘｉと一致させられると共に、対応するビットが、そのように作成されたベクトルに設定される。
【数２０】
2019091435.tif 000022
●行動パターンｒの各々のパラメーターｐｉについてハッシュ値が、式
○ストリングについての、
【数２１】
2019091435.tif 000023
○数についての、
【数２２】
2019091435.tif 000024
○他のものについての、
【数２３】
2019091435.tif 000025
によって算出される
【０１０３】
と共に、算出されたハッシュ値に依存して、対応するビットが、作成されたベクトルに設定される。
【数２４】
2019091435.tif 000026
【０１０４】
そのように設定された要素を備えた記載されたビットベクトルは、行動パターンｒの特徴ベクトルを構成する。
【０１０５】
さらに別の例示的な態様において、行動パターンの特徴ベクトルは、後に続く式によって計算される。
【数２５】
2019091435.tif 000027
【０１０６】
ここで、
ｂは、計算の位取り法の底である（例えば、２進法のベクトルについてはｂ＝２、ストリング、即ち、文字のグループを表すベクトルについてはｂ＝８）と共に、
ｒｉは、行動パターンのｉ番目の要素であると共に、
ｈは、ハッシュ関数であるが、ここで、
【数２６】
2019091435.tif 000028
である。
【０１０７】
例えば、行動パターンの特徴ベクトルは、後に続くもののように計算されることがある。
●まず、１０００個の要素からなる、（以前の例とは異なる）さらに別の空のビットベクトルを作成する（ここで、１ビットの情報がベクトルの各々の要素のために取って置かれる）。
●式
【数２７】
2019091435.tif 000029
によって行動パターンｒの各々のパターン要素ｒｉについてのハッシュ値を算出する
【０１０８】
と共に、計算されたハッシュ値に依存して、作成されたベクトルに、対応するビットを設定する。
【数２８】
2019091435.tif 000030
【０１０９】
さらに別の例示的な態様において、行動パターンの特徴ベクトルは、Ｂｌｏｏｍフィルタを構成する。
【０１１０】
例えば、行動パターンの特徴ベクトルは、後に続くもののように計算されることがある。
●まず、１０００００個の要素からなる、（以前の例とは異なる）さらに別の空のベクトルを作成する。
●式
【数２９】
2019091435.tif 000031
によってハッシュ関数のセット｛ｈｊ｝を使用することで行動パターンｒの各々のパターン要素ｒｉについての少なくとも二つのハッシュ値を算出する。
ここで、
【数３０】
2019091435.tif 000032
である。
【０１１１】
と共に、計算されたハッシュ値に依存して、作成されたベクトルに、対応する要素を設定する。
【数３１】
2019091435.tif 000033
【０１１２】
さらに別の例示的な態様において、行動パターンの特徴ベクトルの構築されたコンボリューション関数の結果のサイズは、行動パターンの上記の特徴ベクトルのサイズと比べてより小さいものである。
【０１１３】
例えば、特徴ベクトルは、１０００００個の要素を含むビットベクトルを構成すると共に、このように１２５００バイトのサイズを有する一方で、上記の特徴ベクトルのコンボリューション関数の結果は、８個のＭＤ５のハッシュ値のセットを構成すると共に、このように２５６バイトのサイズ、即ち、特徴ベクトルのサイズの〜２％を有する。
【０１１４】
さらに別の例示的な態様において、特徴ベクトルと算出された特徴ベクトルの上記のハッシュ関数の結果の逆ハッシュ関数の結果との間の類似性の程度は、０から１までの範囲における数値を構成すると共に式によって算出される。
【数３２】
2019091435.tif 000034
【０１１５】
ここで、
【数３３】
2019091435.tif 000035
は、ｇｉとのｈ（ｒｉ）の同時発生を意味すると共に、
｛ｈ（ｒｉ）｝は、行動パターンの要素のハッシュ関数の結果のセットであると共に、
｛ｇｉ｝は、行動パターンの要素のハッシュ関数の結果の逆ハッシュ関数の結果のセットであると共に、
ｒｉは、行動パターンのｉ番目の要素であると共に、
ｈは、ハッシュ関数であると共に、
ｗは、類似性の程度である。
【０１１６】
例えば、算出された特徴ベクトルは、ビットベクトル
【数３４】
2019091435.tif 000036
を構成すると共に、この特徴ベクトルのコンボリューション関数の結果は、
【数３５】
2019091435.tif 000037
であると共に、上で得られた結果の逆コンボリューション関数の結果は、
【数３６】
2019091435.tif 000038
である（ここで、太字体は、特徴ベクトルとは異なる要素を示す）。このように、特徴ベクトルおよび逆コンボリューション関数の結果の類似性は、０．９２である。
【０１１７】
さらに別の例示的な態様において、パラメーターとして行動パターンの要素を使用する前述したハッシュ関数は、行動パターンの要素のタイプに依存する。
【数３７】
2019091435.tif 000039
【０１１８】
例えば、ファイルへのパスを含むストリングを構成する行動パターンからパラメーターのハッシュ値を計算するために、我々は、ハッシュ関数ＣＲＣ３２を、あらゆる他のストリングについてはＨｏｆｆｍａｎアルゴリズムを、データセットについてはハッシュ関数ＭＤ５を、使用する。
【０１１９】
さらに別の例示的な態様において、行動パターンの特徴ベクトルのコンボリューション関数の形成は、オートエンコーダによってなされるが、ここで、入力データは、行動パターンのその特徴ベクトルの要素であると共に、出力データは、所定の閾値の値と比べてより大きい入力データに対する類似性の係数を有するデータである。
【０１２０】
検出モデルモジュール１３１は、
●少なくとも、
○検出モデルの機械学習の方法の選択、
○教育モデルのパラメーターの初期化であって、ここで、検出モデルの機械学習の開始に先立って初期化された教育モデルのパラメーターが、用意モジュール１１１によって選択されたファイルのパラメーターに依存する、ハイパーパラメーターとして知られるもの、
を含む、悪意のあるファイルのための検出のためのモデルを作成するように、
●機械学習モジュール１３２へそのように作成された教育モデルを送る
ように設計される。
【０１２１】
例えば、検出モデルの機械学習の方法を選択するとき、最初に、検出モデルとして人工のニューラルネットまたはランダムフォレストを使用するかどうかについて決断がなされると共に、次に、ランダムフォレストが選ばれるとすれば、ある者は、ランダムフォレストのノードについての分離尺度を選択するか、または、人工のニューラルネットが選ばれるとすれば、ある者は、人工のニューラルネットのパラメーターの数値的な最適化の方法を選択する。機械学習の特定の方法の選びに関する決断は、所定の種類（即ち、データ構造、行動パターンの要素の数、悪意のあるファイルについて検索が行われる計算装置の性能、および計算装置の利用可能な資源など）の入力データ（行動パターン）の使用と共に悪意のあるファイルの検出におけるその方法の有効性（即ち、悪意のあるファイルの検出に生じる第１のおよび第２の種類の誤りの数）に基づいてなされる。
【０１２２】
さらに別の例において、検出モデルの機械学習の方法は、少なくとも、
●照合検査、スライディングチェック、相互検証（ＣＶ）、
●尺度ＡＩＣおよびＢＩＣなどの数学的な検証、
●Ａ／Ｂ試験、スプリット試験、
●スタッキング
に基づいて選択される。
【０１２３】
さらに別の例において、計算装置の低い性能の場合には、ランダムフォレストが、選ばれるが、さもなければ人工のニューラルネットが、選ばれる。
【０１２４】
一つの例示的な態様において、機械学習は、以前に作成された訓練されてない検出モデル（即ち、そのモデルのパラメーターが、入力データの分析に基づいて、所定の閾値の値と比べてより高い精度で出力データを生じさせることができない検出モデル）について行われる。
【０１２５】
さらに別の例示的な態様において、検出モデルの機械学習の方法は、少なくとも、
●意思決定木に基づいた勾配ブースティング、
●意思決定木、
●Ｋ最近傍法、
●サポートベクトルマシン（ＳＶＭ）
である。
【０１２６】
さらに別の例示的な態様において、検出モデルモジュール１３１は、機械学習モジュール１３２からの要求に応じて検出モデルを作成するように追加的に設計されるが、ここで、ある一定のハイパーパラメーターおよび機械学習の方法は、以前の検出モデルについて選ばれたハイパーパラメーターおよび機械学習方法とは異なるものであるように選ばれる。
【０１２７】
機械学習モジュール１３２は、検出モデルを教育するように設計されるが、それにおいて検出モデルのパラメーターは、得られた行動パターンについての得られたコンボリューション関数の使用と共に計算されると共に、ここで、検出モデルは、上記の検出モデルの計算されたパラメーターの使用と共に少なくとも一つの行動パターンに基づいてファイルの有害性の程度を計算するためのルールのセットを構成する。
【０１２８】
例えば、検出モデルは、用意モジュール１１１によって選択されたファイルの既知のセットで訓練されるが、ここで、上記のファイルのセットは、６０％の安全なファイルおよび４０％の悪意のあるファイルを含む。
【０１２９】
一つの例示的な態様において、ファイルの有害性の程度は、０から１までの数値を構成するが、ここで、０は、上記のファイルが安全なものであることを、および、１は、それが悪意のあるものであることを、意味する。
【０１３０】
さらに別の例示的な態様において、行動ログの分析に基づいて形成された行動パターンの数における変化に依存するファイルの有害性の程度における単調な変化を保証する検出モデルの教育の方法が選ばれる。
【０１３１】
例えば、ファイルの有害性の程度における単調な変化は、各々の後続の行動パターンを分析する際に、算出された有害性の程度が、以前に算出された有害性の程度と比べてより小さいものであることがないことになることを意味する（例えば、１０番目の行動パターンの分析の後には、算出された有害性の程度は、０．２に等しいものであるが、５０番目の行動パターンの分析の後には、それが０．４であると共に、１００番目の行動パターンの分析の後には、それが０．７である）。
【０１３２】
さらに別の例示的な態様において、機械学習モジュール１３２は、追加的に、
●試験選択のファイルからファイルの有害性の正しい決定を決定するために、試験選択のファイルからのファイルの分析に基づいて形成された得られた行動ログについて訓練された検出モデルのチェックを行うように、
●チェックの否定的な結果の場合には、少なくとも、
○検出モデルの教育に使用された現在のものとは異なる選択のファイルを用意するために用意モジュール１１１へ、
○現在のものとは異なる、新しい検出モデルを作成するために検出モデルモジュール１３１へ
リクエストを送るように、
設計される。
【０１３３】
訓練された検出モデルのチェックは、後に続くものを伴う。上記の検出モデルは、用意モジュール１１１によって選択されたファイルのセットに基づいて教育されてきたものであるが、それについては、それらが安全なものまたは悪意のあるものであるかどうかが知られたものであった。悪意のあるファイルの検出のためのモデルが正しく訓練されてきたものであること、即ち、検出モデルが悪意のあるファイルを検出すると共に安全なファイルを見送ることができるものであること、を検証するために、このモデルのチェックが行われる。この目的のために、上記の検出モデルは、用意モジュール１１１によって選択されたファイルの別のセットからのファイルが悪意のあるものであるかどうかを決定するために使用されるが、それらのファイルが悪意あるものであるかどうかは前もって知られるものである。このように、ある者は、いくつの悪意のあるファイルが“見逃された”ものであったか、および、いくつの安全なファイルが検出されたものであったかを決定する。見逃された悪意のあるファイルおよび検出された安全なファイルの数が所定の閾値の値と比べてより大きいものであるとすれば、その検出モデルは、不適切に訓練されたものであることが認められると共に、それについては（例えば、以前のものとは異なる検出モデルのパラメーターの値を使用する、別の訓練選択のファイルなどについて）繰り返しの機械学習がなされることを必要とする。
【０１３４】
例えば、訓練されたモデルについてのチェックを行うとき、ある者は、試験選択のファイルからの悪意のあるファイルの検出における第１のおよび第２の種類の誤りの数をチェックする。そのような誤りの数が所定の閾値の値と比べてより大きいものであるとすれば、新しい教育および試験選択のファイルが選択されると共に新しい検出モデルが作成される。
【０１３５】
さらに別の例において、教育選択のファイルは、１００００個のファイルを含むものであったが、それらの８５００個が悪意のあるものであったと共に１５００個が安全なものであった。検出モデルが教育された後に、それは、１２００個のファイルを含む試験選択のファイルにおいてチェックされたものであったが、それらの３５０個が悪意のあるものであったと共に８５０個が安全なものであった。行われたチェックの結果に従って、３５０の悪意のあるファイルのうち１５個（４％）は、検出を失敗した一方で、８５０の安全なファイルのうち１０２個（１２％）が悪意のあるものであることが誤って認められたものであった。検出されなかった悪意のあるファイルの数が５％を超えるか、または、ランダムに検出された安全なファイルが０．１％を超える場合には、訓練された検出モデルは、不適切に訓練されたものであることが認められる。
【０１３６】
一つの例示的な態様において、システムの行動ログは、システムの以前に形成された行動ログおよび上記のシステムの行動ログの形成の後にインターセプトされたコマンドに基づいて追加的に形成される。
【０１３７】
例えば、ファイルの実行の開始の後に、それについてはそのファイルの有害性または安全性に関する判断を告げることが必要なことであるが、インターセプトされた実行可能なコマンドおよびそれらを記述するパラメーターは、行動ログに記録される。これらのコマンドおよびパラメーターの分析に基づいて、そのファイルの有害性の程度が算出される。分析の結果に基づいてファイルが悪意あるものまたは安全なものであることに関する判断が告げられたのではないとすれば、コマンドのインターセプトが継続されることがある。インターセプトされたコマンドおよびそれらを記述するパラメーターは、古い行動ログにまたは新しい行動ログに記録される。第１の場合には、行動ログに記録された全てのコマンドおよびパラメーターの分析に、即ち、有害性の程度を算出するために以前に使用されたものにでさえも、基づいて有害性の程度が算出される。
【０１３８】
有害性モジュール１４２は、
●行動ログモジュール１１２から得られた行動ログおよび機械学習モジュール１３２から得られた検出モデルに基づいて有害性の程度を算出するが、ファイルの有害性の程度が、実行可能なファイルの悪意のある行動を記述する、定量的な特性（例えば、０−ファイルが安全な行動のみを有する−から１−上記のファイルが所定の悪意のある行動を有する−までの範囲にあるもの）であるように、
●管理モジュール１４３へ算出された有害性の程度を送るように、
設計される。
【０１３９】
管理モジュール１４３は、コンピューターシステムのセキュリティーを保証する際における使用のための得られた有害性の程度の分析に基づいてコンピューターシステムの計算資源を配分するように設計される。
【０１４０】
一つの例示的な態様において、コンピューターシステムの計算資源は、少なくとも、
●空いているＲＡＭの容量、
●ハードディスクの空き領域の容量、
●（例えば、より大きい深さのエミュレーションと共に）アンチウィルススキャンに費やすことができる、空いているプロセッサの時間（プロセッサの時間の分量）
を含む。
【０１４１】
さらに別の例示的な態様において、有害性の程度の分析は、有害性の程度の先行する算出の各々の後における有害性の程度の値における変化のダイナミクスを決定すること、および、少なくとも、
●有害性の程度の値における増加の場合にコンピューターシステムの追加的な資源を配分すること、
●有害性の程度の値における減少の場合にコンピューターシステムの以前に配分された資源を解放すること
に存する。
【０１４２】
図２は、悪意のあるファイルの検出のためのモデルの機械学習の方法の構造図を示す。
【０１４３】
悪意のあるファイルの検出のためのモデルの機械学習の方法の構造図は、教育選択のファイルが用意されるステップ２１１、行動ログが形成されるステップ２１２、行動パターンが形成されるステップ２２１、コンボリューション関数が形成されるステップ２２２、検出モデルが作成されるステップ２３１、検出モデルが訓練されるステップ２３２、コンピューターシステムの行動が追跡されるステップ２４１、有害性の程度が算出されるステップ２４２、およびコンピューターシステムの資源が管理されるステップ２４３を含む。
【０１４４】
ステップ２１１において、用意モジュール１１１は、所定の尺度に従ってファイルのデータベースから少なくとも一つのファイルを選択するために使用されるが、ここで、検出モデルの教育は、選択されたファイルに基づいてステップ２３２においてなされることになる。
【０１４５】
ステップ２１２において、行動ログモジュール１１２は、
●少なくとも、
○ステップ２１１において選択されたファイルの実行、
○ステップ２１１において選択されたファイルの作業のエミュレーション
の間に、少なくとも一つコマンドをインターセプトするために、
●各々のインターセプトされたコマンドについて、そのコマンドを記述する少なくとも一つのパラメーターを決定するために、
●インターセプトされたコマンドおよび決定されたパラメーターに基づいて、得られたファイルの行動ログを形成するために、ここで、行動ログは、ファイルからのインターセプトされたコマンド（以後、コマンド）のセットを表すと共に、ここで、各々のコマンドは、そのコマンドを記述する少なくとも一つの定義されたパラメーター（以後、パラメーター）に対応するが、
使用される。
【０１４６】
ステップ２２１において、行動パターンモジュール１２１は、ステップ２１２において形成された行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成するために使用されるが、ここで、行動ログは、ファイルからの実行可能なコマンド（以後、コマンド）のグループを表すと共に、ここで、各々のコマンドは、そのコマンドを記述する少なくとも一つのパラメーター（以後、パラメーター）に対応すると共に、行動パターンが少なくとも一つのコマンドおよびそのセットからの全てのコマンドを記述するパラメーターのセットである。
【０１４７】
ステップ２２２において、コンボリューション関数モジュール１２２は、前述の行動パターンについてのこのコンボリューション関数の結果の逆コンボリューション関数が、指定された値と比べてより大きい前述の行動パターンに対する類似性の程度を有することになるように、ステップ２２１において形成された行動パターンのコンボリューション関数を形成するために使用される。
【０１４８】
ステップ２３１において、検出モデルモジュール１３１は、検出モデルを作成するために使用されるが、それのためには、少なくとも、
●検出モデルの機械学習の方法が選択されると共に、
●教育モデルのパラメーターが初期化されるが、ここで、検出モデルの機械学習の開始に先立って初期化された教育モデルのパラメーターが、ハイパーパラメーターとして知られる。
【０１４９】
ステップ２１１において選択されたファイルのパラメーターに依存するものである。
【０１５０】
ステップ２３２において、機械学習モジュール１３２は、ステップ２３１において作成された検出モデルを教育するために使用されるが、それにおいて、その検出モデルのパラメーターは、ステップ２２１において形成された行動パターンについて、ステップ２２２において形成されたコンボリューション関数の使用と共に算出されるが、ここで、検出モデルは、ここで、検出モデルは、その検出モデルの算出されたパラメーターの使用と共に少なくとも一つの行動パターンに基づいてファイルの有害性の程度を算出するためのルールのグループを構成する。
【０１５１】
ステップ２４１において、行動ログモジュール１１２は、
●コンピューターシステムにおいて動くファイルによって実行される少なくとも一つのコマンドをインターセプトするために、
●インターセプトされたコマンドに基づいてシステムの行動ログを形成するために
使用される。
【０１５２】
ステップ２４２において、有害性モジュール１４２は、ステップ２４１で形成された、システムの行動ログ、および、ステップ２３２で訓練されてきたものである検出モデルに基づいて、有害性の程度を算出するために使用される。
【０１５３】
ステップ２４３において、管理モジュール１４３は、コンピューターシステムのセキュリティーを保証する際における使用のために、ステップ２４２において算出されたような有害性の程度の分析に基づいて計算資源を配分するために使用される。
【０１５４】
図３は、行動パターンの数の関数として有害性の程度を変化させるダイナミクスの例を示す。
【０１５５】
行動パターンの数の関数としての有害性の程度を変化させるダイナミクスの例は、悪意のあるファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における任意の変化のダイナミクスのグラフ３１１、悪意のあるファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における単調な変化のダイナミクスのグラフ３１２、安全なファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における任意の変化のダイナミクスのグラフ３２１、および、安全なファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における単調な変化のダイナミクスのグラフ３２２を含む。
【０１５６】
一つの例示的な態様においては、実行可能なファイルの有害性の程度は、０（上記のファイルが絶対的に安全な行動を有する）から１（上記のファイルが所定の悪意ある行動を有する）までの範囲における値を取る。
【０１５７】
グラフ３１１は、悪意のあるファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における任意の変化のダイナミクスを示す。
【０１５８】
初めに、上記のファイルを実行する際に、形成された行動パターンの数は、大きいものであることはないと共に、おまけに、実行可能なファイルの悪意ある活動は、欠如したものまたは最小限のものであるのかもしれない（例えば、データの初期化が起こるが、それは、安全なものを含む、多数のファイルに対して自然なことである）ので、算出された有害性の程度は、０とはわずかに異なると共に所定の閾値の値（以後、安全性の尺度）を超えるものではないが、それを通過した後に、実行可能なファイルの行動は、安全なものと認められることを停止する（グラフにおいて、この閾値の値は、破線によって指定される）。
【０１５９】
しかしながら、時間内に実行可能なファイルの悪意のある活動が増大すると共に有害性の程度が、安全性の尺度を上回る、１に近づくことを始める一方で、有害性の程度は、所定の閾値の値（以後、有害性の尺度）に到達することがないかもしれないが、それの通過の後に、実行可能なファイルの行動は、悪意のあるものであると認められることになる（グラフにおいて、この閾値の値は、鎖線によって指定される）。
【０１６０】
増大の期間の後に、悪意のある活動は、停止することがあると共に、有害性の程度は、再度０（時間Ａ）に向かう傾向がある。ある一定の時間で、有害性の程度は、有害性の尺度と比べてより大きいものになることになる（時間Ｂ）が、実行可能なファイルの行動は、悪意のあるものとして認識されることになると共に、その結果として、ファイルそれ自体が、悪意のあるものとして認識されることになる。
【０１６１】
記載されたアプローチが、実行可能ファイルの長期の明瞭に現わされた悪意のある活動の間に最も頻繁に起こる、有害性の程度における劇的な増大に対して良好に応答するので、悪意のあるものとしてファイルを認識する時間は、悪意のある活動における増大の開始と比べて顕著により遅く生じるかもしれない。
【０１６２】
悪意のある活動が時折生じる場合（グラフ３１１の左側）には、算出された有害性の程度は、その後に実行可能なファイルの行動の有害性、および、その結果として、実行可能なファイルそれ自体の有害性に関する判断が告げられる値に到達するものではないかもしれない。
【０１６３】
形成された各々の行動パターンに基づくのではなく有害性の程度が算出される場合には（例えば、計算装置の性能が低いものであるため）、有害性の程度が時間Ａ（悪意のある活動が始まるとき）および時間Ｃ（悪意のある活動が終了させられるとき）で算出されることになるが、しかし、時間Ｂ（悪意のある活動が生じているものであるとき）では算出されることがないことになる状況は、可能性のあるものであるので、算出された有害性の程度は、有害性の尺度を超えるものではないことになるが、実行可能なファイルの活動は、悪意のあるものとして認識されることがないことになると共に、その結果として、悪意のあるファイルは、検出されることがないことになる。
【０１６４】
グラフ３１２は、悪意のあるファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における単調な変化のダイナミクスを示す。
【０１６５】
初めに、上記のファイルを実行する際に、形成された行動パターンの数は、大きいものであることはないと共に、おまけに、実行可能なファイルの悪意ある活動は、欠如したものまたは最小限のものであるのかもしれない（例えば、データの初期化が起こるが、それは、安全なものを含む、多数のファイルに対して自然なことである）ので、算出された有害性の程度は、０とはわずかに異なると共に所定の閾値の値（以後、安全性の尺度）を超えるものではないが、それを通過した際に、実行可能なファイルの行動は、安全なものと認められることを停止する（グラフにおいて、この閾値の値は、破線によって指定される）。
【０１６６】
しかしながら、時間内に実行可能なファイルの悪意のある活動が増大すると共に有害性の程度が、安全性の尺度を上回る、１に近づくことを始める一方で、有害性の程度は、所定の閾値の値（以後、有害性の尺度）に到達することがないかもしれないが、それの通過の後に、実行可能なファイルの行動は、悪意のあるものであると認められることになる（グラフにおいて、この閾値の値は、鎖線によって指定される）。
【０１６７】
増大の期間（時間Ａ−Ｂ）の後に、悪意のある活動は停止することがある（時間Ｂ−Ａ）と共にそれにもかかわらず有害性の程度は低下するものではないことになるが、しかし、実行可能なファイルのいずれの悪意のある活動の間にも増大することを継続するのみである。ある一定の時間で、有害性の程度は、有害性の尺度と比べてより大きいものになることになる（時間Ｄ）が、実行可能なファイルの行動は、悪意あるものとして認識されることになると共に、その結果として、ファイルそれ自体が、悪意のあるものとして認識されることになる。
【０１６８】
記載されたアプローチが、実行可能ファイルの長期の明瞭に現わされた悪意のある活動の間、および、頻繁な、時折の、あまり長期ではない悪意のある活動の間の両方に起こる、有害性の程度における滑らかな増大に対して良好に応答するので、悪意のあるものとしてファイルを認識する時間は、悪意のある活動の現れの後すぐに生じるかもしれない。
【０１６９】
悪意のある活動が時折生じる場合（グラフ３１２の左側）には、時間にわたる算出された有害性の程度は、その後に実行可能なファイルの行動の有害性および実行可能なファイルそれ自体の有害性に関する判断が告げられる値に到達するかもしれない。
【０１７０】
（例えば、計算装置の性能が低いものであるため）形成された各々の行動パターンに基づくのではなく有害性の程度が算出される場合には、有害性の程度が時間Ａ（悪意のある活動が始まるとき）および時間Ｃ（悪意のある活動が終了させられるとき）で算出されることになるが、しかし、時間Ｂ（悪意のある活動が生じているものであるとき）では算出されることがないことになる状況は、可能性のあるものであるが、それにもかかわらず、有害性の程度が単調に変化するので、算出された有害性の程度は、それらの値を増加させることになるのみであると共に、時間Ｃで有害性の程度は、有害性の尺度を超えることになるが、実行可能なファイルの活動は、悪意のあるものとして認識されることになると共に、その結果として、悪意のあるファイルは、検出されることになる。
【０１７１】
グラフ３２１は、安全なファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における任意の変化のダイナミクスを示す。
【０１７２】
初めに、上記のファイルを実行する際に、形成された行動パターンの数は、大きいものであることはないと共に、おまけに、悪意のあるファイルの実行の間にもまた実行可能なものである、“疑わしい”コマンド（例えば、ファイルの削除、およびコンピューターネットワークにおけるデータの転送など）が実行されるかもしれないとはいえ、実行可能なファイルについてのそのようなものとして悪意ある活動が無いものであると共に、従って、算出された有害性の程度は、０とは異なると共に所定の閾値の値（以後、安全性の尺度）を超えるものではないが、それを通過した後に、実行可能なファイルの行動は、安全なものと認められることを停止する（グラフにおいて、この閾値の値は、破線によって指定される）。
【０１７３】
しかしながら、時間内に実行可能なファイルの悪意のある活動が大きい数の“疑わしい”コマンドの実行の理由で増大すると共に有害性の程度が１に近づくことを始める一方で、有害性の程度は、所定の閾値の値（以後、有害性の尺度）に到達することがないかもしれないが、それの通過の後に、実行可能なファイルの行動は、悪意のあるものであると認められることになる（グラフにおいて、この閾値の値は、鎖線によって指定される）が、しかし、それは、安全性の尺度を超えるかもしれないので、ファイルは、安全なものと認められることを停止すると共に“疑わしい”ものになることがある。
【０１７４】
増大の期間の後に、悪意のある活動は、停止することがあると共に、有害性の程度は、再度０に向かう傾向があることにある（時間Ｃ）。
【０１７５】
（例えば、計算装置の性能が低いものであるため）形成された各々の行動パターンに基づくのではなく有害性の程度が算出される場合には、有害性の程度が時間Ｂ（活動が悪意のあるものに最も類似するものである、即ち、“疑わしい”ものになるとき）で算出されるが、しかし、時間Ａ（“疑わしい”活動が増加するとき）では、または、時間Ｃ（“疑わしい”活動が減少するものであるとき）ではされないことになる状況は、可能性のあるものであるので、算出された有害性の程度は、安全性の尺度を超えることになるが、実行可能なファイルの活動は、“疑わしい”ものとして認識されることになる（それは、安全なものと認められることがないことになる）と共に、その結果として、安全なファイルは、安全なものとして認識されることがないことになる。
【０１７６】
グラフ３３２は、安全なファイルの実行の間に形成された行動パターンの数の関数としての有害性の程度における単調な変化のダイナミクスを示す。
【０１７７】
初めに、上記のファイルを実行する際に、形成された行動パターンの数は、大きいものであることはないと共に、おまけに、悪意のあるファイルの実行の間にもまた実行可能なものである、“疑わしい”コマンド（例えば、ファイルの削除、およびコンピューターネットワークにおけるデータの転送など）が実行されるかもしれないとはいえ、実行可能なファイルについてのそのようなものとして悪意ある活動が無いものであると共に、従って、算出された有害性の程度は、０とは異なると共に所定の閾値の値（以後、安全性の尺度）を超えるものではないが、それを通過した後に、実行可能なファイルの行動は、安全なものと認められることを停止する（グラフにおいて、この閾値の値は、破線によって指定される）。
【０１７８】
しかしながら、時間内に実行可能なファイルの悪意のある活動が大きい数の“疑わしい”コマンドの実行の理由で増大すると共に有害性の程度が１に近づくことを始める一方で、有害性の程度は、所定の閾値の値（以後、有害性の尺度）に到達することがないかもしれないが、それの通過の後に、実行可能なファイルの行動は、悪意のあるものであると認められることになる（グラフにおいて、この閾値の値は、鎖線によって指定される）と共に、また、それは、安全性の尺度を超えることがないかもしれないので、ファイルは、安全なものと認められることを継続することになる。
【０１７９】
増大の期間（時間Ａ−Ｂ）の後に、悪意のある活動は停止することがある（時間Ｂ−Ａ）と共にそれにもかかわらず有害性の程度は低下するものではないことになるが、しかし、実行可能なファイルのいずれの悪意のある活動の間にも増大することを継続するのみであると共に、それにもかかわらず安全性の係数を超えるものではないので、実行可能なファイルの活動は、安全なものとして認識されることになると共に、その結果として、上記のファイルが、安全なものとして認識されることになる。
【０１８０】
（例えば、計算装置の性能が低いものであるため）形成された各々の行動パターンに基づくのではなく有害性の程度が算出される場合には、有害性の程度が時間Ｂ（活動が悪意のあるものに最も類似するものである、即ち、“疑わしい”ものになるとき）で算出されるが、しかし、時間Ａ（“疑わしい”活動が増加するとき）では、または、時間Ｃ（“疑わしい”活動が減少するものであるとき）ではされないことになる状況は、可能性のあるものであるが、それにもかかわらず、有害性の程度が単調に変化するので、算出された有害性の程度は、それらの値を増加させることになるのみであると共に、時間Ａ、Ｂ、Ｃで有害性の程度は、安全性の尺度を超えるものではないことになるが、実行可能なファイルの活動は、安全なものとして認識されることになると共に、その結果として、安全なファイルは、安全なものとして認識されることになる。
【０１８１】
記載されたアプローチは、有害性の程度の増大における鋭いピークを回避することを可能性のあるものにする、有害性の程度における滑らかな増大を提供するので、“疑わしい”ものとしてファイルを認識する時間は、“疑わしい”活動の現れの後に生じることはないかもしれない。
【０１８２】
図４は、行動パターンの要素の間における関係の図の例を示す。
【０１８３】
行動パターンの要素の間における関係の図の例は、コマンド４１１（中空の円）、パラメーター４１２（ハッチングがかけられた円）、一つのパラメーターを備えた行動パターン４２１の例、および一つのコマンドを備えた行動パターン４２２の例を含む。
【０１８４】
ファイルの実行の間に、コマンド４１１がインターセプトされたと共にそれらを記述するパラメーター４１２が決定された。
【数３８】
2019091435.tif 000040
【０１８５】
述べたコマンド４１１およびパラメーター４１２に基づいて、行動パターン（４２１，４２２）が形成されると共に行動パターンの要素の間における関係が決定される。
【０１８６】
第１のステップにおいて、一つのコマンド４１１およびそのコマンドを記述する一つのパラメーター４１２を含むパターンが形成される。
【数３９】
2019091435.tif 000041
【０１８７】
示された例において、８個のインターセプトされたコマンド（それらを記述するパラメーターを備えたもの）に基づいて１９個の行動パターンが形成されてきたものである。
【０１８８】
第２のステップにおいて、一つのパラメーター４１２およびそのパラメーター４１２によって記述することができる全てのコマンド４１１を含むパターンが形成される。
【数４０】
2019091435.tif 000042
【０１８９】
示された例において、８個のインターセプトされたコマンド（それらを記述するパラメーターを備えたもの）に基づいて７個の行動パターンが加えて形成されてきたものである。
【０１９０】
第３のステップにおいて、数個のパラメーター４１２およびそれらのパラメーター４１２によって記述することができる全てのコマンド４１１を含むパターンが形成される。
【数４１】
2019091435.tif 000043
【０１９１】
与えられた例において、８個のインターセプトされたコマンド（それらを記述するパラメーターを備えたもの）に基づいて３個の行動パターンが加えて形成されてきたものである。
【０１９２】
図５は、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するシステムの構造図を提示する。
【０１９３】
悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するシステムの構造図は、分析されるファイル５０１、行動ログモジュール１１２、選択モジュール５２０、検出モデルのデータベース５２１、行動ログ分析モジュール５３０、有害性モジュール５４０、意思決定パターンのデータベース５４１、および分析モジュール５５０からなる。
【０１９４】
一つの例示的な態様において、上記のシステムは、追加的に実行されるファイルの行動ログモジュール１１２を含むが、それは、
●少なくとも、
○ファイル５０１の実行、
○ファイル５０１の実行のエミュレーション
の間に少なくとも一つのコマンドをインターセプトするように、
●各々のインターセプトされたコマンドについてそのコマンドを記述する少なくとも一つのパラメーターを決定するように、
●インターセプトされたコマンドおよび決定されたパラメーターに基づいて、そのファイルについての行動ログを形成するが、インターセプトされたコマンドおよびそれらを記述するパラメーターがより前のインターセプトされたコマンドからより後のインターセプトされたコマンドまでの時間的な順序で行動ログに入れられる（以後、行動ログにおけるエントリー）ように、
●行動ログ分析モジュール５３０および選択モジュール５２０へ構築された行動ログを送るように
設計される。
【０１９５】
さらに別の例示的な態様において、行動ログは、ファイル５０１からの実行可能なコマンド（以後、コマンド）のセットであるが、ここで、各々のコマンドは、そのコマンドを記述する少なくとも一つのパラメーター（以後、パラメーター）に対応する。
【０１９６】
さらに別の例示的な態様において、実行されるファイル５０１のコマンドのインターセプトおよびインターセプトされたコマンドのパラメーターの決定は、少なくとも、
●次のコマンドがインターセプトされることになる時間まで（行動ログ分析モジュール５３０、有害性モジュール５４０、および分析モジュール５５０の援助と共に実行された）有害性について実行されるファイル５０１を分析することが可能なものであるかどうかに関する決定、
●有害性についての実行されるファイル５０１の分析が所定の閾値の値より下の述べた計算装置の計算資源の低下に帰着することになるかどうかに関する決定であって、計算装置の資源が少なくとも
○その計算装置の性能、
○その計算装置の空いているＲＡＭの容量、
○（ハードディスクのような）その計算装置の情報記憶媒体における空き領域の容量、
○その計算装置が接続されるコンピューターネットワークの帯域幅
であるもの、
を含む、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するシステムが動くものである計算装置の性能の分析に基づいてなされる。
【０１９７】
有害性についてファイル５０１を分析するために実行されたアクションの全部のシーケンスが、実行されるファイル５０１の二つの連続して実行されたコマンドの間の間隔と比べてより多くの時間を取るので、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出するシステムの性能を増加させるために、実行されるファイル５０１の全ての実行可能なコマンドを含むものではない行動ログを分析することが必要なことであることがある。
【０１９８】
例えば、実行されるファイル５０１のコマンドは、０．００１秒毎に実行される（と共に連続してインターセプトされる）が、しかし、有害性についてのファイル５０１の分析は、０．１５秒を取るので、その時間の間隔の間にインターセプトされた全てのコマンドは、無視されることになると共に、このように、１５０番目のコマンド毎にのみインターセプトすることは、十分なことである。
【０１９９】
選択モジュール５２０は、
●実行されるファイル５０１の行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベース５２１から悪意のあるファイルの検出のための少なくとも二つのモデルを選択するが、ここで、悪意のあるファイルの検出のためのモデルは、有害性の程度を決定するための意思決定ルールを構成するように、
●有害性モジュール５４０へ悪意のあるファイルの決定のための全ての選択されたモデルを送るように
設計される。
【０２００】
一つの例示的な態様において、検出モデルのデータベース５２１に保たれる悪意のあるファイルの検出のためのモデルは、少なくとも一つの安全なファイルおよび悪意のあるファイルにおける機械学習の方法によって以前に教育されてきたものである。
【０２０１】
悪意のあるファイルの検出のためのモデルは、図１〜図４においてさらに詳細に記載される。
【０２０２】
さらに別の例示的な態様において、検出のためのモデルの機械学習の方法は、少なくとも
●意思決定木における勾配ブースティング、
●意思決定木、
●ｋＮＮ最近傍法、
●サポートベクトル
の方法である。
【０２０３】
さらに別の例示的な態様において、検出モデルを教育する方法は、行動ログの分析に基づいて構築された行動パターンの数における変動に依存するファイルの有害性の程度における単調な変動を保証する。
【０２０４】
例えば、ファイル５０１の算出された有害性の程度は、そのファイル５０１の行動ログの分析に基づいて構築された行動パターンの数に依存して、単調に増大するのみであるか、または、変化するものではないことがある。ファイル５０１の実行の開始において、構築された行動パターンの数は、顕著でないものであると共に、そのファイル５０１の計算された有害性の程度は、０とほとんど異なるものではないが、時間と共に構築されたパターンの数は増大すると共にそのファイル５０１の計算された有害性の程度はまた増大するか、または、そのファイル５０１について悪意のある活動が無いものであるとすれば、計算された有害性の程度は、変化しないままであると共に、このように、悪意のあるファイル５０１の実行のどんな瞬間でも、ファイルの有害性の程度は、計算される（または、行動ログのどんな記録とも、行動パターンの形成が始まる）と共に、それは、ファイル５０１の悪意のある活動が上記の有害性の程度の計算の瞬間まで存在するものであったか否かを反映することになる。
【０２０５】
さらに別の例示的な態様において、検出モデルのデータベース５２１から選択された悪意のあるファイルの検出の各々のモデルは、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出について訓練される。
【０２０６】
例えば、検出モデルのデータベース５２１に保たれた検出モデルは、
●グラフィック・ユーザー・インターフェース（ＧＵＩ）を有する、
●コンピューターネットワークにおいてデータを交換する、
●ファイル（例えば、ファミリーＴｒｏｊａｎ−Ｃｒｙｐｔｏｒの悪意のあるファイル）を暗号化する、
●それらの拡散についてのネットワークの脆弱性（例えば、ファミリーＮｅｔ−Ｗｏｒｍの悪意のあるファイル）、および（ファミリーＰ２Ｐ−Ｗｏｒｍの悪意のあるファイルのような）Ｐ２Ｐネットワークなどを使用する、
ファイルを検出するために訓練されることがある。
【０２０７】
このように、悪意のあるファイルは、悪意のあるファイルの検出のための数個の訓練されたモデルの使用と共に検出されることがある。例えば、それの実行の間にユーザーの計算装置においてデータを暗号化すると共にそのファイルが実行される述べたユーザーの計算装置と同じコンピューターネットワークに接続された他の計算装置へそれの複製を送る悪意のあるファイルＷａｎｎａＣｒｙ．ｅｘｅを、脆弱性を利用することでファイルを検出するために訓練される、検出モデル＃１、ファイルを暗号化するように設計されたファイルを検出するために訓練される、検出モデル＃２、および、（例えば、支払、資金等の形態に関する）要求の提示として解釈されることがあるテキスト情報を含むファイルを検出するために訓練される、検出モデル＃３の助けで検出することができる。述べたモデルの援助と共に算出された有害性の程度は、算出された有害性の程度が所定の閾値の値を超える時間の瞬間であることがあるように、異なるものであることがある。例えば、悪意のあるファイルの検出のためのモデルの使用の結果は、それの手段によって悪意のあるファイル５０１を検出することが可能なものであったが、後に続く表に表現されることがある。
【表１】
2019091435.tif 000044
【０２０８】
ファイル５０１は、算出された有害性の程度が０．７８を超える場合には、悪意のあるものであるとして認識される。有害性の程度（例えば、０．７８）は、ここでは、有害性の程度が算出されたファイルが悪意のあるもの（７８％）または安全なもの（２２％）であることが判明することがある確率を特徴付ける。悪意のあるファイルの検出のための数個のモデルの使用と共にファイル５０１を悪意のあるものであるとして認識することができるとすれば、そのときファイルが悪意のあるものである確率は、増加することになる。例えば、表＃１におけるデータを提示するために使用された悪意のあるファイルの検出のためのモデルについては、合計の有害性の程度は、式
【数４２】
2019091435.tif 000045
によって計算されることがある。
【０２０９】
ここで、
ｗｔｏｔａｌ−合計の有害性の程度であると共に、
ｗｉ−合計の有害性の程度を計算するために使用された悪意のあるファイルの検出のためのモデルｎ−モデルの数である−の使用と共に算出された有害性の程度である。
【０２１０】
このように、得られた合計の有害性の程度（０．９９９６８５）は、算出された有害性の程度によって超えられたときファイルが悪意のあるものであるとして認識される所定の閾値の値（０．７８）と比べて顕著により高いものである。すなわち、悪意のあるファイルの検出のための数個のモデルの使用は、悪意のあるファイルの決定の精度を顕著に増加させると共に悪意のあるファイルの検出に生じる第１のおよび第２の種類の誤りを低減することができるものである。
【０２１１】
さらに別の例において、悪意のあるファイルの検出のための「数個のモデルの使用は、合計の有害性の程度が、それ自体による悪意のあるファイルの検出のためのモデルの各々を使用するときと比べてはるかにより早く算出された有害性の程度によって超えられたときファイルが悪意のあるものであるとして認識される所定の閾値の値に到達することを許容する。例えば、表＃１におけるデータを提示するために使用された悪意のあるファイルの検出のためのモデルについては、算出された有害性の程度が単調に変動するという条件で、その後にファイルが悪意のあるものであるとして認識されることになる行動ログからのコマンドの数は、式
【数４３】
2019091435.tif 000046
によって計算されることがある。
【０２１２】
ここで、
Ｉｄｅｔｅｃｔ−それの分析の後にファイルが悪意のあるものであるとして認識される行動ログからのコマンドの数であると共に、
Ｉｉ−それの分析の後にモデルの使用と共にファイルが悪意のあるものであるとして認識される行動ログからのコマンドの数であると共に、
ｗｉ−モデルの使用と共に計算されたような有害性の程度であると共に、
ｎ−それの分析の後にファイルが悪意のあるものであるとして認識される行動ログからのコマンドの数を算出するために使用された悪意のあるファイルの検出のためのモデルの数である。
【０２１３】
このように、そのように得られた行動ログからのコマンドの全体の数（２０７）は、それの分析の後に悪意のあるファイルの検出のためのモデルの一つ（モデル＃２）によってファイルが悪意のあるものであるとして認識された行動ログからのコマンドの最早の数（２８８）と比べて顕著により少ないものである。すなわち、悪意のあるファイルの検出のための数個のモデルの使用は、悪意のあるファイルの決定のスピード（即ち、効率）を顕著に増加させることができるものである。
【０２１４】
さらに別の例において、検出モデルのデータベース５２１にセーブされる検出の異なるモデルは、数個の、必ずしも独特なものではない、以前に決定された特徴的な特徴で悪意のあるファイルの検出について訓練されることがある、即ち、検出モデル＃１は、グラフィック・ユーザー・インターフェースを有すると共にコンピューターネットワークにおいてデータを交換するファイルを検出することがある一方で、モデル＃２は、ネットワークの脆弱性の使用でコンピューターネットワークにおいてデータを交換すると共にそのコンピューターネットワークを通じて拡散するファイルを検出することがある。これらの検出モデルの両方は、ネットワークの脆弱性の使用によってコンピューターネットワークを通じて拡散するファイルの共通の特徴的な特徴によって前述の悪意のあるファイルＷａｎｎａＣｒｙ．ｅｘｅを検出することがある。
【０２１５】
さらに別の例示的な態様において、検出モデルのデータベース５２１から選択されるものは、ファイルについて訓練された悪意のあるファイルの検出のためのモデルであるが、それの実行の間に少なくとも
ｉ．実行されるファイル５０１の行動ログから選択されたコマンドと同じコマンドが実行された、
ｉｉ.実行されるファイル５０１の行動ログから選択されたパラメーターと同じパラメーターが使用された。
【０２１６】
例えば、行動ログから後に続くコマンド、ＣｒｅａｔｅＦｉｌｅＥｘ、ＲｅａｄＦｉｌｅ、ＷｒｉｔｅＦｉｌｅ、ＣｌｏｓｅＨａｎｄｌｅ、が選択されたが、それらは、ファイルの暗号化を含む、ファイルの変更のために使用される。検出モデルのデータベース５２１から選択されるものは、ファミリーＴｒｏｊａｎ−Ｃｒｙｐｔｏｒの悪意のあるファイルの検出における使用のために訓練された検出モデルである。
【０２１７】
さらに別の例において、行動ログから選択されたものは、（ｃｏｎｎｅｃｔのような、ここで上述したパラメーターが電子アドレスへの接続のためのポートを表す）コンピューターネットワークとの作業のためのコマンドを記述するパラメーター８０８０，２１であった。検出モデルのデータベース５２１から選択されるものは、コンピューターネットワークにおけるデータの交換を提供するファイルの検出における使用のために訓練された検出モデルである。
【０２１８】
行動ログ分析モジュール５３０は、
●実行されるファイル５０１の行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成するが、ここで、行動パターンは、少なくとも一つのコマンドおよびそのセットにおける全てのコマンドを記述するパラメーターのセットを表すように、
●そのように構築された全ての行動パターンのコンボリューションを算出するように、
●有害性モジュール５４０へ実行されるファイルの構築されたコンボリューションを送るように
設計される。
【０２１９】
一つの例示的な態様において、構築された行動パターンのコンボリューションの算出は、構築された行動パターンの全てにおけるそのコンボリューション関数の結果の逆コンボリューション関数が、与えられた閾値の値と比べてより大きいものであるその行動パターンとの類似性の程度を有するように、所定のコンボリューション関数に基づいてなされる。
【０２２０】
コンボリューション関数の形成および使用（コンボリューションの算出）は、図１、図２においてより詳細に記載される。
【０２２１】
有害性モジュール５４０は、
●悪意のあるファイルの検出のための各々の得られたモデルの援助と共に、得られたコンボリューションの分析に基づいて、実行されるファイル５０１の有害性の程度を算出するように、
●分析モジュール５５０へ各々の算出された有害性の程度を送るように
設計される。
【０２２２】
一つの例示的な態様において、意思決定パターンは、有害性の程度の組成を表す。
【０２２３】
例えば、上に記載された、モデル＃１、＃２、＃３に基づいて算出された有害性の程度の組成は、対の集合｛０．９５，３７４｝、｛０．７９，２８８｝、｛０．８７，３０２｝の形態で表されることがある。
【０２２４】
さらに別の例において、上に記載された、モデル＃１、＃２、＃３に基づいて算出された有害性の程度の組成は、算出された有害性の程度の中心的な傾向の度合（例えば、算術平均、本事例においては０．８７）を表すことがある。
【０２２５】
さらに別の例において、有害性の程度の組成は、有害性の程度を算出するために使用された時間または行動パターンの数に対する有害性の程度における変化の依存性を構成する。
【０２２６】
分析モジュール５５０は、
●得られた有害性の程度に基づいて意思決定パターンを形成するように、
●そのように構築された意思決定パターンと、悪意のあるファイルの分析に基づいて以前に構築された、意思決定パターンのデータベース５４１からの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超えるとすれば悪意のあるものとして実行されるファイル５０１を認識するように
設計される。
【０２２７】
一つの例示的な態様において、意思決定パターンは、有害性モジュール５４０から得られた有害性の程度の集合を表す。
【０２２８】
さらに別の例示的な態様において、意思決定パターンは、その有害性の程度を算出するために使用された時間または行動パターンの数に対する有害性の程度の依存性を表す。
【０２２９】
さらに別の例示的な態様において、意思決定パターンのデータベース５４１からの意思決定パターンは、検出モデルのデータベース５２１からのモデルを訓練するために使用された悪意のあるファイル分析に基づいて形成される。
【０２３０】
例えば、１０００００個のファイルに基づいて、それらの７５０００個は、安全なファイルであると共に２５０００個は悪意のあるファイルであるが、検出モデルは、(試験を含む)訓練されると共に、次に検出モデルのデータベース５２１にセーブされる。悪意のあるファイルの検出のためのモデルが訓練されてきたものであった後で、それらは、前述した２５０００個の悪意のあるファイルの数個（または全て）について意思決定パターンを形成するために使用されるが、それらは、次に意思決定パターンのデータベース５４１に入れられる。すなわち、悪意のあるファイルの検出のためのモデルの機械教育は、元々、教育および試験サンプルのファイルについて実行される。結果として、悪意のあるファイルの検出のための数個のモデルを訓練することは、可能なことであるが、それらの各々は、独特の、以前に決定された特徴的な特徴で悪意のあるファイルの検出のために訓練されることになる。全ての検出モデルが訓練されてきたものであった後に、悪意のあるファイルの検出のための訓練されたモデルのどれが（２５０００個の悪意のあるファイルの前述した例の）ある一定の悪意のあるファイルを検出するかに関する決定はなされるが、悪意のあるファイルの検出のためのモデルの一つのセットの使用で一つの悪意のあるファイルを、悪意のあるファイルの検出のためのモデルの第２のセットの使用で別のものを、および、悪意のあるファイルの検出のためのモデルの前述したセットからの悪意のあるファイルの検出のための数個のモデルの使用で第３のものを、検出することができることが分かることがある。悪意のあるファイルの検出のためのどのモデルをどの悪意のあるファイルを検出するために使用することができるかに関する得られたデータに基づいて、意思決定パターンは、構築される。
【０２３１】
さらに別の例示的な態様において、分析モジュール５５０は、追加的に、構築された意思決定パターンと意思決定パターンのデータベース５４１からの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超える一方で、悪意のあるファイルの検出のための述べたモデルの援助と共に算出された有害性の程度が所定の閾値の値を超えるものではない場合には、実行されるファイル５０１の行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベース５２１からの検出の少なくとも一つのモデルを再訓練するように設計される。
【０２３２】
図６は、悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出する方法の構造図を提示する。
【０２３３】
悪意のあるファイルの検出のための訓練されたモデルを使用することによって悪意のあるファイルを検出する方法の構造図は、分析されるファイルが実行されるステップ６１０、行動ログが形成されるステップ６２０、行動パターンが形成されるステップ６３０、コンボリューションが計算されるステップ６４０、検出モデルが選択されるステップ６５０、有害性の程度が計算されるステップ６６０、意思決定パターンが構築されるステップ６７０、ファイルが悪意のあるものであるとして認識されるステップ６８０、および、検出モデルが再訓練されるステップ６９０を含む。
【０２３４】
ステップ６１０において、行動ログモジュール１１２は、少なくとも、
○分析されるファイル５０１を実行するために、
○分先されるファイル５０１の実行をエミュレートするために
使用される。
【０２３５】
ステップ６２０において、行動ログモジュール１１２は、分析されるファイル５０１についての行動ログを形成するために使用されるが、それのためには、
●少なくとも一つの実行可能なコマンドがインターセプトされる、
●各々のインターセプトされたコマンドについてそのコマンドを記述する少なくとも一つのパラメーターが決定される、
●インターセプトされたコマンドおよびそのように決定されたパラメーターに基づいて、そのファイル５０１の行動ログが形成される。
【０２３６】
ステップ６３０において、行動ログ分析モジュール５３０は、実行されるファイル５０１の行動ログから選択されたコマンドおよびパラメーターに基づいて少なくとも一つの行動パターンを形成するために使用されるが、ここで、行動パターンは、少なくとも一つのコマンドおよびそのセットの全てのコマンドを記述するパラメーターのセットを構成する。
【０２３７】
ステップ６４０において、行動ログ分析モジュール５３０は、ステップ６３０において形成された全ての行動パターンのコンボリューションを計算するために使用される。
【０２３８】
ステップ６５０において、選択モジュール５２０は、実行されるファイル５０１の行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベース５２１から悪意のあるファイルの検出のための少なくとも二つのモデルを選択するために使用されるが、ここで、悪意のあるファイルの検出のためのモデルは、有害性の程度を決定するための意思決定ルールを表す。
【０２３９】
ステップ６６０において、有害性モジュール５４０は、ステップ６５０において選択された悪意のあるファイルの検出のための各々のモデルの援助と共にステップ６４０において算出されたコンボリューションの分析に基づいて実行されるファイル５０１の有害性の程度を算出するために使用される。
【０２４０】
ステップ６７０において、分析モジュール５５０は、ステップ６６０において得られた有害性の程度に基づいて意思決定パターンを形成するために使用される。
【０２４１】
ステップ６８０において、分析モジュール５５０は、ステップ６７０において形成された意思決定パターンと意思決定パターンのデータベース５４１からの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が、所定の閾値の値を超える場合には、悪意のあるものとして実行されるファイル５０１を認識するために使用される。
【０２４２】
ステップ６９０において、分析モジュール５５０は、構築された意思決定パターンと意思決定パターンのデータベース５４１からの所定の意思決定パターンの少なくとも一つとの間の類似性の程度が所定の閾値の値を超えると共に悪意のあるファイルの検出のためのそれらのモデルの援助と共に算出された有害性の程度が所定の閾値の値を超えるものではない場合には、実行されるファイルの行動ログから選択されたコマンドおよびパラメーターに基づいて検出モデルのデータベース５２１からの少なくとも一つの検出モデルを再訓練するために使用される。
【０２４３】
図７は、悪意のあるファイルの検出のためのシステムおよび方法の態様が例示的な態様と一致して実施されることがある汎用のコンピューターシステムを図示する図である。
【０２４４】
示されたように、（パーソナルコンピューターまたはサーバーであることがある）コンピューターシステム２０は、中央処理部２１、システムメモリ２２、および、中央処理部２１と関連付けられたメモリを含む、様々なシステムの構成要素を接続するシステムバス２３を含む。当業者によって認識されることになるように、システムバス２３は、バスメモリまたはバスメモリコントローラー、周辺機器用バス、および、いずれの他のバスアーキテクチャとも交信することができるものであるローカルバスを備えることがある。システムメモリは、永久メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含むことがある。ベーシックインプット／アウトプットシステム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用と共にオペレーティングシステムをロードする時におけるもののような、コンピューターシステム２０の要素の間における情報の転送のための基本的な手順を記憶することがある。
【０２４５】
コンピューターシステム２０は、また、データを読み出すと共に書き込むためのハードディスク２７、リムーバブル磁気ディスク２９における読み出しおよび書き込みのための磁気ディスクドライブ２８、および、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、および他の光媒体のような、リムーバブル光ディスク３１を読み出すと共に書き込むための光学ドライブ３０を備えることがある。ハードディスク２７、磁気ディスクドライブ２８、および光学ドライブ３０は、それぞれ、ハードディスクインタフェース３２、磁気ディスクインタフェース３３、および光学ドライブインタフェース３４を介してシステムバス２３に接続される。ドライブおよび対応するコンピューター情報媒体は、コンピューターシステム２０のコンピューター命令、データ構造、プログラムモジュール、および他のデータの記憶のための電力に独立なモジュールである。
【０２４６】
コンピューターシステム２０は、コントローラー５５を介してシステムバス２３に接続された、ハードディスク２７、リムーバブル磁気ディスク２９、およびリムーバブル光ディスク３１を含む。コンピューターによって読み取り可能な形態においてデータを記憶することができるものであるいずれのタイプの媒体５６（ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、およびランダムアクセスメモリ（ＲＡＭ）など）もまた利用されることがあることは、当業者によって理解されることになる。
【０２４７】
コンピューターシステム２０は、ファイルシステム３６を有するが、それにおいて、オペレーティングシステム３５は、追加的なプログラムアプリケーション３７、他のプログラムモジュール３８、およびプログラムデータ３９のみならず、記憶されることがある。コンピューターシステム２０のユーザーは、キーボード４０、マウス４２、または、マイクロフォン、ジョイスティック、ゲームコントローラー、またはスキャナーなどのような、しかしそれらに限定されたものではない、当業者に知られたいずれの他の入力装置をも使用することでコマンドおよび情報を入れることがある。そのような入力装置は、典型的には、シリアルポート４６を通じてコンピューターシステム２０につながるが、それは、今度はシステムバスに接続されるが、しかし、当業者は、入力装置が、限定無しに、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）を介したもののような他の方式でもまた接続されることがあることを認識することになる。モニター４７または他のタイプの表示装置は、また、ビデオアダプター４８のようなインタフェースを介してシステムバス２３に接続されることがある。モニター４７に加えて、パーソナルコンピューターには、ラウドスピーカー、プリンター、等のような（示されたものではない）他の周辺出力装置が備え付けられることがある。
【０２４８】
コンピューターシステム２０は、一つ以上のリモートコンピューター４９へのネットワーク接続を使用することで、ネットワーク環境において動作することがある。（単数または複数の）リモートコンピューター４９は、コンピューターシステム２０の性質を記述することにおける前述の要素の大部分または全てを備えるローカルコンピューターワークステーションまたはサーバーであることがある。ルーター、ネットワークステーション、ピア装置、または他のネットワークノードのような、しかしそれらに限定されたものではない、他の装置は、また、コンピューターネットワークに存在するものであることがある。
【０２４９】
ネットワーク接続は、ローカルエリアコンピューターネットワーク（ＬＡＮ）５０および広域コンピューターネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピューターネットワークおよび会社内のネットワークにおいて使用されると共に、それらは、一般に、インターネットへのアクセスを有する。ＬＡＮまたはＷＡＮのネットワークにおいては、パーソナルコンピューター２０は、ネットワークアダプターまたはネットワークインタフェース５１を介してローカルエリアネットワーク５０に接続される。ネットワークが使用されるとき、コンピューターシステム２０は、モデム５４またはインターネットのような広域コンピューターネットワークとの通信を可能とする、当業者によく知られた他のモジュールを用いることがある。内部または外部装置であることがある、モデム５４は、シリアルポート４６によってシステムバス２３に接続されることがある。上記のネットワーク接続が、通信モジュールを使用することで別のものへの一つのコンピューターによる接続を確立する数多くのよく理解された方式の限定するものではない例であることは、当業者によって認識されることになる。
【０２５０】
様々な態様において、ここに記載されたシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのいずれの組み合わせにおいても実施されることがある。ソフトウェアにおいて実施されるとすれば、方法は、非一時的なコンピューター読み取り可能な媒体における一つ以上の命令またはコードとして記憶されることがある。コンピューター読み取り可能な媒体は、データストレージを含む。例の方式で、および、限定するものではないもので、そのようなコンピューター読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、または他のタイプの電気的な、磁気的な、または光学的な記憶媒体、または、命令またはデータ構造の形態において所望のプログラムコードを保持するかまたは記憶するために使用することができると共に汎用コンピューターのプロセッサによってアクセスすることができるいずれの他の媒体をも備えることができる。
【０２５１】
様々な態様において、本開示に記載されたシステムおよび方法は、モジュールの観点から対処されることができる。ここで使用されたような用語“モジュール”は、実在の装置、コンポーネント、または、例えば、特定用途向け集積回路（ＡＳＩＣ）またはフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）によるもののようなハードウェアを使用することで、または、マイクロプロセッサシステムおよび（実行される間に）マイクロプロセッサシステムを特殊用途の装置に変換するモジュールの機能性を実施するための命令のセットによるもののようなハードウェアおよびソフトウェアの組み合わせとして、実施されたコンポーネントの配置を指す。モジュールは、また、二つのものの組み合わせとして、ハードウェアによって単独で促進されたある一定の機能およびハードウェアおよびソフトウェアの組み合わせによって促進された他の機能と共に、実施されることがある。ある一定の実施において、モジュールの少なくとも一部分、および、場合によっては、全ては、（上で図７により詳細に記載されたもののような）汎用コンピューターのプロセッサにおいて実行されることがある。それに応じて、各々のモジュールは、多様な適切な構成において実現されることがあると共に、ここに例示されたいずれの特定の実施にも限定されるべきではない。
【０２５２】
明瞭さの利益のために、態様のありふれた特徴の必ずしも全てが開示されるものではないが、本開示のいずれの現実の実施の開発においても、数多くの実施に特有の決断が開発者の具体的な目標を達成するためになされるのでなければならないと共にこれらの具体的な目標が異なる実施および異なる開発者について変動することになることは、認識されることであると思われる。そのような開発の努力が、複雑なかつ時間のかかるものであるかもしれないが、しかし、それにもかかわらず、この開示の利益を有する、当業者にとってエンジニアリングのありふれた仕事であると思われることは、理解されることである。
【０２５３】
さらには、本明細書の専門用語または言葉遣いが、ここに提示された教示および指導に照らして、関連技術者の知識との組み合わせにおいて、当業者によって解釈されるものであるように、ここで使用された言葉遣いまたは専門用語が、記述の目的のためのものであると共に制限のためのものではないことは、理解されることである。その上、明細書または特許請求の範囲におけるいずれの用語についても、そのようなものとして明示的に述べられたものではない限り、稀なまたは特殊な意味に帰せられることは、意図されることではない。
【０２５４】
ここに開示された様々な態様は、例示の方式によってここに言及された既知のモジュールに対する現在のおよび将来の知られた均等物を包含する。その上、態様および用途が示されてきたおよび記載されてきたものである一方で、上に述べたものと比べてはるかに多数の変更がここに開示された発明の概念を逸脱することなく可能性のあるものであることは、この開示の利益を有する当業者にとって明らかなことであると思われる。
【図１】
2019091435.tif 000047
【図２】
2019091435.tif 000048
【図３】
2019091435.tif 000049
【図４】
2019091435.tif 000050
【図５】
2019091435.tif 000051
【図６】
2019091435.tif 000052
【図７】
2019091435.tif 000053
【手続補正書】
【提出日】平成31年3月4日(2019.3.4)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2019091435.tif 000054
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2019091435.tif 000055
【外国語明細書】
2019091435000001.pdf