JP6758360B2 - 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法 - Google Patents

悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法 Download PDF

Info

Publication number
JP6758360B2
JP6758360B2 JP2018210452A JP2018210452A JP6758360B2 JP 6758360 B2 JP6758360 B2 JP 6758360B2 JP 2018210452 A JP2018210452 A JP 2018210452A JP 2018210452 A JP2018210452 A JP 2018210452A JP 6758360 B2 JP6758360 B2 JP 6758360B2
Authority
JP
Japan
Prior art keywords
container file
container
malicious
file
parameter
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.)
Active
Application number
JP2018210452A
Other languages
English (en)
Other versions
JP2019192198A (ja
Inventor
ヴィー. クルィロフ ヴラジーミル
ヴィー. クルィロフ ヴラジーミル
ヴィー. リスキン アレクサンドル
ヴィー. リスキン アレクサンドル
イー. アントノフ アレクセイ
イー. アントノフ アレクセイ
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2019192198A publication Critical patent/JP2019192198A/ja
Application granted granted Critical
Publication of JP6758360B2 publication Critical patent/JP6758360B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Manipulator (AREA)

Description

本開示は、ウィルス対策技術に関し、より具体的には、悪意あるコンテナを検出するための機械学習モデルをトレーニングし、教育するシステムおよび方法に関する。
ここ10年間における、コンピュータ技術の急速な発展と、各種コンピューティングデバイス(パーソナルコンピュータ、ノート型パーソナルコンピュータ、タブレット、スマートフォンなど)の広範な使用は、これらのデバイスの様々な活動分野における利用とともに、無数の(ネットサーフィンから、銀行振替、電子文書化に至る)問題の解決の強力な誘因となっている。コンピューティングデバイスやそれらのデバイス上で実行されるソフトウェアの数の増加に伴って、悪意あるプログラムの数も急速に増加してきた。
現在では、非常に多くの種類の悪意あるプログラムが存在している。その中には、ユーザのデバイスから、そのユーザの個人的な機密情報(ログイン情報やパスワード、銀行取引情報、電子文書など)を盗むものがある。その他には、ユーザのデバイスを、いわゆるボットネットにして、DDoS攻撃(distributed Denial-of-Service attack)のような攻撃をしたり、他のコンピュータやコンピュータネットワーク上のパスワードを総当たり法によって探し出したりするものがある。さらにその他には、侵入型広告を通じた有料コンテンツ、有料購読、有料番号へのショートメッセージサービス(Short Message Service:SMS)の送信などをユーザに勧めるものがある。
悪意あるプログラムの検出や、感染の予防や、悪意あるプログラムに感染したコンピュータシステムの復元などの、悪意あるプログラムに対する処置のために、専用プログラム、すなわちウィルス対策アプリケーションが用いられる。ウィルス対策プログラムは、静的解析や動的解析などの、ありとあらゆる悪意あるプログラムを検出するための様々な技術を採用している。静的解析とは、解析されるプログラムの起動や動作のエミュレーション以外の、プログラムを構成するファイルに含まれるデータに基づいたプログラムの有害性の解析であり、静的解析時には、(i)シグネチャ解析、すなわち、解析中のプログラムの特定のコードセクションと既知のコード(シグネチャ)との対応関係の、悪意あるプログラムのシグネチャのデータベースからの検索、および(ii)ブラックリストまたはホワイトリスト、すなわち、悪意あるプログラムのチェックサムのデータベース(ブラックリスト)、または安全なプログラムのチェックサムのデータベース(ホワイトリスト)における、解析中のプログラム(またはその一部)からの計算されたチェックサムの検索が採用されることもある。動的解析とは、解析されるプログラムの動作の実行またはエミュレーションの過程で得られたデータに基づいたプログラムの有害性の解析であり、動的解析時には、(i)ヒューリスティック分析、すなわち、解析されるプログラムの動作のエミュレーション、エミュレーションログ(アプリケーションプログラミングインターフェース(Application Programming Interface:API)関数呼び出しに関するデータ、渡されたパラメータ、解析中のプログラムのコードセクションなどを収容している)の作成、および作成されたログ内のデータと、悪意あるプログラムのエミュレートされたシグネチャのデータベースからのデータとの対応関係の検索、ならびに(ii)事前保護、すなわち、解析中の起動されたプログラムのAPI関数呼び出しのインターセプト、解析中のプログラムの動作に関するログ(API関数呼び出しに関するデータ、渡されたパラメータ、解析中のプログラムのコードセクションなどを収容している)の作成、および作成されたログ内のデータと、悪意あるプログラムの呼び出しのデータベースからのデータとの対応関係の検索が採用されることもある。
静的解析および動的解析は、どちらも長所と短所を持っている。静的解析は、解析を行うコンピュータシステムのリソースに対する要求度がより低く、解析されるプログラムの実行やエミュレーションを必要としないため、静的解析の方が高速であるが、効果はより低い。すなわち、静的解析は、悪意あるプログラムを検出する割合がより低く、誤警報(すなわち、解析中のファイルがウィルス対策プログラムリソースによって有害と判定されたが、解析中のファイルは安全である)の割合がより高い。動的解析は、解析されるプログラムの動作の実行またはエミュレーション中に得られたデータを使用するため、より低速であり、解析を行うコンピュータシステムのリソースに対する要求度がより高いが、効果はより高い。最新のウィルス対策プログラムは、静的解析と動的解析の両方の要素を含んだより複雑な解析を採用している。
これまでのところ、ウィルス対策スキャンの主要問題は、依然として、上述のスキャンをするためのコンピューティングリソースを、解析される各プログラムに対して配分する課題に対するものである。限られたコンピューティングリソースで多くのプログラムを次々と解析すると仮定した場合、少なくとも以下の可能性がある。すなわち、(i)解析されるプログラムのウィルス対策スキャンの質が一般的に低下する(例えば、動的解析が除外され、静的解析だけが使われる)可能性、(ii)解析されるプログラムの一部が理由なくウィルス対策スキャンの対象から除外され、その中に悪意あるものがある恐れがある(例えば、ウィルス対策スキャンを待つ待ち行列のプログラムの数がNであるが、コンピューティングリソースはM(<N)個のプログラムのウィルス対策スキャンに十分な量しかないため、(N-M)個のプログラムはウィルス対策スキャンの対象から除外される)可能性、(iii)解析されるプログラムのウィルス対策スキャンの平均的な質が維持される場合、安全なプログラムのスキャンの質は高いが、悪意あるプログラムのスキャンの質は低い(例えば、安全なプログラムは静的解析および動的解析で解析されるが、悪意あるプログラムは静的解析だけで解析される)可能性、また、最終的に第1種および第2種の誤りとなるその他の可能性、である。
公知の検出技術は、所定の種類の悪意あるスクリプト(既知の所定のオブジェクトを含むスクリプト)の検出には優れているが、未知の種類の悪意あるオブジェクト(例えば、ActionScriptのような、ティーチングされていない種類のスクリプト)の検出を処理することはできない。しかも、トレーニングされた検出用モデルを用いた解析を開始するためには、まず、解析されるスクリプトを(最大性能を使用、すなわち、動的解析を実行して)処理する必要があり、それはリソースを大量に必要とする動作であるため、公知の技術は、コンピューティングリソースに対して限られたアクセスしかできない多数のファイル(スクリプト)の迅速な解析には使えない。
本開示の各態様は、統計解析の要素を用いて、悪意あるファイルの検出の課題を解決することができる。そこで、本出願は、悪意あるファイルを検出するためのシステムおよび方法、特に、悪意あるコンテナファイルを検出するための機械学習モデルをトレーニング(および再トレーニング)する技術のためのシステムおよび方法を開示する。
本開示の一態様によれば、悪意あるコンテナファイルを検出するための機械学習モデルをトレーニングするための、コンピュータ上で実現される方法が提供される。方法は、コンテナファイルの論理的に別個のデータ領域を構成する少なくとも2つ以上のオブジェクトを含むファイルである、悪意あるコンテナファイルから、複数のオブジェクトを選択することを含む。方法は、悪意あるコンテナファイルから選択された各オブジェクトに関する少なくとも1つのパラメータを決定することをさらに含む。少なくとも1つのパラメータは、各オブジェクトとコンテナファイル内の少なくとも1つの他のオブジェクトとの関数関係を特徴付ける。方法は、決定された少なくとも1つのパラメータに基づいて、悪意あるコンテナファイルに関連する第1の畳み込みを生成することを含む。第1の畳み込みは多次元ベクトルを含み、多次元ベクトルの各要素は、決定されたパラメータのうちそれ自身の一意的パラメータに対応し、要素の値は、決定されたパラメータを持つオブジェクトの数に対応する。方法は、安全なコンテナファイルから選択されたオブジェクトの決定されたパラメータに基づいて、安全なコンテナファイルに関連する第2の畳み込みを生成すること、および、悪意あるコンテナファイルに関連する第1の畳み込みと安全なコンテナファイルに関連する第2の畳み込みに基づいて、機械学習モデルを修正することを含む。機械学習モデルは解析されるコンテナファイルの有害度を算出するように構成される。
他の態様においては、方法は、機械学習モデルをターゲットコンテナファイルに適用して、ターゲットコンテナファイルの有害度を算出することをさらに含み、ターゲットコンテナファイルの算出された有害度は、解析されたターゲットコンテナファイルが悪意あるものであることの確率を特徴付ける数値である。
他の態様においては、方法は、算出された有害度が所定のしきい値範囲内にあることの決定に対応して、機械学習モデルを再トレーニングして、再トレーニングされたモデルを用いて算出された有害度が元の機械学習モデルを用いて算出された有害度よりも高くなるようにすることをさらに含む。
他の態様においては、方法は、算出された有害度に基づいて、ターゲットコンテナファイルのウィルス対策スキャンを実行するウィルス対策アプリケーションをスケジューリングすることをさらに含む。
他の態様においては、悪意あるコンテナファイルはポータブルドキュメントフォーマット(Portable Document Format:PDF)文書、ソフトウェアディストリビューション、およびアーカイブファイルのうちの1つである。
他の態様においては、コンテナファイルから選択されたオブジェクトは、実行可能ファイル、スクリプト、メディアデータ、および他のコンテナファイルのうちの少なくとも1つである。
他の態様においては、少なくとも1つの選択されたオブジェクトの決定されたパラメータは、コンテナファイルに含まれるすべてのオブジェクトのうち、選択されたオブジェクトのタイプ、選択されたオブジェクトのサイズ、および選択されたオブジェクトのインデックスのうちの少なくとも1つを含む。
他の態様においては、悪意あるコンテナファイルから選択された各オブジェクトに関する少なくとも1つのパラメータを決定することは第2の機械学習モデルを用いて実行され、第2の機械学習モデルは、決定された各パラメータが、ターゲットコンテナファイルが悪意あるものとして分類される確率を高めるように、オブジェクトのパラメータを決定するための一組のルールを含む。
態様の他の例においては、悪意あるコンテナファイルを検出するための機械学習モデルをトレーニングするためのシステムが提供される。システムは、コンテナファイルのグループを記憶する記憶装置とハードウェアプロセッサとを含む。プロセッサは、悪意あるコンテナファイルから複数のオブジェクトを選択し、悪意あるコンテナファイルから選択された各オブジェクトに関する、少なくとも1つのパラメータを決定するように構成される。コンテナファイルは、コンテナファイルの論理的に別個のデータ領域を構成する少なくとも2つ以上のオブジェクトを含むファイルであり、少なくとも1つのパラメータは、各オブジェクトとコンテナファイル内の少なくとも1つの他のオブジェクトとの関数関係を特徴付ける。プロセッサは、決定された少なくとも1つのパラメータに基づいて、各要素が、決定されたパラメータのうちそれ自身の一意的パラメータに対応し、要素の値が決定されたパラメータを持つオブジェクトの数に対応する、多次元ベクトルを含む、悪意あるコンテナファイルに関連する第1の畳み込みを生成し、かつ、安全なコンテナファイルから選択されたオブジェクトの決定されたパラメータに基づいて、安全なコンテナファイルに関連する第2の畳み込みを生成するようにさらに構成される。プロセッサは、悪意あるコンテナファイルに関連する第1の畳み込みと安全なコンテナファイルに関連する第2の畳み込みに基づいて、解析されるコンテナファイルの有害度を算出するように構成された機械学習モデルを修正するように、さらに構成される。
態様の他の例によれば、本明細書に開示する方法のうち任意のいずれかを実行するための、コンピュータが実行可能な命令を含む命令を格納するコンピュータ読み取り可能な媒体が提供される。
上記態様例の簡単な概要は、本開示の基本的な理解を提供するものである。この概要は、すべての熟考された態様の広範な概説ではなく、すべての態様の鍵となる要素や重要な要素を特定したり、本開示の任意またはすべての態様の範囲を規定したりすることを意図するものではない。その唯一の目的は、1つ以上の態様を、後述する本開示のより詳細な説明への前置きとして、簡易な形で提示することである。上述のことを達成するために、本開示の1つ以上の態様は、特許請求の範囲で説明され、かつ例示的に示される特徴を含んでいる。
本明細書に組み込まれ、その一部を構成する添付図面は、本開示の1つ以上の態様例を図示し、それらの原理および実施例を説明するために、詳細説明とともに供される。
図1は、悪意あるコンテナを検出するためのモデルをティーチングするシステムの構造図を示す。 図2は、悪意あるコンテナを検出するためのモデルをティーチングする方法の構造図を示す。 図3は、ウィルス対策スキャンタスクのスケジューリングのためのシステムの構造図を示す。 図4は、ウィルス対策スキャンタスクのスケジューリングのための方法の構造図を示す。 図5は、汎用コンピュータシステム、パーソナルコンピュータ、またはサーバの例を示す。
悪意あるコンテナファイルを検出するための機械学習モデルをトレーニングするためのシステム、方法、および、システムおよび方法のためのコンピュータプログラム製品に関する態様の例について以下に説明する。以下の説明は、単に例示の目的のためであって、いかなる制限を加えることも意図されていないことは、当業者には理解されるであろう。その他の態様は、本開示から利益を得る当業者には、容易に想起できるであろう。添付図面に示すように、態様例の実施態様が詳細に参照される。同一あるいは類似する項目には、図面および以下の説明を通して、可能な範囲で、同一の参照符号を用いる。
本開示の態様例を説明するために用いられるいくつかの定義および用語を紹介する。
ベクトルとは、値の順序集合を構成する抽象データ型であり、集合内の特定の値に複数回遭遇してもよく、すべての値が同一の型または異なる型であってもよい。ベクトル内の値のインスタンスはベクトルの要素(成分)として知られている。
コンテナとは、ファイルのタイプであり、その中に他のタイプのオブジェクトを包含することができる。コレクションと違って、コンテナは特定のデータ構造を実現する。
機械学習(Machine Learning:ML)とは、人工知能のメソッドのクラスであり、その特徴は、直接問題解決することではなく、一群の類似した問題から解法を適用する過程でティーチングする点にある。そのようなメソッドは、数理統計学、数値法、最適化手法、確率論、グラフ理論、およびデジタル形式のデータを扱う各種技法を用いることによって構築される。
教師なし学習(自己学習、自主学習)とは、機械学習方法の一種であり、試験されるシステムが、試験者側の介入なしに、規定された課題を自主的に実行するよう教えられるというものである。サイバネティクスの観点から言えば、サイバネティック実験の一種である。一般に、教師なし学習は、オブジェクトのセット(トレーニング選択)に関する記述が既知であり、オブジェクト間に存在する内部的関連性や依存関係や法則を発見することが要求される課題だけに適している。
教師あり学習とは、機械学習方法の一種であり、試験されるシステムが、「刺激/応答」例を用いて学習するよう求められる。サイバネティクスの観点から言えば、サイバネティック実験の一種である。入力と標準出力(刺激/応答)の間にはある依存関係が存在する可能性があるが、未知である。限られた数の前例群だけが既知であり、「刺激/応答」の対がトレーニング選択として既知である。このデータに基づいて、依存関係を再構築する(予測に適した刺激/応答関係のモデルを構築する)ことが求められる、すなわち、任意の所与のオブジェクトに関する十分に正確な応答を出力することができるアルゴリズムを構築することが求められる。例に基づくティーチングの場合のように、応答の精度を測定するための質関数を導入してもよい。
関数関係とは、各オブジェクトの変化が互いに付随し合うようなタイプのオブジェクト間の関係(関連)である。関数関係においては、因果関係の主要な特徴が欠けている。すなわち、多産性が欠け(オブジェクトは相互に生産し合わない)、時間的非対称性が欠け(オブジェクトは共存し、一方が他方に先行しない)、不可逆性が欠けている。
本開示の各態様は、悪意あるファイルの検出のためのモデルをティーチングするように構成される。本開示の技術的成果は、ティーチングの目的の実現である。本開示のさらに他の技術的成果は、悪意あるファイルの検出のためのモデルを用いたとき、以前に検出された悪意あるファイルに関する再トレーニングによって、悪意あるファイルの検出が増加することである。この技術的成果は、コンピュータの機能性、すなわち、ウィルス対策技術に関する、コンテナファイルの危険性を認識できない従来の静的ウィルススキャンおよび動的ウィルススキャンの改善である。例えば、コンテナファイルの内容をそのまま(すなわち、マスクを比較することによって)解析した場合、コンテナオブジェクトが暗号化されている可能性があるために、従来の静的ウィルススキャンは高い検証度を保証できない。一方、従来の動的ウィルススキャンでは、各コンテナオブジェクトを(例えば、仮想環境下で)起動して、その挙動を解析する必要があり、非常に資源集約的で低速である。それに対して、本開示の各態様は、コンテナファイルを、両方の課題、すなわち、悪意性(または、悪意のなさ)の確実な検証を伴う迅速な解析を解決するように、解析するシステムを提供する。
これらの成果は、悪意あるコンテナを検出するためのモデルをティーチングする方法を用いて達成される。ここで、コンテナは、そのコンテナ(以降、オブジェクトと呼ぶ)の論理的に別個のデータ領域を構成する少なくとも2つ以上のオブジェクトを含むファイルであり、方法は、悪意あるコンテナを検出するためのモデルをティーチングするシステムのリソースを用いて実行されるステップを含んでおり、方法において、パラメータの決定手段を用いて、少なくとも1つの安全なコンテナと1つの悪意あるコンテナから選択された各オブジェクトの、当該オブジェクトと少なくとも1つの選択されたオブジェクトとの関数関係を一意的に特徴付けるパラメータを決定し、畳み込みの形成手段を用いて、上記コンテナから選択されたオブジェクトの決定されたパラメータに基づいて、各要素が、決定されたパラメータのうちそれ自身の一意的パラメータに対応し、その要素の値がその決定されたパラメータを持つオブジェクトの数に対応する、多次元ベクトルである畳み込みを各コンテナに対して個別に形成し、ティーチング手段を用いて、上記のように形成された畳み込みに基づいて、悪意あるコンテナを検出するためのモデルの機械ティーチングを実行する。ここで、上記の検出するためのモデルはコンテナの有害度を算出するためのアルゴリズムであり、コンテナの有害度はそのコンテナが悪意あるものである確率を特徴付ける数値である。
方法の他の特定の態様においては、算出されたコンテナの有害度があらかじめ決定されたしきい値範囲内にある場合、再トレーニングされたパラメータ決定用モデルを用いて選択されたオブジェクトのパラメータに基づいて算出された有害度が、再トレーニングされていないパラメータ決定用モデルを用いて選択されたオブジェクトのパラメータに基づいて算出された有害度よりも高くなるように、悪意あるコンテナを検出するためのモデルがさらに再トレーニングされる。
方法のさらに他の特定の態様においては、コンテナは、少なくとも、ポータブルドキュメントフォーマット(Portable Document Format:PDF)文書、ディストリビューション、およびアーカイブファイルである。
方法の他の特定の態様においては、コンテナから選択されるオブジェクトは、少なくとも、実行可能ファイル、スクリプト、メディアデータ、およびコンテナである。
方法のさらに他の特定の態様においては、オブジェクトのパラメータは、少なくとも、コンテナに含まれるすべてのオブジェクトのうちのオブジェクトのタイプ、オブジェクトのサイズ、およびオブジェクトのインデックスである。
図1は、悪意あるコンテナを検出するためのモデルをティーチングするシステムの構造図の一例を示す。悪意あるコンテナを検出するためのモデルをティーチングするためのシステムは、解析されるコンテナ100と、コンテナ内のオブジェクト105と、パラメータ決定モジュール110と、パラメータ決定用モデル111と、畳み込み生成モジュール120と、モデルトレーニングモジュール130と、検出モデル131と、パラメータ決定用モデルを再トレーニングするように構成された再トレーニングモジュール140とを含む。
1つの態様においては、コンテナ100は、所定のコンテナ100の論理的に別個のデータ領域である、少なくとも2つのオブジェクト105を含むファイルである。コンテナ100は、複数の論理的に別個のデータ領域(これら自身もファイルまたは他のコンテナであってもよい)を包含するように構成されフォーマットされた任意のファイル、パッケージ、またはその他のデータオブジェクトであってもよい。すなわち、コンテナ100は、任意の所与の構造化された一組のデータであってもよく、そこから、その構造に関する情報に基づいて、論理的に別個のデータ領域を、独立したオブジェクト105として選び出すことが技術的に可能であればよい。
例えば、コンテナ100は、テキスト、フォント、ベクタイメージ、ラスタイメージ、その他の表示情報などの、固定レイアウトのフラットな文書の完全な記述を提供するオブジェクトを包含したPDF文書や、その他の論理構造情報や、インタラクティブ要素(例えば、注釈や書式フィールド)や、レイヤーや、ビデオコンテンツや、添付ファイルや、メタデータや、セキュリティ関連オブジェクト(例えば、暗号化キーやデジタル署名)であってもよい。他の一例においては、コンテナ100は、SWFファイルを含むアプリケーション(フラッシュアプリケーション)またはSWFファイルそのものであってもよい。さらに他の一例においては、コンテナ100は、Java(登録商標)アプレットや、論理的に別個のソフトウェアコンポーネントであるオブジェクトを含むソフトウェアディストリビューション(例えば、マイクロソフトインストーラ、すなわち「MSI」としてフォーマットされたウインドウズ(登録商標)インストーラ)や、オブジェクト105をファイルとして含むアーカイブファイル(例えば、WinZipアーカイバによってパッケージ化されたファイルの集まり)であってもよい。
いくつかの態様においては、コンテナ100は、複数オブジェクト(すなわち、「ストレージ」)を有するバイナリワードフォーマットで、OLE複合ファイルとしてフォーマットされるか、またはエクステンシブルマークアップランゲージ(Extensible Markup Language:XML)内の2進コード化されたブロックに格納された複数オブジェクトを有するXMLベースのファイルフォーマットでフォーマットされた電子文書(例えば、マイクロソフトオフィス(登録商標)文書)であってもよい。例えば、マイクロソフトエクセル電子文書"quarterly_report.xlsx"100は、テキストデータ(例えば、マイクロソフトエクセル表のセル間の相互の関数関係の記述式)105.1と、画像またはOLE添付オブジェクト(上記電子文書の表からのデータに基づいて作成されたグラフ)105.2と、他のマイクロソフトエクセル電子文書105.3とを含んでもよい。
システムの態様のさらにその他の例においては、コンテナ100から選び出されるオブジェクト105は、少なくとも、実行可能ファイル(ライブラリ(ダイナミックリンクライブラリ(Dynamic Link Library:DLL))を含む)と、スクリプト(例えば、JavaScript(登録商標)言語、ActionScript、などで記述されたもの)と、メディアデータ(例えば、画像、ビデオ、音声など)と、その他のコンテナファイル(例えば、別のアーカイブファイルに埋め込まれたアーカイブファイル)と、バイナリデータと、テキストとである。
例えば、アーカイブファイル"archive.zip"であるコンテナ100は実行可能ファイル"viewer.exe"105.4と画像"family.jpg"105.5を含んでもよく、一方、実行可能ファイル"viewer.exe"105.4は、ファイルセクションを記述する既知の構造(ポータブル実行可能(Portable Executable:PE)ファイルの構造)を持っており、リソースセクションは画像"me.tiff"105.5を含むので、同じくコンテナ100である。
すなわち、オブジェクト105は、それを格納するコンテナ100の機能や構造を変更することなく修正(置換やコンテナ100からの除去)することが可能なデータであってもよい。すなわち、オブジェクト105の修正は、コンテナ100に含まれる他のオブジェクト105を修正することなく実行することができる。
上述のシステムは、様々な手法を用いて、コンテナ100からオブジェクト105の1つを解析のために選択してもよい。さらなる詳細は、図3と関連して説明する。
パラメータ決定モジュール110は、解析されるコンテナ100から選択されたオブジェクト105のパラメータを決定し、決定されたパラメータを畳み込み生成モジュール120に転送するように構成される。パラメータのうち少なくとも1つは選択されたオブジェクト105同士の関数関係を特徴付ける。
システムの態様の一例においては、オブジェクト105のパラメータは、当該オブジェクト105のタイプ(例えば、画像、テキスト、メディアデータ、コンテナなど)を示すパラメータと、当該オブジェクト105のサイズを示すパラメータと、決定されたタイプを持つ選択されたオブジェクト105の合計サイズ(例えば、画像の合計サイズは1020 kb、テキストデータの合計サイズは12 kb、など)を示すパラメータと、コンテナ100に含まれるすべてのオブジェクト105のうち当該オブジェクト105のインデックスとを含む。さらに、パラメータは、少なくとも、コンテナ100のタイプ(例えば、ZIPアーカイブ、SWFファイルなど)と、コンテナ100のサイズと、コンテナ内の選択されたオブジェクト105の数と、すべての選択されたオブジェクト105の合計サイズとである。
例えば、コンテナ"quarterly_report.xlsx"100は画像"chart_01.jpg"105.6、"chart_02.jpg"105.7、およびVBScript"viewer.vbs"105.8を含んでもよい。コンテナ100内のオブジェクト105のパラメータは、下記の表1.1および表1.2に示すものであってもよい。
Figure 0006758360
Figure 0006758360
コンテナ100内のオブジェクト105のサイズの合計に対するコンテナ100のサイズの比から、さらに、コンテナ100の展開の度合いが決定される。コンテナの展開の度合いは、(i)コンテナ100に格納されたオブジェクト105から選択された、タイプが決定されたオブジェクト105(コンテナ100のタイプに依存するものを含む)の数を含む、オブジェクト105の数と、(ii)それらのオブジェクトを格納するコンテナ100のサイズと関連する、選択されたオブジェクト105の合計サイズ(すなわち、コンテナ100に格納されたオブジェクト105のうち何個が効果的にコンテナ100から抽出されたか)とを特徴付ける数量であってもよい。算出された展開の度合いがあらかじめ与えられたしきい値未満の場合、コンテナ100の展開が不完全であると判定され、したがって、そのコンテナ100は、オブジェクト105を選定する別のアルゴリズムによる処理と、従来技術で公知の任意の方法による追加解析とのうち少なくとも一方にかけられる。
コンテナ100から選択されたオブジェクト105のパラメータを決定するためのシステムの態様のさらにその他の例においては、トレーニングされたパラメータ決定用モデル111が使用され、パラメータ決定用モデル111は、決定された各パラメータが、解析されたコンテナが悪意あるものとして分類される確率を高めるように、オブジェクト105のパラメータを決定するための一組のルールを構成する(すなわち、解析されたオブジェクトの有害性に影響を及ぼすことができないか、または有害性を減じるパラメータは考慮されない)。
コンテナオブジェクトのパラメータは2つのグループに大別される。すなわち、コンテナまたはオブジェクトの有害度を、第1パラメータグループに基づいて算出することはできるが、コンテナまたはオブジェクトの有害度を、第2パラメータグループに基づいて算出することはできない。上述のシステムは、決定されたパラメータの一部を機械学習モデルのトレーニングに使用しないようにしてもよい。すなわち、第1グループからのそういったパラメータは考慮されない(コンピューティングリソースを含む)。すなわち、あるパラメータXが第1グループからのパラメータでない場合、さらなる解析においては無視される。例えば、あるパラメータXは、悪意あるオブジェクト105のデータを直接的に記述するパラメータ(例えば、ブラックリストからのハッシュサム)または間接的に記述するパラメータ(例えば、悪意あるインターネットプロトコル(Internet Protocol:IP)アドレスに対するマスク)ではないので、トレーニングされたパラメータ決定用モデル111はパラメータXを完全に無視し、パラメータXによって記述されるオブジェクト105はコンテナ100から抽出されない。他のパラメータYは悪意あるオブジェクト105のデータを間接的に記述するので、他のパラメータの値次第では、一定の確率で、オブジェクト105がコンテナ100から抽出される可能性がある。さらに、パラメータZは悪意あるオブジェクト105のデータを直接的に記述するので、オブジェクト105はコンテナ100から確実に抽出される。適切にトレーニングされたパラメータ決定用モデル111は、悪意あるオブジェクト105を記述するパラメータによって特徴付けられることができ、したがって、コンテナ100の有害度に影響を及ぼすオブジェクト105だけをコンテナ100から抽出する。
畳み込み生成モジュール120は、オブジェクト105の、パラメータ決定モジュール110によって決定されたパラメータに基づいて、各要素が、決定された一群のパラメータのうちそれ自身のパラメータに対応し、その要素の値がその決定されたパラメータを持つオブジェクト105の数に対応する、多次元ベクトルである畳み込み(畳み込みアルゴリズムの値)を生成すなわち形成し、そのように形成した畳み込みをモデルトレーニングモジュール130に転送するように構成される。
畳み込みを形成するためのアルゴリズムは、以下のように数学的に表現することができる。
Figure 0006758360
ただし、
cは上記のように形成された畳み込み、
eiはi番目のパラメータのベース、
piはi番目のパラメータ、
npはオブジェクト105の決定されたパラメータの数、
N(pi)はi番目のパラメータが決定されたオブジェクト105の数である。
例えば、表1.2に示すパラメータから、以下の畳み込みが形成される。
Figure 0006758360
ただし、cは各要素が1つの決定されたパラメータに依存するベクトルであり、
c[0]はコンテナ100から選択された画像の数(すなわち、2つ)、
c[1]はコンテナ100から選択された全画像の合計サイズ(すなわち、95232バイト)、
c[2]はコンテナ100から選択されたスクリプトの数(すなわち、1つ)、
c[3]はコンテナ100から選択された全スクリプトの合計サイズ(すなわち、2048バイト)である。
システムの態様の一例においては、畳み込みの形成のために用いるオブジェクト105のパラメータは、以下に示す、オブジェクト105の決定されたパラメータの関数の値であってもよい。
Figure 0006758360
すなわち、畳み込みを、以下のように数学的に表現することができる。
Figure 0006758360
ただし、
cは上記のように形成された畳み込み、
ejはパラメータのj番目の処理関数のベース、
{pi}はパラメータグループ、
nfはオブジェクト105の決定されたパラメータの指定された処理関数f(pi)の数、
fj({pi})はオブジェクト105の決定されたパラメータのj番目の処理関数、
N(fj)はj番目の関数の値が決定されたオブジェクト105の数である。
例えば、パラメータがオブジェクト105のサイズであり、オブジェクト105のサイズが[0x00000000,0xFFFFFFFF]の範囲内にある可能性がある場合、態様の一例における畳み込みを構成するベクトルは、少なくとも(4294967296+1)個の要素を含んでもよい(1個はオブジェクト105の合計サイズを格納し、4294967296個は指定されたサイズのオブジェクト105の数を格納する)。コンテナ100とそのオブジェクト105に関する情報のそのような表現は冗長でリソースを大量に必要とするので、オブジェクト105のサイズの代わりに、オブジェクト105のサイズの関数f(pi)の値を用いることができる。例えば、関数が二進対数f=log2である場合、所与のサイズのオブジェクト105の数を格納するベクトルの4294967296個の要素に代わりに、32個のベクトル要素しか必要とされない(232=4294967296)。
システムの態様のさらにその他の例においては、関数f({pi})は、条件文を含むオブジェクトが含まれた数学モデルであってもよい。
例えば、パラメータがオブジェクト105のサイズであり、オブジェクト105のサイズが[0x00000000,0xFFFFFFFF]の範囲内にある可能性がある場合、オブジェクト105のパラメータは、オブジェクト105のサイズの関数f(pi)を用いて算出された所定範囲[0,max]内のインデックスであってもよい(ただし、maxは、ベクトルのサイズやベクトルの処理速度などを考慮して選択された、0より大きい所定値である)。
Figure 0006758360
このように、所与のサイズのオブジェクト105の数を格納する4294967296個のベクトル要素に代わりに、5個のベクトル要素しか必要とされない。同様に、離散変換によって、任意の離散パラメータを別の離散パラメータ空間にマッピングしてもよい。
システムの態様のさらにその他の例においては、以前に実行されたコンテナ100の解析に基づいて、定式化された畳み込みに含まれる情報量が所定サイズの畳み込みに対して最大化されるように、上記の離散変換のパラメータを選択してもよい。例えば、パラメータがオブジェクト105のサイズであり、オブジェクト105のサイズが[0x00000000,0xFFFFFFFF]の範囲内にある可能性がある場合、オブジェクト105のパラメータは、オブジェクト105のサイズの関数を用いて算出された、所定範囲[0,max]内のインデックス
Figure 0006758360
であってもよい。
ただし、
fは連続パラメータpから離散パラメータインデックスへの離散変換の関数、
indexは離散パラメータ、
pは連続パラメータ、
{limits}は{min,max}の対の形で表現されたパラメータのセットで、連続パラメータpと離散パラメータインデックスの関係を表現するものである。
パラメータ{min,max}は、オブジェクト105のサイズが一様に分布するように選択される((maxi-mini)=一定のとき分布は線形で、(maxi-mini)=ef(i)のとき、正規分布となる)。
モデルトレーニングモジュール130は、少なくとも、(あらかじめ定められた)安全なコンテナのために形成された1つの畳み込みと(あらかじめ定められた)悪意あるコンテナのために形成された1つの畳み込みに基づいて、悪意あるコンテナを検出するためのモデル131を機械学習させるように構成される。ここで、検出モデル131は、コンテナ100の有害度を算出するためのアルゴリズムであり、コンテナ100の有害度は、コンテナ100が悪意あるものである確率を特徴付ける数値である。例えば、有害度は0.0から1.0の範囲の実数値であってもよい。ただし、0.0は解析されているコンテナが安全と保証されていることを意味し、1.0はコンテナが間違いなく悪意あるものである(すなわち、コンピュータ上で使用すると悪意ある動作が起きる)ことを意味する。さらにその他の例においては、解析されているコンテナの有害度を二項分類するために、シグモイド関数が用いられる。
システムの態様の一例においては、モデルトレーニングモジュール130は、算出されたコンテナ100の有害度が所定のしきい値範囲内にある場合、悪意あるコンテナを検出するためのモデル131を再トレーニングして、再トレーニングされた悪意あるコンテナを検出するためのモデル131を用いて算出された有害度を、再トレーニングされていない悪意あるコンテナを検出するためのモデル131を用いて算出された有害度よりも高くするようにさらに構成される。
例えば、コンテナの有害度が[0.80〜0.85]の範囲内(例えば、0.805)であり、しきい値0.82からコンテナ100が悪意あるものと判断される場合、悪意あるコンテナを検出するためのモデル131は再トレーニングされ、再トレーニングされた悪意あるコンテナを検出するためのモデル131を用いて算出された有害度が、上記の値0.805より大きく(例えば、0.815に)なるようにされる。
さらにその他の例においては、算出されたコンテナ100の有害度が所定のしきい値よりも大きいときは、いつでも悪意あるコンテナを検出するためのモデル131が再トレーニングされる。例えば、コンテナ100の有害度が0.2に等しい場合、再トレーニングされた悪意あるコンテナを検出するためのモデル131を用いて算出された度合いはその値0.2より大きく(例えば、0.21)、また、コンテナ100の有害度が0.95に等しい場合、再トレーニングされた悪意あるコンテナを検出するためのモデル131を用いて算出された度合いはその値0.95より大きい(例えば、0.99)。すなわち、コンテナ100の有害度が1.0に近いほど、悪意あるコンテナを検出するためのモデル131はより効果的に再トレーニングされる。
再トレーニングモジュール140は、所定のしきい値範囲内でパラメータ決定用モデル111を再トレーニングして、再トレーニングされたパラメータ決定用モデル111を用いて選択されたオブジェクト105のパラメータに基づいて算出された有害度を、再トレーニングされていないパラメータ決定用モデル111を用いて選択されたオブジェクト105のパラメータに基づいて算出された有害度よりも高くするように構成される。
システムの態様のさらにその他の例においては、再トレーニングモジュール140は、パラメータ決定用モデル111を再トレーニングして、少なくとも1つのコンテナ100をパラメータ決定用モデル111のティーチングの選択対象に加え、少なくとも1つのコンテナ100をパラメータ決定用モデル111のティーチングの選択対象から除外するように構成されてもよい。
態様のさらにその他の例においては、パラメータ決定用モデル111の再トレーニングは、少なくとも以下の機械学習方法を用いて行われる。教師あり学習(例えば、人工ニューラルネットワーク、誤り訂正法、誤差逆伝搬法、参照ベクトルによる方法など)および教師なし学習(例えば、α強化システム、γ強化システム、最近接法など)。
図2は、悪意あるコンテナを検出するためのモデルをティーチングする方法の構造図の例を示す。悪意あるコンテナを検出するためのモデルをティーチングする方法の構造図は、オブジェクトのパラメータを決定するステップ210と、畳み込みを形成するステップ220と、悪意あるコンテナを検出するためのモデルをティーチングするステップ230と、パラメータ決定用モデルを再トレーニングするステップ240とを含む。
ステップ210において、パラメータ決定モジュール110を用いて、少なくとも1つの安全なコンテナ100.1と1つの悪意あるコンテナ100.2から選択された各オブジェクト105の、当該オブジェクトと少なくとも1つの選択された(例えば、同一コンテナファイル内の)オブジェクトとの関数関係を一意的に特徴付けるパラメータが決定される。いくつかの態様においては、安全なコンテナと悪意あるコンテナは他のコンテナのサブコンテナであってもよく、個別かつ独立に解析される。
態様の一例においては、コンテナ100は、少なくとも安全および悪意あるコンテナ100を含むトレーニングの選択対象を構成するコンテナグループから、またはウィルス対策スキャン(コンテナ100の有害性の判定)を行うように構成された、安全か悪意あるものかの類別が未知のコンテナ100のグループから選択される。例えば、解析者が、パラメータ決定用モデル111または検出モデル131をトレーニングするために、コンテナのトレーニングの選択対象を用意してもよい。さらにその他の例においては、他の手段を用いて(例えば、ユーザやサイトから、クローラを用いて)収集された情報に基づいて、ウィルス対策スキャンを行うように構成された一群のコンテナを形成してもよい。
ステップ220において、畳み込み生成モジュール120を用いて、上記コンテナ100から選択されたオブジェクト105の決定されたパラメータに基づき、コンテナ100ごとに個別に畳み込みが形成される。畳み込みは、各要素が、決定されたパラメータのうちそれ自身の一意的パラメータに対応し、その要素の値がその決定されたパラメータを持つオブジェクト105の数に対応する、多次元ベクトルとして表現されてもよい。
ステップ230において、モデルトレーニングモジュール130を用いて、形成された畳み込みに基づき、悪意あるコンテナを検出するためのモデル131の機械学習が実施される。検出モデル131は、コンテナ100の有害度を算出するためのアルゴリズムであり、コンテナ100の有害度は、コンテナ100が悪意あるものである確率を特徴付ける数値である。
ステップ240において、算出されたコンテナ100の有害度が所定のしきい値よりも大きい場合、再トレーニングモジュール140を用いてパラメータ決定用モデル111が再トレーニングされ、再トレーニングされたパラメータ決定用モデル111を用いて選択されたオブジェクト105のパラメータに基づいて算出された有害度が再トレーニングされていないパラメータ決定用モデル111を用いて選択されたオブジェクト105のパラメータに基づいて算出された有害度よりも高くされる。
図3は、ウィルス対策スキャンタスクのスケジューリングのためのシステムの構造図の例を示す。ウィルス対策スキャンタスクのスケジューリングのためのシステムの構造図は、コンテナグループ300と、解析されるコンテナ100と、コンテナ内のオブジェクト105と、選択モジュール310と、パラメータ決定モジュール110と、パラメータ決定用モデル111と、畳み込み生成モジュール120と、検出モデル131と、パラメータ決定用モデルを再トレーニングするためのモジュール140と、解析モジュール320と、ウィルス対策スキャンタスクをスケジューリングするように構成されたウィルス対策モジュール330とを含む。
解析されるコンテナ100、コンテナ内の少なくとも1つのオブジェクト105、パラメータ決定モジュール110、パラメータ決定用モデル111、畳み込み生成モジュール120、検出モデル131、および再トレーニングモジュール140の目的とレイアウトは上記の図1および図2で詳述された。
コンテナグループ300は少なくとも2つのコンテナを含む。図3に示す図によって、コンテナグループ300から選択されたコンテナの有害性を解析するためのコンピューティングリソースの配分の問題が解決される。
選択モジュール310は、解析されるコンテナ100から少なくとも1つのコンテナ内のオブジェクト105を選択して、選択されたオブジェクト105をパラメータ決定モジュール110に転送するように構成される。システムの態様の一例においては、コンテナ内のオブジェクト105の、解析されるコンテナ100からの選択は、任意の適切な公知の方法によって、当該コンテナ100の構造に関する情報に基づいて行われる。システムの態様のさらにその他の例においては、オブジェクト105の選択は、コンテナのサイズが所定の数値範囲内にあるか否か、コンテナのタイプは明確か否か、コンテナの有害度は所定の数値範囲内にあるか否かなどの、所定の選択ルールに基づいて行われる。
上記コンテナ100の有害度が算出済みであるとした場合、ウィルス対策スキャンの有効性を高め、第1種および第2種の誤りを少なくするために、さらなるコンテナ100の有害性の解析が必要である。さらに、上述の有害度判定方法は高速で、コンピューティングリソースに対する要求度が低いが、有効性(検出率)は最も高いとは言えない。例えば、仮想環境、すなわち、「サンドボックス」の下でのPDF文書の動的解析が示すところでは、新規ファイルを開くとディスクに保存される可能性があり、PDF文書が開かれたときにシェルコードが実行される可能性があるため、当該PDF文書をさらにチェックする必要がある。
畳み込み生成モジュール120は、定式化された畳み込みを解析モジュール320に転送するように構成される。
解析モジュール320は、トレーニングされた検出モデル131を用いて形成された畳み込みに基づいて、解析されるコンテナ100の有害度を算出し、算出した有害度を、ウィルス対策スキャンタスクのスケジューリングのためのウィルス対策モジュール330に転送するように構成される。
ウィルス対策モジュール330は、解析されるコンテナ100に対するウィルス対策スキャンのパラメータを決定するように構成され、ウィルス対策スキャンのパラメータは、指定された時間内に上記コンテナ100に対するウィルス対策スキャンを実行するために割り当てられる、ウィルス対策スキャンを実行するコンピューティングシステムのリソースを特徴付ける。態様の一例においては、ウィルス対策スキャンのパラメータは、コンテナグループ300内のコンテナに対してウィルス対策スキャンを実施する順序、およびコンテナグループ300内の各コンテナに対するウィルス対策スキャンの実施に割り当てられるコンピューティングリソースのうち、少なくとも一方を含んでもよい。いくつかの態様においては、ウィルス対策スキャンのパラメータは、コンテナグループ300内の各コンテナに対するウィルス対策スキャンの実施開始時刻と終了時刻、およびコンテナグループ300内の各コンテナに対するウィルス対策スキャンの方法のうち、少なくとも一方をさらに含んでもよい。
有害度が算出済みのコンテナのウィルス対策スキャンタスクのスケジューリングにおける目標は以下のとおりである。上述のコンテナの有害度判定方法の利点は、その速さと、コンピューティングリソースに対する要求度の低さである。このように、クリーンである(有害度が極めて低い)と保証されたコンテナと悪意ある(有害度が極めて高い)と確証されたコンテナを正確に検出することができる。残りのコンテナは、より低速でリソースをより大量に必要とするが、より信頼性のある、従来公知のチェック手段によってチェックする必要がある。加えて、コンテナがより悪意あると思われるほど、より迅速に(すなわち、より早急に)チェックすべきである。これがウィルス対策スキャンタスクのスケジューリングにおける目標である。上述の方法と公知のウィルス対策スキャン方法を併用することで、上記のウィルス対策スキャンを実施する際、ウィルス対策スキャンの全体的な実施速度を高め、コンピューティングリソースの消費量を減らしつつ、第1種および第2種の誤りを少なくすることができる。
例えば、解析されるコンテナの有害度が高いほど、そのコンテナはウィルス対策スキャン実行に対するコンテナの待ち行列の先頭により近い位置に配置されるであろう。待ち行列に新規に追加される有害度のより高いコンテナが、たとえそれより有害度の低いコンテナが長時間待機していたとしても、その有害度のより低いコンテナよりも早くウィルス対策スキャンを受けるように、ウィルス対策スキャン実行に対するコンテナの待ち行列自身が動的に変化してもよい。このように、他の出典から得られるような、有害度によってソートされる、コンテナの動的な待ち行列が発生する。
さらにその他の例においては、ウィルス対策スキャンの実施開始時刻と終了時刻は、(i)コンテナのウィルス対策スキャンのための待ち行列内の全コンテナのウィルス対策スキャンが所定時間を超えない範囲で完了することと、(ii)上記ウィルス対策スキャンのためのコンピューティングリソースの使用が所定の目標値を超えないこととのうち少なくとも一方が成立するように算出される。
態様のさらにその他の例においては、コンテナグループ300内のコンテナの一部をウィルス対策スキャンの実行の待ち行列から除外してもよい。例えば、1つのコンテナ(例えば、MD5)に基づいて算出されたチェックサムが「ホワイトリスト」(安全なコンテナに基づいて算出されたチェックサムのデータベース)にある場合、そのコンテナはウィルス対策スキャンの実行の待ち行列から除外され、安全であると見なされる。一方、当該チェックサムが「ブラックリスト」(悪意あるコンテナに基づいて算出されたチェックサムのデータベース)の中に見られる場合、そのコンテナもウィルス対策スキャンの実行の待ち行列から除外され、悪意あるものであると認定される。
図4は、ウィルス対策スキャンタスクのスケジューリングのための方法の構造図の例を示す。ウィルス対策スキャンタスクのスケジューリングのための方法の構造図は、コンテナ内のオブジェクトを選択するステップ410と、畳み込みを形成するステップ420と、有害度を算出するステップ430と、ウィルス対策スキャンタスクをスケジューリングするステップ440とを含む。
ステップ410において、選択モジュール310を用いて、解析されるコンテナ100からコンテナ内の少なくとも1つのオブジェクト105が選択される。
態様の一例においては、コンテナ100は、安全および悪意あるコンテナ100を含むトレーニングの選択対象を構成するコンテナグループと、ウィルス対策スキャン(コンテナ100の有害性の判定)を行うように構成された、安全か悪意あるものかの類別が未知のコンテナ100のグループとのうち、少なくとも一方から選択される。例えば、解析者が、パラメータ決定用モデル111または検出モデル131をトレーニングするために、コンテナのトレーニングの選択対象を用意してもよい。
ステップ420において、畳み込み生成モジュール120を用いて、コンテナ内の選択されたオブジェクト105に基づき、畳み込みが形成される。いくつかの態様においては、ステップ410で選択されたオブジェクト105のパラメータに基づいて形成された畳み込みは、各要素が、決定された一群のパラメータのうちそれ自身のパラメータに対応し、その要素の値がその決定されたパラメータを持つオブジェクト105の数に対応する、多次元ベクトルであり、上記のように形成された畳み込みはモデルトレーニングモジュール130に転送される。
畳み込みを形成するためのアルゴリズムは、以下のように数学的に表現することができる。
Figure 0006758360
cは上記のように形成された畳み込み、
eiはi番目のパラメータのベース、
piはi番目のパラメータ、
npはオブジェクト105の決定されたパラメータの数、
N(pi)はi番目のパラメータが決定されたオブジェクト105の数である。
ステップ430において、解析モジュール320を用いて、トレーニングされた検出モデル131を用いてステップ420で形成された畳み込みに基づいて、解析されるコンテナ100の有害度が算出される。
ステップ440において、ウィルス対策スキャンタスクのスケジューリングのためのウィルス対策モジュール330を用いて、ステップ430で算出されたコンテナ100の有害度に基づき、解析されるコンテナ100に対するウィルス対策スキャンのパラメータが決定され、ウィルス対策スキャンのパラメータは、指定された時間内に上記コンテナ100に対するウィルス対策スキャンを実行するために割り当てられる、ウィルス対策スキャンを実行するコンピューティングシステムのリソースを特徴付ける。
図5は、悪意あるコンテナファイルを検出するための機械学習モデルをトレーニングするためのシステムおよび方法の各態様を、本開示の態様の一例に従って実現できるコンピュータシステム20を示すブロック図である。なお、コンピュータシステム20は、例えば、上述したような図1〜図4に示す1つ以上のモジュールを実現することができる。
図示のように、コンピュータシステム20(パーソナルコンピュータまたはサーバでもよい)は、中央処理装置21、システムメモリ22、および、中央処理装置21に付随するメモリを含む各種システム構成要素を接続するシステムバス23を含んでいる。当業者には理解されるように、システムバス23は、バスメモリまたはバスメモリコントローラ、周辺バス、および、他のいかなるバスアーキテクチャとも相互作用可能なローカルバスを備えていてもよい。システムメモリは固定記憶装置(ROM)24とランダムアクセスメモリ(RAM)25を含んでいてもよい。基本入出力システム(BIOS)26は、ROM24を用いてオペレーティングシステムをロードするときの手順等の、コンピュータシステム20の要素間の情報転送の基本的手順を記憶していてもよい。
また、コンピュータシステム20は、データを読み書きするためのハードディスク27、リムーバブル磁気ディスク29を読み書きするための磁気ディスクドライブ28、および、CD−ROM、DVD−ROM、その他の光媒体等のリムーバブル光学ディスク31を読み書きするための光学ドライブ30を備えていてもよい。ハードディスク27、磁気ディスクドライブ28、および光学ドライブ30は、それぞれ、ハードディスクインターフェース32、磁気ディスクインターフェース33、および光学ドライブインターフェース34を介して、システムバス23と接続されている。これらのドライブおよび対応するコンピュータ情報媒体は、コンピュータシステム20のコンピュータ命令、データ構造体、プログラムモジュール、およびその他のデータを記憶する、独立の電源で動作するモジュールである。
態様の一例は、コントローラ55を介してシステムバス23と接続されたハードディスク27、リムーバブル磁気ディスク29、およびリムーバブル光学ディスク31を使用するシステムを含んでいる。コンピュータで読み取り可能な形式でデータの保存が可能な任意の種類の媒体56(ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)等)を利用できることは、当業者には理解されるであろう。
コンピュータシステム20はファイルシステム36を有しており、その中には、オペレーティングシステム35の他に、追加的なプログラムアプリケーション37、その他のプログラムモジュール38、およびプログラムデータ39を保存することができる。コンピュータシステム20のユーザはキーボード40、マウス42、あるいは、その他、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を含むがそれらに限られない当業者に公知の入力装置を使用して、コマンドおよび情報を入力することができる。そのような入力装置は、一般に、コンピュータシステム20に、システムバスと接続されたシリアルポート46を通して差し込まれるが、当業者は、入力装置を、例えば、限定はされないが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス(USB)等の他の方法で接続してもよいことを理解するであろう。モニタ47または他の種類の表示装置も、ビデオアダプタ48等のインターフェースを介してシステムバス23と接続してもよい。パーソナルコンピュータは、モニタ47に加えて、スピーカ、プリンタ等の周辺出力装置(図示せず)を備えてもよい。
コンピュータシステム20を、1台以上のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境下で動作させてもよい。リモートコンピュータ49は、上記コンピュータシステム20の特徴説明の中で述べた要素のほとんどまたは全部を備えたローカルコンピュータワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワークステーション、ピアデバイス、その他のネットワークノード等を含むがそれらに限られないその他の装置がコンピュータネットワークの中に存在してもよい。
ネットワーク接続によって、ローカルエリアコンピュータネットワーク(LAN)50および広域コンピュータネットワーク(WAN)を形成することができる。そのようなネットワークは企業コンピュータネットワークや社内ネットワークで利用され、一般に、インターネットにアクセスできる。LANおよびWANのネットワークにおいては、パーソナルコンピュータ20は、ネットワークアダプタまたはネットワークインターフェース51を介してローカルエリアネットワーク50と接続されている。ネットワークを利用する場合、コンピュータシステム20は、インターネットのような広域コンピュータネットワークとの通信を可能にする、モデム54、または、その他の当業者に公知のモジュールを採用してもよい。モデム54は、内部装置であっても外部装置であってもよいが、シリアルポート46によってシステムバス23と接続してもよい。上記ネットワーク接続は、1台のコンピュータが通信モジュールを使って他のコンピュータとの接続を確立する数多くの広く理解されている方法の非限定例であることは、当業者には理解されるであろう。
様々な態様において、本明細書で説明したシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせの中に実現されてもよい。ソフトウェア中に実現された場合、方法は、非一時的なコンピュータ読み取り可能な媒体上に、1つ以上の命令またはコードとして記憶されてもよい。コンピュータ読み取り可能な媒体には、データストレージが含まれる。一例として、限定はされないが、そのようなコンピュータ読み取り可能な媒体は、RAM、ROM、EEPROM、CD−ROM、フラッシュメモリ、あるいは他の種類の電気的、磁気的、または光学的記憶媒体、もしくは、所望のプログラムコードを命令やデータ構造体の形で運搬または記憶するために利用可能で、汎用コンピュータのプロセッサからアクセス可能な、その他の任意の媒体を含むことができる。
様々な態様において、本開示で説明したシステムおよび方法を、モジュールの意味で扱うことができる。本明細書で使われている用語「モジュール」とは、例えば、特定用途向け集積回路(ASIC)やフィールドプログラマブルゲートアレイ(FPGA)によるハードウェアを用いて実現されるか、あるいは、例えば、マイクロプロセッサシステムと、(実行時に)マイクロプロセッサシステムを専用デバイスに変換するモジュールの機能性を実現する一連の命令によるハードウェアとソフトウェアの組み合わせとして実現された、実世界の装置、構成要素、または構成要素の配置のことである。モジュールは、特定の機能をハードウェアのみで促進し、その他の機能をハードウェアとソフトウェアの組み合わせによって促進する、上記2つの組み合わせとしても実現できる。特定の実現形態においては、少なくとも一部、場合によっては全部のモジュールが、汎用コンピュータのプロセッサ上(例えば、上記図5で詳説されているもの)で実行されてもよい。したがって、各モジュールは各種の適切な構成の中に実現可能であり、本明細書に例示したいかなる特定の実現形態にも限定されるべきではない。
明確化のために、各態様の定型的な特徴のすべてが本明細書に示されているわけではない。本開示の実際の実現形態のいかなる開発においても、開発者の具体的目的を達成するために、実現形態に特有の多くの決定をする必要があり、具体的目的は、実現形態ごとおよび開発者ごとに異なるということが理解されるであろう。そのような開発努力は複雑で多くの時間を要するものであるが、それにもかかわらず、本開示から利益を得る当業者にとって、定型的な技術的取り組みであることが理解される。
さらに、本明細書で用いている表現や用語は説明上のものであって、限定のためではなく、本明細書の用語や表現は、当業者が、当業者の知識と組み合わせて、本明細書が提供する教示や手引きの観点から解釈すべきものと理解すべきである。加えて、明示的記載がない限り、本明細書や請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものとみなされることは意図されていない。
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールと均等な現在および将来の公知の均等物を包含する。さらに、態様および応用例を図示し、かつ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、この開示の利益を有する当業者には明らかであろう。

