JP2015215906A - 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法 - Google Patents

偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法 Download PDF

Info

Publication number
JP2015215906A
JP2015215906A JP2015116901A JP2015116901A JP2015215906A JP 2015215906 A JP2015215906 A JP 2015215906A JP 2015116901 A JP2015116901 A JP 2015116901A JP 2015116901 A JP2015116901 A JP 2015116901A JP 2015215906 A JP2015215906 A JP 2015215906A
Authority
JP
Japan
Prior art keywords
heuristic
training data
false positives
heuristics
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015116901A
Other languages
English (en)
Other versions
JP5987088B2 (ja
Inventor
マーク・ケネディ
Kennedy Mark
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2015215906A publication Critical patent/JP2015215906A/ja
Application granted granted Critical
Publication of JP5987088B2 publication Critical patent/JP5987088B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ヒューリスティックによって生成される偽陽性の数を迅速かつ効果的に減少させる。【解決手段】1組の訓練データを使用して第1のヒューリスティックを訓練し302、第1のヒューリスティックを展開し304、展開中の第1のヒューリスティックによって生成された偽陽性を識別し306、第1のヒューリスティックによって生成された偽陽性を含むように訓練データを修正し308、修正された訓練データを使用して第2のヒューリスティックを作成し310、第1のヒューリスティックと第2のヒューリスティックの両方を展開し312、次いで、第1のヒューリスティックと第2のヒューリスティックの両方を順次に1組のフィールドデータに適用する314。【選択図】図3

Description

ある項目に関する観察をその項目の目標値に関する結論とマッピングするための予測モデルとして、決定木および他のヒューリスティックが一般に使用される。例えば、セキュリティソフトウェアベンダは、ファイルの属性、特性、および/または挙動に基づいて、悪意のあるコンピュータファイル(「マルウェア」)を識別するための予測モデルとして決定木を使用することがある。
決定木および他のヒューリスティックは、既知のサンプルのコーパスを使用して訓練および洗練することができる。例えば、セキュリティソフトウェアベンダは、既知の悪意のあるファイルおよび既知の正当なファイルを含むサンプルコーパスにヒューリスティックを適用することによって、マルウェア検出ヒューリスティックを訓練することができる。
ヒューリスティックの精度は、ヒューリスティックを訓練するために使用されるサンプルコーパスのサイズによって制限されることが多い。したがって、ヒューリスティックは通常、実世界で展開されて使用されるときに偽陰性および/または偽陽性を生成する。ヒューリスティックの精度を改良するために、ヒューリスティック提供者は、典型的には、1)ヒューリスティックを訓練するために使用されるサンプルコーパスに、誤って分類されたサンプルを追加し、2)修正されたサンプルコーパスを使用してヒューリスティックを再訓練し、次いで3)再訓練されたヒューリスティックを再展開する。
しかし、フィールドから収集された誤って分類されたサンプルを含むサンプルコーパスを使用してヒューリスティックが再訓練される場合でさえ、再訓練されたヒューリスティックは通常、フィールドで再展開されるときに新たな偽陽性を生成する。このため、ヒューリスティック提供者は、十分な性能が得られるまでヒューリスティックを絶えず再展開して再試験しなければならないことがある。残念ながら、誤って分類されたサンプルを識別し、これらの誤って分類されたサンプルを、ヒューリスティックを訓練するために使用されるサンプルコーパスに組み込み、次いでヒューリスティックを再訓練するのにかかる時間量は、法外なコストおよび/または時間がかかる作業を意味することがある。したがって、本開示は、ヒューリスティックによって生成される偽陽性の数を迅速かつ効果的に減少させるためのシステムおよび方法の必要性を認識する。
以下でより詳細に説明するように、本開示は、一般に、偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法に関する。一例では、本明細書で開示するシステムおよび方法は、このタスクを、1)1組の訓練データを使用して第1のヒューリスティック(マルウェア検出決定木など)を訓練し、2)第1のヒューリスティックを展開し、3)フィールドで(すなわち展開中に)第1のヒューリスティックによって生成された偽陽性を識別し、4)第1のヒューリスティックによって生成された偽陽性を含むように訓練データを修正し、5)修正された訓練データを使用して第2のヒューリスティックを作成し、6)第1のヒューリスティックと第2のヒューリスティックの両方を展開し、次いで7)第1のヒューリスティックと第2のヒューリスティックの両方を順次に1組のフィールドデータに適用することによって達成することができる。
以下でより詳細に説明するように、本明細書で述べるシステムおよび方法は、第1のヒューリスティックと第2のヒューリスティックの両方を順次に適用することによって、これらのヒューリスティックによって集成として生成される偽陽性の数を効果的に減少させることができる。例えば、第2のヒューリスティックが第1のヒューリスティックとは異なる偽陽性特性を有することがあるが(例えば、第2のヒューリスティックは、第1のヒューリスティックとの相違により、第1のヒューリスティックによって正しく分類されたサンプルに対して偽陽性を生成することがある)、両方のヒューリスティックを順次に適用することで、第1のヒューリスティックが生成しなかった新たな偽陽性をこれら2つのヒューリスティックが集成として生成することを防止することができる。
したがって、本明細書で開示する様々なシステムおよび方法は、ヒューリスティックの偽陽性率に悪影響を及ぼすことなく、ヒューリスティックの全体の精度を向上させることができる。さらに、開発者は、洗練された(すなわち「第2の」)ヒューリスティックをフィールド試験する必要なく即座にそれを展開することができるので、これらのシステムおよび方法は、開発者が、大幅に長い開発時間をかけることなく、ヒューリスティックによって生成される偽陽性の数を迅速かつ効果的に減少させることができるようにする。
上述した任意の実施形態からの特徴を、本明細書で述べる一般的な原理に従って互いに組み合わせて使用することができる。これらおよび他の実施形態、特徴、および利点は、添付図面および特許請求の範囲に関連付けて以下の詳細な説明を読めば、より完全に理解されよう。
添付図面は、いくつかの例示的実施形態を示し、本明細書の一部である。これらの図面は、以下の説明と共に、本開示の様々な原理の実例を挙げて説明する。
偽陽性を減少させるために複数のインラインヒューリスティックを使用するための例示的なシステムのブロック図である。 偽陽性を減少させるために複数のインラインヒューリスティックを使用するための例示的なシステムのブロック図である。 偽陽性を減少させるために複数のインラインヒューリスティックを使用するための例示的な方法の流れ図である。 フィールドデータを含むように訓練データを修正するための例示的なプロセスのブロック図である。 フィールドデータを使用して第2のヒューリスティックを作成するための例示的なプロセスのブロック図である。 複数のヒューリスティックを順次に1組のフィールドデータに適用するための例示的なプロセスのブロック図である。 本願で説明および/または図示する実施形態の1つまたは複数を実施することができる例示的な計算システムのブロック図である。 本願で説明および/または図示する実施形態の1つまたは複数を実施することができる例示的なコンピューティングネットワークのブロック図である。
図面全体を通して、同一の参照符号および説明は、同様の要素を示すが、必ずしも同一の要素ではない。本明細書で述べる例示的実施形態は、様々な修正形態および代替形態が可能であるが、特定の実施形態を例として図面に示し、本明細書で詳細に説明する。しかし、本明細書で述べる例示的実施形態は、開示する特定の形態に限定されるものとは意図されていない。そうではなく、本開示は、添付の特許請求の範囲の範囲内に入るすべての修正形態、均等形態、および代替形態を網羅する。
以下でより詳細に説明するように、本開示は、一般に、偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法に関する。一例では、本明細書で開示するシステムおよび方法は、このタスクを、1)1組の訓練データを使用して第1のヒューリスティック(マルウェア検出決定木など)を訓練し、2)第1のヒューリスティックを展開し、3)フィールドで(すなわち展開中に)第1のヒューリスティックによって生成された偽陽性を識別し、4)第1のヒューリスティックによって生成された偽陽性を含むように訓練データを修正し、5)修正された訓練データを使用して第2のヒューリスティックを作成し、6)第1のヒューリスティックと第2のヒューリスティックの両方を展開し、次いで7)第1のヒューリスティックと第2のヒューリスティックの両方を順次に1組のフィールドデータに適用することによって達成することができる。
本明細書で使用するとき、用語「ヒューリスティックアルゴリズム」またはしばしば単に「ヒューリスティック」は、オブジェクトまたはサンプルを分類する、またはそれらに関して決定を下すために使用することができる任意の種類または形態のアルゴリズム、公式、モデル、またはツールを全般的に表す。いくつかの例では、本明細書で述べる様々なヒューリスティックは、限定はしないが、マルウェアを検出および/または識別するために設計された決定木または他のアルゴリズムを表すことがある。
さらに、用語「偽陽性」および「真陽性」は、ヒューリスティックなど決定プロセスから生じ得る結果を全般的に表す。特に、「偽陽性」は、実際には帰無仮説が真であるときに帰無仮説を否定することで成される誤りを表すことがある。例えば、マルウェア検出ヒューリスティックは、正当なファイルまたはソフトウェアアプリケーションを悪意のあるものとして誤って判断することによって偽陽性を生成することがある。逆に、「真陽性」は、帰無仮説を真と認める正しい決定を表すことがある。例えば、マルウェア検出ヒューリスティックは、正当なファイルまたはソフトウェアアプリケーションを正当なものとして正しく判断することによって真陽性を生成することがある。
以下、図1および図2を参照して、偽陽性を減少させるために複数のインラインヒューリスティックを使用するための例示的なシステムを詳細に説明する。また、それに対応するコンピュータ実装方法を、図3〜図6に関連付けて詳細に説明する。さらに、本明細書で述べる1つまたは複数の実施形態を実装することができる例示的な計算システムおよびネットワークアーキテクチャを、それぞれ図7および図8に関連付けて詳細に説明する。
図1は、偽陽性を減少させるために複数のインラインヒューリスティックを使用するための例示的なシステム100のブロック図である。この図に示されるように、例示的なシステム100は、1つまたは複数のタスクを実施するための1つまたは複数のモジュール102を含むことがある。例えば、以下でより詳細に説明するように、例示的なシステム100は、ヒューリスティックを訓練するようにプログラムされた訓練モジュール104を含むことがある。また、例示的なシステム100は、コミュニティまたは企業内でヒューリスティックを展開するようにプログラムされた展開モジュール106を含むこともある。
さらに、以下でより詳細に説明するように、例示的なシステム100は、展開中にヒューリスティックによって生成された偽陽性および真陽性を識別するようにプログラムされた識別モジュール108を含むこともある。また、例示的なシステム100は、1)フィールドからの結果を含むように訓練データを修正し、2)この修正された訓練データを使用してさらなるヒューリスティックを作成するようにプログラムされた調整モジュールも含むことがある。個別の要素として図示されているが、図1のモジュール102の1つまたは複数が、単一のモジュールまたはアプリケーションの一部を表すこともある。
いくつかの実施形態では、図1のモジュール102の1つまたは複数は、計算装置によって実行されたときに計算装置に1つまたは複数のタスクを実施させることができる1つまたは複数のソフトウェアアプリケーションまたはプログラムを表すことがある。例えば、以下でより詳細に説明するように、モジュール102の1つまたは複数は、図2に示される装置(例えば計算サブシステム202および206(1)〜206(N))、図7の計算システム710、および/または図8の例示的なネットワークアクチュエータ800の一部など、1つまたは複数の計算装置に記憶され、そこで実行されるように構成されたソフトウェアモジュールを表すことがある。また、図1のモジュール102の1つまたは複数は、1つまたは複数のタスクを実施するように構成された1つまたは複数の専用コンピュータの全体または一部を表こともある。
図1に示されるように、例示的なシステム100は、1つまたは複数のデータベース120を含むこともある。データベース120は、単一のデータベースもしくは計算装置の一部または複数のデータベースもしくは計算装置を表すことがある。一実施形態では、データベース120は、訓練データ122およびフィールドデータ124を記憶するように構成されることがある。以下でより詳細に説明するように、訓練データ122は、ヒューリスティックを訓練するために使用することができる既知のサンプルのコーパスを表すことがある。対照的に、フィールドデータ124は、1)ヒューリスティックによって分類されたサンプルコーパス、および/または2)ヒューリスティックによってこれらのサンプルに割り当てられた分類を識別または包含する(ヒューリスティックが展開されている計算システムから収集された)データを表すことがある。
図1のデータベース120は、1つまたは複数の計算装置の一部を表すことがある。例えば、データベース120は、図2での計算サブシステム202および206(1)〜206(N)の一部、図7の計算システム710、および/または図8の例示的なネットワークアーキテクチャ800の一部を表すことがある。あるいは、図1のデータベース120は、図2の計算サブシステム202および206(1)〜206(N)、図7の計算システム710、および/または図8の例示的なネットワークアーキテクチャ800の一部など、計算装置がアクセスすることができる1つまたは複数の物理的に別個の装置を表すことがある。
図1の例示的なシステム100は、様々な方法で展開することができる。例えば、例示的なシステム100の全体または一部が、図2に示される例示的なシステム200などクラウドコンピューティング環境またはネットワークベース環境の一部を表すことがある。クラウドコンピューティング環境は、インターネットを介して様々なサービスおよびアプリケーションを提供することができる。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしてのインフラストラクチャなど)は、ウェブブラウザまたは他の遠隔インターフェースを介してアクセス可能になることがある。本明細書で述べる様々な機能は、遠隔のデスクトップ環境または任意の他のクラウドベースのコンピューティング環境によって提供することができる。
図2に示されるように、例示的なシステム200は、ネットワーク204を介して計算サブシステム206(1)〜206(N)と通信する計算サブシステム202を含むことがある。一実施形態では、以下でより詳細に述べるように、計算装置202にあるモジュール102は、1)1組の訓練データを使用して第1のヒューリスティックを訓練し、2)(例えば以下で説明するように計算サブシステム206(1)〜206(N)上で)第1のヒューリスティックを展開し、3)展開中の第1のヒューリスティックによって生成された偽陽性を識別し、4)第1のヒューリスティックによって生成された偽陽性を含むように訓練データを修正し、5)修正された訓練データを使用して第2のヒューリスティックを作成し、6)(例えば以下で説明するように計算サブシステム206(1)〜206(N)上で)第1のヒューリスティックと第2のヒューリスティックの両方を展開し、次いで7)(例えば以下で説明するように計算サブシステム206(1)〜206(N)上で)第1のヒューリスティックと第2のヒューリスティックの両方を順次に1組のフィールドデータに適用するようにプログラムすることができる。
計算サブシステム202および206(1)〜206(N)は、コンピュータ実行可能命令を読み取ることができる任意の種類または形態の計算装置を全般的に表す。計算サブシステム202および206(1)〜206(N)の例としては、限定はしないが、ラップトップコンピュータ、デスクトップコンピュータ、サーバ(様々なデータベースサービスを提供する、および/または何らかのソフトウェアアプリケーションを実行するように構成されたアプリケーションサーバおよびデータベースサーバ)、セルラ電話、個人用携帯情報端末(PDA)、マルチメディアプレーヤ、組込みシステム、それらのうちの1つまたは複数の組合せ、図7の例示的な計算システム710、または任意の他の適切な計算装置が挙げられる。
一例では、計算サブシステム202は、ヒューリスティックを作成して計算サブシステム206(1)〜206(N)に展開するように構成されたサーバまたはバックエンドを表すことがある。この例では、計算サブシステム206(1)〜206(N)は、単一のコミュニティまたは複数のコミュニティの全体または一部を表すことがある。例えば、計算サブシステム206(1)〜206(N)は、単一または複数のユーザ基盤、単一または複数の企業、あるいはそれらのうちの1つまたは複数の一部または組合せの中にある計算システムを表すことがある。
ネットワーク204は、通信またはデータ転送を容易くすることができる任意の媒体またはアーキテクチャを全般的に表す。ネットワーク204の例としては、限定はしないが、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PLC)、セルラネットワーク(例えばGSMネットワーク)、図8の例示的なネットワークアーキテクチャ800などが挙げられる。ネットワーク204は、無線または有線接続を使用して通信またはデータ転送を容易くすることができる。一実施形態では、ネットワーク204は、計算サブシステム202および206(1)〜206(N)の間の通信を容易くすることができる。
図3は、偽陽性を減少させるために複数のインラインヒューリスティックを使用するための例示的なコンピュータ実装方法300の流れ図である。図3に示されるステップは、任意の適切なコンピュータ実行可能コードおよび/または計算システムによって実施することができる。いくつかの実施形態では、図3に示されるステップは、図1のシステム100および/または図2のシステム200の構成要素の1つまたは複数によって実施することができる。
図3のステップ302で、本明細書で述べるシステムの1つまたは複数が、1組の訓練データを使用して第1のヒューリスティックを訓練することがある。例えば、図1の訓練モジュール104(上で詳述したように、図2の計算サブシステム202の一部を表すことがある)が、訓練データ122を使用して第1のヒューリスティックを訓練することがある。上で詳述したように、このヒューリスティックは(本明細書で述べるすべての他のヒューリスティックと同様に)任意の種類または形態の決定ベースアルゴリズムを表すことがある。いくつかの例では、このヒューリスティックは、マルウェアを検出および識別するように構成されたマルウェア検出ヒューリスティック(例えば決定木)を表すことがある。
訓練モジュール104は、様々な方法でヒューリスティックを訓練することができる。例えば、訓練モジュール104は、最初のバージョンのヒューリスティック(すなわち第1のヒューリスティック)を、コンピュータ室など制御された環境内にある既知のサンプルのコーパス(例えば、既知の悪意のあるファイルおよび既知の正当なファイルを含むサンプルコーパスを表すことがある訓練データ122)に適用することができる。次いで、訓練モジュール104は、ヒューリスティックが既知のサンプルのコーパス中の各サンプルを正しく分類したかどうか判断することができる。訓練モジュール104は、ヒューリスティックが分類を誤った訓練データ122中のサンプルが許容数を超えていると判断した場合、ヒューリスティックの精度を改良することを試みてヒューリスティックの基本アルゴリズムを微調整または修正することがある。次いで、訓練モジュール104は、許容範囲内の正解率が実現されるまでこのプロセスを繰り返すことができる。
図3に戻ると、ステップ304で、本明細書で述べる様々なシステムが、ステップ302で訓練された第1のヒューリスティックを展開することができる。例えば、図1の展開モジュール106(上で詳述したように、図2の計算サブシステム202の一部を表すことがある)が、ステップ302で訓練されたヒューリスティックを、計算サブシステム202からネットワーク204を介して1つまたは複数の計算サブモジュール206(1)〜206(N)に展開することができる。
上で詳述したように、一例では、計算サブシステム202は、ヒューリスティックを訓練して計算サブシステム206(1)〜206(N)に展開するように構成されたサーバおよびバックエンドを表すことがある。この例では、計算サブシステム206(1)〜206(N)は、単一のコミュニティまたは複数のコミュニティの全体または一部を表すことがある。例えば、計算サブシステム206(1)〜206(N)は、単一または複数のユーザ基盤、単一または複数の企業、あるいはそれらのうちの1つまたは複数の一部または組合せの中にある計算システムを表すことがある。
ステップ306で、本明細書で述べる様々なシステムが、展開中の第1のヒューリスティックによって生成された偽陽性を識別することができる。例えば、識別モジュール108(上で詳述したように、図2の計算サブシステム202の一部を表すことがある)が、ステップ302で訓練された第1のヒューリスティックが計算サブシステム206(1)〜206(N)で展開されたときに生成された偽陽性を識別することができる。
識別モジュール108は、当技術分野で知られているあらゆる様々な従来の技法の使用を含め様々な方法で、展開中のヒューリスティックによって生成された偽陽性を識別することができる。一例では、識別モジュール108は、ヒューリスティックによって分類された様々なサンプルと、ヒューリスティックによってこれらのサンプルに割り当てられた分類との両方を識別する情報を(例えばヒューリスティックが展開されているフィールドのシステムから)受信することができる。いくつかの場合には、この情報は、サンプル自体のコピーを含むこともある。次いで、識別モジュール108は、ヒューリスティックが各サンプルを正しく分類したかどうか判断するために、このフィールドデータを分析することができる。特に、識別モジュール108は、ヒューリスティックが偽陽性を生成したかどうか判断するために、このフィールドデータを分析することができる。
例えば、識別モジュール108は、計算サブシステム202の一部として、計算サブシステム206(1)〜206(N)からフィールドデータ124を受信することができる。マルウェア検出ヒューリスティックの場合、フィールドデータ124は、1)マルウェア検出ヒューリスティックによって分類された計算サブシステム206(1)〜206(N)上の様々なファイルと、2)マルウェア検出ヒューリスティックによってこれらのファイルに割り当てられた分類(例えば「正当なファイル」または「悪意のあるファイル」)とを識別または包含することができる。
次いで、識別モジュール108は、マルウェア検出ヒューリスティックが各ファイルを正しく分類したかどうか判断するために、フィールドデータ124を分析することができる。この分析中、識別モジュール108は、マルウェア検出ヒューリスティックによって生成された真陽性(例えば、正当なものとして正しく分類された正当なファイル)と偽陽性(例えば、悪意のあるものとして誤って分類された正当なファイル)を識別することができる。
図3に戻ると、ステップ308で、本明細書で述べるシステムは、展開中の第1のヒューリスティックによって生成された偽陽性を含むように訓練データを修正することができる。例えば、図4に示されるように、図1からの調整モジュール110(上で詳述したように、図2の計算サブシステム202の一部を表すことがある)が、フィールドデータ124から、訓練データ122を含む元のサンプルコーパスに真陽性126および偽陽性128を追加することができる。
図3に戻ると、ステップ310で、本明細書で述べるシステムは、ステップ308からの修正された訓練データを使用して第2のヒューリスティックを作成することができる。例えば、調整モジュール110が、計算サブシステム202の一部として、図4の修正された訓練データ402を使用して第2のヒューリスティックを作成することができる。
調整モジュール110は、様々な方法でこの第2のヒューリスティックを作成することができる。例えば、図5に示されるように、図1からの調整モジュール110は、第1のヒューリスティックを作成するために使用された機械学習技法502を修正された訓練データ402に適用することによって、第2のヒューリスティック514を作成することができる。
ステップ312で、本明細書で述べるシステムは、第1のヒューリスティックと第2のヒューリスティックの両方を展開することができる。例えば、図1からの展開モジュール106が、計算サブシステム202に、第1のヒューリスティック512と第2のヒューリスティック514の両方を、ネットワーク204を介して計算サブシステム206(1)〜206(N)に展開するように動作させることができる。
少なくとも1つの例では、展開モジュール106は、第2のヒューリスティック514をフィールド試験する前にそれを展開することができる。例えば、以下に論じるように、展開モジュール106は、第1のヒューリスティック512と第2のヒューリスティック514の両方を順次に適用することができるので、フィールドデータを使用して第2のヒューリスティック514を試験および洗練する必要なく、作成後に即座に第2のヒューリスティック514を展開することができる。
ステップ314で、本明細書で述べるシステムは、第1のヒューリスティックと第2のヒューリスティックの両方を順次に1組のフィールドデータに適用することができる。例えば、展開モジュール106は、図5の第1のヒューリスティック512と第2のヒューリスティック514の両方を順次に、計算サブシステム206(1)〜206(N)上の1組のフィールドデータに適用することができる。
本明細書で述べるシステムは、様々な方法でステップ314を実施することができる。一例では、図6に示されるように、展開モジュール106は、1)(例えばフィールドデータ602を第1のヒューリスティック512に通すことによって)第1のヒューリスティック512をフィールドデータ602に適用し、次いで第1のヒューリスティック512を適用した後に、2)(例えばフィールドデータ602を第2のヒューリスティック514に通すことによって)第2のヒューリスティック514をフィールドデータ602に適用することによって、第1のヒューリスティック512と第2のヒューリスティック514の両方を1組のフィールドデータ602に適用することができる。ステップ312の完了後、図3の例示的な方法300を終了することができる。
いくつかの例では、展開モジュール106は、第1のヒューリスティック512によって生成された分類結果604を第2のヒューリスティック514によって生成された分類結果606と比較して、既知の偽陽性を識別してなくすことができる。例えば、識別モジュール108は、(ステップ306に関連付けて上で詳述したように)第1のヒューリスティック512がフィールドで最初に展開されたときに第1のヒューリスティック512によって生成された様々な偽陽性を予め識別しているので、展開モジュール106は、これらの偽陽性が分類結果604および606に含まれているかどうか判断することができ、含まれている場合には、それを訂正するか廃棄することができる。
本明細書で述べるシステムおよび方法は、第1のヒューリスティックと第2のヒューリスティックの両方を順次に適用することによって、これらのヒューリスティックによって集成として生成される偽陽性の数を効果的に減少させることができる。例えば、第2のヒューリスティックが第1のヒューリスティックとは異なる偽陽性特性を有することがあるが(例えば、第2のヒューリスティックは、第1のヒューリスティックとの相違により、第1のヒューリスティックによって正しく分類されたサンプルに対して偽陽性を生成することがある)、両方のヒューリスティックを順次に適用することで、第1のヒューリスティックが生成しなかった新たな偽陽性をこれら2つのヒューリスティックが集成として生成することを防止することができる。すなわち、本明細書で開示するシステムおよび方法は、これらのヒューリスティックを順次に適用することによって、第1のヒューリスティックが正しく分類したサンプルに対してこれらのヒューリスティックが偽陽性を集成として生成するのを防止することができる。
したがって、本明細書で開示するシステムおよび方法は、偽陽性率に悪影響を及ぼすことなく、ヒューリスティックの全体の精度を向上させることができる。さらに、開発者は、第2のヒューリスティックをフィールド試験する必要なく即座にそれを展開することができるので、これらのシステムおよび方法は、開発者が、大幅に長い開発時間をかけることなく、ヒューリスティックによって生成される偽陽性の数を迅速かつ効果的に減少させることができるようにする。
図7は、本願で説明および/または図示する実施形態の1つまたは複数を実施することができる例示的な計算システム710のブロック図である。計算システム710は、コンピュータ可読命令を実行することができる任意のシングルプロセッサまたはマルチプロセッサ計算装置またはシステムを広範に表す。計算システム710の例としては、限定はしないが、ワークステーション、ラップトップコンピュータ、クライアント側の端末、サーバ、分散コンピューティングシステム、ハンドヘルド装置、または任意の他の計算システムもしくは装置が挙げられる。その最も基本的な構成では、計算システム710は、少なくとも1つのプロセッサ714と、システムメモリ716とを含むことができる。
プロセッサ714は、データを処理することができる、または命令を解釈および実行することができる任意の種類または形態の処理ユニットを全般的に表す。いくつかの実施形態では、プロセッサ714は、ソフトウェアアプリケーションまたはモジュールから命令を受信することができる。これらの命令は、本願で説明および/または図示する1つまたは複数の例示的実施形態の機能をプロセッサ714に実施させることができる。例えば、プロセッサ714は、単独で、または他の要素と組み合わせて、本明細書で述べる訓練、展開、識別、調整、複製、修正、再訓練、および使用ステップの1つまたは複数を実施することができ、および/またはそれらを実施するための手段であってよい。また、プロセッサ714は、本願で説明および/または図示する任意の他のステップ、方法、またはプロセスを実施することもでき、および/またはそれらを実施するための手段であってもよい。
システムメモリ716は、データおよび/または他のコンピュータ可読命令を記憶することができる任意の種類または形態の揮発性または不揮発性記憶装置または媒体を全般的に表す。システムメモリ716の例としては、限定はしないが、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、または任意の他の適切なメモリ装置が挙げられる。必ずそうである必要はないが、いくつかの実施形態では、計算システム710は、揮発性メモリユニット(例えばシステムメモリ716など)と不揮発性メモリ装置(例えば以下で詳細に説明する主記憶装置732など)の両方を含むこともある。一例では、図1からのモジュール102の1つまたは複数をシステムメモリ716にロードすることができる。
いくつかの実施形態では、例示的な計算システム710は、プロセッサ714およびシステムメモリ716に加えて、1つまたは複数の構成要素または要素を含むこともできる。例えば、図7に示されるように、計算システム710は、メモリコントローラ718と、入出力(I/O)制御装置720と、通信インターフェース722とを含むことがあり、これらはそれぞれ通信インフラストラクチャ712を介して相互接続されることがある。通信インフラストラクチャ712は、計算装置の1つまたは複数の構成要素間の通信を容易くすることができる任意の種類または形態のインフラストラクチャを全般的に表す。通信インフラストラクチャ712の例としては、限定はしないが、通信バス(ISA、PCI、PCIe、または同様のバスなど)およびネットワークが挙げられる。
メモリコントローラ718は、メモリまたはデータを取り扱うことができる、あるいは計算システム710の1つまたは複数の構成要素間の通信を制御することができる任意の種類または形態の装置を全般的に表す。例えば、いくつかの実施形態では、メモリコントローラ718は、通信インフラストラクチャ712を介するプロセッサ714と、システムメモリ716と、I/O制御装置720との間の通信を制御することができる。いくつかの実施形態では、メモリコントローラは、単独で、または他の要素と組み合わせて、訓練、展開、識別、調整、複製、修正、再訓練、および使用など、本願で説明および/または図示するステップまたは機能の1つまたは複数を実施することができ、および/またはそれらを実施するための手段であってよい。
I/O制御装置720は、計算装置の入出力機能を調整および/または制御することができる任意の種類または形態のモジュールを全般的に表す。例えば、いくつかの実施形態では、I/O制御装置720は、プロセッサ714、システムメモリ716、通信インターフェース722、ディスプレイアダプタ726、入力インターフェース730、および記憶インターフェース734など、計算システム710の1つまたは複数の要素間でのデータの転送を制御する、または容易くすることができる。I/O制御装置720は、例えば、単独で、または他の要素と組み合わせて、本明細書で述べる訓練、展開、識別、調整、複製、修正、再訓練、および使用ステップの1つまたは複数を実施するために使用することができ、および/またはそれらを実施するための手段であってよい。また、I/O制御装置720は、本開示に記載する他のステップおよび機能を実施するために使用することもでき、および/またはそれらを実施するための手段であってもよい。
通信インターフェース722は、例示的な計算システム710と1つまたは複数の追加の装置との間の通信を容易くすることができる任意の種類または形態の通信装置またはアダプタを広範に表す。例えば、いくつかの実施形態では、通信インターフェース722は、計算システム710と、追加の計算システムを含むプライベートネットワークまたはパブリックネットワークとの間の通信を容易くすることができる。通信インターフェース722の例としては、限定はしないが、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、および任意の他の適切なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース722は、インターネットなどのネットワークへの直接のリンクを介して遠隔サーバへの直接的な接続を提供することができる。また、通信インターフェース722は、そのような接続を、例えばローカルエリアネットワーク(イーサネットネットワークなど)、パーソナルエリアネットワーク、電話もしくはケーブルネットワーク、セルラ電話接続、衛星データ接続、または任意の他の適切な接続を介して間接的に提供することもできる。
いくつかの実施形態では、通信インターフェース722は、外部バスまたは通信チャネルを介して計算システム710と1つまたは複数の追加のネットワークまたは記憶装置との間の通信を容易くするように構成されたホストアダプタを表すこともある。ホストアダプタの例としては、限定はしないが、SCSIホストアダプタ、USBホストアダプタ、IEEE1394ホストアダプタ、SATAおよびeSATAホストアダプタ、ATAおよびPATAホストアダプタ、ファイバチャネルインターフェースアダプタ、イーサネットアダプタなどが挙げられる。また、通信インターフェース722は、計算システム710が、分散コンピューティングまたは遠隔コンピューティングに従事できるようにすることもできる。例えば、通信インターフェース722は、命令を実行するために、遠隔装置から命令を受信する、または遠隔装置に命令を送信することができる。いくつかの実施形態では、通信インターフェース722は、単独で、または他の要素と組み合わせて、本明細書で開示する訓練、展開、識別、調整、複製、修正、再訓練、および使用ステップの1つまたは複数を実施することができ、および/またはそれらを実施するための手段であってよい。また、通信インターフェース722は、本開示に記載する他のステップおよび機能を実施するために使用することもでき、および/またはそれらを実施するための手段であってもよい。
図7に示されるように、計算システム710は、ディスプレイアダプタ726を介して通信インフラストラクチャ712に結合された少なくとも1つのディスプレイ装置724を含むこともある。ディスプレイ装置724は、ディスプレイアダプタ726によって転送された情報を視覚的に表示することができる任意の種類または形態の装置を全般的に表す。同様に、ディスプレイアダプタ726は、ディスプレイ装置724上に表示するために通信インフラストラクチャ712から(または当技術分野で知られているフレームバッファから)グラフィック、テキスト、および他のデータを転送するように構成された任意の種類または形態の装置を全般的に表す。
図7に示されるように、例示的な計算システム710は、入力インターフェース730を介して通信インフラストラクチャ712に結合された少なくとも1つの入力装置728を含むこともできる。入力装置728は、コンピュータまたは人によって生成された入力を例示的な計算システム710に提供することができる任意の種類または形態の入力装置を全般的に表す。入力装置728の例としては、限定はしないが、キーボード、ポインティング装置、音声認識装置、または任意の他の入力装置が挙げられる。少なくとも1つの実施形態では、入力装置728は、単独で、または他の要素と組み合わせて、本明細書で開示する訓練、展開、識別、調整、複製、修正、再訓練、および使用ステップの1つまたは複数を実施することができ、および/またはそれらを実施するための手段であってよい。また、入力装置728は、本開示に記載する他のステップおよび機能を実施するために使用することもでき、および/またはそれらを実施するための手段であってもよい。
図7に示されるように、例示的な計算システム710は、記憶インターフェース734を介して通信インフラストラクチャ712に結合された主記憶装置732およびバックアップ記憶装置733を含むこともできる。記憶装置732および733は、データおよび/または他のコンピュータ可読命令を記憶することができる任意の種類または形態の記憶装置または媒体を全般的に表す。例えば、記憶装置732および733は、磁気ディスクドライブ(例えばいわゆるハードドライブ)、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどでよい。記憶インターフェース734は、記憶装置732および733と計算システム710の他の構成要素との間でデータを転送するための任意の種類または形態のインターフェースまたは装置を全般的に表す。一例では、図1からのデータベース120が主記憶装置732に記憶されることがある。
いくつかの実施形態では、記憶装置732および733は、コンピュータソフトウェア、データ、または他のコンピュータ可読情報を記憶するように構成された着脱可能な記憶ユニットからの読み出しおよび/またはそのような記憶ユニットへの書き込みを行うように構成されることがある。適切な着脱可能な記憶ユニットの例としては、限定はしないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリ装置などが挙げられる。また、記憶装置732および733は、コンピュータソフトウェア、データ、または他のコンピュータ可読命令を計算システム710にロードできるようにするための他の同様の構造または装置を含むこともできる。例えば、記憶装置732および733は、ソフトウェア、データ、または他のコンピュータ可読情報の読み出しおよび書き込みを行うように構成されることがある。また、記憶装置732および733は、計算システム710の一部でもよく、または他のインターフェースシステムによってアクセスされる別個の装置でもよい。
いくつかの実施形態では、記憶装置732および733は、例えば、単独で、または他の要素と組み合わせて、本明細書で開示する訓練、展開、識別、調整、複製、修正、再訓練、および使用ステップの1つまたは複数を実施するために使用することができ、および/またはそれらを実施するための手段であってよい。また、記憶装置732および733は、本開示に記載する他のステップおよび機能を実施するために使用することもでき、および/またはそれらを実施するための手段であってもよい。
多くの他の装置またはサブシステムを計算システム710に接続することができる。逆に、図7に示される構成要素および装置は、本願で説明および/または図示する実施形態を実施するためにすべて揃っていなければならないわけではない。また、上で言及した装置およびサブシステムは、図7に示されるのとは異なる方法で相互接続されることもある。また、計算システム710は、任意の数のソフトウェア、ファームウェア、および/またはハードウェア構成を採用することができる。例えば、本明細書で開示する例示的実施形態の1つまたは複数を、コンピュータ可読媒体上にコンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、またはコンピュータ制御論理とも呼ぶ)として符合化することができる。語句「コンピュータ可読媒体」は、コンピュータ可読命令を記憶または担持することができる任意の形態の装置、担体、または媒体を全般的に表す。コンピュータ可読媒体の例としては、限定はしないが、搬送波など伝送型媒体や、物理的媒体、例えば磁気記憶媒体(例えばハードディスクドライブおよびフロッピーディスク)、光記憶媒体(例えばCD−ROMまたはDVD−ROM)、電子記憶媒体(例えばソリッドステートドライブおよびフラッシュ媒体)、および他の配信システムが挙げられる。
コンピュータプログラムを含むコンピュータ可読媒体は、計算システム710にロードすることができる。次いで、コンピュータ可読媒体に記憶されたコンピュータプログラムの全体または一部を、システムメモリ716、および/または記憶装置732および733の様々な部分に記憶することができる。プロセッサ714によって実行されるとき、計算システム710にロードされたコンピュータプログラムは、本願で説明および/または図示する1つまたは複数の例示的実施形態の機能をプロセッサ714に実施させることができ、および/またはプロセッサ714を、そのような機能を実施するための手段にすることができる。追加または代替として、本願で説明および/または図示する例示的実施形態の1つまたは複数は、ファームウェアおよび/またはハードウェアの形で実装することができる。例えば、計算システム710は、本明細書で開示する例示的実施形態の1つまたは複数を実装するように適合された特定用途向け集積回路(ASIC)として構成することができる。
図8は、クライアントシステム810、820、および830、ならびにサーバ840および845をネットワーク850に結合させることができる例示的なネットワークアーキテクチャ800のブロック図である。クライアントシステム810、820、および830は、図7の例示的な計算システム710など、任意の種類または形態の計算装置またはシステムを全般的に表す。一例では、クライアントシステム810は、図1からのシステム100を含むことができる。
同様に、サーバ840および845は、様々なデータベースサービスを提供するように、および/または何らかのソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバやデータベースサーバなどの計算装置またはシステムを全般的に表す。ネットワーク850は、例えばイントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、またはインターネットを含めた任意の遠隔通信ネットワークまたはコンピュータネットワークを全般的に表す。
図8に示されるように、1つまたは複数の記憶装置860(1)〜(N)をサーバ840に直接取り付けることができる。同様に、1つまたは複数の記憶装置870(1)〜(N)をサーバ845に直接取り付けることができる。記憶装置860(1)〜(N)および870(1)〜(N)は、データおよび/または他のコンピュータ可読命令を記憶することができる任意の種類または形態の記憶装置または媒体を全般的に表す。いくつかの実施形態では、記憶装置860(1)〜(N)および記憶装置870(1)〜(N)は、NFS、SMB、またはCIFSなど様々なプロトコルを使用してサーバ840および845と通信するように構成されたネットワークアタッチストレージ(NAS)装置を表すことがある。
また、サーバ840および845が、ストレージエリアネットワーク(SAN)ファブリック880に接続されることもある。SANファブリック880は、複数の記憶装置間の通信を容易くすることができる任意の種類または形態のコンピュータネットワークまたはアーキテクチャを全般的に表す。SANファブリック880は、サーバ840および845と複数の記憶装置890(1)〜(N)および/またはインテリジェントストレ−ジアレイ895との間の通信を容易くすることができる。また、SANファブリック880は、ネットワーク850ならびにサーバ840および845を介するクライアントシステム810、820、および830と記憶装置890(1)〜(N)および/またはインテリジェントストレ−ジアレイ895との間の通信を容易くすることもでき、それにより、装置890(1)〜(N)およびアレイ895は、クライアントシステム810、820、および830へのローカル接続装置のように見える。記憶装置860(1)〜(N)および記憶装置870(1)〜(N)と同様に、記憶装置890(1)〜(N)およびインテリジェントストレ−ジアレイ895は、データおよび/または他のコンピュータ可読命令を記憶することができる任意の種類または形態の記憶装置または媒体を全般的に表す。
いくつかの実施形態では、図7の例示的な計算システム710を参照すると、図7の通信インターフェース722などの通信インターフェースを使用して、各クライアントシステム810、820、および830とネットワーク850の間の接続性を提供することができる。クライアントシステム810、820、および830は、例えばウェブブラウザや他のクライアントソフトウェアを使用して、サーバ840および845上の情報にアクセスすることができることがある。そのようなソフトウェアは、クライアントシステム810、820、および830が、サーバ840、サーバ845、記憶装置860(1)〜(N)、記憶装置870(1)〜(N)、記憶装置890(1)〜(N)、またはインテリジェントストレ−ジアレイ895によってホストされたデータにアクセスできるようにすることができる。図8は、データを交換するためのネットワーク(インターネットなど)の使用を示すが、本願で説明および/または図示する実施形態は、インターネットまたは任意の特定のネットワークベース環境に限定されない。
少なくとも1つの実施形態では、本明細書で開示した1つまたは複数の例示的実施形態の全部または一部をコンピュータプログラムとして符合化することができ、サーバ840、サーバ845、記憶装置860(1)〜(N)、記憶装置870(1)〜(N)、記憶装置890(1)〜(N)、インテリジェントストレ−ジアレイ895、またはそれらの任意の組合せにロードし、それらによって実行することができる。また、本明細書で開示する1つまたは複数の例示的実施形態の全部または一部をコンピュータプログラムとして符合化し、サーバ840に記憶し、サーバ845によって実行し、ネットワーク850を介してクライアントシステム810、820、および830に分散することもできる。したがって、ネットワークアーキテクチャ800は、単独で、または他の要素と組み合わせて、本明細書で開示する訓練、展開、識別、調整、複製、修正、再訓練、および使用ステップの1つまたは複数を実施することができ、および/またはそれらを実施するための手段であってよい。また、ネットワークアーキテクチャ800は、本開示に記載する他のステップおよび機能を実施するために使用することもでき、および/またはそれらを実施するための手段であってもよい。
上で詳述したように、計算システム710、および/またはネットワークアーキテクチャ800の1つまたは複数の構成要素は、単独で、または他の要素と組み合わせて、偽陽性を減少させるために複数のインラインヒューリスティックを使用するための例示的な方法の1つまたは複数のステップを実施することができ、および/またはそれらを実施するための手段であってよい。一例では、そのような方法は、1)1組の訓練データを使用して第1のヒューリスティックを訓練するステップと、2)第1のヒューリスティックを展開するステップと、3)展開中の第1のヒューリスティックによって生成された偽陽性を識別するステップと、4)第1のヒューリスティックによって生成された偽陽性を含むように訓練データを修正するステップと、5)修正された訓練データを使用して第2のヒューリスティックを作成するステップと、6)第1のヒューリスティックと第2のヒューリスティックの両方を展開するステップと、次いで7)第1のヒューリスティックと第2のヒューリスティックの両方を順次に1組のフィールドデータに適用するステップとを含む。
いくつかの例では、この方法は、展開中の第1のヒューリスティックによって生成された真陽性を識別するステップも含むことがある。この例では、訓練データを修正するステップは、展開中の第1のヒューリスティックによって生成された真陽性も含むように訓練データを修正するステップを含むことができる。一例では、第1および第2のヒューリスティックは、マルウェア検出決定木などマルウェア検出ヒューリスティックを表すことがある。
いくつかの実施形態では、修正された訓練データを使用して第2のヒューリスティックを作成するステップは、第1のヒューリスティックを作成するために使用された機械学習技法を修正された訓練データに適用するステップを含むことができる。さらに、第1のヒューリスティックと第2のヒューリスティックの両方を順次にフィールドデータに適用するステップは、第1のヒューリスティックをフィールドデータに適用するステップと、次いで第1のヒューリスティックを適用した後に、第2のヒューリスティックをフィールドデータに適用するステップとを含むことがある。
一例では、展開中の第1のヒューリスティックによって生成された偽陽性を識別するステップが、第1のヒューリスティックをフィールドデータに適用したときに生成された偽陽性を識別するステップを含むことがある。さらに、第2のヒューリスティックを展開するステップは、第2のヒューリスティックをフィールド試験する前にそれを展開するステップを含むことがある。
前述の開示では、特定のブロック図、流れ図、および例を使用して様々な実施形態を記載してきたが、本願で説明および/または図示した各ブロック図の構成要素、流れ図のステップ、操作、および/または構成要素は、多様なハードウェア構成、ソフトウェア構成、またはファームウェア構成(またはそれらの任意の組合せ)を使用して、個別に、および/またはまとめて実装することができる。さらに、他の構成要素に含まれた構成要素の開示はどれも、同じ機能を実現するために多くの他のアーキテクチャを実装することができるので、例示的な性質のものとみなすべきである。
本願で説明および/または図示したプロセスパラメータおよびステップのシーケンスは、単に例として提示したものであり、望みに応じて変えることができる。例えば、本明細書で図示および/または説明したステップは、特定の順序で図示または論述していることがあるが、これらのステップは、必ずしも図示または論述した順序で行う必要はない。また、本願で説明および/または図示した様々な例示的な方法は、本願で説明または図示したステップの1つまたは複数を省くこともでき、あるいは開示したステップに加えて追加のステップを含むこともできる。
様々な実施形態を、完全に機能する計算システムの文脈で本願で説明および/または図示してきたが、これらの例示的実施形態の1つまたは複数は、実際に分散を行うために使用されるコンピュータ可読媒体の特定の種類には関係なく多様な形態でプログラム製品として分散させることができる。また、本明細書で開示する実施形態は、特定のタスクを実施するソフトウェアモジュールを使用して実装することもできる。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体上または計算システム内に記憶されることがあるスクリプト、バッチ、または他の実行可能なファイルを含むことがある。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書で開示する例示的実施形態の1つまたは複数を実施するように計算システムを構成することができる。
さらに、本明細書で述べるモジュールの1つまたは複数は、データ、物理的装置、および/または物理的装置の表現を、ある形態から別の形態に変えることがある。例えば、調整モジュール110は、訓練データ122を修正し、次いでそれ(例えば修正された訓練データ402)をデータベース120に記憶することによって、データベース120のプロパティまたは特性を変えることができる。
前述の説明は、本明細書に開示する例示的実施形態の様々な態様を当業者が最も良く利用できるように提示した。この例示的な説明は、網羅的なものとは意図されておらず、また開示した任意の厳密な形態に限定されるものとも意図されていない。本開示の精神および範囲から逸脱することなく、多くの修正形態および変形形態が可能である。本明細書で開示した実施形態は、すべての点で例示とみなされるべきであり、限定とみなされるべきではない。本開示の範囲を決定するに当たっては、添付の特許請求の範囲およびそれらの均等箇所を参照すべきである。
特に断りのない限り、本明細書および特許請求の範囲で使用する単数形は、「少なくとも1つ」を意味するものと解釈すべきである。さらに、使いやすいように、本明細書および特許請求の範囲で使用する語「含む」および「有する」は、語「備える」と交換可能であり、同じ意味を有するものとする。

