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