Claims (20)

  1. 悪意あるコンテナファイルを検出するための機械学習モデルをトレーニングするための、コンピュータ上で実現される方法であって、
    コンテナファイルの論理的に別個のデータ領域を構成する少なくとも2つ以上のオブジェクトを含むファイルである、悪意ある前記コンテナファイルから、複数の前記オブジェクトを選択することと、
    前記悪意あるコンテナファイルから選択された各オブジェクトに関する、前記各オブジェクトと前記コンテナファイル内の少なくとも1つの他のオブジェクトとの関数関係を特徴付ける、少なくとも1つのパラメータを決定することと、
    決定された前記少なくとも1つのパラメータに基づいて、各要素が、前記決定されたパラメータのうちそれ自身の一意的パラメータに対応し、前記要素の値が前記決定されたパラメータを持つオブジェクトの数に対応する、多次元ベクトルを含む、前記悪意あるコンテナファイルに関連する第1の畳み込みを生成することと、
    安全なコンテナファイルから選択されたオブジェクトの決定されたパラメータに基づいて、前記安全なコンテナファイルに関連する第2の畳み込みを生成することと、
    前記悪意あるコンテナファイルに関連する前記第1の畳み込みと前記安全なコンテナファイルに関連する前記第2の畳み込みに基づいて、解析されるコンテナファイルの有害度を算出する機械学習モデルを修正することと
    を含むことを特徴とする、方法。
  2. 前記機械学習モデルを解析中のターゲットコンテナファイルに適用して、前記ターゲットコンテナファイルの前記有害度を算出することをさらに含み、前記ターゲットコンテナファイルの前記算出された有害度は、解析された前記ターゲットコンテナファイルが悪意あるものであることの確率を特徴付ける数値であることを特徴とする、請求項1に記載の方法。
  3. 前記算出された有害度が所定のしきい値範囲内にあることの決定に対応して、前記機械学習モデルを再トレーニングして、再トレーニングされた前記機械学習モデルを用いて算出された前記有害度が元の前記機械学習モデルを用いて算出された前記有害度よりも高くなるようにすることをさらに含むことを特徴とする、請求項2に記載の方法。
  4. 前記算出された有害度に基づいて、前記ターゲットコンテナファイルのウィルス対策スキャンを実行するウィルス対策アプリケーションをスケジューリングすることをさらに含むことを特徴とする、請求項2に記載の方法。
  5. 前記悪意あるコンテナファイルはポータブルドキュメントフォーマット(Portable Document Format:PDF)文書、ソフトウェアディストリビューション、およびアーカイブファイルのうちの1つであることを特徴とする、請求項1に記載の方法。
  6. 前記コンテナファイルから選択された前記オブジェクトは、実行可能ファイル、スクリプト、メディアデータ、および他のコンテナファイルのうちの少なくとも1つであることを特徴とする、請求項1に記載の方法。
  7. 少なくとも1つの選択されたオブジェクトの前記決定されたパラメータは、前記コンテナファイルに含まれるすべてのオブジェクトのうち、前記選択されたオブジェクトのタイプ、前記選択されたオブジェクトのサイズ、および前記選択されたオブジェクトのインデックスのうちの少なくとも1つを含むことを特徴とする、請求項1に記載の方法。
  8. 前記悪意あるコンテナファイルから選択された各オブジェクトに関する少なくとも1つのパラメータを決定することは第2の機械学習モデルを用いて実行され、前記第2の機械学習モデルは、決定された各パラメータが、ターゲットコンテナファイルが悪意あるものとして分類される確率を高めるように、前記オブジェクトの前記パラメータを決定するための一組のルールを含むことを特徴とする、請求項1に記載の方法。
  9. 悪意あるコンテナファイルを検出するための機械学習モデルをトレーニングするためのシステムであって、
    コンテナファイルのグループを記憶する記憶装置と、
    コンテナファイルの論理的に別個のデータ領域を構成する少なくとも2つ以上のオブジェクトを含むファイルである、悪意ある前記コンテナファイルから複数の前記オブジェクトを選択し、
    前記悪意あるコンテナファイルから選択された各オブジェクトに関する、前記各オブジェクトと前記コンテナファイル内の少なくとも1つの他のオブジェクトとの関数関係を特徴付ける、少なくとも1つのパラメータを決定し、
    決定された前記少なくとも1つのパラメータに基づいて、各要素が、前記決定されたパラメータのうちそれ自身の一意的パラメータに対応し、前記要素の値が前記決定されたパラメータを持つオブジェクトの数に対応する、多次元ベクトルを含む、前記悪意あるコンテナファイルに関連する第1の畳み込みを生成し、
    安全なコンテナファイルから選択されたオブジェクトの決定されたパラメータに基づいて、前記安全なコンテナファイルに関連する第2の畳み込みを生成し、かつ、
    前記悪意あるコンテナファイルに関連する前記第1の畳み込みと前記安全なコンテナファイルに関連する前記第2の畳み込みに基づいて、解析されるコンテナファイルの有害度を算出する機械学習モデルを修正するハードウェアプロセッサとを備えることを特徴とする、システム。
  10. 前記ハードウェアプロセッサは、前記機械学習モデルを解析中のターゲットコンテナファイルに適用して、前記ターゲットコンテナファイルの前記有害度を算出し、前記ターゲットコンテナファイルの前記算出された有害度は、解析された前記ターゲットコンテナファイルが悪意あるものであることの確率を特徴付ける数値であることを特徴とする、請求項9に記載のシステム。
  11. 前記ハードウェアプロセッサは、前記算出された有害度が所定のしきい値範囲内にあることの決定に対応して、前記機械学習モデルを再トレーニングして、再トレーニングされた前記機械学習モデルを用いて算出された前記有害度が元の前記機械学習モデルを用いて算出された前記有害度よりも高くなるようにすることを特徴とする、請求項10に記載のシステム。
  12. 前記ハードウェアプロセッサは、前記算出された有害度に基づいて、前記ターゲットコンテナファイルのウィルス対策スキャンを実行するウィルス対策アプリケーションをスケジューリングすることを特徴とする、請求項10に記載のシステム。
  13. 前記悪意あるコンテナファイルはPDF文書、ソフトウェアディストリビューション、およびアーカイブファイルのうちの1つであることを特徴とする、請求項9に記載のシステム。
  14. 前記コンテナファイルから選択された前記オブジェクトは、実行可能ファイル、スクリプト、メディアデータ、および他のコンテナファイルのうちの少なくとも1つであることを特徴とする、請求項9に記載のシステム。
  15. 少なくとも1つの選択されたオブジェクトの前記決定されたパラメータは、前記コンテナファイルに含まれるすべてのオブジェクトのうち、前記選択されたオブジェクトのタイプ、前記選択されたオブジェクトのサイズ、および前記選択されたオブジェクトのインデックスのうちの少なくとも1つを含むことを特徴とする、請求項9に記載のシステム。
  16. 前記悪意あるコンテナファイルから選択された各オブジェクトに関する少なくとも1つのパラメータの決定は第2の機械学習モデルを用いて実行され、前記第2の機械学習モデルは、決定された各パラメータが、ターゲットコンテナファイルが悪意あるものとして分類される確率を高めるように、前記オブジェクトの前記パラメータを決定するための一組のルールを含むことを特徴とする、請求項9に記載のシステム。
  17. 悪意あるコンテナファイルを検出するための機械学習モデルをトレーニングするためのコンピュータ実行可能な命令を含む非一時的なコンピュータ読み取り可能な媒体であって、
    コンテナファイルの論理的に別個のデータ領域を構成する少なくとも2つ以上のオブジェクトを含むファイルである、悪意ある前記コンテナファイルから複数の前記オブジェクトを選択し、
    前記悪意あるコンテナファイルから選択された各オブジェクトに関する、前記各オブジェクトと前記コンテナファイル内の少なくとも1つの他のオブジェクトとの関数関係を特徴付ける、少なくとも1つのパラメータを決定し、
    決定された前記少なくとも1つのパラメータに基づいて、各要素が、前記決定されたパラメータのうちそれ自身の一意的パラメータに対応し、前記要素の値が前記決定されたパラメータを持つオブジェクトの数に対応する、多次元ベクトルを含む、前記悪意あるコンテナファイルに関連する第1の畳み込みを生成し、
    安全なコンテナファイルから選択されたオブジェクトの決定されたパラメータに基づいて、前記安全なコンテナファイルに関連する第2の畳み込みを生成し、かつ、
    前記悪意あるコンテナファイルに関連する前記第1の畳み込みと前記安全なコンテナファイルに関連する前記第2の畳み込みに基づいて、解析されるコンテナファイルの有害度を算出する機械学習モデルを修正するための命令を含むことを特徴とする、非一時的なコンピュータ読み取り可能な媒体。
  18. 前記命令は、前記機械学習モデルを解析中のターゲットコンテナファイルに適用して、前記ターゲットコンテナファイルの前記有害度を算出するための命令をさらに含み、前記ターゲットコンテナファイルの前記算出された有害度は、解析された前記ターゲットコンテナファイルが悪意あるものであることの確率を特徴付ける数値であることを特徴とする、請求項17に記載の非一時的なコンピュータ読み取り可能な媒体。
  19. 前記命令は、前記算出された有害度が所定のしきい値範囲内にあることの決定に対応して、前記機械学習モデルを再トレーニングして、再トレーニングされた前記機械学習モデルを用いて算出された前記有害度が元の前記機械学習モデルを用いて算出された前記有害度よりも高くなるようにするための命令をさらに含むことを特徴とする、請求項18に記載の非一時的なコンピュータ読み取り可能な媒体。
  20. 前記命令は、前記算出された有害度に基づいて、前記ターゲットコンテナファイルのウィルス対策スキャンを実行するウィルス対策アプリケーションをスケジューリングするための命令をさらに含むことを特徴とする、請求項18に記載の非一時的なコンピュータ読み取り可能な媒体。
