(57)【要約】【課題】統計分析の要素を用いて悪質なファイルを検出する際の問題を解決すること【解決手段】電子ファイルが悪質であるかどうかを判定する方法であって、抽出ステップと、形成ステップと、特定ステップと、計算ステップと、判定ステップと、を備え、前記抽出ステップでは、前記電子ファイルから複数のリソースを抽出し、前記形成ステップでは、１つ又は複数の第１の規則を形成し、前記第１の規則は、抽出された前記複数のリソース間の機能的依存性を確立し、前記特定ステップでは、悪質なファイルのリソースのデータベースにおいて、１つ又は複数の第２の規則を特定し、前記第２の規則は、抽出された前記複数のリソースのうちの１つ又は複数に関連付けられ、前記計算ステップでは、前記第１及び第２の規則を比較して、これらの類似度を計算し、前記判定ステップでは、算出された前記類似度が所定の閾値を超えた場合に、電子ファイルを悪質なファイルであると判定する、方法が提供される。【選択図】図１
2019003596.tif 000002
【特許請求の範囲】
【請求項１】
電子ファイルが悪質であるかどうかを判定する方法であって、
抽出ステップと、形成ステップと、特定ステップと、計算ステップと、判定ステップとを備え、
前記抽出ステップでは、前記電子ファイルから複数のリソースを抽出し、
前記形成ステップでは、１つ又は複数の第１の規則を形成し、
前記第１の規則は、抽出された前記複数のリソース間の機能的依存性を確立し、
前記特定ステップでは、悪質なファイルのリソースのデータベースにおいて、１つ又は複数の第２の規則を特定し、
前記第２の規則は、抽出された前記複数のリソースのうちの１つ又は複数に関連付けられ、
前記計算ステップでは、前記第１及び第２の規則を比較して、これらの類似度を計算し、
前記判定ステップでは、算出された前記類似度が所定の閾値を超えた場合に、電子ファイルを悪質なファイルであると判定する、
方法。
【請求項２】
請求項１に記載の方法において、
前記悪質なファイルの削除及び隔離のうちの少なくとも１つを更に実行する、
方法。
【請求項３】
請求項１に記載の方法において、
前記電子ファイルを生成するために使用される開発環境に関するデータ、前記電子ファイルをパックしたソフトウェアアプリケーションに関するデータ、及び前記電子ファイルの電子署名のうちの少なくとも１つを抽出する、
方法。
【請求項４】
請求項１に記載の方法において、
抽出された前記複数のリソースの少なくとも１つのハッシュサムを計算し、
前記悪質なファイルリソースの前記データベースにおいて、計算された前記ハッシュサムに基づいて少なくとも１つの前記第２の規則を特定する、
方法。
【請求項５】
請求項１に記載の方法において、
抽出された前記複数のリソースの人工ニューラルネットを生成することにより、少なくとも１つの前記第１の規則を形成し、
生成された前記人工ニューラルネットのノードは、抽出された前記リソースの分析であり、前記ノード間のリンクは、抽出された前記リソース間の機能的依存性を示す、
方法。
【請求項６】
請求項１に記載の方法において、
前記機能的依存性に基づいて、前記データベースにおいて前記少なくとも１つの第２の規則を更に特定する、
方法。
【請求項７】
請求項６に記載の方法において、
アイコンリソース、マニフェストリソース及びダイアログリソースを含む複数のリソースを抽出し、
前記リソースの少なくとも２つの間に前記機能的依存性を形成し、
前記少なくとも２つのリソース間の形成された機能的依存性に基づいて、少なくとも１つの前記第２のルールを前記データベース内で検索する、
方法。
【請求項８】
請求項１に記載の方法において、
判別分析によりパターン認識に基づいて類似度を更に計算し、
前記類似度は、前記第１及び第２のルールにおける前記各リソースの機能的依存性の間におけるものである、
方法。
【請求項９】
電子ファイルが悪質であるかどうかを判定するシステムであって、少なくとも１つのデータベースと、少なくとも１つのプロセッサとを備え、
前記データベースは、複数の悪質なファイルリソースに関連する複数の規則を格納し、
前記プロセッサは、抽出ステップと、形成ステップと、特定ステップと、計算ステップと、判定ステップとを実行するように構成され、
前記抽出ステップでは、前記電子ファイルから複数のリソースを抽出し、
前記形成ステップでは、１つ又は複数の第１の規則を形成し、
前記第１の規則は、抽出された前記複数のリソース間の機能的依存性を確立し、
前記特定ステップでは、悪質なファイルのリソースのデータベースにおいて、１つ又は複数の第２の規則を特定し、
前記第２の規則は、抽出された前記複数のリソースのうちの１つ又は複数に関連付けられ、
前記計算ステップでは、前記第１及び第２の規則を比較して、これらの類似度を計算し、
前記判定ステップでは、算出された前記類似度が所定の閾値を超えた場合に、電子ファイルを悪質なファイルであると判定する、
システム。
【請求項１０】
請求項９に記載のシステムにおいて、
前記悪質なファイルの削除及び隔離のうちの少なくとも１つを更に実行する、
システム。
【請求項１１】
請求項９に記載のシステムにおいて、
前記電子ファイルを生成するために使用される開発環境に関するデータ、前記電子ファイルをパックしたソフトウェアアプリケーションに関するデータ、及び前記電子ファイルの電子署名のうちの少なくとも１つを抽出する、
システム。
【請求項１２】
請求項９に記載のシステムにおいて、
抽出された前記複数のリソースの少なくとも１つのハッシュサムを計算し、
前記悪質なファイルリソースの前記データベースにおいて、計算された前記ハッシュサムに基づいて少なくとも１つの前記第２の規則を特定する、
システム。
【請求項１３】
請求項９に記載のシステムにおいて、
抽出された前記複数のリソースの人工ニューラルネットを生成することにより、少なくとも１つの前記第１の規則を形成し、
生成された前記人工ニューラルネットのノードは、抽出された前記リソースの分析であり、前記ノード間のリンクは、抽出された前記リソース間の機能的依存性を示す、
システム。
【請求項１４】
請求項９に記載のシステムにおいて、
前記機能的依存性に基づいて、前記データベースにおいて前記少なくとも１つの第２の規則を更に特定する、
システム。
【請求項１５】
請求項１４に記載のシステムにおいて、
アイコンリソース、マニフェストリソース及びダイアログリソースを含む複数のリソースを抽出し、
前記リソースの少なくとも２つの間に前記機能的依存性を形成し、
前記少なくとも２つのリソース間の形成された機能的依存性に基づいて、少なくとも１つの前記第２のルールを前記データベース内で検索する、
システム。
【請求項１６】
請求項９に記載のシステムにおいて、
判別分析によりパターン認識に基づいて類似度を更に計算し、
前記類似度は、前記第１及び第２のルールにおける前記各リソースの機能的依存性の間におけるものである、
システム。
【請求項１７】
コンピュータで実行可能な命令を含む非一時的なコンピュータ可読媒体であって、
前記命令は、
電子ファイルが悪質であるかどうかを判定するもので、
抽出ステップと、形成ステップと、特定ステップと、計算ステップと、判定ステップとを備え、
前記抽出ステップでは、前記電子ファイルから複数のリソースを抽出し、
前記形成ステップでは、１つ又は複数の第１の規則を形成し、
前記第１の規則は、抽出された前記複数のリソース間の機能的依存性を確立し、
前記特定ステップでは、悪質なファイルのリソースのデータベースにおいて、１つ又は複数の第２の規則を特定し、
前記第２の規則は、抽出された前記複数のリソースのうちの１つ又は複数に関連付けられ、
前記計算ステップでは、前記第１及び第２の規則を比較して、これらの類似度を計算し、
前記判定ステップでは、算出された前記類似度が所定の閾値を超えた場合に、電子ファイルを悪質なファイルであると判定する、
媒体。
【請求項１８】
請求項１７に記載の媒体において、
前記命令によって、前記悪質なファイルの削除及び隔離のうちの少なくとも１つを更に実行する、
媒体。
【請求項１９】
請求項１７に記載の媒体において、
前記命令によって、前記電子ファイルを生成するために使用される開発環境に関するデータ、前記電子ファイルをパックしたソフトウェアアプリケーションに関するデータ、及び前記電子ファイルの電子署名のうちの少なくとも１つを抽出する、
媒体。
【請求項２０】
請求項１７に記載の媒体において、
前記命令によって、抽出された前記複数のリソースの人工ニューラルネットを生成することにより、少なくとも１つの前記第１の規則を形成し、
生成された前記人工ニューラルネットのノードは、抽出された前記リソースの分析であり、前記ノード間のリンクは、抽出された前記リソース間の機能的依存性を示す、
媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してアンチウィルス技術に関し、より詳細には、静的分析の要素を使用して悪質なファイルを検出するためのシステム及び方法に関するものである。
【背景技術】
【０００２】
近年のコンピュータ技術の急速な発展は、様々なコンピューティングデバイス（パーソナルコンピュータ、ノートブック、タブレット、スマートフォン等）の広範な使用と同様に、これらのデバイスを様々な活動分野で使用して、膨大な数の問題（インターネットサーフィンから銀行振込や電子文書化まで）を解決するための強力なインセンティブとなっている。
これらのデバイス上で動作するコンピューティングデバイスとソフトウェアの数の増加と並行して、悪質なプログラムの数も急速に増加している。
【０００３】
現在、膨大な種類の悪質なプログラムが存在している。それらの中には、ユーザのデバイスから個人情報や機密情報（ログインやパスワード、銀行情報、電子文書等）を盗むものがある。或いは、力まかせ探索法により他のコンピュータやコンピュータネットワーク上においてパスワードをソートするために、ユーザのデバイスを、分散型サービス拒否（ＤＤＯＳ）攻撃等の攻撃のための、所謂ボットネットへと変えるものもある。更に他には、介入広告、有料購読、有料電話番号へのＳＭＳの送信等を通じて有料コンテンツをユーザへと提供するようなものもある。
【０００４】
特化型の、又はアンチウイルス用のプログラムを使用して、悪質なプログラムの検出、感染の防止、悪質なプログラムに感染したコンピュータシステムの復元等、悪質なプログラムへの対処がなされる。
【０００５】
アンチウイルスプログラムは、以下のような様々な悪質なプログラムを検出するために多様な技術を採用している。
・静的分析―分析中（その際、静的分析を介する）のプログラムを構成するファイルに含まれるデータに基づいた、分析されるプログラムの作業の起動又はエミュレーションを含む、プログラムの有害性の分析を行う。
・署名分析―分析されるプログラムの特定のコードセクションの、悪質なプログラムの署名のデータベースの中から得られた既知のコード（署名）との対応を検索する。
・ホワイトリスト及びブラックリスト―悪質なプログラムのチェックサムのデータベース（ブラックリスト）、又は安全なプログラムのチェックサムのデータベース（ホワイトリスト）内において、分析されるプログラムに対し計算されたチェックサム（又はその一部）を検索する。
・動的分析―分析中のプログラムの作業の実行中又はエミュレーションの過程（その際、動的分析を介する）で得られたデータに基づいて、プログラムの有害性の分析を行う。
・ヒューリスティック分析−分析されるプログラムの作業のエミュレーション、エミュレーションログの生成（ＡＰＩ関数呼び出しに関するデータ、送信されたパラメータ、分析されるプログラムのコードセクション等を含む）、及び悪質なプログラムのエミュレートされた署名に関するデータベースから得られたデータを使用して生成されたログからのデータの対応関係の検索を実行する。
・プロアクティブな保護―分析される実行プログラムのＡＰＩ関数呼び出しの傍受、分析されるプログラムの作業に関するログの生成（ＡＰＩ関数呼び出しに関するデータ、送信されたパラメータ、分析されるプログラムのコードセクション等）、及び悪質なプログラムの呼び出しに関するデータベースから得られたデータを使用して生成されたログからのデータの対応関係を検索する。
【０００６】
静的分析及び動的分析の両方には、それぞれ長所と短所がある。例えば、静的分析は、分析が行われているコンピュータシステムのリソースに対する要求が少なく、分析されるプログラムの実行又はエミュレーションを必要としないので、統計分析はより高速であるが有効性が低い。即ち、悪質なプログラムの検出率が低く、更に（アンチウイルスプログラムによって分析されているファイルが有害であると判断されるがファイル自体は安全であるというような）誤警告の割合が高くなる。動的分析は、分析中のプログラム動作の実行中又はエミュレーション中に得られたデータを使用するため、分析が遅くなり、分析が行われているコンピュータシステムのリソースに対し大きな要求を課すが、一方でその有効性は高い。最新のアンチウイルスプログラムは、静的分析と動的分析の両方の要素を含む複雑な分析を使用する。
【０００７】
既知の技術は、既に検出された悪質なファイル上で使用されているデータに類似したデータが含まれている場合に潜在的な脅威を構成するような悪質なファイルを検出することには優れているが、多くの場合、他の悪質なファイル上で以前に使用されたことのない、又は修正されたデータを利用した新たな悪質なファイルを特定する際の有効性は低い。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本開示は、統計分析の要素を用いて悪質なファイルを検出する際の問題を解決することを可能にする。
【課題を解決するための手段】
【０００９】
本発明によれば、電子ファイルが悪質であるかどうかを判定する方法であって、抽出ステップと、形成ステップと、特定ステップと、計算ステップと、判定ステップと、を備え、前記抽出ステップでは、前記電子ファイルから複数のリソースを抽出し、前記形成ステップでは、１つ又は複数の第１の規則を形成し、前記第１の規則は、抽出された前記複数のリソース間の機能的依存性を確立し、前記特定ステップでは、悪質なファイルのリソースのデータベースにおいて、１つ又は複数の第２の規則を特定し、前記第２の規則は、抽出された前記複数のリソースのうちの１つ又は複数に関連付けられ、前記計算ステップでは、前記第１及び第２の規則を比較して、これらの類似度を計算し、前記判定ステップでは、算出された前記類似度が所定の閾値を超えた場合に、電子ファイルを悪質なファイルであると判定する、方法が提供される。
【００１０】
好ましくは、前記悪質なファイルの削除及び隔離のうちの少なくとも１つを更に実行する。
【００１１】
好ましくは、前記電子ファイルを生成するために使用される開発環境に関するデータ、前記電子ファイルをパックしたソフトウェアアプリケーションに関するデータ、及び前記電子ファイルの電子署名のうちの少なくとも１つを抽出する。
【００１２】
好ましくは、抽出された前記複数のリソースの少なくとも１つのハッシュサムを計算し、
前記悪質なファイルリソースの前記データベースにおいて、計算された前記ハッシュサムに基づいて少なくとも１つの前記第２の規則を特定する。
【００１３】
好ましくは、抽出された前記複数のリソースの人工ニューラルネットを生成することにより、少なくとも１つの前記第１の規則を形成し、生成された前記人工ニューラルネットのノードは、抽出された前記リソースの分析であり、前記ノード間のリンクは、抽出された前記リソース間の機能的依存性を示す。
【００１４】
好ましくは、前記機能的依存性に基づいて、前記データベースにおいて前記少なくとも１つの第２の規則を更に特定する。
【００１５】
好ましくは、アイコンリソース、マニフェストリソース及びダイアログリソースを含む複数のリソースを抽出し、前記リソースの少なくとも２つの間に前記機能的依存性を形成し、前記少なくとも２つのリソース間の形成された機能的依存性に基づいて、少なくとも１つの前記第２のルールを前記データベース内で検索する。
【００１６】
好ましくは、判別分析によりパターン認識に基づいて類似度を更に計算し、前記類似度は、前記第１及び第２のルールにおける前記各リソースの機能的依存性の間におけるものである。
【００１７】
本発明によれば、電子ファイルが悪質であるかどうかを判定するシステムであって、少なくとも１つのデータベースと、少なくとも１つのプロセッサとを備え、前記データベースは、複数の悪質なファイルリソースに関連する複数の規則を格納し、前記プロセッサは、抽出ステップと、形成ステップと、特定ステップと、計算ステップと、判定ステップとを実行するように構成され、前記抽出ステップでは、前記電子ファイルから複数のリソースを抽出し、前記形成ステップでは、１つ又は複数の第１の規則を形成し、前記第１の規則は、抽出された前記複数のリソース間の機能的依存性を確立し、前記特定ステップでは、悪質なファイルのリソースのデータベースにおいて、１つ又は複数の第２の規則を特定し、前記第２の規則は、抽出された前記複数のリソースのうちの１つ又は複数に関連付けられ、前記計算ステップでは、前記第１及び第２の規則を比較して、これらの類似度を計算し、前記判定ステップでは、算出された前記類似度が所定の閾値を超えた場合に、電子ファイルを悪質なファイルであると判定する、システムが提供される。
【００１８】
本発明によれば、コンピュータで実行可能な命令を含む非一時的なコンピュータ可読媒体であって、前記命令は、電子ファイルが悪質であるかどうかを判定するもので、抽出ステップと、形成ステップと、特定ステップと、計算ステップと、判定ステップとを備え、前記抽出ステップでは、前記電子ファイルから複数のリソースを抽出し、前記形成ステップでは、１つ又は複数の第１の規則を形成し、前記第１の規則は、抽出された前記複数のリソース間の機能的依存性を確立し、前記特定ステップでは、悪質なファイルのリソースのデータベースにおいて、１つ又は複数の第２の規則を特定し、前記第２の規則は、抽出された前記複数のリソースのうちの１つ又は複数に関連付けられ、前記計算ステップでは、前記第１及び第２の規則を比較して、これらの類似度を計算し、前記判定ステップでは、算出された前記類似度が所定の閾値を超えた場合に、電子ファイルを悪質なファイルであると判定する、媒体が提供される。
【００１９】
本発明の例示的な態様に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された態様の広範な概要ではなく、全ての態様の重要な又は重要な要素を特定することも本発明の任意の又は全ての態様の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、１つ又は複数の態様を簡略化した形で提示することである。前述の目的を達成するために、本発明の１つ又は複数の態様が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【００２０】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本発明の１つ又は複数の例示的な態様を示し、詳細な説明とともに、それらの基本原理及び実施形態を説明する役割を果たすものである。
【００２１】
【図１】例示的な態様における静的分析の要素を用いて悪質なファイルを検出するためのシステムのブロック図を示す。
【００２２】
【図２】例示的な態様における静的分析の要素を用いて悪質なファイルを検出するための方法のフローチャートを示す。
【００２３】
【図３】開示されたシステム及び方法が例示的な態様に従って実装され得る汎用コンピュータシステム（パーソナルコンピュータ又はサーバであり得る）の例を示す。
【発明を実施するための形態】
【００２４】
様々な態様が図面を参照して説明され、同様の参照番号は全体を通して同様の要素を指すために使用される。以下の説明では、説明のために、１つ又は複数の態様の完全な理解を促進するために、多数の特定の設計詳細が示される。しかしながら、以下に記載する特定の設計詳細を採用することなく、以下に記載される任意の態様を実施することができることは、いくつか又は全ての例において明らかである。他の例では、１つ又は複数の態様の説明を容易にするために、周知の構造及びデバイスがブロック図形式で示されている。以下は、態様の基本的な理解を提供するために、１つ又は複数の態様の簡略化された概要を提示する。この要約は、全ての企図された態様の広範な概観ではなく、全ての態様の重要な又は重要な要素を特定することも、任意又は全ての態様の範囲を描写することも意図していない。
【００２５】
以下の開示は、本開示の多様な態様の説明において使用される多数の定義及び概念を導入する。
【００２６】
「機能的依存性」とは、２つの属性のセット間の関係であり、全ての属性に共通する変換を介して、１つのセットの属性を、もう一方のセットの属性から得ることができる。
【００２７】
「データの類似性」は、数値パラメータ又は「類似度」で記述できるような、データを互いに関連付ける特性であり、既知の距離（「Ｌｅｖｅｎｓｈｔｅｉｎ距離」等）を使用してどのように類似しているかを判断することができる（好ましくは、その値は一般に０〜１の範囲内にあり、０はデータが完全に同一であることを示し、１はデータが全く異なることを意味する）。
【００２８】
図１は、例示的な態様における静的分析の要素を用いて悪質なファイルの検出するためのシステムのブロック図を示す。
【００２９】
図示のように、静的分析の要素を用いて悪質なファイルを検出するためのシステムの構造図は、以下のモジュールのうちの複数を含むことができる。即ち、リソースを抽出するように構成されたモジュール１１０（「リソース抽出モジュール」）、規則を形成するように構成されたモジュール１２０（「規則形成モジュール」）、規則を検索するように構成されたモジュール１３０（「規則検索モジュール」）、規則を比較するように構成されたモジュール１４０（「規則比較モジュール」）、意思決定を実行するように構成されたモジュール１５０（「意思決定モジュール」）、及び、悪質なファイルのリソースのデータベース１６０である。
【００３０】
本明細書で使用する「モジュール」という用語は、例えば、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラム可能なゲートアレイ（ＦＰＧＡ）等の、ハードウェアを使用して、或いは、モジュールの機能を実現するための命令のセット等により、（実行される際に）マイクロプロセッサシステムを専用デバイスへと変換するようなハードウェアとソフトウェアとの組み合わせとして実装されることができる、現実のデバイス、コンポーネント、又はコンポーネントの配列を指す。モジュールは、２つの要素の組み合わせとして実装されても良く、ハードウェアだけで実行可能であるような特定の機能、及びハードウェアとソフトウェアの組み合わせによって実行可能であるような他の機能を備えることができる。
特定の実装形態では、モジュールの少なくとも一部、場合によってはその全てを汎用コンピュータのプロセッサ上で実行することができる。従って、各モジュールは、様々な適切な構成により実現することができ、本明細書に例示された例示的な実装に限定されるわけではない。
【００３１】
例示的な態様によれば、リソースを抽出するように構成されたモジュール１１０は、分析されるファイルからリソースを抽出するように設計されており、更に、抽出されたリソースを、規則を形成するように構成されたモジュール１２０と、規則を検索するように構成されたモジュール１３０へと送信することができる。
【００３２】
このシステムの１つの変形態様では、分析されるファイルは、少なくとも実行可能ファイル又はスクリプトを含むファイルである。
【００３３】
例えば、実行可能ファイルは、ｆｉｌｅｓｅｘｅ（ｅｘｐｌｏｒｅｒ．ｅｘｅ）、．ｄｌｌ（ＯＣＨｅｌｐｅｒ．ｄｌｌ）、ｓｙｓ（ｍｏｕｎｔｍｇｒ．ｓｙｓ）である。
【００３４】
更に別の例では、スクリプトを含むファイルは、第三者の実行可能ファイルを実行するファイルを含むファイルであってもよい（そのスクリプトは、ＡｃｔｉｏｎＳｃｒｉｐｔ言語のスクリプト、スタックバーチャルマシンのＡｄｏｂｅ  Ｆｌａｓｈによって実行可能なスクリプト、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒで呼び出されたＭｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌマクロ、  Ｖｉｓｕａｌ  Ｂａｓｉｃ  ｆｏｒ  Ａｐｐｌｉｃａｔｉｏｎｓのような言語のスクリプト等である）。
【００３５】
システムの更に別の変形態様では、スクリプトを含むファイルは少なくとも、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ（．ｄｏｃ、．ｄｏｃｘ、ｐｐｔ、ｐｐｔｘ、．ｘｌｓ、．ｘｌｓｘ等）Ａｄｏｂｅ  Ａｃｒｏｂａｔ  Ｒｅａｄｅｒ（．ｐｄｆ）、及びＡｄｏｂｅ  Ｆｌａｓｈ  Ｐｌａｙｅｒ（．ｓｗｆ）というＰｏｗｅｒＳｈｅｌｌ言語で書かれたスクリプトを含むファイルである。
【００３６】
本システムの更に別の変形態様では、分析されるファイルのリソースは、少なくとも次のようなものである。即ち、分析されるファイルのリソースセクションに含まれるリソース、分析されるファイルに含まれそのファイルを生成（コンパイル）するために使用された開発環境を記述するデータ、分析されるファイルに含まれデータ及びそのファイルをパッキングするために使用されるソフトウェアを記述するデータ、及び／又は分析されるファイルのデジタル署名に対応するデータである。
【００３７】
例えば、拡張子「．ｅｘｅ」で分析される実行可能ファイルのリソースセクションに含まれるリソースは、カーソル（ＲＴ＿ＣＵＲＳＯＲ）、アイコン（ＲＴ＿ＩＣＯＮ）、ダイアログウィンドウ（ＲＴ＿ＤＩＡＬＯＧ）、メニュー（ＲＴ＿ＭＥＮＵ）、文字列（ＲＴ＿ＳＴＲＩＮＧ）  、ビットマップ（ＲＴ＿ＢＩＴＭＡＰ）等であり、分析されるファイルのセクション「．ｒｓｒｃ」に格納され、ツリーの形で構成される。リソースのメタデータを構成するリソースに関する全ての情報（例えばアイコンに対しては、アイコンの次元、アイコン内の色当たりのビット数、アイコンのタイプ、ビットマップのポインタ等／例えばダイアログに対しては、ダイアログの次元、ダイアログの基本フォントのパラメータ、ダイアログに含まれる要素の数等）は、リソース自体に直接含まれていてもよい。
【００３８】
更に別の例では、（例えば、実行可能ファイル内のソースコードをコンパイルすることで）分析されるファイルを生成するために使用され、開発環境を記述するデータは、開発環境の名前、開発環境のバージョン、分析されるファイルが生成された（又はコンパイルされた）日付である（例えばＭｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｓｔｕｄｉｏ  ２０１５の場合）。開発環境を記述する前述のデータは、分析されるファイルに明示的な形で含まれるのではなく、寧ろ、ある開発環境に特有のシグネチャを使用し分析されるファイルの構造を分析することによって得られる場合があり、その署名は、関数及び／又は実行コードの呼び出しであってもよい。
【００３９】
更に別の例では、分析されるファイルをパッキングするためのソフトウェアを記述するデータは、パッキングを行うプログラムの名前、パッキングを行うプログラムのバージョン、分析されるファイルのパッキングのデータ（ＵＰＸ３．９４等）であってもよい。パッキングソフトウェアを記述する前述のデータは、分析されるファイルに明示的な形で含まれるのではなく、寧ろ、分析される実行可能ファイルのエントリーポイントに位置する実行可能コードの分析によって取得されてもよい（例えば、各パッキングソフトウェアは、パッキングされているファイル内にユニークなアンパックコードを生成するので、もしその特性、即ち、使用されているＡＰＩ関数、オペレータの呼び出し順序等が分かっている場合は、実際のパッケージングソフトウェアを決定することが可能であり、更に前述のアンパックコードの特性は、署名及びビットマスクによって指定することができる）。
【００４０】
更に別の例では、分析されるファイルのデジタル署名に対応するデータは、デジタル署名を発行する組織の名前、及び／又はそのデジタル署名の有効性（真正性）であってもよい。
【００４１】
システムの更に別の変形態様では、リソースを抽出するように構成されたモジュール１１０は、少なくとも以下に基づきリソースの抽出を行う。即ち、分析されるファイルに含まれるリソースの構造に関するデータ、及び／又は抽出されるリソースのメタデータを含む署名である。
【００４２】
例えば、拡張子「．ｅｘｅ」を有する実行可能ファイルにおいて、リソースの構造に関するデータは、そのファイルのヘッダと、リソースセクション「．ｒｓｒｃ」のヘッダに含まれており、そこではツリーが構成され、そのノード内においてリソースそのもの、又はリソースに関するデータが検出される。
【００４３】
システムの更に別の変形態様では、リソースを抽出するように構成されたモジュール１１０は、抽出された各リソースに基づいて、そのリソースのハッシュサムを更に計算し、計算されたハッシュサムを規則を検索するように構成されたモジュール１３０へと送信する。
【００４４】
例えば、ハッシュサムは、画像、メディアデータ、又は非構造化リソースに対するＭＤ５サム（又は単純にＭＤ５）、及び／又は、文字列、メニュー、及び字句データを含む他のリソースに対する字句に基づく畳み込みであってもよい。
【００４５】
更に別の例では、ハッシュサムは知覚ハッシュであり、類似のデータについては同一である。
【００４６】
例示的な態様では、規則を形成するように構成されたモジュール１２０は、得られたリソース間の機能面での依存性を達成するような規則（以下、単に規則）を少なくとも１つ形成するように構成され、ここで、規則は得られたリソースから人工ニューラルネットを作り出すことによって形成され、更にここで、人工ニューラルネットのノードは、得られたリソースの分析を行うためのモジュールであり、ニューラルネットの生成中に形成されるノード間のリンクは、取得されたリソース間の機能面での依存性を示し、形成された各規則を、規則を比較するように構成されたモジュール１４０へと送信する。
【００４７】
システムの１つの変形態様では、規則を形成するように構成されたモジュール１２０は、（例えば、ウイルス分析者又はアンチウィルス企業の自動アンチウィルスアプリケーション等の）第三者によって以前に確立された機能的依存性の全体から、その第三者によって実行されるファイルのリソースの間に規則を形成し、このとき、リソースを抽出するように構成されたモジュール１１０によって抽出されたリソースは、以前に確立された前述の機能的依存性を形成するのに使用されたリソースに類似している。
【００４８】
例えば、ウイルス分析者や自動分析アプリケーション（Ｋａｓｐｅｒｓｋｙ  Ｓｅｃｕｒｉｔｙ  Ｎｅｔｗｏｒｋ等のクラウドサービスのコンテキストで使用される）は、大量の悪質なファイルの分析に基づいて、悪質なファイルのリソース間に特定のリンクを予め確立している。即ち、メインアプリケーションのアイコン（ＲＣ＿ＩＣＯＮ）は、安全なアプリケーションのアイコン（Ｉｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒやＷｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｐｌａｙｅｒ等）と類似しているが、完全には一致しない（類似度は０に近づく傾向があるものの０にはならない。）。また、そこには唯一のダイアログ（ＲＣ＿ＤＩＡＬＯＧ）があり、それはメインウィンドウのダイアログである、といった具合である。
【００４９】
規則を形成するように構成されたモジュール１２０は、これらのリンクを使用して、リソースを抽出するように構成されたモジュール１１０によって分析されるファイルから抽出されたリソース間の機能的依存性を達成する。
【００５０】
システムの更に別の変形態様では、リソースを分析するように構成されたモジュールは、形成された人工ニューラルネットのノードの１つであり、得られたリソースに基づいた所定のアルゴリズムを使用して、上記のリソース間の機能的リンクを記述するデータを生成するように設計されている。
【００５１】
システムの更に別の変形態様では、取得されたリソースに基づいてリソースを分析するように構成されたモジュールの動作の結果は、リソースの畳み込みを構成する。
【００５２】
システムの更に別の変形態様では、リソース分析モジュールは、リソースの処理のためのアルゴリズムを記述するデータであり、このアルゴリズムの実行は、規則を形成するように構成されたモジュール１２０によって直接行われる。
【００５３】
例えば、リソース分析モジュールは、逆アフィン変換を記述するデータであり、画像をアフィノールのセットへと変換する。
【００５４】
更に別の例では、リソース分析モジュールは、テキストから字句を選び出し、選んだ字句からテキストの畳み込みを構成するためのアルゴリズムを記述するようなデータであってもよい。
【００５５】
システムの更に別の変形態様では、リソース分析モジュールは、クラスタ分析を実行するように供給されており、ここで、クラスタは、少なくとも以下により統合されたリソース群である。即ち、分析されるファイル内にある前記リソースのアプリケーション、前記リソースを記述するパラメータの所定の範囲、前記リソースに含まれる字句の分布に対する周波数特性の所定の範囲、及び／又はパターン認識である。
【００５６】
例えば、リソース分析モジュールは、（取得されたリソースである）画像と、（モジュールに含まれる）予め指定された画像とを比較し、上述の画像間の類似度を計算するためのアルゴリズムであってもよい（このとき、例えば「類似している／類似していない」という機能的リンクが達成される）。
【００５７】
システムの更に別の変形態様では、人工ニューラルネットは、リソースを抽出するように構成されたモジュール１１０から得られたリソースに基づき、人工ニューラルネット要素のデータベース１７０内から選択され、ここで、得られた人工ニューラルネットのノード及びリンクは、（例えば、ウイルス分析者又はアンチウィルス会社の自動アンチウィルスアプリケーションによって）予め決定される。上述の人工ニューラルネットを選択した後、規則を形成するように構成されたモジュール１２０は、リソースを抽出するように構成されたモジュール１１０から得られたリソースに基づき、これを学習する。
【００５８】
システムの更に別の変形態様では、規則を形成するように構成されたモジュール１２０は、パーセプトロンの方法を少なくとも使用して人工ニューラルネットを生成する。ここで、Ｓ要素はリソースであり、Ａ要素及びＲ要素はリソース分析の方法であり、これらの要素間のリンクは、前述のリソースのメタデータ、及び／又は畳み込みニューラルネットワーク（ＣＮＮ）に基づいて配置され、ここで、ニューラルネットのノードはリソース及び畳み込みである一方、リンクは前記リソースの畳み込みを実行するリソース分析モジュールである。
【００５９】
システムの更に別の変形態様では、規則を形成するように構成されたモジュール１２０は、機械学習アルゴリズムに基づいて、生成された人工ニューラルネットのノード間のリンクを形成する。
【００６０】
システムの更に別の変形態様では、機械学習の方法を利用して、規則を形成するように構成されたモジュール１２０により、生成された人工ニューラルネットのノード間のリンクが形成され、規則を形成するように構成されたモジュール１２０は教師あり学習を使用する。ここで、教師の役割は、第三者（例えば、ウイルス分析者又はアンチウィルスソフトウェアの自動アンチウィルスソフトウェアアプリケーション）によってなされ、一方で、誤りの訂正は、前記第三者により悪質なファイルのリソースのデータベース１６０を形成する間に分析されたファイルに基づき、（やはり）前記第三者によって予め行われている。
【００６１】
システムの更に別の変形態様では、規則を形成するように構成されたモジュール１２０により、機械学習の方法が使用され、生成された人工ニューラルネットのノード間のリンクが形成され、規則を形成するように構成されたモジュール１２０は、教師あり学習を採用する。ここで、エラーの後方伝播の方法が、人工ニューラルネットに対し教師として使用される。
【００６２】
システムの更に別の変形態様では、規則を形成するように構成されたモジュール１２０は、機能的依存性が確立されたリソースに関する情報を、規則を検索するように構成されたモジュール１３０へと送信し、規則を検索するように構成されたモジュール１３０は、前記情報が取得されたリソースについてのみ、悪質なファイルのリソースのデータベース１６０内において規則の検索を実行する。
【００６３】
規則を検索するように構成されたモジュール１３０は、リソースを抽出するように構成されたモジュール１１０から得られたリソースに基づいて、悪質なファイルのリソースのデータベース１６０内の少なくとも１つの規則を検索するように設計されており、更に（データベース内に）見つかった各規則を、規則を比較するように構成されたモジュール１４０へと送信する。
【００６４】
システムの更に別の変形態様では、規則を検索するように構成されたモジュール１３０は、得られたリソースのハッシュサムに基づいて、悪質なファイルのリソースのデータベース１６０内の少なくとも１つの規則の検索を追加的に実行する。
【００６５】
例えば、悪質なファイルのリソースのデータベース１６０内の各リソースには、そのリソースのＭＤ５が対応する。この場合、規則を検索するように構成されたモジュール１３０に対し検索されるリソースに関して、事前にＭＤ５を計算した上で、計算されたＭＤ５の値に基づき、悪質なファイルのリソースのデータベース１６０内の規則に対し検索が実行される（例えば、二分探索法等による）。
【００６６】
システムの更に別の変形態様では、悪質なファイルのデータベース１６０内の規則を検索する際、規則を検索するように構成されたモジュール１３０は、リソースを抽出するように構成されたモジュール１１０から得られたリソースと、悪質なファイルのリソースのデータベース１６０に含まれ、そこで規則の形成が行われるようなリソースとの間の類似度の判定に基づいて規則を検出する。
【００６７】
例えば、悪質なファイルのリソースのデータベース内の画像に対し、ある１つの画像（抽出されたリソースの１つである）に基づいて検索が実行される場合、規則を検索するように構成されたモジュール１３０は、次の動作を実行する。即ち、
・分析対象のファイルから得られた画像から、ＹＵＶ成分を形成する（ここで、ＹＵＶ成分は、明るさＹ及び２つの色度Ｕ及びＶという指標により、その画像を構成する点の色を表す色モデルにおいて前記画像を記述するデータを構成する）。
・形成された各成分について、色合いの頻度分布が最も暗いもの（０）から最も明るいもの（２５５）までを計算し、２５６成分の距離ベクトルを形成し、データ配列（行データ）を構成する。
・形成されたベクトルは、潜在的なキー（候補キー、以下、単にキー）として使用されるデータ配列（即ち、入力された他のデータの検索を実行するために使用されるデータ）を同様に構成し、悪質なファイルのリソースのデータベース１６０から得られた他の２５６成分の距離べクトルと比較される。そしてこの目的のために、形成されたベクトルとキーとのスカラー積（ベクトル間の角度が計算される）を計算する。
・計算されたスカラー積の値が所定の値よりも小さい場合には、上述のベクトルが形成される基礎となるような画像は、類似しているとみなされる。
【００６８】
システムの更に別の変形態様では、規則を探索するように構成されたモジュール１３０は、リソースの抽出に構成されたモジュールから得られたリソースの、悪質なファイルのリソースのデータベース１６０に含まれる規則を形成する際に基礎として使用されるリソースに対する類似度を計算し、その際、判別関数の分析を介したパターン認識方法が利用される。
【００６９】
システムの更に別の変形態様では、規則を検索するように構成されたモジュール１３０は、悪質なリソースのデータベース１６０内に含まれる規則を定式化するために使用されたリソースのうち、リソース１１０を抽出するように構成されたモジュールから得られたリソースと同じ種類のリソースのみに基づいて、悪質なファイルのリソースのデータベース１６０内の規則に対し検索を実行する。
【００７０】
例えば、悪質なファイルのリソースのデータベース１６０のアイコンに基づいて、規則を検索するように構成されたモジュール１３０は、それらを形成するのにアイコンが使用されたような規則を検出する。例えば、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒアイコンに基づいて、Ｉｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒアイコンのＭＤ５をＭｉｃｒｏｓｏｆｔによって生成されたマニフェスト（ＲＴ＿ＭＡＮＩＦＥＣＴ）に関連付けるような規則が、悪質なファイルのリソースのデータベース１６０内において検出される。
【００７１】
システムの更に別の変形態様では、規則を検索するように構成されたモジュール１３０は、リソースを抽出するように構成されたモジュール１１０から得られ、その間において規則を形成するように構成されたモジュール１２０が機能的依存性を確立しているようなリソースのみに基づいて、悪質なファイルのリソースのデータベース１６０内の規則を追加的に検索する。
【００７２】
例えば、リソースを抽出するように構成されたモジュール１１０は、ファイル「ｅｘｐｌｏｒｅｒ．ｅｘ」から、アイコン「ｉｃｏｎ１．ｉｃｏ」、「ｉｃｏｎ２．ｉｃｏ」、マニフェスト「ｍａｎｉｆｅｓｔ．ｔｘｔ」及びメインウィンドウダイアログ「ＤＩＡＬＯＧ＿１」を抽出する。規則を形成するように構成されたモジュール１２０は、アイコン「ｉｃｏｎ１．ｉｃｏ」とダイアログ「ＤＩＡＬＯＧ＿１」との間の機能的依存性を確立する（アイコン「ｉｃｏｎ１．ｉｃｏ」はダイアログ「ＤＩＡＬＯＧ＿１」からのボタンに示されている）。規則を検索するように構成されたモジュール１３０は、悪質なファイルのリソースのデータベース１６０内の規則を検索するために、アイコン「ｉｃｏｎ１．ｉｃｏ」とダイアログ「ＤＩＡＬＯＧ＿１」のみをキーとして使用し、アイコン「ｉｃｏｎ２．ｉｃｏ」は、マニフェスト「ｍａｎｉｆｅｃｔ」は無視される。
【００７３】
規則を比較するように構成されたモジュール１４０は、規則を形成するように構成されたモジュール１２０から得られた規則と、規則を検索するように構成されたモジュール１３０との間の類似度を計算するように設計されており、更に、計算された類似度を、判断を行うように構成されたモジュール１５０へと送信する。
【００７４】
システムの１つの変形態様では、類似度は、０（規則は同一）から１（規則は異なる）までの間の数値である。
【００７５】
例えば、各々５つの構成要素を有する２つの規則に対し、１つの規則のうち４つの構成要素がもう１つの規則の４つの構成要素と同一であり、残りの２つの構成要素同士が異なる場合、これら２つの規則は０．２の類似度を持つ、ということになる。
【００７６】
システムの更に別の変形態様では、規則を比較するように構成されたモジュール１４０は、判別分析を用いながら、パターン認識の方法を使用して規則間の類似度を計算する。
【００７７】
システムの更に別の変形態様では、規則を形成するように構成されたモジュール１２０又は規則を検索するように構成されたモジュール１３０から少なくとも２つの規則が得られた場合、規則を比較するように構成されたモジュール１４０は、次の計算を行うように更に構成される。即ち、少なくとも２つの規則対に対して類似度の計算を行うこと（ここで、その内１つの規則は規則を形成するように構成されたモジュール１２０から得られ、もう一方の規則は規則を検索するように構成されたモジュール１３０から得られていて、更にここで、少なくとも２つの規則対は、規則を形成するように構成されたモジュール１２０、又は規則を検索するように構成されたモジュール１３０の中から異なる規則を含んでいる）、そして、類似度の合計を、以前に計算された類似度の中心傾向の計測値として、及び／又は以前に計算された類似度のファジーハッシュとして計算を行うこと、である。
【００７８】
例えば、規則を形成するように構成されたモジュール１２０は、リソース＃１、リソース＃２、リソース＃３、規則ｒ＿１、ｒ＿２に基づいて定式化され、規則を検索するように構成されたモジュール１３０が規則ｍ＿１を検出したとする。このとき、規則を比較するように構成されたモジュール１４０は次のように類似度を計算する：
ｒ＿１→  ｍ＿１＝０．２５１
ｒ＿２→  ｍ＿１＝０．３７４
更に、以前に計算された類似度の算術平均として類似度の合計を計算する：
｛ｒ＿ｉ｝→  ｍ＿１＝０．３１２５
【００７９】
判断を行うように構成されたモジュール１５０は、得られた類似度が所定の閾値を超えた場合に、分析されるファイルを悪質であると判断するように設計されている。
【００８０】
システムの１つの変形態様では、類似性の閾値は、悪質なファイルのリソースのデータベース１６０に含まれる規則の統計分析に基づいて、第三者（ウィル分析者又はアンチウィルス会社の自動アンチウィルスソフトウェアアプリケーション等）によって事前に設定され、それは、判断を行うように構成されたモジュール１５０によってなされ、第三者によって分析された安全なファイルに対しての有害性に関する判断結果が否定的であり、一方で、悪質なファイルに対しての結果が肯定的であるように設定される。
【００８１】
例えば、悪質なファイルのリソースのデータベース１６０を生成する場合、１つ又は複数の自動ソフトウェアアプリケーションを介して、ウイルス分析者が１０００個のファイルを分析し、そのうちの６５９個は悪質であると判明し、残りの３４１個は安全であったとする。まず、分析された悪質なファイルのリソースに基づいて規則が定式化され、悪質なファイルのリソースのデータベース１６０へと入力される。この後、分析された１０００個のファイルの各々について、分析されたファイルのリソースに基づいて定式化された規則と、生成された、悪質なファイルのリソースのデータベース１６０に含まれる規則との類似度が計算される。計算された類似度に基づいて、類似度の閾値が以下の式に従って設定される。
ｓ＿ｌｉｍｉｔ＝ａｖｅ（ｍｉｎ（｛ｓ＿ｃｌｅａｎ｝），ｍａｘ（｛ｓ＿ｍａｌｖａｒｅ｝））
ここで、ｓ＿ｌｉｍｉｔは類似度の閾値、ｓ＿ｃｌｅａｎは安全なファイルの類似度、ｓ＿ｍａｌｖａｒｅは悪質なファイルの類似度、である。
【００８２】
システムの更に別の変形態様では、判断を行うように構成されたモジュール１５０は、判断を行うように構成されたファイルが、分析されるファイルが悪質であると判断するした場合において更に、規則を形成するように構成されたモジュール１２０によって形成されるように、少なくとも１つの規則を、悪質なファイルのリソースのデータベース１６０へと追加的に入力する。
【００８３】
例えば、リソースを抽出するように構成されたモジュール１１０によって、分析されるファイル「ｖｉｄｅｏ．ａｖｉ．ｅｘｅ」から抽出されたリソース｛ｄ＿ｉ｝に基づいて、規則を形成するように構成されたモジュール１２０は、規則｛ｒ＿ｉ｝を定式化し、これは、判断を行うように構成されたモジュール１５０が、分析されるファイルが悪質であると判断したことに基づいている。判断を行うように構成されたモジュール１５０は、リソース｛ｄ＿ｉ｝をキーとして、規則｛ｒ＿ｉ｝を、悪質なファイルのリソースのデータベース１６０へと入力する。
【００８４】
悪質なファイルのリソースのデータベース１６０は、各規則が、少なくとも１つリソースと、当該の悪質なファイルのリソースとの間に機能的依存性を確立するような、少なくとも２つの規則を含むデータベースである。
【００８５】
システムの１つの変形態様では、悪質なファイルのリソースのデータベース１６０は、ファイルの分析が行われるようなコンピューティングデバイス（クライアント）上のアンチウィルス会社（サーバ）によって提供される。
【００８６】
システムの更に別の変形態様では、悪質なファイルのリソースのデータベース１６０のデータベースに格納された各規則は、少なくとも１つのキーに対応しており（それにより規則を検索するように構成されたモジュール１３０は規則に対する検索を実行する）、そのキーとしては、上記規則を形成するために用いられるリソースの少なくとも１つ、及び上記規則を形成するために使用されたリソースのハッシュサムが使用されている。
【００８７】
システムの更に別の変形態様では、１つの同じ悪質なファイルのリソース間の機能的リンクを確立する規則が、第三者（ウイルス分析者又はアンチウィルス会社の自動アンチウィルスソフトウェアアプリケーション等）によって事前に定式化され、悪質なファイルのリソースのデータベース１６０へと入力され、そして、その後でのみ、悪質なファイルのリソースのデータベース１６０は、静的分析の要素を用いて悪質なファイルの検出のためのシステムに提供される上述の規則を含んでいる。
【００８８】
システムの更に別の変形態様では、悪質なファイルのリソースのデータベース１６０は、判断を行うように構成されたモジュール１５０を介して、規則を形成するように構成されたモジュール１２０によって定式化された規則を入力するように更に設計される。
【００８９】
人工ニューラルネットの要素のデータベース１７０は、（例えば、分析された悪質なファイルに基づいてウイルス分析者又はアンチウイルス会社の自動アンチウィルスソフトウェアアプリケーションによって）予め生成された、人工ニューラルネットのノードであるリソース分析モジュールの集合体を構成している前記人工ニューラルネット、及び前記人工ニューラルネットのノード間のリンクを特徴付ける重み係数と、のうち少なくとも１つを含むデータベースである。
【００９０】
システムの１つの変形態様では、人工ニューラルネットの要素のデータベース１７０は、ファイルの分析が行われるコンピューティングデバイス（クライアント）上のアンチウィルス会社（サーバ）によって提供される。
【００９１】
システムの更に別の変形態様では、人工ニューラルネットは、リソース｛ｄ＿ｉ｝の分析アルゴリズム｛Ａ＿ｉ｝と、｛Ａ＿ｉ｝の間のリンクを特徴付ける重み係数｛ｗ＿ｉ｝を記述するデータを構成する。即ち、
【数１】
2019003596.tif 000003
を得る。ここでｎは、リソースを抽出するように構成されたモジュール１１０によって抽出されたリソースの数であり、ｍは、リソースの分析アルゴリズム｛Ａ＿ｉ｝の数であり、ｒ＿ｉは、分析アルゴリズム｛Ａ＿ｉ｝によって定式化されるような、全てのリソース｛ｄ＿ｉ｝のセット間のｉ番目の機能的依存性であり、ここでは、個々のリソースｄ＿ｊについて個々の重み付け係数ｗ＿ｉｊが使用され、人工的なコンピュータネットワークが学習を行う間に修正され得る。
【００９２】
例えば、アプリケーション"Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ"のグラフィックインターフェイスを模倣するようなグラフィックインターフェイスを有するアプリケーションである、ファイル"ｍｏｖｉｅ．ａｖｉ．ｅｘｅ"の有害性を決定する例において、悪質なファイルの検出システムが静的分析の要素を使用して動作している場合、システムは次のように動作する。
【００９３】
１つの態様では、リソースを抽出するように構成されたモジュール１１０は、分析されるファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」から以下のリソースを抽出する。即ち、
リソースセクションから：Ｗｉｎｄｏｗｓリソースの「．ｒｓｒｃ」、アプリケーション「ｍａｉｎ．ｉｃｏ」のメインアイコン（ＲＣ＿ＩＣＯＮ）、マニフェスト「ｍａｎｉｆｅｓｔ．ｔｘｔ」（ＲＣ＿ＭＡＮＩＦＥＳＴ）、メインウィンドウダイアログ「ＤＩＡＬＯＧ＿Ｍａｉｎ」（ＲＣ＿ＤＩＡＬＯＧ）、メインウィンドウメニュー「ＭＥＮＵ＿Ｍａｉｎ」（ＲＣ＿ＭＥＮＵ）。
コードセクションから：ファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」の生成に使用された開発環境に関する「．ｔｅｘｔ」データ、開発環境「Ｅｍｂａｒｃａｄｅｒｏ  Ｄｅｌｐｈｉ  １０．２」の名称とバージョン。
データセクションから：ファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」のパッキングソフトウェア上の「ｄａｔａ」データ、パッキングソフトウェア「ＡＳＰｒｏｔｅｃｔ  ３２（ＳＫＥ）２．７０」の名称とバージョン。
【００９４】
リソースを抽出するように構成されたモジュール１１０から得られたリソースを使用して、規則を形成するように構成されたモジュール１２０は、人工ニューラルネットの要素のデータベース１７０から選択された人工ニューラルネットに対し教師として機能する。この目的のために、クラスタ分析の手法を介して、規則を形成するように構成されたモジュール１２０は、類似の特性又は同様の関係を有するリソースを選択し、（例えば、特定のアイコンは他のアイコンに類似し、他のクラスタを形成する）を選択し、選択されたリソースを人工ニューラルネットのための入力パラメータとして使用してリンクを形成し、そこでは「教師あり教示」が使用され、ウイルス分析者によりファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」と振る舞いが類似しているファイル上に事前に形成されたリンクを基礎としている。生成された人工ニューラルネットが教示された後、即ち、人工ニューラルネットのノード間にリンクが形成された場合（ニューラルネットの要素間の重み係数が計算された場合）、規則を形成するように構成されたモジュール１２０は、リソースを抽出するように構成されたモジュール１１０によって抽出されたリソース間の機能的依存性を確立するような規則を（次のように）形成する：
ｒ＿１：    ｍａｉｎ．ｉｃｏ  →  ｍａｎｉｆｅｓｔ．ｔｘｔ  （"Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ"）
ｒ＿２：    "Ｅｍｂａｒｃａｄｅｒｏ  Ｄｅｌｐｈｉ"    →  ｍａｎｉｆｅｓｔ．ｔｘｔ  （"Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ"）
ｒ＿３：    "ＡＳＰｒｏｔｅｃｔ  ３２  （ＳＫＥ）  ２．７０"    →  ｍａｉｎ．ｉｃｏ
ｒ＿４：    ＤＩＡＬＯＧ＿Ｍａｉｎ  →  ＭＥＮＵ＿Ｍａｉｎ
【００９５】
言い換えれば、アイコン「ｍａｉｎ．ｉｃｏ」は「Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ」という名前のアプリケーションに属し、「Ｄｅｌｐｈｉ」という言語で書かれ、アプリケーション「ＡＳＰｒｏｔｅｃｔ」のを介してパッキングされている。更に、メインウィンドウダイアログ「ＤＩＡＬＯＧ＿Ｍａｉｎ」はメインウィンドウメニュー「ＭＥＮＵ＿Ｍａｉｎ」にリンクされている。
【００９６】
リンクＤＩＡＬＯＧ＿Ｍａｉｎ→ＭＥＮＵ＿Ｍａｉｎは自明であるので（アプリケーションを形成する規則によれば、ファイルが安全であるか悪質であるかに関係なく、或いは、アプリケーションに含まれるリソース等に関係なく、メインウィンドウダイアログは常にメインウィンドウメニューへとリンクされているため）、悪質なファイルのリソースのデータベース１６０内において上記のリソースを検索することはない。
【００９７】
この例では、規則を検索するように構成されたモジュール１３０は、リソース「ＤＩＡＬＯＧ＿Ｍａｉｎ」及び「ＭＥＮＵ＿Ｍａｉｎ」を除いて、リソースを抽出するように構成されたモジュール１１０によってファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」から抽出されたリソースｍａｉｎ．ｉｃｏ、ｍａｎｉｆｅｓｔ．ｔｘｔ、「Ｅｍｂａｒｃａｄｅｒｏ  Ｄｅｌｐｈｉ」、「ＡＳＰｒｏｔｅｃｔ  ３２（ＳＫＥ）２．７０」に対する知覚ハッシュサムを計算し、悪質なファイルのリソースのデータベース１６０内の規則に対し計算された知覚ハッシュサムに基づいて検索を実行する。
規則を検索する際、規則を検索するように構成されたモジュール１３０は、抽出されたファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」のリソースからの知覚ハッシュサムを使用するので、ファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」から抽出されたリソースと類似しているような（必ずしも同一ではない）、悪質なファイルのリソース間の機能的依存性を確立する規則が検出される。
【００９８】
検索の結果、規則を検索するように構成されたモジュール１３０は、悪質なファイルのリソースのデータベース１６０から規則ｍ＿１を選択し、機能的依存性を確立する。即ち、
Ａｐｐ＿ｍａｉｎ．ｉｃｏ→ａｐｐ＿ｍａｎｉｆｅｓｔ．ｉｎｆｏ（"Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ"）
"Ｅｍｂａｒｃａｄｅｒｏ  Ｄｅｌｐｈｉ"→ａｐｐ＿ｍａｎｉｆｅｓｔ．ｉｎｆｏ（  "Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ"）
そして、これを規則を比較するように構成されたモジュール１４０へと送信する。
【００９９】
規則を比較するように構成されたモジュール１４０は、規則を形成するように構成されたモジュール１２０によって定式化された規則｛ｒ＿ｉ｝と、規則を検索するように構成されたモジュール１３０から得られる規則ｍ＿１との間の類似度を計算する。即ち、
ｓ＿１（ｒ＿１→ｍ＿１）＝０．０２１
ｓ＿２（ｒ＿２→ｍ＿１）＝０．１７８
ｓ＿３（ｒ＿３→ｍ＿１）＝０．１０５，
ここで、規則を形成するように構成されたモジュール１２０が機能的依存性（ＤＩＡＬＯＧ＿Ｍａｉｎ、ＭＥＮＵ＿Ｍａｉｎ）を決定するようなリソースが、リソースを検索するように構成されたモジュール１３０によって、悪質なファイルのデータベース１６０内において規則の検索を行うのに使用されなかったため、類似度ｒ＿４→ｍ＿１についての計算は行われない。次に、規則を比較するように構成されたモジュール１４０は、類似度の合計を、以前に計算された類似度の幾何平均として計算する。即ち、
【数２】
2019003596.tif 000004
そして、得られた類似度の値を、判断を行うように構成されたモジュール１５０へと送信する。
【０１００】
判断を行うように構成されたモジュール１５０は、得られた０．０７３という類似度の値を０．２０３という所定の閾値と比較する。取得された類似度が所定の閾値を超えていないので、判断を行うように構成されたモジュール１５０は、分析されたファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」の有害性に関する決定を発する。
【０１０１】
従って、「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」というファイルは悪質であると判定され、その後、静的分析の要素を用いて悪質なファイルを検出するシステムを含むアンチウイルスプログラムは、少なくとも悪質なファイルが存在することをユーザへと通告し、更に、ファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」の実行をブロックし、コンピュータシステムからファイル「ｍｏｖｉｅ．ａｖｉ．ｅｘｅ」を孤立化（即ち隔離）又は削除する。
【０１０２】
図２は、例示的な態様における静的分析の要素を使用して悪質なファイルを検出するための方法のフローチャートを示す。
【０１０３】
図示されているように、図２のフローチャートは、静的分析の要素を用いて悪質なファイルの検索を行うための方法を示しており、分析されるファイルからリソースが抽出されるステップ２１０と、規則が形成されるステップ２２０と、規則の検索が実行されるステップ２３０と、規則間の類似度を計算するステップ２４０と、分析対象のファイルの有害性を判定するステップ２５０と、を含む。
【０１０４】
例えば、ステップ２１０において、リソースを抽出するように構成されたモジュール１１０は、上述のように、分析されるファイルからリソースを抽出するために使用される。更に、ステップ２２０において、規則を形成するように構成されたモジュール１２０を使用して、抽出されたリソース間の機能的依存性を達成するような規則（以下、単に規則）が、例えば抽出されたリソースから人工ニューラルネットが生成されることにより、少なくとも１つ形成され、ここで、抽出されたリソースは人工ニューラルネットのノードであり、更に、前記ニューラルネットの生成中に生成されるこれらのノード間のリンクは、抽出されたリソース間の機能的依存性を示している。
【０１０５】
更に、ステップ２３０において、規則を検索するように構成されたモジュール１３０を使用して、検索が実行され、その際、上述のように、ステップ２１０で抽出されたリソースに基づいて悪質なファイルのリソースのデータベース１６０内において少なくとも１つの規則が更に検出される。次に、ステップ２４０において、規則を比較するように構成されたモジュール１４０を使用して、上述のように、ステップ２２０で定式化されステップ２３０で検出された各規則の間の類似度が計算される。最後に、ステップ２５０において、判断を行うように構成されたモジュール１５０を使用して、計算された類似度が所定の閾値を超える場合に、分析されるファイルが悪質であると判断される。分析されるファイルが悪質であると判断された場合、システムは、既知の技術に従って、ファイルを削除そして隔離し、及び／又はユーザに警告する等の他の是正措置を実行するように構成されていてもよい。
【０１０６】
図３は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータ・システム（パーソナル・コンピュータやサーバ等）の例を示している。図示の通り、パソコン２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来から公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティング・システムをロードする際等、パソコン２０の要素間の情報の伝達を担う基本的な手順を含む。
【０１０７】
パソコン２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、及び光学式ドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、及び光学式ドライブインターフェース３４それぞれを横切るシステムバス２３と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びパソコン２０の他のデータのストレージのための電源依存のモジュールである。
【０１０８】
本発明は、ハードディスク２７、取り外し可能な磁気ディスク２９及び取り外し可能な光学ディスク３１を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたし。また、これはコントローラ５５を介してシステムバス２３に接続される。
【０１０９】
パソコン２０は、ファイルシステム３６を有し、記録されたオペレーティング・システム３５を保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、及びプログラムデータ３９を有する。ユーザは、入力機器（キーボード４０、マウス４２）を用いてコマンドと情報をパソコン２０に入力することができる。他の入力機器（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力機器は、通常、システムバスに次々接続しているシリアルポート４６を通じてパソコン２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェースと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力機器（不図示）を接続できる。
【０１１０】
パソコン２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図４に示すように、パソコン２０の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【０１１１】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータ・ネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェース５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法（Ｂｌｕｅｔｏｏｔｈ等）もあることに留意されたい。
【０１１２】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及び方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読媒体の１つ又は複数の指示又はコードとして保存され得る。コンピュータ可読媒体は、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【０１１３】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【０１１４】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【０１１５】
本明細書で開示された様々な側面は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、側面及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
2019003596.tif 000005
【図２】
2019003596.tif 000006
【図３】
2019003596.tif 000007
【外国語明細書】
2019003596000001.pdf