JP6715292B2 - 機械学習を用いる悪意のあるファイルを検出するシステムおよび方法 - Google Patents
機械学習を用いる悪意のあるファイルを検出するシステムおよび方法 Download PDFInfo
- Publication number
- JP6715292B2 JP6715292B2 JP2018131523A JP2018131523A JP6715292B2 JP 6715292 B2 JP6715292 B2 JP 6715292B2 JP 2018131523 A JP2018131523 A JP 2018131523A JP 2018131523 A JP2018131523 A JP 2018131523A JP 6715292 B2 JP6715292 B2 JP 6715292B2
- Authority
- JP
- Japan
- Prior art keywords
- malicious
- data
- data blocks
- harm
- files
- 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
Links
- 238000000034 method Methods 0.000 title claims description 63
- 238000010801 machine learning Methods 0.000 title claims description 55
- 230000006378 damage Effects 0.000 claims description 148
- 238000001514 detection method Methods 0.000 claims description 108
- 238000004458 analytical method Methods 0.000 claims description 87
- 230000003068 static effect Effects 0.000 claims description 23
- 230000006399 behavior Effects 0.000 description 92
- 230000006870 function Effects 0.000 description 62
- 230000009471 action Effects 0.000 description 50
- 230000003542 behavioural effect Effects 0.000 description 48
- 230000000694 effects Effects 0.000 description 30
- 238000012549 training Methods 0.000 description 24
- 230000002155 anti-virotic effect Effects 0.000 description 18
- 238000002360 preparation method Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 13
- 238000013515 script Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 238000003066 decision tree Methods 0.000 description 6
- 238000012706 support-vector machine Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/568—Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Description
・静的分析−分析されるプログラムを構成するファイルに含まれたデータに基づいた、分析されるプログラムの作業の実行またはエミュレーションを含む、有害性についてのプログラムの分析であって、それによって統計的な分析の間に、
・シグネチャ分析−と、悪意のあるプログラムのシグネチャのデータベースから既知のコード(シグネチャ)に対する分析されるプログラムのコードの特定のセグメントの対応関係についての検索、
・ホワイトおよびブラックリスト−悪意のあるプログラムのチェックサムのデータベース(ブラックリスト)または安全なプログラムのチェックサムのデータベース(ホワイトリスト)における分析されるプログラム(またはその部分)の計算されたチェックサムについての検索、
を使用することが可能であるもの、
・動的分析−分析されるプログラムの作業の実行またはエミュレーションの過程において得られたデータに基づいた、有害性についてのプログラムの分析であって、それによって、動的分析の間に、
・ヒューリスティックな分析−分析されるプログラムの作業のエミュレーション、(API関数の呼び出し、送信されたパラメータ、分析されるプログラムのコードセグメントなどに関するデータを含む)エミュレーションログの作成、および作成されたログのデータと悪意のあるプログラムの行動シグネチャのデータベースからのデータとの間の対応関係についての検索、
・プロアクティブ保護−起動された分析されるプログラムのAPI機能の呼び出しのインターセプト、(API関数の呼び出し、送信されたパラメータ、分析されるプログラムのコードセグメントなどに関するデータを含む)分析されるプログラムの行動のログの作成、および作成されたログのデータと悪意のあるプログラムの呼び出しのデータベースからのデータとの間の対応関係についての検索、
を使用することが可能であるもの、
のような、様々な技術を用いる。
・ファイルの学習選択を形成する所定のルールに従って、ファイルのデータベースから少なくとも1つのファイルを選択し、その後、MLモジュール132が、選択されたファイルの分析に基づいて検出モデルの訓練を実行することになり、
・選択されたファイルをログモジュール112へ送る
ように設計される。
・疑わしいファイル(リスクウェア)−悪意があるものではないが、悪意のあるアクションを実行することができるファイル。
・未知のファイル−その有害性が判断されておらず不明なままであるファイル(すなわち、安全なもの、悪意のあるもの、疑わしいもの等ではないファイル)
を追加的に保持する。
・アンチウィルス・ウェブ・クローラによって収集されたファイル、
・ユーザによって送られたファイル
を保持する。
・ファイルのデータベースから選択された安全なファイルおよび悪意のあるファイルの間の分布は、平均的なユーザの計算装置上にある安全なファイルおよび悪意のあるファイルの間の分布に対応する。
・ファイルのデータベースから選択された安全なファイルおよび悪意のあるファイルの間のる分布は、アンチウィルス・ウェブ・クローラの助けにより収集された安全なファイルおよび悪意のあるファイルの間の分布に対応する。
・ファイルのデータベースから選択されたファイルのパラメータは、平均的ユーザの計算装置上にあるファイルのパラメータに対応する。
・選択されたファイルの数は、所定の値に対応する一方で、ファイルそれら自体はランダムに選択される。
・ファイルが安全であるか、悪意のあるものであるか、潜在的に危険なものであるか、または、ファイルを実行したときの計算システムの行動が決定されないものか、等を特徴づける、ファイルの有害度、
・ファイルの実行中に計算装置によって実行されるコマンドの数、
・ファイルのサイズ、
・ファイルを利用するアプリケーション
である。
・ファイルの試験的な選択を形成する所定のルールに従って、ファイルのデータベースから少なくとも1つの他のファイルを選択した後、MLモジュール132が、選択されたファイルの分析に基づいて、訓練された検出のモデルの検証を実行することになる、
・選択されたファイルをログモジュール112へ送る
ように設計される。
*受信されたファイルの実行、
*受信されたファイルの実行のエミュレーション、ここで、ファイルの実行のエミュレーションは、上述したファイルを開くこと(たとえば、インタープリターによってスクリプトを開くこと)を含むもの、
の間に少なくとも1つの実行可能なコマンドをインターセプトするように、
・各々のインターセプトされたコマンドについて、上記のコマンドを記述する少なくとも1つのパラメータを決定するように、
・インターセプトされたコマンドおよびそのように決定されたパラメータに基づいて得られたファイルの行動ログを形成すること、ここで、行動ログは、ファイルからインターセプトされたコマンド(以後、コマンド)の全体を構成するが、ここで、各コマンドは、そのように決定されてかかるコマンドを記述する少なくとも1つのパラメータ(以後、パラメータ)に対応する
ように設計される。
・特殊なドライバ
・デバッカ
・ハイパーバイザ
の助けにより行われる。
・API関数
・アクションの所定の組を記述する機械命令の組(マクロコマンド)
である。
・行動ログから選択されたコマンドおよびパラメータに基づいて少なくとも1つの行動パターンを形成するが、ここで、行動ログは、ファイルからの実行可能なコマンド(以後、コマンド)の全体を構成し、ここで、各コマンドは、そのコマンドを記述する少なくとも1つのパラメータ(以後、パラメータ)に対応し、行動パターンは、少なくとも1つのコマンドおよびそのようなパラメータの組であり、そのパラメータは、その組のコマンドの全て(以後、行動パターンの要素)を記述するように、
・そのように形成された行動パターンを畳み込みモジュール122へ送る
ように設計される。
・連続したi番ごとのコマンドおよびそれを記述するパラメータであって、インクリメントiが前もって指定されるもの、
・前に選択されたコマンドから所定の期間の後に(たとえば、10秒ごとに)実行されたコマンドおよびそれらのパラメータを記述するもの、
・ファイルの実行の開始から所定の時間間隔に実行されるコマンドおよびそれらを記述するパラメータ、
・所定のリストからのコマンドおよびそれらを記述するパラメータ、
・所定のリストからのパラメータおよびそれらのパラメータによって記述されたコマンド、
・コマンドパラメータの数が所定の閾値よりも大きい場合における最初のまたはランダムなk個のパラメータ
が選択される。
・行動パターンの要素を数として表現することができる場合には、「数の範囲」
である。
・行動パターンの要素をストリングの形態で表現することができる場合には、「ストリング」であることがあり、たとえば、connectコマンドを構成する行動パターンの要素に対して、上記の行動パターンの要素の種類は、「サイズに関して32文字より少ないストリング」であることがあり、
・行動パターンの要素を所定のデータ構造によって記述されたデータの形態で表現することができる場合には、その行動パターンの要素の種類は、「データ構造」であることがある。
・語彙素の形成のための所定のルール
・あらかじめ訓練された再帰型ニューラルネットワーク
を用いて上記の行動パターンの要素の語彙分析に基づいて形成されたトークンをさらに含む。
・ストリングがファイルへのパスを含む場合には、ファイルが位置させられるディスクを決定する、
・ストリングがファイルへのパスを含む場合には、ファイルが位置させられるフォルダを決定する、
・ストリングがファイルへのパスを含む場合には、ファイルの拡張子を決定する。
・ファイルへのパス、
・ファイルが位置させられるフォルダ、
・ファイルの名前、
・ファイルの拡張子
である。
・パラメータがIPアドレスを構成する場合には、上記のIPアドレスを記述するビットマスク(または、メタ文字によって表現されたその類似物)(すなわち、すべての上記のIPに対して等式
数の範囲によってソートが行われる。
0から999まで →{16, 23, 52, 80, 512, 812}
1000から9999まで →{2625, 3200, 3671, 7224}
10000から →{737382, 2662162, 363627632, 6125152186}
畳み込みモジュール122は
・得られた行動パターンについて実行されたその畳み込み関数の結果の逆畳み込み関数の結果が、指定された値よりも大きい得られた行動パターンとの類似性の程度を有することになるように、すなわち、
riは、行動パターンであり、
gは、畳み込み関数であり、
g−1は、逆畳み込み関数であるように、
行動パターンから畳み込み関数を形成するように、
・そのように形成された畳み込み関数をMLモジュール132へ送る
ように設計される。
・得られた行動パターンに基づいて行動パターンの特徴ベクトルを算出するが、ここで、行動パターンの特徴ベクトルは、行動パターンの要素のハッシュ値の和として表現されることがあるように、
・行動パターンの特徴ベクトルから畳み込み関数を形成するが、ここで、畳み込み関数は、算出された特徴ベクトルと、算出された特徴ベクトルからのそのハッシュ関数の結果の逆ハッシュ関数の結果との間の類似性の程度が所定の値よりも大きいように、ハッシュ関数を構成する。
ようにさらに設計される。
・まず、100000個の要素からなる、空のビットベクトルが作成される(ここで、ベクトルの各要素について、1ビットの情報が取って置かれる)。
・行動パターンrからの1000個の要素が、コマンドciについてのデータの記憶用に確保され、残りの99000個の要素が、行動パターンrのパラメータciのために確保され、ここで、50000個の要素(要素1001から要素51000まで)が、ストリングパラメータ用に、25000個の要素(要素51001から要素76000まで)が、数のパラメータ用に確保される。
・行動パターンrの各コマンドciは、0から999までのうちの特定の数xiと一致させられると共に、対応するビットが、
・行動パターンrの各パラメータpiに対して、ハッシュ値が、式
・ストリングに対して:
bは、計算の位取り法の底であり(たとえば、2進法のベクトルについてはb=2、ストリング、すなわち、文字の群を表すベクトルについてはb=8)、
riは、行動パターンのi番目の要素であり、
hは、ハッシュ関数であり、ここで、
・まず、1000個の要素からなる、(前の例とは異なる)さらに別の空のビットベクトルを生成する(ここで、1ビットの情報がベクトルの各要素のために取って置かれる)。
・式
・まず、100000個の要素からなる、(前の例とは異なる)さらに別の空のベクトルを生成する。
・ハッシュ関数の組
{h(ri)}は、行動パターンの要素のハッシュ関数の結果の組であり、
{gi}は、行動パターンの要素のハッシュ関数の結果の逆ハッシュ関数の結果の組であり、
riは、行動パターンのi番目の要素であり、
hは、ハッシュ関数であり、
wは、類似性の程度である。
・少なくとも
・検出モデルの機械学習のための方法の選択
・訓練モデルのパラメータの初期化であって、検出モデルの機械学習の開始に先立って初期化された訓練モデルのパラメータが、ハイパーパラメータとして知られているもの
を含む、悪意のあるファイル用の検出モデルを生成する
ように設計される。
一つの態様において、検出モデルは、準備モジュール111によって選択されたファイルのパラメータに依存する。別の態様によれば、検出モデルは、固定されたものであり、訓練モデルのパラメータには依存しない。さらに別の態様において、検出モデルおよび訓練モデルなどを含む、上記したここに開示された各モデルは、準備モジュール111からの入力ファイル、検出モデルの機械学習のための方法のパラメータ、および照合のために受信されたモデルパラメータに依存することがある。
・そのように生成された訓練モデルをMLモジュール132へ送る。
・クロステスト、スライディングチェック、交差検証(CV)
・AICおよびBICなどの基準の数学的な検証
・A/Bテスト、スプリットテスト
・スタッキング
に基づいて選択される。
・決定木に基づいた勾配ブースティング
・決定木
・K近傍法
・サポートベクトルマシン(SVM)法
である。
・テスト選択のファイルからファイルの有害性の正確な決定を決定するためにテスト選択のファイルからファイルの分析に基づいて形成された得られた行動ログに対して訓練された検出モデルのチェックを実行するように、
・チェックの否定的な結果の場合には、少なくとも
・検出モデルの訓練に使用された現在のものとは異なるファイルの選択を準備するために準備モジュール111へ、
・現在のものとは異なる、新しい検出モデルを生成するために検出モデルモジュール131へ、
リクエストを送る
ようにさらに設計される。
・ログモジュール112から得られた行動ログおよびMLモジュール132から得られた検出モデルに基づいて有害性の程度を算出するが、ファイルの有害性の程度が、実行可能なファイルの悪意のある行動を記述する、定量的な特徴(たとえば、0−ファイルが安全な行動のみを有する−から1−上記のファイルが所定の悪意のある行動を有する−までの範囲内にある)であるように、
・算出された有害性の程度を資源モジュール143へ送る
ように設計される。
・空いているRAMの容量
・ハードディスクの空き領域の容量
・(たとえば、より深いエミュレーションと共に)ウィルススキャンに費やすことができる、空いているプロセッサの時間(プロセッサの時間の分量)
を含む。
・有害性の程度の値の増加の場合にコンピュータシステムの追加の資源を割り当てること、
・有害性の程度の値の減少の場合にコンピュータシステムの前に割り当てられた資源を解放すること
に存する。
・少なくとも1つのコマンドを少なくとも
・ステップ211において選択されたファイルの実行、
・ステップ211において選択されたファイルの作動のエミュレーション
の間にインターセプトするために、
・各々のインターセプトされたコマンドについて、そのコマンドを記述する少なくとも1つのパラメータを決定するために、
・インターセプトされたコマンドおよび決定されたパラメータに基づいて、得られたファイルの行動ログを形成するが、ここで、行動ログは、ファイルからのインターセプトされたコマンド(以後、コマンド)の組を表し、各コマンドは、そのコマンドを記述する少なく一つの定義されたパラメータ(以後、パラメータ)に対応するために、
使用される。
・検出モデルの機械学習のための方法が選択され、
・訓練モデルのパラメータが初期化されるが、ここで検出モデルへの機械学習の開始に先立って初期化された訓練モデルのパラメータは、ステップ211で選択されたファイルのパラメータに依存する、ハイパーパラメータとして知られたものである。
・コンピュータシステムにおいて実行するファイルによって実行されている少なくとも1つのコマンドをインターセプトするために、
・インターセプトされたコマンドに基づいてシステムの行動ログを形成するために
使用される。
・実行可能なファイル、
・スクリプト、および、またそのスクリプトを含むファイル、
・ネットワークのパケットなど
の一つであることになる。
・分析モデル511の助けにより、分析されるオブジェクト501に含まれた少なくとも1つのデータブロックを選択するように、
・選択されたデータブロックを静的分析モジュール520へ送る
ように設計される。
・分析されるオブジェクト501のパラメータ、
・事前に発見されたデータブロックの特徴
に基づいて実行される。
・新たなデータブロックについての検索における鍵、
・畳み込みの算出のための一次データであって、新たなデータブロックについて検索がなされるもの、
・新たなデータブロックについての検索のルールの形成
として使用されることがある。
・データブロックのパラメータの算出および静的分析モジュール520への送りであって、ここで選択されたデータブロックのパラメータは、少なくとも
・選択されたデータブロックのサイズ。
・分析されるオブジェクト501内の選択されたデータブロックの位置
であることになるもの、
選択されるブロックの算出されたパラメータに基づいて分析されるオブジェクト501に含まれたデータのコピーおよび静的分析モジュール520への直接の送り(すなわち、寸法および場所のような選択されるブロックのパラメータに基づいて、分析されるオブジェクト501から選択されたデータをどのようにコピーすることができるか、および、たとえば、暗号化されたデータ、メディア・データなどをコピーするときなどに、どのようにそれを変換するべきであるか、が決定されることになる)。
を伴う。
・(実行可能なファイル、スクリプト、ネットワークのパケットのような)分析されるオブジェクトの種類、
・分析されるオブジェクト501に書き込まれたデータ、および、そのオブジェクト501の構造を形成すること、すなわち、相互に関係のあるデータの組であることになる。
・分析されるオブジェクト501からそのデータブロックの選択に使用されたデータブロックのパラメータ、
・データブロックに含まれたデータの種類(たとえば、テキスト、数値、メディア・データ、語彙素、スクリプト、実行可能なコードなど)、
・そのデータブロックおよび事前に選択されたデータブロックの間の論理的または機能的な関係(たとえば、二項関係の形態のもの)であって、ここで2個のデータブロック(または、画像および音声のような2種類のデータブロック)が、一緒に使用されるときに、論理的な関係が生じることがある一方でそれらは、(画像およびテキストのような)相互に関係付けられないことがあり、1つのブロックからのデータが、第2のブロックからのデータの分析に使用されるときに、機能的な関係が生じることがある(たとえば、実行可能なファイルのPEヘッダからのデータ、および、資源セクションからのデータであって、それらについての情報はPEヘッダに含まれるもの)、
・上述したデータブロックに基づいて算出された、分析されるオブジェクト501の有害性の係数(データブロックからのデータは、有害性の係数を算出するための式のパラメータとして使用されるが、たとえば、実行可能なファイルのコード・セクションからの各コマンドの量は、それ自身の重みを有する、すなわち、重みはパラメータとして現れ、コード・セクションからのすべてのコマンドの合計の重みが、有害性の係数を形成する)、
であることになる。
・データブロックを検索するためのアルゴリズム(ルール)を選択すること、
・データブロックを検出するためのルールに使用されることになる、事前に発見されたデータブロックを用いてパラメータを算出すること、
・事前に発見されたデータブロックに基づいて、新たなデータブロックの内容を予測し、予測されたデータブロックを検索し、発見されたデータブロックの予測されたものに対する類似性の程度を決定すること
を伴うことがある。
・決定木に基づく基づいた勾配ブースティング
・決定木
・K近傍法
・サポートベクトルマシン(SVM)法
を使用することがある。
・各々の受信されたデータブロックを記述する特徴の組を形成するように、
・形成された特徴の組の畳み込みを算出するように、
・算出した畳み込みを有害性モジュール530へ送る
ように設計される。
・上述したデータブロックに存在する所定の文字の頻度特性、
・分析されるオブジェクト501に存在する所定のハッシュ関数を用いて上述したデータブロックからの文字について算出されたハッシュ値の頻度特性、
・外部ライブラリへのアクセスの回数、
・上述したデータブロックにおける合計のデータ容量。
を含む。
算出された有害性の程度を、分類モジュール540へ送るように設計される。
・得られた有害性の程度が所定の閾値を超えない場合に、分析されるオブジェクト501を安全なものとして認識するが、ここで上記の有害性の程度は、分析されるオブジェクト501に含まれたすべてのデータブロックに基づいて算出されたものであるように、
・得られた有害性の程度が所定の閾値を超える場合に、分析されるオブジェクト501を悪意のあるものとして認識する
ように設計される。
ここで、
wは、算出された有害性の程度であり、
limitcleanは、それより上では分析されるオブジェクトが安全なものとして分類されることができない所定の閾値であり、
limitunknownは、それより上では分析されるオブジェクトが未知のものとして分類されることができない所定の閾値であり、
limitsuspiciousは、それより上では分析されるオブジェクトが疑わしいものとして分類されることができない所定の閾値である。
・分析されるオブジェクト501が悪意のあるものであると認識されるような、
・すべてのデータブロックが発見されると共に抽出される
ような時間まで次々に連続してなされる。
Claims (21)
- プロセッサによって、マルウェア分析のためのオブジェクトにおける1個以上のデータブロックを選択することと、
前記プロセッサによって、前記データブロックの特徴の組を決定するために、選択された前記1個以上のデータブロックに静的分析を実行することと、
前記プロセッサによって、前記特徴の組および悪意のあるオブジェクトの検出のためのモデルに基づいて前記オブジェクトの有害性の程度を判定することであって、前記モデルが、少なくとも1つの安全なオブジェクトおよび1つの悪意のあるオブジェクトについての機械学習のための方法によって訓練されてある、前記判定することと、
前記プロセッサによって、前記有害性の程度が有害性の所定の閾値を超えない場合、前記オブジェクトが安全なものであると認識することであって、前記静的分析が、前記オブジェクトにおける選択された前記1個以上のデータブロックについて実行される、前記認識することと、
前記プロセッサによって、前記1個以上のデータブロックの前記有害性の程度が前記有害性の所定の閾値を超える場合、前記オブジェクトが悪意のあるものであると認識すること、
前記オブジェクトが悪意のあるものとして認識される場合、安全なおよび悪意のあるオブジェクトの検出のためのモデルを再訓練することと、
を含む、
安全なおよび悪意のあるデータオブジェクトを検出するための方法。 - 分析される前記オブジェクトのパラメータおよび事前に発見されたデータブロックの特徴を含む基準に基づいて、前記オブジェクトから選択される前記1個以上のデータブロックを検索すること
をさらに含む、
請求項1の方法。 - 前記1個以上のデータブロックを選択することは、
前記1個以上のデータブロックの前記パラメータを算出することを含み、
前記パラメータは、
データブロックのサイズ、前記オブジェクトにおける前記データブロックの位置、前記オブジェクトの種類、および前記オブジェクト内の相互に関係のあるデータの一つ以上を含む、
請求項2の方法。 - 前記1個以上のデータブロックを選択することは、分析モデルに基づいて実行され、
前記分析モデルは、
前記オブジェクトを悪意のあるものとして分類する確率を増加させるための検索についてのルールの組である、
請求項2の方法。 - 前記ルールの組は、
事前に発見されたデータブロックに対して決定された特徴に依存する、
請求項4の方法。 - 前記特徴の組は、
選択に使用されたデータブロックのパラメータ、データブロックに含まれたデータの種類、データブロックと事前に選択されたデータブロックとの間の論理的または機能的関係性、および有害性の係数の一つ以上を含む、
請求項1の方法。 - 前記有害性の係数は、
前記オブジェクトによって実行された各々のコマンドに関連した重みの総和として算出される、
請求項6の方法。 - ルールに基づいて分析されるオブジェクトにおける1個以上のデータブロックを選択し、
前記1個以上のデータブロックの特徴の組を決定するために前記1個以上のデータブロックに静的分析を実行し、
前記特徴の組および悪意のあるオブジェクトの検出のためのモデルに基づいて前記オブジェクトの有害性の程度を判定し、前記モデルは、少なくとも1つの安全なオブジェクトおよび1つの悪意のあるオブジェクトについての機械学習のための方法によって訓練されており、
前記有害性の程度が有害性の所定の閾値を超えない場合、前記オブジェクトが安全なものであると認識し、前記静的分析は、前記オブジェクトのすべてのデータブロックについて実行され、
前記1個以上のデータブロックの前記有害性の程度が前記有害性の所定の閾値を超える場合、前記オブジェクトが悪意のあるものであると認識し、
前記オブジェクトが悪意のあるものとして認識される場合、前記悪意のあるオブジェクトの検出のためのモデルを再訓練する
ように構成されたハードウェアプロセッサを備える、
悪意のあるファイルを検出するためのシステム。 - 前記ハードウェアプロセッサは、
分析される前記オブジェクトのパラメータおよび事前に発見されたデータブロックの特徴を含む基準に基づいて、前記オブジェクトから選択される前記1個以上のデータブロックを検索するようにさらに構成される、
請求項8のシステム。 - 前記ハードウェアプロセッサは、
前記1個以上のデータブロックの前記パラメータを算出することによって、前記1個以上のデータブロックを選択するようにさらに構成され、
前記パラメータは、
データブロックのサイズ、前記オブジェクトにおける前記データブロックの位置、前記オブジェクトの種類、および前記オブジェクトにおける相互に関係のあるデータの一つ以上を含む、
請求項9のシステム。 - 前記1個以上のデータブロックを選択することは、
分析モデルに基づいて実行され、
前記分析モデルは、前記オブジェクトを悪意のあるものとして分類する確率を増加させるための検索についてのルールの組である、
請求項9のシステム。 - 前記ルールの組は、
事前に発見されたデータブロックに対して決定された特徴に依存する、
請求項11のシステム。 - 前記特徴の組は、
選択に使用されたデータブロックのパラメータ、データブロックに含まれたデータの種類、データブロックと事前に選択されたデータブロックとの間の論理的または機能的関係性、および有害性の係数の一つ以上を含む、
請求項8のシステム。 - 前記有害性の係数は、
前記オブジェクトによって実行された各々のコマンドに関連した重みの総和として算出される
請求項13のシステム。 - ルールに基づいて分析されるオブジェクトにおける1個以上のデータブロックを選択することと、
前記1個以上のデータブロックの特徴の組を決定するために前記1個以上のデータブロックに静的分析を実行することと、
前記特徴の組および悪意のあるオブジェクトの検出のためのモデルに基づいて前記オブジェクトの有害性の程度を判定することであって、前記モデルが、少なくとも1つの安全なオブジェクトおよび1つの悪意のあるオブジェクトについての機械学習のための方法によって訓練されてある、前記判定することと、
前記有害性の程度が有害性の所定の閾値を超えない場合、前記オブジェクトが安全なものであると認識することであって、前記静的分析が、前記オブジェクトのすべてのデータブロックについて実行される、前記認識することと、
前記1個以上のデータブロックの前記有害性の程度が前記有害性の所定の閾値を超える場合、前記オブジェクトが悪意のあるものであると認識することと、
前記オブジェクトが悪意のあるものとして認識される場合、悪意のあるオブジェクトの検出のためのモデルを再訓練すること
を含む、
悪意のあるファイルを検出するための方法を、実行されたときに、実行する命令を記憶する非一時的なコンピュータで読み取り可能な媒体。 - 分析されている前記オブジェクトのパラメータおよび事前に発見されたデータブロックの特徴を含む基準に基づいて、前記オブジェクトから選択される前記1個以上のデータブロックを検索することをさらに含む、
請求項15の媒体。 - 前記1個以上のデータブロックを選択することは、
前記1個以上のデータブロックの前記パラメータを算出することを含み、
前記パラメータは、
データブロックのサイズ、前記オブジェクトにおけるデータブロックの位置、前記オブジェクトの種類、および前記オブジェクトにおける相互に関係のあるデータの一つ以上を含む、
請求項16の媒体。 - 前記1個以上のデータブロックを選択することは、
分析モデルに基づいて実行され、
前記分析モデルは、
前記オブジェクトを悪意のあるものとして分類する確率を増加させるための検索についてのルールの組である、
請求項16の媒体。 - 前記ルールの組は、
事前に発見されたデータブロックに対して決定された特徴に依存する、
請求項18の媒体。 - 前記特徴の組は、
選択に使用されたデータブロックのパラメータ、データブロックに含まれたデータの種類、データブロックと事前に選択されたデータブロックとの間の論理的または機能的関係性、および有害性の係数の一つ以上を含む、
請求項15の媒体。 - 前記有害性の係数は、
前記オブジェクトによって実行された各々のコマンドに関連した重みの総和として算出される、
請求項20の媒体。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017136618 | 2017-10-18 | ||
RU2017136618A RU2679785C1 (ru) | 2017-10-18 | 2017-10-18 | Система и способ классификации объектов |
US201762574254P | 2017-10-19 | 2017-10-19 | |
US62/574,254 | 2017-10-19 | ||
US16/008,365 US10929534B2 (en) | 2017-10-18 | 2018-06-14 | System and method detecting malicious files using machine learning |
US16/008,365 | 2018-06-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019079493A JP2019079493A (ja) | 2019-05-23 |
JP6715292B2 true JP6715292B2 (ja) | 2020-07-01 |
Family
ID=63108410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018131523A Active JP6715292B2 (ja) | 2017-10-18 | 2018-07-11 | 機械学習を用いる悪意のあるファイルを検出するシステムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10929534B2 (ja) |
EP (1) | EP3474173B1 (ja) |
JP (1) | JP6715292B2 (ja) |
CN (1) | CN109684835B (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11423143B1 (en) | 2017-12-21 | 2022-08-23 | Exabeam, Inc. | Anomaly detection based on processes executed within a network |
US11431741B1 (en) * | 2018-05-16 | 2022-08-30 | Exabeam, Inc. | Detecting unmanaged and unauthorized assets in an information technology network with a recurrent neural network that identifies anomalously-named assets |
KR102046748B1 (ko) * | 2019-04-25 | 2019-11-19 | 숭실대학교산학협력단 | 트리 부스팅 기반 애플리케이션의 위험도 평가 방법, 이를 수행하기 위한 기록 매체 및 장치 |
US11625366B1 (en) | 2019-06-04 | 2023-04-11 | Exabeam, Inc. | System, method, and computer program for automatic parser creation |
RU2747464C2 (ru) | 2019-07-17 | 2021-05-05 | Акционерное общество "Лаборатория Касперского" | Способ обнаружения вредоносных файлов на основании фрагментов файлов |
EP3767510A1 (en) * | 2019-07-17 | 2021-01-20 | AO Kaspersky Lab | System and method of detecting malicious files based on file fragments |
CN110460611B (zh) * | 2019-08-16 | 2022-01-11 | 国家计算机网络与信息安全管理中心 | 基于机器学习的全流量攻击检测技术 |
CN112532562B (zh) * | 2019-09-17 | 2022-10-11 | 武汉思普崚技术有限公司 | 一种对抗性网络的恶意数据流检测方法及系统 |
CN110659492B (zh) * | 2019-09-24 | 2021-10-15 | 北京信息科技大学 | 一种基于多智能体强化学习的恶意软件检测方法及装置 |
US11956253B1 (en) | 2020-06-15 | 2024-04-09 | Exabeam, Inc. | Ranking cybersecurity alerts from multiple sources using machine learning |
CN111723371B (zh) * | 2020-06-22 | 2024-02-20 | 上海斗象信息科技有限公司 | 构建恶意文件的检测模型以及检测恶意文件的方法 |
US12063226B1 (en) | 2020-09-29 | 2024-08-13 | Exabeam, Inc. | Graph-based multi-staged attack detection in the context of an attack framework |
US12033048B1 (en) * | 2020-11-30 | 2024-07-09 | Amazon Technologies, Inc. | Anomaly detection using feedback |
CN112257816B (zh) * | 2020-12-07 | 2021-09-21 | 北京瑞莱智慧科技有限公司 | 模型的后门检测方法、装置、介质和计算设备 |
TW202319944A (zh) * | 2021-11-02 | 2023-05-16 | 財團法人資訊工業策進會 | 用於資通安全防護機制的驗證方法及驗證系統 |
CN114117413B (zh) * | 2021-12-06 | 2024-09-27 | 安天科技集团股份有限公司 | 恶意样本的检测方法、装置、电子设备及存储介质 |
US11941121B2 (en) * | 2021-12-28 | 2024-03-26 | Uab 360 It | Systems and methods for detecting malware using static and dynamic malware models |
US20240314161A1 (en) * | 2023-03-15 | 2024-09-19 | Bank Of America Corporation | Detecting Malicious Email Campaigns with Unique but Similarly-Spelled Attachments |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8201244B2 (en) | 2006-09-19 | 2012-06-12 | Microsoft Corporation | Automated malware signature generation |
US8181251B2 (en) * | 2008-12-18 | 2012-05-15 | Symantec Corporation | Methods and systems for detecting malware |
RU2427890C2 (ru) | 2009-10-01 | 2011-08-27 | ЗАО "Лаборатория Касперского" | Система и способ сравнения файлов на основе шаблонов функциональности |
US9349006B2 (en) * | 2010-11-29 | 2016-05-24 | Beijing Qihoo Technology Company Limited | Method and device for program identification based on machine learning |
RU2454714C1 (ru) | 2010-12-30 | 2012-06-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ повышения эффективности обнаружения неизвестных вредоносных объектов |
US20120260304A1 (en) | 2011-02-15 | 2012-10-11 | Webroot Inc. | Methods and apparatus for agent-based malware management |
US9628507B2 (en) * | 2013-09-30 | 2017-04-18 | Fireeye, Inc. | Advanced persistent threat (APT) detection center |
US9294501B2 (en) | 2013-09-30 | 2016-03-22 | Fireeye, Inc. | Fuzzy hash of behavioral results |
US9652362B2 (en) | 2013-12-06 | 2017-05-16 | Qualcomm Incorporated | Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors |
US9262635B2 (en) * | 2014-02-05 | 2016-02-16 | Fireeye, Inc. | Detection efficacy of virtual machine-based analysis with application specific events |
EP3139297B1 (en) * | 2014-06-11 | 2019-04-03 | Nippon Telegraph and Telephone Corporation | Malware determination device, malware determination system, malware determination method, and program |
US9367685B2 (en) * | 2014-09-30 | 2016-06-14 | Juniper Networks, Inc. | Dynamically optimizing performance of a security appliance |
US9436791B1 (en) | 2015-03-24 | 2016-09-06 | International Business Machines Corporation | Optimizing placement of circuit resources using a globally accessible placement memory |
JP2016206950A (ja) | 2015-04-22 | 2016-12-08 | 日本電信電話株式会社 | マルウェア判定のための精査教師データ出力装置、マルウェア判定システム、マルウェア判定方法およびマルウェア判定のための精査教師データ出力プログラム |
US10320813B1 (en) * | 2015-04-30 | 2019-06-11 | Amazon Technologies, Inc. | Threat detection and mitigation in a virtualized computing environment |
US20170024660A1 (en) | 2015-07-23 | 2017-01-26 | Qualcomm Incorporated | Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors |
US9889859B2 (en) | 2015-12-21 | 2018-02-13 | Intel Corporation | Dynamic sensor range in advanced driver assistance systems |
US10482248B2 (en) * | 2016-11-09 | 2019-11-19 | Cylance Inc. | Shellcode detection |
US10581888B1 (en) | 2017-07-31 | 2020-03-03 | EMC IP Holding Company LLC | Classifying software scripts utilizing deep learning networks |
-
2018
- 2018-06-14 US US16/008,365 patent/US10929534B2/en active Active
- 2018-07-11 JP JP2018131523A patent/JP6715292B2/ja active Active
- 2018-07-13 CN CN201810772387.0A patent/CN109684835B/zh active Active
- 2018-07-17 EP EP18183976.2A patent/EP3474173B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3474173A1 (en) | 2019-04-24 |
US20190114419A1 (en) | 2019-04-18 |
JP2019079493A (ja) | 2019-05-23 |
EP3474173B1 (en) | 2021-03-17 |
CN109684835A (zh) | 2019-04-26 |
US10929534B2 (en) | 2021-02-23 |
CN109684835B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6715292B2 (ja) | 機械学習を用いる悪意のあるファイルを検出するシステムおよび方法 | |
US10922410B2 (en) | System and method for generating a convolution function for training a malware detection model | |
JP6636096B2 (ja) | マルウェア検出モデルの機械学習のシステムおよび方法 | |
JP7405596B2 (ja) | コンピュータシステムのオブジェクト分類のためのシステムおよび方法 | |
US11403396B2 (en) | System and method of allocating computer resources for detection of malicious files | |
JP6731988B2 (ja) | 訓練された機械学習モデルを使用することで悪意のあるファイルを検出するシステムおよび方法 | |
RU2739865C2 (ru) | Система и способ обнаружения вредоносного файла | |
JP6731981B2 (ja) | 機械学習モデルに基づいた悪意のあるファイルの検出のための計算資源を管理するシステムおよび方法 | |
RU2654151C1 (ru) | Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов | |
RU2673708C1 (ru) | Система и способ машинного обучения модели обнаружения вредоносных файлов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200217 |
|
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: 20200602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200608 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6715292 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 |