Claims (20)

  1. 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのコンピュータ実装方法であって、前記方法の少なくとも一部が、少なくとも1つのプロセッサを備える計算装置によって実施され、前記方法が、
    1組の訓練データを使用して第1のヒューリスティックを訓練するステップと、
    前記第1のヒューリスティックを展開するステップと、
    展開中の前記第1のヒューリスティックによって生成された偽陽性を識別するステップと、
    前記第1のヒューリスティックによって生成された前記偽陽性を含むように前記訓練データを修正するステップと、
    前記修正された訓練データを使用して第2のヒューリスティックを作成するステップと、
    前記第1のヒューリスティックと前記第2のヒューリスティックの両方を展開するステップと、
    前記第1のヒューリスティックと前記第2のヒューリスティックの両方を順次に1組のフィールドデータに適用するステップと
    を含む方法。
  2. さらに、展開中の前記第1のヒューリスティックによって生成された真陽性を識別するステップを含む請求項1に記載の方法。
  3. 前記訓練データを修正するステップがさらに、展開中の前記第1のヒューリスティックによって生成された真陽性も含むように前記訓練データを修正するステップを含む請求項2に記載の方法。
  4. 前記第1のヒューリスティックおよび前記第2のヒューリスティックがマルウェア検出ヒューリスティックを備える請求項1に記載の方法。
  5. 前記第1のヒューリスティックおよび前記第2のヒューリスティックが決定木を備える請求項1に記載の方法。
  6. 前記修正された訓練データを使用して前記第2のヒューリスティックを作成するステップが、前記第1のヒューリスティックを作成するために使用された機械学習技法を前記修正された訓練データに適用するステップを含む請求項1に記載の方法。
  7. 前記第1のヒューリスティックと前記第2のヒューリスティックの両方を順次に前記フィールドデータに適用するステップが、
    前記第1のヒューリスティックを前記フィールドデータに適用するステップと、
    前記第1のヒューリスティックを適用した後に、前記第2のヒューリスティックを前記フィールドデータに適用するステップと
    を含む請求項1に記載の方法。
  8. 展開中の前記第1のヒューリスティックによって生成された偽陽性を識別するステップが、前記第1のヒューリスティックをフィールドデータに適用したときに生成された偽陽性を識別するステップを含む請求項1に記載の方法。
  9. 前記第2のヒューリスティックを展開するステップが、前記第2のヒューリスティックをフィールド試験する前に前記第2のヒューリスティックを展開するステップを含む請求項1に記載の方法。
  10. 偽陽性を減少させるために関連のヒューリスティックを順次に適用するためのシステムであって、前記システムが
    1組の訓練データを使用して第1のヒューリスティックを訓練するようにプログラムされた訓練モジュールと、
    前記第1のヒューリスティックを展開するようにプログラムされた展開モジュールと、
    展開中の前記第1のヒューリスティックによって生成された偽陽性を識別するようにプログラムされた識別モジュールと、
    前記第1のヒューリスティックによって生成された前記偽陽性を含むように前記訓練データを修正し、
    前記修正された訓練データを使用して第2のヒューリスティックを作成するようにプログラムされた調整モジュールと
    を備え、
    前記展開モジュールがさらに、
    前記第1のヒューリスティックと前記第2のヒューリスティックの両方を展開し、
    前記第1のヒューリスティックと前記第2のヒューリスティックの両方を順次に1組のフィールドデータに適用するようにプログラムされ、
    前記システムがさらに、前記訓練モジュール、前記展開モジュール、前記識別モジュール、および前記調整モジュールを実行するように構成されたプロセッサ
    を備えるシステム。
  11. 前記識別モジュールがさらに、展開中の前記第1のヒューリスティックによって生成された真陽性を識別するようにプログラムされる請求項10に記載のシステム。
  12. 前記調整モジュールがさらに、展開中の前記第1のヒューリスティックによって生成された前記真陽性も含むように前記訓練データを修正するようにプログラムされる請求項11に記載のシステム。
  13. 前記第1のヒューリスティックおよび前記第2のヒューリスティックがマルウェア検出ヒューリスティックを備える請求項10に記載のシステム。
  14. 前記第1のヒューリスティックおよび前記第2のヒューリスティックが決定木を備える請求項10に記載のシステム。
  15. 前記調整モジュールが、前記第1のヒューリスティックを作成するために使用された機械学習技法を前記修正された訓練データに適用することによって、前記修正された訓練データを使用して前記第2のヒューリスティックを作成する請求項14に記載のシステム。
  16. 前記展開モジュールが、
    前記第1のヒューリスティックを前記フィールドデータに適用し、
    前記第1のヒューリスティックを適用した後に、前記第2のヒューリスティックを前記フィールドデータに適用すること
    によって、前記第1のヒューリスティックと前記第2のヒューリスティックの両方を順次に前記フィールドデータに適用する請求項10に記載のシステム。
  17. 前記識別モジュールが、前記第1のヒューリスティックをフィールドデータに適用したときに生成された偽陽性を識別することによって、展開中の前記第1のヒューリスティックによって生成された偽陽性を識別する請求項10に記載のシステム。
  18. 前記展開モジュールがさらに、前記第2のヒューリスティックをフィールド試験する前に前記第2のヒューリスティックを展開するようにプログラムされる請求項10に記載のシステム。
  19. コンピュータ実行可能命令を備えるコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、計算装置の少なくとも1つのプロセッサによって実行されるときに、前記計算装置に
    1組の訓練データを使用して第1のヒューリスティックを訓練し、
    前記第1のヒューリスティックを展開し、
    展開中の前記第1のヒューリスティックによって生成された偽陽性を識別し、
    前記第1のヒューリスティックによって生成された前記偽陽性を含むように前記訓練データを修正し、
    前記修正された訓練データを使用して第2のヒューリスティックを作成し、
    前記第1のヒューリスティックと前記第2のヒューリスティックの両方を展開し、
    前記第1のヒューリスティックと前記第2のヒューリスティックの両方を順次に1組のフィールドデータに適用する
    ように動作させるコンピュータ可読媒体。
  20. 前記第1のヒューリスティックおよび前記第2のヒューリスティックがマルウェア検出ヒューリスティックを備える請求項19に記載のコンピュータ可読媒体。