JP2018210452A 2018-02-06 2018-11-08 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法 Active JP6758360B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2018104438 2018-02-06
RU2018104438A RU2697955C2 (ru) 2018-02-06 2018-02-06 Система и способ обучения модели обнаружения вредоносных контейнеров
US16/124,255 US10902118B2 (en) 2018-02-06 2018-09-07 System and method of training a machine learning model for detection of malicious containers
US16/124,255 2018-09-07

Publications (2)

Publication Number Publication Date
JP2019192198A JP2019192198A (ja) 2019-10-31
JP6758360B2 true JP6758360B2 (ja) 2020-09-23

Family

ID=67476780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018210452A Active JP6758360B2 (ja) 2018-02-06 2018-11-08 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法

Country Status (4)

Country Link
US (1) US10902118B2 (ja)
JP (1) JP6758360B2 (ja)
CN (1) CN110119620B (ja)
RU (1) RU2697955C2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11461462B1 (en) * 2018-09-21 2022-10-04 Ca, Inc. Systems and methods for producing adjustments to malware-detecting services
CN110908964B (zh) * 2019-10-18 2023-08-18 平安科技(深圳)有限公司 分布式文件系统的监控方法、装置、终端及存储介质
US11537809B2 (en) * 2019-11-21 2022-12-27 Kyndryl, Inc. Dynamic container grouping
US20210243226A1 (en) * 2020-02-03 2021-08-05 Purdue Research Foundation Lifelong learning based intelligent, diverse, agile, and robust system for network attack detection
CN111327608B (zh) * 2020-02-14 2021-02-02 中南大学 基于级联深度神经网络的应用层恶意请求检测方法及系统
US11720686B1 (en) * 2020-04-08 2023-08-08 Wells Fargo Bank, N.A. Security model utilizing multi-channel data with risk-entity facing cybersecurity alert engine and portal
US12015630B1 (en) 2020-04-08 2024-06-18 Wells Fargo Bank, N.A. Security model utilizing multi-channel data with vulnerability remediation circuitry
US20220058498A1 (en) * 2020-08-24 2022-02-24 Kyndryl, Inc. Intelligent backup and restoration of containerized environment
CN112508200B (zh) * 2020-12-18 2024-01-16 北京百度网讯科技有限公司 处理机器学习模型文件的方法、装置、设备、介质和程序
CN112528284A (zh) * 2020-12-18 2021-03-19 北京明略软件系统有限公司 恶意程序的检测方法及装置、存储介质、电子设备
US11573770B2 (en) * 2021-05-05 2023-02-07 International Business Machines Corporation Container file creation based on classified non-functional requirements
US12073258B2 (en) * 2021-05-28 2024-08-27 Salesforce, Inc. Configuration map based sharding for containers in a machine learning serving infrastructure
US20230409710A1 (en) * 2022-05-26 2023-12-21 Microsoft Technology Licensing, Llc Allow list of container images based on deployment configuration at a container orchestration service

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8875286B2 (en) * 2010-12-01 2014-10-28 Cisco Technology, Inc. Method and apparatus for detecting malicious software using machine learning techniques
US8838992B1 (en) 2011-04-28 2014-09-16 Trend Micro Incorporated Identification of normal scripts in computer systems
US20130222422A1 (en) 2012-02-29 2013-08-29 Mediatek Inc. Data buffering apparatus capable of alternately transmitting stored partial data of input images merged in one merged image to image/video processing device and related data buffering method
JP5441043B2 (ja) * 2012-04-19 2014-03-12 株式会社Ffri プログラム、情報処理装置、及び情報処理方法
RU2587429C2 (ru) * 2013-12-05 2016-06-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки надежности правила категоризации
US9324022B2 (en) * 2014-03-04 2016-04-26 Signal/Sense, Inc. Classifying data with deep learning neural records incrementally refined through expert input
US10078752B2 (en) * 2014-03-27 2018-09-18 Barkly Protects, Inc. Continuous malicious software identification through responsive machine learning
US10089580B2 (en) * 2014-08-11 2018-10-02 Microsoft Technology Licensing, Llc Generating and using a knowledge-enhanced model
JP2017004123A (ja) 2015-06-05 2017-01-05 日本電信電話株式会社 判定装置、判定方法および判定プログラム
CN105095756A (zh) * 2015-07-06 2015-11-25 北京金山安全软件有限公司 可移植文档格式文档的检测方法和装置
EP3323075B1 (en) * 2015-07-15 2023-01-18 Cylance Inc. Malware detection
US9690938B1 (en) * 2015-08-05 2017-06-27 Invincea, Inc. Methods and apparatus for machine learning based malware detection
EP3455775B1 (en) * 2016-05-11 2022-05-18 British Telecommunications public limited company Software container profiling
AU2017281232B2 (en) 2016-06-22 2020-02-13 Invincea, Inc. Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning
WO2018045165A1 (en) 2016-09-01 2018-03-08 Cylance Inc. Container file analysis using machine learning models
US10637874B2 (en) * 2016-09-01 2020-04-28 Cylance Inc. Container file analysis using machine learning model
US10503901B2 (en) * 2016-09-01 2019-12-10 Cylance Inc. Training a machine learning model for container file analysis
US10489589B2 (en) * 2016-11-21 2019-11-26 Cylance Inc. Anomaly based malware detection
CN107341401B (zh) * 2017-06-21 2019-09-20 清华大学 一种基于机器学习的恶意应用监测方法和设备
TWI677804B (zh) * 2017-11-29 2019-11-21 財團法人資訊工業策進會 計算機裝置及辨識其軟體容器行為是否異常的方法

