(57)【要約】      （修正有）【課題】悪意のあるファイルの識別精度を向上させる、ファイル識別方法及び装置を提供する。【解決手段】ファイル識別方法は、ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定するステップ２０１と、各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、ウィルスファミリを少なくとも１つのサンプルグループに分けるステップ２０２と、異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得するステップ２０３と、少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定するステップ２０４とを含む。【選択図】図２
2017004489.tif 000002
【特許請求の範囲】
【請求項１】
ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定するステップと、
各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、前記ウィルスファミリを少なくとも１つのサンプルグループに分けるステップと、
異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得するステップと、
前記少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定するステップと
を含むことを特徴とするファイル識別方法。
【請求項２】
前記少なくとも１つのサンプルグループは軽量級サンプルグループ、中量級サンプルグループ及び重量級サンプルグループを含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記の異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得するステップにおいて、
前記軽量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して特徴ベクトルトレーニングを行い、軽量級ファイル識別モデルを取得するステップと、
前記中量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して論理演算トレーニングを行い、中量級ファイル識別モデルを取得するステップと、
前記重量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して複数のサブモデルの総合的なトレーニングを行い、前記複数のサブモデルの集合を重量級ファイル識別モデルとするステップと
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記サンプルグループにおける新たに増加された悪意のあるファイルの数が予め設定された閾値より大きいか否かを検出するステップと、
前記サンプルグループにおける新たに増加された悪意のあるファイルの数が予め設定された閾値より大きいと、前記サンプルグループにおける悪意のあるファイルサンプル及び前記新たに増加された悪意のあるファイルをトレーニングし、更新後のファイル識別モデルを取得するステップと、
前記サンプルグループの現在のファイル識別モデルを前記更新後のファイル識別モデルに置き換えるステップと
を更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ファイルサンプルに基づいて、前記更新後のファイル識別モデル及び前記現在のファイル識別モデルをそれぞれ評価し、第１の評価結果及び第２の評価結果を取得するステップと、
予め設定された時間内に新たに増加されたファイルに基づいて、前記更新後のファイル識別モデルを評価し、第３の評価結果を取得するステップと、
前記第１の評価結果が前記第２の評価結果より優れており、且つ前記第３評価結果が予め設定された条件を満たす場合に、前記置換を実行するステップと
を更に含んでおり、
ここで、前記評価結果が検出率及び／または誤報率を含むことを特徴とする、請求項４に記載の方法。
【請求項６】
ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定する確定モジュールと、
各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、前記ウィルスファミリを少なくとも１つのサンプルグループに分けるグループ化モジュールと、
異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得するトレーニングモジュールと、
前記少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定する識別モジュールと
を備えることを特徴とするファイル識別装置。
【請求項７】
前記少なくとも１つのサンプルグループは軽量級サンプルグループ、中量級サンプルグループ及び重量級サンプルグループを含むことを特徴とする、請求項６に記載の装置。
【請求項８】
前記トレーニングモジュールは、
前記軽量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して特徴ベクトルトレーニングを行い、軽量級ファイル識別モデルを取得する第１のトレーニングユニットと、
前記中量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して論理演算トレーニングを行い、中量級ファイル識別モデルを取得する第２のトレーニングユニットと、
前記重量級サンプルグループにおける悪意のあるファイルサンプル及び悪意のない１グループのファイルサンプルに対して複数のサブモデルの総合的なトレーニングを行い、前記複数のサブモデルの集合を重量級ファイル識別モデルとする第３のトレーニングユニットと
を備えることを特徴とする請求項７に記載の装置。
【請求項９】
前記装置は、
前記サンプルグループにおける新たに増加された悪意のあるファイルの数が予め設定された閾値より大きいか否かを検出する検出モジュールと、
前記新たに増加された悪意のあるファイルの数が予め設定された閾値より大きい場合に、前記サンプルグループにおける悪意のあるファイルサンプル及び前記新たに増加された悪意のあるファイルをトレーニングし、更新後のファイル識別モデルを取得する更新モジュールと、
前記サンプルグループの現在のファイル識別モデルを前記更新後のファイル識別モデルに置き換える置換モジュールと
を更に備えることを特徴とする請求項６に記載の装置。
【請求項１０】
前記装置は、
前記ファイルサンプルに基づいて、前記更新後のファイル識別モデル及び前記現在のファイル識別モデルをそれぞれ評価し、第１の評価結果及び第２の評価結果を取得する第１の評価モジュールと、
予め設定された時間内に新たに増加されたファイルに基づいて、前記更新後のファイル識別モデルを評価し、第３の評価結果を取得する第２の評価モジュールと
を更に備えており、
前記置換モジュールは、更に前記第１の評価結果が前記第２の評価結果より優れており、且つ前記第３評価結果が予め設定された条件を満たす場合に、前記置換を実行し、
ここで、前記評価結果が検出率及び／または誤報率を含むことを特徴とする、請求項９に記載の装置。
【請求項１１】
ファイル識別システムであって、
プロセッサと、
記憶部と
を備えており、
前記記憶部はコンピュータ可読命令を記憶し、前記コンピュータ可読命令が前記プロセッサより実行される場合に、前記プロセッサは、
ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定し、
各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、前記ウィルスファミリを少なくとも１つのサンプルグループに分け、
異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得し、
前記少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定するように操作可能であることを特徴とする、ファイル識別システム。
【請求項１２】
不揮発性のコンピュータ記憶媒体であって、コンピュータ可読命令を記憶しており、前記コンピュータ可読命令がプロセッサより実行される場合に、前記プロセッサは、
ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定し、
各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、前記ウィルスファミリを少なくとも１つのサンプルグループに分け、
異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得し、
前記少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定するように操作可能であることを特徴とする、不揮発性のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はコンピュータ技術分野に関し、具体的にはコンピュータセキュリティ技術分野に関し、特にファイル識別方法及び装置に関する。
【背景技術】
【０００２】
コンピュータウィルスはプログラムの特別な種類とみなされてもよく、それらは通常、様々なコンピュータファイルに隠され、ユーザが関知せず許可していない状況でユーザのコンピュータシステムに入り込んで違法な攻撃を行う。ユーザデータのセキュリティを確保するために、まずコンピュータウィルスを含む悪意のあるファイルを識別し、次にそれによる破壊を防ぐことが必要である。
【０００３】
従来の技術では、悪意のあるファイルを識別する場合、通常、単一のデータマイニング手法を使用して既存のファイルサンプルをトレーニングして、それから取得されたトレーニングモデルで未知のファイルを識別する。しかしながら、コンピュータ技術が発展し続けるにつれて、ファイルサンプルの数はますます多くなり、コンピュータウィルスの種類もますます複雑になっている。これは、従来技術におけるモデルのトレーニング時間が大幅に増加するとともに、悪意のあるファイルの識別精度が大幅に減少する問題をもたらしてしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術における上記欠陥や不備に鑑みて、リアルタイムで識別精度が高いプログラムを提供することが期待されている。上記１つまたは複数の目的を達成するために、本願はファイル識別方法及び装置を提供する。
【課題を解決するための手段】
【０００５】
本願の第１の態様では、ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定するステップと、各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、前記ウィルスファミリを少なくとも１つのサンプルグループに分けるステップと、異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得するステップと、前記少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定するステップと、を含むファイル識別方法を提供する。
【０００６】
本願の第２の態様では、ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定する確定モジュールと、各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、前記ウィルスファミリを少なくとも１つのサンプルグループに分けるグループ化モジュールと、異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得するトレーニングモジュールと、前記少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定する識別モジュールと、を備えるファイル識別装置を提供する。
【発明の効果】
【０００７】
本願に係るファイル識別方法及び装置は、まず悪意のあるファイルサンプルのウィルスファミリでの分布状況に基づいて、悪意のあるファイルサンプルをグループ化して、それから各グループのサンプルをそれぞれトレーニングして異なる識別モデルを取得し、最後に複数のモデルでファイル識別を同時に行う。サンプル分布が異なるファイルサンプルをグループ化してトレーニングすることにより、モデルのトレーニング時間を低減させるとともに、モデルが悪意のあるファイルに対しての識別精度を向上させることができる。
【０００８】
以下の図面を参照しながら非限定的な実施例を詳しく説明することにより、本願の他の特徴、目的及び利点はより明らかになる。
【図面の簡単な説明】
【０００９】
【図１】本願の実施例を適用する例示的なシステムアーキテクチャを示す図である。
【図２】本願の一実施例に係るファイル識別方法を示す例示的なフローチャートである。
【図３】本願に係るウィルスファミリの累積分布関数を示す例示的な概略図である。
【図４】本願の他の実施例に係るファイル識別方法を示す例示的なフローチャートである。
【図５】本願の実施例に係るファイル識別装置を示す構造概略図である。
【図６】本願の実施例を実現するに適する端末装置またはサーバのコンピュータシステムを示す構造概略図である。
【発明を実施するための形態】
【００１０】
以下、図面及び実施例を参照しながら、本願をさらに詳しく説明する。ただし、ここで説明する具体的な実施例はかかる発明を解釈するためのものに過ぎず、本発明の範囲を制限するものではないことを理解すべきである。なお、説明の便宜上、図面に本発明と関連する部分のみが示されている。
【００１１】
ただし、衝突がない限り、本願における実施例及び実施例における特徴は互いに組み合せてもよい。以下、図面を参照しながら実施例に基づいて本願を詳しく説明する。
図１は本願の実施例を適用する例示的なシステムアーキテクチャ１００を示す図である。
【００１２】
図１に示すように、システムアーキテクチャ１００は、端末装置１０１、１０２、ネットワーク１０３及びサーバ１０４を含んでもよい。ネットワーク１０３は端末装置１０１、１０２とサーバ１０４との間に通信リンクの媒体を提供するものである。ネットワーク１０３はそれぞれの接続タイプ、例えば有線、無線通信リンク又は光ファイバケーブル等を含んでもよい。
【００１３】
ユーザ１１０は、メッセージ等を受信したり送信したりするために、端末装置１０１、１０２を使用してネットワーク１０３を介してサーバ１０４と対話することができる。端末装置１０１、１０２には、様々な通信クライアントアプリケーション、例えばインスタントコミュニケーションツール、電子メールクライアント、ソーシャルプラットフォームソフトウェア等がインストールされてもよい。
【００１４】
端末装置１０１、１０２は様々な電子機器であってもよく、パソコン、スマートフォン、スマートウォッチ、タブレットＰＣ、パーソナルデジタルアシスタント等を含んでもよいが、これらに限定されるものではない。
【００１５】
サーバ１０４は様々なサービスを提供するサーバであってもよい。サーバは受信されたデータに対して記憶、分析等の処理を行い、処理結果を端末装置にフィードバックすることができる。
【００１６】
ただし、本願の実施例に係るファイル識別方法は端末装置１０１、１０２で実行されてもよく、サーバ１０４で実行されてもよく、ファイル識別装置は端末装置１０１、１０２に設置されてもよく、サーバ１０４に設置されてもよい。いくつかの実施例では、ファイル識別モデルはサーバ１０４においてトレーニングされてもよく、トレーニングされた後のファイル識別モデルは悪意のあるファイルを識別するように端末装置１０１、１０２に記憶されてもよい。例えば、ファイルを識別する時に、ネットワーク１０３がスムーズである場合に、サーバ１０４によりファイル識別を行った後に、悪意のあるファイルであるか否かをフィードバックすることができ、ネットワークがないまたはネットワーク１０３がスムーズではない場合に、端末装置１０１、１０２によりファイル識別を行い、ファイルが悪意のあるファイルであるか否かを直接に判断することができる。
【００１７】
図１における端末装置、ネットワーク及びサーバの数が例示的なものに過ぎないと理解すべきである。必要に応じて、任意の数の端末装置、ネットワーク及びサーバを備えてもよい。
【００１８】
図２を更に参考し、図２は本願の一実施例に係るファイル識別方法を示す例示的なフローチャートである。
図２に示すように、ステップ２０１では、ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定する。
【００１９】
本実施例では、サーバまたは端末装置は、まずトレーニングするためのファイルサンプルを取得して、それからファイルサンプルにおけるそれぞれの悪意のあるファイルサンプルのウィルスファミリを確定してもよい。ファイルサンプルには複数の悪意のあるファイルサンプル及び複数の悪意のないファイルサンプルを含んでもよい。悪意のないファイルサンプルは、ユーザでマークアップされた悪意のないファイル、ユーザが頻繁に使用するファイル、ユーザと頻繁に対話する相手装置で送信されたファイル及びネットワークデータベースに保存されている悪意のないファイル等であってもよい。一方、悪意のあるファイルサンプルはユーザが報告したファイル及びネットワークデータベースに保存されている悪意のあるファイル等であってもよい。
【００２０】
それぞれの悪意のあるファイルサンプルに１つのコンピュータウィルスが隠れることができるので、それぞれの悪意のあるファイルサンプルが所属するウィルスファミリを確定することができる。従来技術では、ウィルスの特性に従ってコンピュータウィルスを分類して命名することができ、通常のフォーマットは、＜ウィルスのプレフィックス＞．＜ウィルス名＞．＜ウィルスのサフィックス＞である。ウィルスのプレフィックスはウィルスの種類を指し、ウィルスの分類を区別するために使用されてもよく、例えば、トロイの木馬ウィルスのプレフィックスがＴｒｏｊａｎ、ワームウィルスのプレフィックスがＷｏｒｍである。ウィルス名はウィルスのファミリ特徴を指し、ウィルスのファミリを区別して識別するために使用されてもよく、例えば、サッサーワームウィルスのファミリ名が「Ｓａｓｓｅｒ」である。ウィルスのサフィックスはウィルスの変種の特徴を指し、あるウィルスファミリのある変種を区別するために使用されてもよい。一般的には英語のアルファベット２６個で表し、例えば、Ｗｏｒｍ．Ｓａｓｓｅｒ．ｂはサッサーワームウィルスの変種Ｂを指す。従って、本実施例では、＜ウィルスのプレフィックス＞．＜ウィルス名＞を１つのウィルスファミリとみなしてもよく、例えば、Ｗｏｒｍ．Ｓａｓｓｅｒをサッサーワームウィルスファミリとしてもよい。このように、悪意のあるファイルサンプルに含まれるコンピュータウィルスに基づいて、悪意のあるファイルサンプルのウィルスファミリを確定することができる。
【００２１】
次に、ステップ２０２では、各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、ウィルスファミリを少なくとも１つのサンプルグループに分ける。
上記ステップ２０１でそれぞれの悪意のあるファイルサンプルのウィルスファミリを確定した後に、同じウィルスファミリに複数の悪意のあるファイルサンプルが含まれる恐れがある。本ステップでは、それぞれのウィルスファミリにおける悪意のあるサンプルの数を更に統計し、少なくとも１つのサンプルグループを得るように、悪意のあるサンプルの数に基づいてウィルスファミリをグループ化する。例えば、数の閾値をあらかじめ設定してもよく、あるウィルスファミリにおける悪意のあるサンプルの数がこの数の閾値より大きい場合に、第１のサンプルグループに分類し、さもないと第２のサンプルグループに分類する。
【００２２】
本実施の一代替実施形態では、少なくとも１つのサンプルグループは軽量級サンプルグループ、中量級サンプルグループ及び重量級サンプルグループを含んでもよい。具体的には、２つの数量閾値Ｔａ及びＴｂを設定してもよく、且つＴａ＜Ｔｂである。次に悪意のあるサンプルの数がＴａより小さいウィルスファミリを軽量級サンプルグループに分類し、悪意のあるサンプルの数がＴｂより大きいウィルスファミリを重量級サンプルグループに分類し、残りのウィルスファミリを中量級サンプルグループに分類する。選択肢として、ウィルスファミリの累積分布関数ＣＤＦ（ｃｕｍｕｌａｔｉｖｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｆｕｎｃｔｉｏｎ）に基づいてＴａ及びＴｂの具体的な数値を確定してもよい。図３は本実施例に係るウィルスファミリの累積分布関数を示す例示的な概略図である。そのうち、実線は悪意のあるファイルサンプルの数の累積分布関数、すなわち、Ｍａｌｗａｒｅ  ＣＤＦ曲線であり、破線はウィルスファミリの数の累積分布関数、すなわち、Ｃｌａｓｓ  ＣＤＦ曲線であり、横座標の量級はウィルスファミリにおける悪意のあるファイルサンプルの数を表す。図３から分かるように、軽量級（Ｌｉｇｈｔ）サンプルグループでウィルスファミリの種類が非常に多いが、悪意のあるファイルサンプルの全体に対して、含まれる悪意のあるファイル合計数が占める割合が非常に小さい。重量級（Ｈｅａｖｙ）サンプルグループはちょうど正反対であり、含まれるウィルスファミリの数が非常に少ないが、悪意のあるファイルサンプルの全体に対して、悪意のあるファイル合計数が占める割合が非常に大きい。中量級（Ｍｉｄｄｌｅ）サンプルグループは両者の間に介在している。
【００２３】
そして、ステップ２０３では、異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得する。
【００２４】
本実施例では、上記ステップ２０２で取得された少なくとも１つのサンプルグループは、悪意のあるファイルサンプルのウィルスファミリでの分布に基づいて分けられたので、それぞれのサンプルグループにおける悪意のあるファイルサンプルはいずれも異なる分布特徴を有する。識別モデルをトレーニングする場合に、異なるトレーニングルールを使用してもよく、サンプルグループをそれぞれトレーニングすることにより、トレーニング後のモデルを、所在するサンプルグループの特徴により合わせ、それによりファイル識別モデルの識別精度を向上させる。具体的なトレーニングルールはサンプルグループの特徴に基づいて、ユーザ自身で選択されてもよい。トレーニング中で使用されるトレーニングサンプルは本サンプルグループにおける悪意のあるファイルサンプル及び１グループの固定された悪意のないファイルサンプルであってもよい。
【００２５】
本実施の一代替実施形態では、上記軽量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して特徴ベクトルトレーニングを行って、軽量級ファイル識別モデルを取得してもよい。軽量級サンプルグループにおけるウィルスファミリの種類が多いが、悪意のあるファイルサンプル全体に対して悪意のあるファイルサンプルの合計数が占める割合が非常に小さいので、従来の特徴ライブラリの表現方法でトレーニングしてもよい。具体的には、悪意のあるファイルサンプル及び悪意のないファイルサンプルに対して特徴抽出を行い、ファイルサンプルの特徴ベクトルを取得して、次に教師あり学習法ですべてのファイルサンプルをトレーニングし、軽量級ファイル識別モデルを取得してもよい。
【００２６】
本実施の一代替実施形態では、上記の中量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して論理演算トレーニングを行い、中量級ファイル識別モデルを取得してもよい。中量級サンプルグループで、悪意のあるファイルサンプル全体に対して、ウィルスファミリの種類及び悪意のあるファイルサンプルの合計数が占める割合が近いので、論理演算の方法で、トレーニングしてもよい。具体的には、１つまたは複数の特徴を使用して悪意のあるファイルサンプル及び悪意のないファイルサンプルにマッチング処理を行い、それぞれの特徴のマッチング結果を取得してもよく、更にそれぞれの特徴のマッチング結果に対して論理演算トレーニングを行い、それにより指定された特徴及びトレーニング後のロジック表現式を確定し、これは中量級ファイル識別モデルを取得することに相当する。
【００２７】
本実施の一代替実施形態では、重量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して複数のサブモデルの総合的なトレーニングを行い、複数のサブモデルの集合を重量級ファイル識別モデルとしてもよい。重量級サンプルグループにおけるウィルスファミリの種類が少ないが、悪意のあるファイルサンプル全体に対して、悪意のあるファイルサンプルの合計数が占める割合が非常に大きいので、複数のサブモデルを同時にトレーニングするとともに、複数のサブモデルの集合を重量級ファイル識別モデルとしてもよい。重量級ファイル識別モデルが識別を要するファイルを識別する場合に、複数のサブモデルを利用して識別を要するファイルのタイプを判断し、複数の判断結果を総合判断して、識別を要するファイルが悪意のあるファイルであるか否かを確定してもよい。それによりモデルの悪意のあるファイルに対する識別精度を向上させる。
【００２８】
ただし、上記の三種のトレーニング方法は、モデルの入力がいずれもファイルサンプルの内容に基づいて抽出された特徴であり、ファイル内容の４バイト文字特徴、すなわち、１つの４バイトのバイナリ文字列を含んでもよいが、これに限定されていない。
【００２９】
最後に、ステップ２０４では、少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定する。
上記したステップ２０３で１つまたは複数のファイル識別モデルを取得した後に、更にこれらの識別モデルを使用して、識別を要するファイルが悪意のあるファイルであるか否かを判断することができる。具体的には、１つだけの識別モデルがある場合に、このモデルの識別結果に基づいて識別を要するファイルが悪意のあるファイルであるか否かを確定する。複数の識別モデルがある場合に、あらゆる識別モデルを同時に使用して、識別を要するファイルを判断し、識別を要するファイルが悪意のあるファイルであると確定された識別モデルがある限り、当該ファイルが悪意のあるファイルであると考えられる。
【００３０】
本願の上記実施例に係るファイル識別方法は、まず悪意のあるファイルサンプルのウィルスファミリでの分布状況に基づいて、悪意のあるファイルサンプルをグループ化し、それから各グループのサンプルをそれぞれトレーニングして異なる識別モデルを取得し、最後に複数のモデルを使用してファイル識別を同時に行う。サンプル分布が異なるファイルサンプルをグループ化してトレーニングすることにより、モデルのトレーニング時間を低減させるとともに、モデルの悪意のあるファイルに対する識別精度を向上させる。
【００３１】
図４を更に参照すると、図４は本願の他の実施例に係るファイル識別方法を示す例示的なフローチャートである。
図４に示すように、ステップ４０１では、ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定する。
【００３２】
次に、ステップ４０２では、各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、ウィルスファミリを少なくとも１つのサンプルグループに分ける。
その後、ステップ４０３では、異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得する。
【００３３】
そして、ステップ４０４では、少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定する。
本実施例では、上記ステップ４０１〜４０４は図２におけるステップ２０１〜２０４と同じであるため、ここで省略する。
【００３４】
その後、ステップ４０５では、サンプルグループにおける新たに増加された悪意のあるファイルの数が予め設定された閾値より大きいか否かを検出する。
本実施例では、上記ステップ４０４においてある１つの識別を要するファイルが悪意のあるファイルであると判断されたと、更に所属するウィルスファミリを判断し、且つ当該悪意のあるファイルを上記ウィルスファミリが所在するサンプルグループの新たに増加された悪意のあるファイルとすることができる。端末またはサーバは所定の頻度（例えば、１回／日）で各サンプルグループにおける新たに増加された悪意のあるファイルの数を検出して、当該数を予め設定された閾値と比較することができる。予め設定された閾値は新たに増加された悪意のあるファイルの具体的な数、例えば５０個であってもよく、既存の悪意のあるファイルの合計数に対して新たに増加された悪意のあるファイルが占める割合、例えば１５％であってもよい。新たに増加された悪意のあるファイルの数が予め設定された閾値を超えると、サンプルグループ中に大量の悪意のあるファイルが新たに増加されたと考えられ、現在の識別モデルは、識別要求を満たせないかもしれないため、現在のモデルを更新する必要があり、すなわち、更に下記のステップ４０６を実行することができる。
【００３５】
そして、ステップ４０６では、そうであると、サンプルグループにおける悪意のあるファイルサンプル及び新たに増加された悪意のあるファイルをトレーニングし、更新後のファイル識別モデルを取得する。
【００３６】
上記ステップ４０５では、ある１つのサンプルグループにおける新たに増加された悪意のあるファイルの数が予め設定された閾値より大きいことを検出した場合に、当該サンプルグループに対応するファイル識別モデルを更新することができる。具体的には、当該サンプルグループにおける既存の悪意のあるファイルサンプル及び今回検出された新たに増加された悪意のあるファイルをトレーニングサンプルにおける悪意のあるファイルサンプルとすることができ、それから１グループの悪意のないファイルサンプルを加えて、モデルトレーニングを行い、それにより更新後のファイル識別モデルを取得する。ただし、本ステップに使用されるトレーニングルールは、上記ステップ４０３において同じサンプルグループをトレーニングする時に使用されるルールであってもよい。
【００３７】
最後に、ステップ４０７では、サンプルグループの現在のファイル識別モデルを更新後のファイル識別モデルに置き換える。
更新後のファイル識別モデルが取得された後に、サンプルグループの現在に使用しているファイル識別モデルを自動的に更新後のファイル識別モデルに置き換えることができる。現在のファイル識別モデルがオンラインでリアルタイムに実行しているモデルである場合に、更新後のファイル識別モデルをオンラインシステムに自動的に発布することができる。
【００３８】
本実施の一代替実施形態では、サンプルグループの現在のファイル識別モデルを更新後のファイル識別モデルに置き換える前、本願のファイル識別方法は、ファイルサンプルに基づいて、更新後のファイル識別モデル及び現在のファイル識別モデルをそれぞれ評価し、第１の評価結果及び第２の評価結果を取得するステップと、予め設定された時間内に新たに増加されたファイルに基づいて、更新後のファイル識別モデルを評価し、第３の評価結果を取得するステップと、第１の評価結果が第２の評価結果より優れており、且つ第３評価結果が予め設定された条件を満たす場合に、上記置換を実行するステップと、を更に含んでもよい。
【００３９】
具体的には、更新後のファイル識別モデルが取得された後、上記ステップ４０１に使用するファイルサンプルを利用して、更新後のファイル識別モデル及び現在のファイル識別モデルをそれぞれ評価することができる。つまり、更新後のファイル識別モデル及び現在のファイル識別モデルをそれぞれ使用して上記ファイルサンプルを識別することができ、それにより第１の評価結果及び第２の評価結果を取得する。本ステップでテストサンプルに対して既存のファイルサンプルを使用するので、第１の評価結果及び第２の評価結果に基づいて更新後のファイル識別モデル及び現在のファイル識別モデルの優劣を評価することができる。
【００４０】
同時に、予め設定された時間内に新たに増加されたファイル、例えば最近の３日間内に新たに増加されたすべての悪意のあるファイル及び悪意のないファイルを使用して、更新後のファイル識別モデルを評価することができる。つまり、更新後のファイル識別モデルを使用して近いうちに新たに増加されたファイルを識別することができ、それにより第３の評価結果を取得する。本ステップにおいてテストサンプルに対して近いうちに新たに増加されたファイルサンプルを使用するため、第３評価結果に基づいて更新後のファイル識別モデルが新たに増加されたファイルに対しての識別要求を満たしているか否かを評価することができる。
【００４１】
第１の評価結果が第２の評価結果より優れており、且つ第３評価結果が予め設定された条件を満たす場合に、上記の置換を実行してもよい。選択肢として、評価結果が検出率及び／または誤報率を含んでもよい。そのうち、検出率は悪意のあるファイル数の全体に対して識別された悪意のあるファイル数が占める割合を指し、誤報率はファイル数全体に対して誤識別されたファイル数が占める割合を指す。この２つのデータはファイル識別モデルの優劣を評価するための重要な指標であり、検出率が高ければ高いほどよいが、誤報率が低ければ低いほどよい。第１の評価結果が第２の評価結果より優れており、つまり、更新後のファイル識別モデルの既存ファイルサンプルに対する検出率が現在のファイル識別モデルより大きく、且つ誤報率が現在のファイル識別モデルより小さい場合に、更新後のファイル識別モデルの識別効果が現在のモデルより優れていると示される。第３評価結果が予め設定された条件を満たし、つまり、更新後のファイル識別モデルの新たに増加されたファイルに対する検出率及び誤報率がいずれも予め設定された条件、例えば検出率が８０％より大きく誤報率が０．０２％より小さいという条件を満たす場合に、更新後のファイル識別モデルの識別効果が新たに増加されたファイルに対しての識別要求を満たすことができる。更新後のファイル識別モデルが上記２つの要求を同時に満たすと、現在のファイル識別モデルを更新後のファイル識別モデルに置き換えることができる。本実施形態は、最も新しいモデルが使用される前に、更にその識別効果を検出することにより、更新後のモデルが既存のモデルより優れており、最も新しい使用要求を満たすことを確保する。
【００４２】
図２に示される実施例と比べて、本実施例は、更にあるサンプルグループ中において新たに増加された悪意のあるファイルが所定の数に達した場合に、当該サンプルグループに対応する識別モデルを自動更新して、他のモデルを処理する必要がなく、それによりモデルに対しての高速更新を実現し、ファイル識別モデルのリアルタイム性を保証する。
【００４３】
ただし、図面には特定の順序で本発明の方法の操作を説明したが、当該特定の順序でこれらの操作を実行しなければならないこと、または所望の結果を達成するためにすべての示された操作を実行しなければならないことを要求または暗示するわけではない。逆に、フローチャートに示されているステップの実行順序を変更してもよい。追加的または代替的に、いくつかのステップを省略し、複数のステップを１つのステップに結合して実行し、及び／または１つのステップを複数のステップに分けて実行してもよい。
【００４４】
図５は本願の実施例に係るファイル識別装置を示す構造概略図である。
図５に示すように、ファイル識別装置５００は、確定モジュール５１０、グループ化モジュール５２０、トレーニングモジュール５３０及び識別モジュール５４０を備えてもよい。
【００４５】
確定モジュール５１０は、ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定する。
グループ化モジュール５２０は、各ウィルスファミリにおける悪意のあるファイルサンプルの数に基づいて、ウィルスファミリを少なくとも１つのサンプルグループに分ける。
【００４６】
トレーニングモジュール５３０は、異なるトレーニングルールで、各サンプルグループにおける悪意のあるファイルサンプルをそれぞれトレーニングし、少なくとも１つのファイル識別モデルを取得する。
【００４７】
識別モジュール５４０は、少なくとも１つのファイル識別モデルにより、識別を要するファイルが悪意のあるファイルであるか否かを確定する。
本実施の一代替実施形態では、少なくとも１つのサンプルグループは軽量級サンプルグループ、中量級サンプルグループ及び重量級サンプルグループを含む。
【００４８】
本実施の一代替実施形態では、トレーニングモジュール５３０は、第一トレーニングユニット、第２のトレーニングユニット及び第３のトレーニングユニットを備える。
第一トレーニングユニットは、軽量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して特徴ベクトルトレーニングを行い、軽量級ファイル識別モデルを取得する。
【００４９】
第２のトレーニングユニットは、中量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して論理演算トレーニングを行い、中量級ファイル識別モデルを取得する。
【００５０】
第３のトレーニングユニットは、重量級サンプルグループにおける悪意のあるファイルサンプル及び１グループの悪意のないファイルサンプルに対して複数のサブモデルの総合的なトレーニングを行い、前記複数のサブモデルの集合を重量級ファイル識別モデルとする。
【００５１】
本実施の一代替実施形態では、ファイル識別装置５００は、検出モジュール、更新モジュール及び置換モジュールを更に備える。
検出モジュールは、サンプルグループにおける新たに増加された悪意のあるファイル数量が予め設定された閾値より大きいか否かを検出する。
【００５２】
更新モジュールは、新たに増加された悪意のあるファイルの数が予め設定された閾値より大きい場合に、サンプルグループにおける悪意のあるファイルサンプル及び前記新たに増加された悪意のあるファイルをトレーニングし、更新後のファイル識別モデルを取得する。
【００５３】
置換モジュールは、前記サンプルグループの現在のファイル識別モデルの代わりに更新後のファイル識別モデルを使用する。
本実施の一代替実施形態では、ファイル識別装置５００は、第１の評価モジュール及び第２の評価モジュールを更に備える。
【００５４】
第１の評価モジュールは、ファイルサンプルに基づいて、更新後のファイル識別モデル及び現在のファイル識別モデルをそれぞれ評価し、第１の評価結果及び第２の評価結果を取得する。
【００５５】
第２の評価モジュールは、予め設定された時間内に新たに増加されたファイルに基づいて、更新後のファイル識別モデルを評価し、第３の評価結果を取得する。
上記の置換モジュールは、更に第１の評価結果が第２の評価結果より優れており、且つ第３評価結果が予め設定された条件を満たす場合に、上記置換を実行する。
【００５６】
そのうち、評価結果が検出率及び／または誤報率を含む。
装置５００における各モジュールまたはユニットが図２及び図４を参照しながら説明された方法における各ステップに対応することが理解されるべきである。以上でファイル識別方法に対して記述された操作及び特徴は同様に装置５００及びそれに含まれるモジュールに適用でき、ここでは説明を省略する。装置５００における相応のモジュールまたはユニットは端末装置及び／またはサーバにおけるモジュールまたはユニットと互いに連携して本出願の例示的な実施形態を実現することができる。
【００５７】
本願の上記した実施例に係るファイル識別装置は、まず悪意のあるファイルサンプルのウィルスファミリでの分布状況に基づいて、悪意のあるファイルサンプルをグループ化し、それから各グループのサンプルをそれぞれトレーニングして異なる識別モデルを取得し、最後に複数のモデルでファイル識別を同時に行う。サンプル分布が異なるファイルサンプルをグループ化してトレーニングすることにより、モデルのトレーニング時間を低減させるとともに、モデルの悪意のあるファイルに対する識別精度を向上させることができる。
【００５８】
図６は、本願の実施例に係る端末装置またはサーバを実現するためのコンピュータシステム６００の構造概略図である。
図６に示すように、コンピュータシステム６００は、中央処理装置（ＣＰＵ）６０１を備えており、当該中央処理装置（ＣＰＵ）６０１は読み出し専用メモリ（ＲＯＭ）６０２に記憶されているプログラム又は記憶部６０８からランダムアクセスメモリ（ＲＡＭ）６０３にロードされたプログラムに基づいて様々な適当な動作及び処理を実行することができる。ＲＡＭ６０３には、システム６００の操作に必要な様々なプログラム及びデータを記憶している。ＣＰＵ６０１、ＲＯＭ６０２及びＲＡＭ６０３はバス６０４を介して接続されている。入力／出力（Ｉ／Ｏ）インターフェース６０５もバス６０４に接続されている。
【００５９】
キーボード、マウス等を含む入力部６０６、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等及びスピーカ等を含む出力部６０７、ハードディスク等を含む記憶部６０８、及びＬＡＮカード、モデム等を含むネットワークインターフェースカードの通信部６０９は、Ｉ／Ｏインターフェース６０５に接続されている。通信部６０９は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバー６１０は必要に応じてＩ／Ｏインターフェース６０５に接続される。リムーバブルメディア６１１、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等は、必要に応じてドライバ６１０に取り付けられ、こうすると、ドライバ６１０から読み出されたコンピュータプログラムが必要に応じて記憶部６０８にインストールされる。
【００６０】
特に、本願に開示されている実施例によれば、以上にフローチャートを参照しながら記述された過程はコンピュータのソフトウェアプログラムとして実現することができる。例えば、本願で開示されている実施例は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は機械可読媒体に有形に具現化されるコンピュータプログラムを含み、前記コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部６０９を介してネットワークからダウンロードしてインストールされ、及び／またはリムーバブルメディア６１１からインストールされることができる。
【００６１】
図面におけるフローチャート及びブロック図は、本発明の各実施例に係るシステム、方法及びコンピュータプログラム製品による実現可能なアーキテクチャ、機能及び操作を示す。ここで、フローチャートまたはブロック図における各枠は１つのモジュール、プログラムセグメント、またはコードの一部を代表することができ、前記モジュール、プログラムセグメント、またはコードの一部は規定された論理機能を達成するための１つまたは複数の実行可能な命令を含む。なお、いくつかの代替実施態様として、枠にマークされた機能は図面にマークされた順序と異なる順序で実行されてもよい。例えば、２つの接続に示される枠は実際的に、かかる機能に応じて、ほぼ並行的に実行されてもよく、反対の順序で実行されてもよい。なお、ブロック図及び／またはフローチャートにおける各枠、及びブロック図及び／またはフローチャートにおける枠の組合せは規定された機能または操作を実行する、ハードウェアに基づく専用システムで実現されてもよく、または、専用ハードウェアとコンピュータの命令の組合せで実行されてもよい。
【００６２】
本願の実施例に記述されたユニットはソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記述されたユニットをプロセッサに設定してもよく、例えば、確定モジュール、グループ化モジュール、トレーニングモジュール及び識別モジュールを含むプロセッサと記述されてもよい。そのうち、これらのモジュールの名称はある場合に当該ユニット自体を限定するものではなく、例えば、確定モジュールは「ファイルサンプルにおける各悪意のあるファイルサンプルのウィルスファミリを確定するためのモジュール」と呼ばれてもよい。
【００６３】
一方、本願はコンピュータ可読記憶媒体を更に提供し、当該コンピュータ可読記憶媒体は上記実施例の前記装置に含まれるコンピュータ可読記憶媒体であってもよく、独立に存在して、端末に組み立てされていないコンピュータ可読記憶媒体であってもよい。前記コンピュータ可読記憶媒体は１つ又は１つ以上のプログラムを記憶し、前記プログラムは１つ又は１つ以上のプロセッサに本願に記述されたファイル識別方法を実行することに用いられる。
【００６４】
以上の記述は本願の好ましい実施例及び使用された技術原理の説明に過ぎない。当業者が理解すべきであることは、本願に係る発明の範囲は上記した技術的特徴の特定の組合せからなる技術案に限定されることではなく、本発明の趣旨を逸脱しない範囲で、上記の技術的特徴または同等の特徴の任意の組合せからなる他の技術的解決手段も含むべきである。例えば、上記の特徴と、本願で開示された（これに限定されていない）類似の機能を具備している技術特徴を互いに置き換えてなる技術案が挙げられる。
【図１】
2017004489.tif 000003
【図２】
2017004489.tif 000004
【図３】
2017004489.tif 000005
【図４】
2017004489.tif 000006
【図５】
2017004489.tif 000007
【図６】
2017004489.tif 000008