JP2015116901A 2009-08-31 2015-06-09 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法 Active JP5987088B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/550,880 2009-08-31
US12/550,880 US8280830B2 (en) 2009-08-31 2009-08-31 Systems and methods for using multiple in-line heuristics to reduce false positives

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012526899A Division JP2013503393A (ja) 2009-08-31 2010-08-24 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2015215906A true JP2015215906A (ja) 2015-12-03
JP5987088B2 JP5987088B2 (ja) 2016-09-06

Family

ID=43086467

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012526899A Pending JP2013503393A (ja) 2009-08-31 2010-08-24 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法
JP2015116901A Active JP5987088B2 (ja) 2009-08-31 2015-06-09 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012526899A Pending JP2013503393A (ja) 2009-08-31 2010-08-24 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法

Country Status (4)

Country Link
US (1) US8280830B2 (ja)
EP (1) EP2473952A1 (ja)
JP (2) JP2013503393A (ja)
WO (1) WO2011025764A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797668B2 (en) 2017-10-11 2023-10-24 Mitsubishi Electric Corporation Sample data generation apparatus, sample data generation method, and computer readable medium

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007050244A2 (en) 2005-10-27 2007-05-03 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
US8239944B1 (en) * 2008-03-28 2012-08-07 Symantec Corporation Reducing malware signature set size through server-side processing
US10027688B2 (en) 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US8635171B1 (en) 2009-08-17 2014-01-21 Symantec Corporation Systems and methods for reducing false positives produced by heuristics
US8578497B2 (en) * 2010-01-06 2013-11-05 Damballa, Inc. Method and system for detecting malware
US8826438B2 (en) 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US8832835B1 (en) 2010-10-28 2014-09-09 Symantec Corporation Detecting and remediating malware dropped by files
US9686293B2 (en) * 2011-11-03 2017-06-20 Cyphort Inc. Systems and methods for malware detection and mitigation
US9792430B2 (en) 2011-11-03 2017-10-17 Cyphort Inc. Systems and methods for virtualized malware detection
US9519781B2 (en) 2011-11-03 2016-12-13 Cyphort Inc. Systems and methods for virtualization and emulation assisted malware detection
US9922190B2 (en) 2012-01-25 2018-03-20 Damballa, Inc. Method and system for detecting DGA-based malware
US10547674B2 (en) 2012-08-27 2020-01-28 Help/Systems, Llc Methods and systems for network flow analysis
US9894088B2 (en) 2012-08-31 2018-02-13 Damballa, Inc. Data mining to identify malicious activity
US10084806B2 (en) 2012-08-31 2018-09-25 Damballa, Inc. Traffic simulation to identify malicious activity
US9571511B2 (en) 2013-06-14 2017-02-14 Damballa, Inc. Systems and methods for traffic classification
RU2568285C2 (ru) 2013-09-30 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Способ и система анализа работы правил обнаружения программного обеспечения
EP2854065B1 (en) 2013-09-30 2018-06-06 AO Kaspersky Lab A system and method for evaluating malware detection rules
RU2587429C2 (ru) * 2013-12-05 2016-06-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки надежности правила категоризации
US11405410B2 (en) 2014-02-24 2022-08-02 Cyphort Inc. System and method for detecting lateral movement and data exfiltration
US10326778B2 (en) 2014-02-24 2019-06-18 Cyphort Inc. System and method for detecting lateral movement and data exfiltration
US10095866B2 (en) 2014-02-24 2018-10-09 Cyphort Inc. System and method for threat risk scoring of security threats
US10225280B2 (en) 2014-02-24 2019-03-05 Cyphort Inc. System and method for verifying and detecting malware
US9762593B1 (en) 2014-09-09 2017-09-12 Symantec Corporation Automatic generation of generic file signatures
US9930065B2 (en) 2015-03-25 2018-03-27 University Of Georgia Research Foundation, Inc. Measuring, categorizing, and/or mitigating malware distribution paths
US9813437B2 (en) 2015-06-15 2017-11-07 Symantec Corporation Systems and methods for determining malicious-download risk based on user behavior
US10319025B2 (en) 2015-11-24 2019-06-11 Bank Of America Corporation Executing terms of physical trade documents
US10410168B2 (en) 2015-11-24 2019-09-10 Bank Of America Corporation Preventing restricted trades using physical documents
US10127209B2 (en) 2015-11-24 2018-11-13 Bank Of America Corporation Transforming unstructured documents
US10430760B2 (en) 2015-11-24 2019-10-01 Bank Of America Corporation Enhancing communications based on physical trade documents
US9836603B2 (en) 2015-12-30 2017-12-05 Symantec Corporation Systems and methods for automated generation of generic signatures used to detect polymorphic malware
US10116680B1 (en) 2016-06-21 2018-10-30 Symantec Corporation Systems and methods for evaluating infection risks based on profiled user behaviors
US10839312B2 (en) 2016-08-09 2020-11-17 International Business Machines Corporation Warning filter based on machine learning
US11003772B2 (en) * 2017-10-19 2021-05-11 AO Kaspersky Lab System and method for adapting patterns of malicious program behavior from groups of computer systems
WO2020041237A1 (en) * 2018-08-20 2020-02-27 Newton Howard Brain operating system
DE102021004533A1 (de) 2021-09-07 2022-01-05 Daimler Ag Optimieren von Filterparametern eines hochautomatisierten Fahrzeugs
DE102022000043A1 (de) 2022-01-04 2023-07-06 Transline Deutschland GmbH Computerrealisiertes Verfahren zum Verringern falscher Fehler im Qualitätsprozess von übersetzten Texten während eines semi-automatischen Filterns

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08146996A (ja) * 1994-11-25 1996-06-07 Sanyo Electric Co Ltd 音声認識装置
JPH11259102A (ja) * 1998-03-09 1999-09-24 Fuji Electric Co Ltd ダムにおける水量予測方法
US6067535A (en) * 1997-01-21 2000-05-23 Notel Networks Corporation Monitoring and retraining neural network
JP2005222445A (ja) * 2004-02-09 2005-08-18 Nifty Corp データマイニングにおける情報処理方法及び解析装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08146996A (ja) * 1994-11-25 1996-06-07 Sanyo Electric Co Ltd 音声認識装置
US6067535A (en) * 1997-01-21 2000-05-23 Notel Networks Corporation Monitoring and retraining neural network
JPH11259102A (ja) * 1998-03-09 1999-09-24 Fuji Electric Co Ltd ダムにおける水量予測方法
JP2005222445A (ja) * 2004-02-09 2005-08-18 Nifty Corp データマイニングにおける情報処理方法及び解析装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7014002714; Avrim BLUM: 'Combining Labeled and Unlabeled Data with Co-Training' COLT' 98 Proceedings of the eleventh annual conference on Computational learning theory , 19980726, pp.92-100 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797668B2 (en) 2017-10-11 2023-10-24 Mitsubishi Electric Corporation Sample data generation apparatus, sample data generation method, and computer readable medium