Also Published As

Publication number Publication date
RU2018104438A (ru) 2019-08-06
RU2697955C2 (ru) 2019-08-21
RU2018104438A3 (ja) 2019-08-06
JP2019192198A (ja) 2019-10-31
US10902118B2 (en) 2021-01-26
US20190243972A1 (en) 2019-08-08
CN110119620A (zh) 2019-08-13
CN110119620B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
JP6758360B2 (ja) 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法
Wang et al. A systematic review of fuzzing based on machine learning techniques
US10867038B2 (en) System and method of detecting malicious files with the use of elements of static analysis
RU2679785C1 (ru) Система и способ классификации объектов
CN109271780B (zh) 机器学习恶意软件检测模型的方法、系统和计算机可读介质
RU2659737C1 (ru) Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
Parisi Hands-On Artificial Intelligence for Cybersecurity: Implement smart AI systems for preventing cyber attacks and detecting threats and network anomalies
RU2654151C1 (ru) Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов
JP6731981B2 (ja) 機械学習モデルに基づいた悪意のあるファイルの検出のための計算資源を管理するシステムおよび方法
KR101858620B1 (ko) 기계 학습을 이용한 자바스크립트 분석 장치 및 방법
JP6568564B2 (ja) ファイルのウイルス対策スキャン実行のため仮想マシン上にログを生成するシステム及び方法
Guo et al. Vulhunter: An automated vulnerability detection system based on deep learning and bytecode
Alrabaee et al. On leveraging coding habits for effective binary authorship attribution
Miura et al. Macros finder: Do you remember loveletter?
RU2673708C1 (ru) Система и способ машинного обучения модели обнаружения вредоносных файлов
Liu et al. MalFuzz: Coverage-guided fuzzing on deep learning-based malware classification model
Wang et al. CMFuzz: context-aware adaptive mutation for fuzzers
Bhat et al. CogramDroid–An approach towards malware detection in Android using opcode ngrams
Alrabaee et al. Decoupling coding habits from functionality for effective binary authorship attribution
Alazab et al. Malicious code detection using penalized splines on OPcode frequency
Nadeem et al. Intelligent malware defenses
US20220237289A1 (en) Automated malware classification with human-readable explanations
Hadad et al. Application marketplace malware detection by user feedback analysis
Wang et al. Android malware detection via efficient application programming interface call sequences extraction and machine learning classifiers
Pandey et al. Evading malware classifiers using RL agent with action-mask

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200813

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: 20200825

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200901

R150 Certificate of patent or registration of utility model

Ref document number: 6758360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250