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