Also Published As

Publication number Publication date
EP2473952A1 (en) 2012-07-11
JP2013503393A (ja) 2013-01-31
US8280830B2 (en) 2012-10-02
US20110055123A1 (en) 2011-03-03
JP5987088B2 (ja) 2016-09-06
WO2011025764A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
JP5987088B2 (ja) 偽陽性を減少させるために複数のインラインヒューリスティックを使用するためのシステムおよび方法
US8635171B1 (en) Systems and methods for reducing false positives produced by heuristics
US11178170B2 (en) Systems and methods for detecting anomalous behavior within computing sessions
US10572823B1 (en) Optimizing a malware detection model using hyperparameters
US10204033B2 (en) Method and system for semantic test suite reduction
US9836603B2 (en) Systems and methods for automated generation of generic signatures used to detect polymorphic malware
US9258316B1 (en) Systems and methods for generating reputation-based ratings for uniform resource locators
US11025649B1 (en) Systems and methods for malware classification
US8572007B1 (en) Systems and methods for classifying unknown files/spam based on a user actions, a file's prevalence within a user community, and a predetermined prevalence threshold
JP5758995B2 (ja) 仮想マシン間で分析の結果を共有するためのシステム、方法及びコンピュータ可読記憶媒体
US8458232B1 (en) Systems and methods for identifying data files based on community data
US10339423B1 (en) Systems and methods for generating training documents used by classification algorithms
CN108604239B (zh) 用于有效分类数据对象的系统和方法
US8561180B1 (en) Systems and methods for aiding in the elimination of false-positive malware detections within enterprises
US9152703B1 (en) Systems and methods for clustering data samples
US9992211B1 (en) Systems and methods for improving the classification accuracy of trustworthiness classifiers
US10504037B1 (en) Systems and methods for automated document review and quality control
US11321510B2 (en) Systems and methods for machine intelligence based malicious design alteration insertion
US11782965B1 (en) Systems and methods for normalizing data store classification information
US9684705B1 (en) Systems and methods for clustering data
US10484399B1 (en) Systems and methods for detecting low-density training regions of machine-learning classification systems
US8402545B1 (en) Systems and methods for identifying unique malware variants
US8381302B1 (en) Systems and methods for translating non-comparable values into comparable values for use in heuristics
US11461462B1 (en) Systems and methods for producing adjustments to malware-detecting services
US20230259631A1 (en) Detecting synthetic user accounts using synthetic patterns learned via machine learning

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160808

R150 Certificate of patent or registration of utility model

Ref document number: 5987088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250