JP2023003363A - マルウェア検出の反復メモリ分析 - Google Patents

マルウェア検出の反復メモリ分析 Download PDF

Info

Publication number
JP2023003363A
JP2023003363A JP2021108601A JP2021108601A JP2023003363A JP 2023003363 A JP2023003363 A JP 2023003363A JP 2021108601 A JP2021108601 A JP 2021108601A JP 2021108601 A JP2021108601 A JP 2021108601A JP 2023003363 A JP2023003363 A JP 2023003363A
Authority
JP
Japan
Prior art keywords
file
analysis
execution
static
malware
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.)
Pending
Application number
JP2021108601A
Other languages
English (en)
Inventor
ストロゴフ ウラジミール
Strogov Vladimir
マラノフ アレクセイ
Malanov Alexey
ウラセン セルゲイ
Ulasen Sergey
レフチェンコ ヴィチェスラフ
Levchenko Vyacheslav
ベロウソフ セルゲイ
Beloussov Serguei
プロタソフ スタニスラフ
Protasov Stanislav
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.)
Acronis International GmbH
Original Assignee
Acronis International GmbH
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 Acronis International GmbH filed Critical Acronis International GmbH
Publication of JP2023003363A publication Critical patent/JP2023003363A/ja
Pending legal-status Critical Current

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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • 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/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】反復アンチマルウェアスキャン方法、システム及び記憶媒体を提供する。【解決手段】反復アンチマルウェアスキャン方法は、対象とされるコンピュータシステム上で実行可能なファイルを実行する際に実行され、静的分析及び動的分析が組み合わせられた反復技術を含む。静的分析は、ファイルが特定の精度で悪意あるものとして分類可能なファイル属性のツリーを用いて行われる。静的分析によってファイルを前記特定の精度で分類できない場合、動的分析が反復実行される。動的分析では、ファイルコードの実行中にデータブロックを復号化する動作をインターセプトし、暗号化されたデータブロックを考慮してファイル属性のツリーを更新する。続いて、更新されたファイル属性のツリーに基づいてファイルの静的分析を実行する。ファイルが前記特定の精度で分類可能となるまで、インターセプトするステップおよび更新するステップを繰り返す。【選択図】なし

Description

本発明は、マルウェアの静的および動的分析、ならびにマルウェアの検出を含むコンピュータセキュリティに関する。
コンピュータセキュリティにおいて、マルウェア検出戦略はマルウェア実行のどの段階に介入するかによって分類できる。つまり、前記戦略には、実行前のもの、実行時のもの、および実行後のものがある。実行前(「PE」)分析は多くの場合有用であるものの、暗号化、またはパッキングされた幅広いマルウェアサンプルの集合体に対して行うには困難であった。
問題点の一つとして、そのような暗号化、またはパッキングされたサンプルのためにPE分析を行うという点において解決法が欠如していることが挙げられる。一般的な方法では、動作実行時方法(Behavioral Runtime methods)やイベント収集が使用される。このような場合、PE分析は十分に活用されず、検出率は改善されない。
ここで「静的分析」とは、ソフトウェア構造に基づくプログラム解析技術を指す。従来の静的分析方法では、ポータブル実行可能ファイルをパースして逆アッセンブルし、証明書、ヘッダ、ライブラリ、インポート、名前、サイズ、および他の属性を含む属性ツリーを作成する。これらのツリーを用いて、実行可能ファイルが悪意あるものかどうかを分類する。しかし、マルウェアが暗号化されている場合、一般的な静的ファイル分析部では困難が生じる。前記暗号化によって、静的分析ではコードを効果的に分析することができない。
静的分析が有効でない場合に、動的分析が代わりに使用されることがある。動的分析の目的は、信頼されていないファイルのテストであり、信頼されていないファイルを安全な環境で実行することにより、ファイル実行時にファイル本来の性質を明らかにすることである。従来の動的動作分析ツールの例としては、エミュレーション、サンドボックス、およびこれらに類似する方法が挙げられる。
エミュレータはアプリケーションを深く解析することができるが、いくつかの制約がある。エミュレータでは、100%の精度で元のシステムをエミュレートすることができない。マルウェアには、実行時環境をテストすることができ、エミュレータが検出された場合には実行を停止できるものもある。さらに、エミュレータはシステムのリソースを使用し、分析にかなりの時間を要する。このことは周知であり、悪意のあるファイルには、実行時間およびエミュレーション時間を引き伸ばすためのダミーループを含むものもある。前記ループによって、悪意のあるコードが実行される前にエミュレータが分析を終了する。
サンドボックスは、ファイル実行テストおよび分析に使用される隔離された安全な環境である。サンドボックスは、エミュレータと同様、対象とされるコンピュータシステムと正確には一致しない。そのため、潜在的に悪意のあるファイルをサンドボックス内で実行する場合と、対象とする環境内で実行する場合とでは異なることがある。また、サンドボックスは、リアルタイム環境で効率的に行うことができないリソース集約的なプロセスである。それでもなお、より軽量な静的分析方法に加えて、サンドボックスが使用されることもある。
システム動作アナライザは、対象とされるコンピュータ上でのファイルの実行を制御する方法である。システム動作アナライザは、APIコール、スレッド、読取りおよび書込み動作、ならびにその他マルウェアの検出を支援すべての動作を追跡する。しかし、問題は、このような方法は軽量ではなく、システムに負荷をかけ、性能を低下させることである。
従来技術に見られる問題を克服するために、静的および動的分析を組み合わせて、暗号化ファイルを含む潜在的に悪意のあるファイルを分析することができる。例えば、静的分析において、多くのデータブロックが暗号化されているので、ファイルが疑わしいという暫定的な結論へ至るために、ファイル本体のエントロピーを推定することができる。暫定的な判定に達した後、判定の精度を高めるために動的方法が使用される。動的方法では、信頼されていないファイルの実行動作を明らかにすることによって、それらの性質を明らかにする。例えば、ファイルが実行を開始した際にファイル自身のヘッダを上書きしたり、その性質を隠す他の属性を有する場合、この観察された動作はファイルが悪意のあるものであるという結論に寄与する。分類は機械学習技術に基づいて行うことができる。
スレッド/プロセスの作成、ファイルマッピングなどの特別な制御フローポイントにおいて、アプリケーションに対する判定を再推定できるように様々なシステムレベルでのインターセプタが利用される。学習済みの機械学習PE分析モデルによって再推定された判定には、ディスク上のファイルからではなく、アプリケーションメモリから抽出されたデータが利用される。このような状況において、アプリケーションメモリには、復号化されたコードを実行する新たなコード領域が含まれる。より正確な結果を得るために、数回の反復が行われる。静的および動的分析の相乗効果を利用して、従来の方法よりも正確な判定を実現する方法もある。
前記方法では、PE分析サービス、ドライバ、ファイルシステム、およびファイルシステムへのリクエストが採用されている。ドライバはユーザモードサービスと通信することによって、PEモデル評価を呼び出し、最新のPE分析判定を得る。ドライバは、ユーザモードフックを利用してコードフロー内の制御点を定義し、モデルを再推定することができる。
解凍または復号化されたコードを含む新しいコード領域は、スタック分析部とプロセス仮想メモリAPIで動作するユーザモードフックを利用して検出される。検出された新しいコード領域は、モデルのデータセットに追加されて、モデルの学習、または新しい判定の計算に利用される。
或いは、新しいコード領域は、ポータブル実行可能(Portable Executable)未初期化データセグメント内に収集される。未初期化データセグメントは、「BSS」セグメントとも称され、実際のディスク空間を必要としない未初期化変数のプレースホルダとして機能する。
ドライバ及びユーザモードフックの同様の組み合わせが、パッキングまたは暗号化されたマルウェアサンプルのセットを用いてPE分析モデルの学習に利用される。最新のPE分析判定を、エンドポイントセキュリティ製品で利用してマルウェア検出の改良を実現する。
本発明による一実施の形態において、ファイルのアンチマルウェアスキャンは、対象とされるコンピュータシステム上で実行可能ファイルを実行する際に実行される。ファイルの静的分析は、ファイルが特定の精度で悪意あるものとして分類可能なファイル属性のツリーを用いて行われる。前記静的分析によって前記ファイルを前記特定の精度で分類できない場合、動的ファイル分析が反復実行される。前記動的分析では、ファイルコードの実行中にデータブロックを復号化する動作をインターセプトし、暗号化されたデータブロックを考慮してファイル属性のツリーを更新する。続いて、前記更新されたファイル属性のツリーに基づいて前記ファイルの静的分析を実行する。前記ファイルが前記特定の精度で分類可能となるまで、前記インターセプトするステップおよび更新するステップを繰り返す。
一実施の形態において、データブロックは、アプリケーションに割り当てられた既存のメモリ内、割り当てられたメモリ内の新しいバッファ内、またはアプリケーションの既存のバッファ内で復号化される。バッファは、一時的な記憶領域であり、通常はメモリ内のブロックであり、アイテムが入力デバイスからまたは出力デバイスに対して転送または変更されるのを待機する間、または他のメモリブロックから処理用に転送または変更されるのを待機する間配置される。
一実施の形態において、データブロックの復号化をインターセプトするステップおよびファイル属性ツリーを更新するステップは、3回より多く繰り返され、5回より多く繰り返され、または10回より多く繰り返される。
一実施の形態において、ファイルの分析は、実行後に当該ファイルから修正された第二の信頼されていないファイルに依存する。前記第二の信頼されていないファイルは、第一のファイルを実行した際に、第一のファイルのヘッダ、データブロック、またはファイル本体が変更された場合、または新しいファイルが作成された場合に結果として生じるものである。
一実施の形態において、ファイルの実行は、追加されたファイルデータを分析した後、凍結される。
一実施の形態において、バッファの所定の領域が実行可能にされ、実行が当該所定の領域に切り替えられる。
PE分析を実装するためのシステムの概要を示す図である。 未知のオブジェクトに対して反復静的-動的分析を実行する工程を示す図である。 機械学習において未知のオブジェクトに対する反復静的-動的分析を実行する工程を示す図である。 実行環境において実行される反復静的-動的分析の一実施の形態の詳細を示す図である。
反復マルウェア分析の実装は、検出に対する障害を克服するために静的および動的技術を使用する。これらの障害は、アンチマルウェアシステムが使用する検出方法を熟知するマルウェアの作成者によって当該マルウェアに埋め込まれる。
反復マルウェア分析は、静的および動的技術を選択的に使用して検出率を改善し、それによって高度なマルウェアにおいて見出される抗検出特性を克服するように設計される。例えば、信頼されていないファイル内のメインの悪意のあるコードが実行される際に検出を回避する方法が含まれている場合がある。マルウェアが、対象とする環境と一致しない仮想化された実行時環境を検出できる場合、エミュレーションおよびサンドボックスなどの動的な方法を回避することができる。マルウェアによって使用される別の検出回避方法として難読化がある。難読化はコードを取得し、当該コードを従来の手段では読み取り不能にする。また、検出を遅延させ、コードを逆エンジニアリングの影響を受けにくいものにする。パッキングは、パッカーを利用するマルウェアによって利用される一種の難読化である。パッカーは、データを圧縮または暗号化することによってコードの形式を修正するツールである。
暗号化されたまたはパッキングされたファイルには、従来技術のマルウェア分析プロトコルから既知の従来のものとは異なるものが求められる。暗号化されたマルウェアが実行される際には、まず疑わしい悪意のあるファイルが読み込まれて実行される。一般的には、本体が暗号化されているかパッキングされるので、ファイルの性質を十分な精度で判定することができない。これを克服するため、データブロックを、割り当てられたメモリの新しいバッファ内で復号化する。或いは、既存のバッファ内でデータブロックを復号化して、所定の領域を実行可能とし、前記所定の領域に実行を切り替えるようにしてもよい。このサイクルは、悪意のあるコードの実行開始前に何度も反復することができる。したがって、復号化は、暗号化されたデータブロックから読み出され、既存のアプリケーションメモリまたは新しいバッファに書き込まれるデータブロックによって段階的に進行する。
或いは、未初期化データセグメント(BSS)が復号化に使用される。パッキングは、実行可能ファイルを対象とすることが多い。パッキングプロセスは、新しいヘッダを生成し、元ファイルを変換することができる。変換後の元ファイルは新しいファイルにコピーされる。新しいファイルには、スタブが追加される。ファイルが実行可能ファイルである場合、スタブは、実行中に変換を逆転させる。
Microsoft Windows(登録商標)プログラムファイルはポータブル実行可能形式が使用されている。この形式はWindows NT3.1で初めて導入され、.NETおよび64ビットへの対応を含む他のバイナリ形式に拡張された。前記ポータブル実行可能形式は、Windows OSにおけるEXEおよびDLLファイルの標準バイナリ形式である。Linux(登録商標) Executable 及び Linkable Format(「ELF」)は、Linux環境における実行可能ファイルの同様の形式である。以下の説明では、例としてWindows形式が使用されるが、以下に説明する技術は、構造的に類似である任意のファイル形式で利用可能である。
プロセス中空化(Process hollowing)は、ライブプロセスのアドレス空間内でコードを実行する方法である。一般的には、一時停止状態のプロセスを作成し、次いでメモリをアンマッピングまたは「中空化」することによって実行される。このプロセス中空化は、未初期化データセグメント(BSS)内で行うことができる。検出は、含まれているディレクトリにアクセスできるように実行ビットを設定することによって達成できる。
ポータブル実行可能ヘッダの上書きは、検出を回避するために実行時にマルウェアによって使用される技術である。例えば、オリジナルファイルには、ヘッダと、コードセクションと、.dataまたは.rsrcなどの他のセクションとが含まれる。パッキングプロセスにおいて、新しいヘッダを有する完全に新しい実行可能なファイルを生成することができる。元ファイルは、圧縮、暗号化、またはこれらの組合せによって変換することができる。ロードされる際に、パッキングされたファイルが開始し、仮想メモリにマッピングされる。解凍スタブは、必要に応じて圧縮または暗号化動作を逆転させる際に呼び出される。次に、元ファイルがメモリ内に復元され、新たなヘッダが得られる。ファイルヘッダが実行時に変更されることは、対象のファイルがパッキングされたことの証拠となる。
静的および動的分析技術は、システム全体の性能に異なる影響を及ぼす。例えば、静的PE分析部は、メモリにロードされたポータブル実行可能ファイル(PEファイル)のデータを復号化したときに、高い検出率を達成すると同時に、同じファイルの動的分析よりも迅速かつ効率的に、PEファイルを分類することができる。
図1は、PE分析を実装するためのシステム100の概要を示す図である。
アンチマルウェアシステム100は、潜在的な悪意のあるアプリケーション104を分析するためのPE分析部ホスティングサービス102を含んでいる。PE分析サービス102は、反復を0としてアクセス時スキャン106を生成し、反復1回(108)からN回(110)まで継続する。これらの要素およびユーザモードUMフック部112は、ユーザモード114に配置される。
カーネルモード116は、UMフック部112からの入出力I/Oコマンドを動作させるカーネルドライバ122と、UMフック部112の結果122とPE分析サービス102との間のリンク120とを含む。リンク120は、結果124をPE分析部102に渡す。PE分析サービス102からのリクエスト126は、PE分析用メモリからのプロセス領域に対するリクエストが含まれている。ユーザモードは、アプリケーションがユーザモードで動作し、コアオペレーティングシステムコンポーネントがカーネルモードで動作するという点でカーネルモードと区別される。
図2は、未知のファイルに対する反復静的-動的分析を実行するための方法200を示す図である。
このプロセスが開始すると、ファイル実行の開始をインターセプトし(ステップ202)、次いでファイル属性を取得する(ステップ204)。取得した属性に基づいて、静的分析が実行される(ステップ206)。静的分析の暫定的な結果は、セキュリティランキング208および既知のファイルのコレクションに対する機械学習アルゴリズムを使用した属性ごとのファイル分類210を生成し、疑わしい証明書、ライブラリ、コード構造、およびハッシュサムのブラックリストにおける既知のマルウェアとファイル属性の照合212を可能にする。
静的分析の判定214として、ランキング208、分類210、および照合212の結果が得られる。この判定は、所定の信頼レベル(または特定の精度)に従って対象のファイルを分類には、充分な精度がある場合もあり、そうでない場合もある。信頼レベルは、セキュリティポリシーおよびファイルのクラスに依存してもよい。例えば、高レベルのセキュリティでは、タイプIエラーの1%以下の信頼レベルに対応すべきであり、中程度のレベルの安全は、タイプIIエラーの1%以下の信頼レベルに対応すべきである。ステップ216において、特定の精度を有するマルウェアとして分類可能と判定された場合、ファイルの実行が終了させられ(ステップ218)、悪意のあるファイルの検出が記録される(ステップ220)。判定214によって分類可能とされない場合、判定214に従ってさらに検証が必要であるか否かについて判定が行われる(ステップ222)。一方分類可能とされた場合、ファイル分析が停止され、ファイルが実行用に解放される(ステップ224)。
セキュリティランキング208、ファイル分類210、または疑わしい証明書、ライブラリ、コード構造、およびハッシュサムのブラックリスにおける既知のマルウェアとのファイル属性の照合212によって、特定の精度でマルウェアを識別することができない場合、さらなる検証が必要となる。ファイルを分類するためのさらなる検証が必要な場合、例えば、信頼レベルが予め定義されたレベルよりも低い場合、または他のマルウェア検出エンジンによって分類について異なる判定が出される場合、ファイルの一部を実行している状態で、ステップ226から反復プロセスが行われる。フック動作を利用して、ファイル属性がさらに識別される(ステップ228)。フック動作は、ソフトウェア構成要素間で行われる関数の呼び出し、メッセージまたはイベントをインターセプトすることによって、実行中のアプリケーションを変更または拡張する。この目的に使用されるコードは、一般にフックとして知られている。
ファイルの実行はステップ230で停止され、ステップ206で生成された静的分析に基づいて以前に収集されたPEファイル属性が更新される(ステップ232)。反復マルウェア分析では、実行を停止するため、単一ファイルの実行が、対象のファイルに関するコード全体を完全に実行することなく、N回までテストすることができる。
図3は、機械学習において未知のファイルの反復静的-動的分析を実行するための方法300を示す図である。
このプロセスが開始すると、新たにPEファイル分析が開始される(ステップ302)。PEファイル属性が受信され(ステップ304)、評価される(ステップ306)。例えば、属性セットが、予め定義された信頼レベルよりも高い信頼レベルでのファイル分類を可能にする、または、属性セットが属性の最小限の変数セットからなる場合、当該属性セットが対象のファイルを識別するようにシステムに学習させるのに十分であるかどうかが判定される。十分ではないと判定された場合、PEファイルが安全なコンピューティング環境において実行される(ステップ308)。安全なコンピューティング環境の例としては、エミュレータ、サンドボックス、専用テストマシン、任意のネットワークから切断されたマシン、またはマルウェアが伝播する能力が制限される他の環境が挙げられる。フック動作を行い、ファイル属性がさらに識別される(ステップ310)。これらのさらなる属性に基づいて、属性の元セットが更新される(ステップ312)。反復プロセスは、工程306における評価が肯定的な結果を生成するまで継続する。肯定的な結果が得られると、収集されたファイル(PEファイルベースの新たに収集された属性を含む)を使って、機械学習ファイル分析部を学習させる(ステップ314)。収集されたファイルおよび属性に基づいて、検出ルールセットが更新される(ステップ316)。
図4は、実行環境402において実行される反復静的-動的分析400の一実施の形態の詳細を示す図である。この環境には、ユーザモード404およびカーネルモード406で動作するシステムオブジェクト、つまりユーザモード404で動作するPE分析部408およびアプリケーション410と、カーネルセキュリティドライバ434が含まれる。ユーザモードは、アプリケーションがユーザモードで動作し、コアオペレーティングシステムコンポーネントがカーネルモードで動作するという点でカーネルモードと区別される。アプリケーション410は、暗号化されたデータブロック414を含むPEファイル412から実行される。アプリケーション410が実行されると、コード416、ライブラリ418、およびデータ420が露呈する。ブロックの復号化は、バッファ0(422)内で反復的に行われ、復号化ブロック426が実行され、バッファN(428)および復号化されたブロック430まで移動し続ける。或いは、ブロックの復号化は、データブロック420内で行うことができる。
フック部432は、カーネルセキュリティドライバ434の制御下でユーザモード404で動作する。他の実施の形態同様、フック部432は、ソフトウェア構成要素間で行われる関数の呼び出し、メッセージまたはイベントをインターセプトすることによって、実行中のアプリケーションを変更または拡張し、これらをカーネルセキュリティドライバ434に送信する。カーネルセキュリティドライバ434は、コマンド、メッセージまたはイベントをPE分析部408に送信する。
初期PEファイル属性436は、PE分析部408によってN反復収集PEファイル属性440の工程を通じて、最初の反復収集PEファイル属性438と共に収集される。ファイル属性マルウェア分析部442は、反復コントローラ444からの指示に基づき、初期PEファイル属性436および反復的に収集されたファイル属性438、440を評価する。
マルウェアには、ブロック復号化用のバッファを作成しないものもある。そのような場合、データは、既存のメモリページにおいて復号化できる。例えば、コードブロック416及びデータブロック420は復号化のために使用される。
解凍されたファイルにはメモリ内で元ファイルを復元するものもあるが、マルウェアには、元ファイルを異なるメモリアドレスに復元するものもある。このような場合、第二のファイルに関連するアクティビティは、第一のファイルからの修正に焦点を当てて、開始直後に分析される。
或いは別の技術では、アプリケーションバッファに追加で書き込まれたデータ(データブロック、ヘッダ、コードブロックまたはデータ等)が取得された後、ファイルのさらなる実行を凍結する。例えば、プロセスの全てのスレッドを凍結することができる。
動的方法を使用したPEファイル属性の反復収集は、対象のファイルに関する結論を得るのに十分なファイル属性のツリーが作成されるまで継続される。
上述の反復技術は、ユーザマシンまたはネットワークが、検出を回避する能力、特に静的分析の信頼性を損なう、または不完全にする方法で検出を回避する能力を有するマルウェアに遭遇する可能性が高いコンピューティング環境に適用可能である。

Claims (19)

  1. コンピュータに実装され、プロセッサ上で実行される反復アンチマルウェアスキャン方法であって、
    a.対象とされるコンピュータシステム上でファイルを実行する際に、ファイルのアンチマルウェアスキャンを実行し、
    b.前記ファイルの静的分析を実行する工程であって、ファイルを特定の精度で悪意あるものとして分類可能なファイル属性のツリーを用いて動作する静的分析を実行し、
    c.前記静的分析によって前記ファイルを前記特定の精度で分類できない場合、動的ファイル分析を反復実行し、
    d.ファイルコードの実行中にデータブロックを復号化する動作をインターセプトし、
    e.復号化された前記データブロックを考慮してファイル属性のツリーを更新し、
    f.更新されたファイル属性のツリーに基づいて前記ファイルの静的分析を実行し、
    g.前記ファイルが前記特定の精度で分類可能となるまで、前記d.およびe.を繰り返す、ことを含む反復アンチマルウェアスキャン方法。
  2. 前記インターセプトするステップおよび前記更新するステップを3回以上繰り返すことをさらに含む請求項1に記載の方法。
  3. 新しいまたは既存のメモリ内のデータブロックを復号化するステップをさらに含む請求項2に記載の方法。
  4. 前記ファイルと、前記ファイルの実行後に修正された第二の信頼されていないファイルとを分析するステップをさらに含む請求項1に記載の方法。
  5. 第二の信頼されていないファイルに追加されたファイルデータを分析した後、前記ファイルの実行を凍結するステップをさらに含む請求項3に記載の方法。
  6. 前記インターセプトするステップおよび更新するステップを少なくとも3回繰り返すことをさらに含む請求項4に記載の方法。
  7. 新しいまたは既存のメモリ内のデータブロックを復号化するステップをさらに含む請求項4に記載の方法。
  8. 所定の領域を実行可能にし、前記所定の領域に実行を切り替える工程をさらに含む請求項3に記載の方法。
  9. 潜在的に悪意のあるファイルに対して、動的および静的にアンチマルウェア検出を反復して行うシステムであって、
    a.実行可能な分析部と、
    b.ファイルコードの実行中にデータブロックを復号化する動作をインターセプトするように構成されたユーザモードフックアプリケーションと、
    c.前記潜在的に悪意のあるファイルの静的分析によって収集された少なくとも1つのファイル属性を記憶するデータ構造と、
    d.前記潜在的に悪意のあるファイルの動的分析から収集された少なくとも1つのファイル属性を記憶するデータ構造とを備えるシステム。
  10. 前記潜在的に悪意のあるファイルのデータブロックを復号化するために割り当てられたメモリの新しいバッファをさらに備える請求項9に記載のシステム。
  11. 前記潜在的に悪意のあるファイルのデータブロックを復号化するための既存のバッファをさらに備える請求項9に記載のシステム。
  12. 前記潜在的に悪意のあるファイルのデータブロックの復号化するための既存のメモリをさらに備える請求項9に記載のシステム。
  13. 前記潜在的に悪意のあるファイルの実行後に修正された第二の信頼されていないファイルを検出する、請求項9に記載のシステム。
  14. 反復静的およびハイブリッドウイルススキャンを実行するためのプログラムコードを記憶するコンピュータ読み取り可能な記憶媒体であって、前記反復静的およびハイブリッドウイルススキャンは、
    a.対象とされるコンピュータシステム上でファイルを実行する際に、ファイルのアンチマルウェアスキャンを実行するステップと、
    b.前記ファイルの静的分析を実行する工程であって、ファイルを特定の精度で悪意あるものとして分類可能なファイル属性のツリーを用いて動作する静的分析を実行するステップと、
    c.前記静的分析によって前記ファイルを前記特定の精度で分類できない場合、動的ファイル分析を反復実行するステップと、
    d.ファイルコードの実行中にデータブロックを復号化する動作をインターセプトするステップと、
    e.暗号化されたデータブロックを考慮してファイル属性のツリーを更新するステップと、
    f.更新されたファイル属性のツリーに基づいて前記ファイルの静的分析を実行するステップと、
    g.前記ファイルが前記特定の精度で分類可能となるまで、前記インターセプトするステップおよび更新するステップとを繰り返すステップとを含む、コンピュータ読み取り可能な記憶媒体。
  15. 前記インターセプトするステップおよび更新するステップを少なくとも3回繰り返すことをさらに含む請求項14に記載のコンピュータ読み取り可能な記憶媒体。
  16. 新しいまたは既存のメモリ内のデータブロックを復号化するステップをさらに含む請求項15に記載のコンピュータ読み取り可能な記憶媒体。
  17. 前記ファイルと、前記ファイルの実行後に修正された第二の信頼されていないファイルとを分析するステップをさらに含む請求項16に記載のコンピュータ読み取り可能な記憶媒体。
  18. 追加されたファイルデータを分析した後、前記ファイルの実行を凍結するステップをさらに含む請求項16に記載のコンピュータ読み取り可能な記憶媒体。
  19. 前記ファイルと、前記ファイルの実行後に修正された第二の信頼されていないファイルとを分析するステップをさらに含む請求項17に記載のコンピュータ読み取り可能な記憶媒体。
JP2021108601A 2021-06-23 2021-06-30 マルウェア検出の反復メモリ分析 Pending JP2023003363A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/304,634 2021-06-23
US17/304,634 US11921850B2 (en) 2021-06-23 2021-06-23 Iterative memory analysis for malware detection

Publications (1)

Publication Number Publication Date
JP2023003363A true JP2023003363A (ja) 2023-01-11

Family

ID=76695569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021108601A Pending JP2023003363A (ja) 2021-06-23 2021-06-30 マルウェア検出の反復メモリ分析

Country Status (3)

Country Link
US (1) US11921850B2 (ja)
EP (1) EP4109310B1 (ja)
JP (1) JP2023003363A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230098919A1 (en) * 2021-09-30 2023-03-30 Acronis International Gmbh Malware attributes database and clustering

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11941121B2 (en) * 2021-12-28 2024-03-26 Uab 360 It Systems and methods for detecting malware using static and dynamic malware models

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225408B2 (en) * 1997-11-06 2012-07-17 Finjan, Inc. Method and system for adaptive rule-based content scanners
US7636856B2 (en) 2004-12-06 2009-12-22 Microsoft Corporation Proactive computer malware protection through dynamic translation
US9069967B2 (en) * 2007-02-16 2015-06-30 Veracode, Inc. Assessment and analysis of software security flaws
US7603713B1 (en) 2009-03-30 2009-10-13 Kaspersky Lab, Zao Method for accelerating hardware emulator used for malware detection and analysis
US9213838B2 (en) * 2011-05-13 2015-12-15 Mcafee Ireland Holdings Limited Systems and methods of processing data associated with detection and/or handling of malware
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
GB201413836D0 (en) * 2014-08-05 2014-09-17 Arm Ip Ltd Device security apparatus and methods
US10599844B2 (en) 2015-05-12 2020-03-24 Webroot, Inc. Automatic threat detection of executable files based on static data analysis
KR101969572B1 (ko) 2018-06-22 2019-04-16 주식회사 에프원시큐리티 악성코드 탐지 장치 및 방법
US11210391B2 (en) 2018-11-29 2021-12-28 Palo Alto Networks, Inc. Application-level sandboxing on devices
US11321095B2 (en) * 2018-12-14 2022-05-03 Apple Inc. Indirect branch predictor security protection
US11106792B2 (en) 2019-03-29 2021-08-31 Acronis International Gmbh Methods and systems for performing a dynamic analysis of applications for protecting devices from malwares
US11443035B2 (en) * 2019-04-12 2022-09-13 Mcafee, Llc Behavioral user security policy
US11550923B2 (en) * 2020-03-30 2023-01-10 Software Ag Systems and/or methods for static-dynamic security testing using a test configurator to identify vulnerabilities and automatically repair defects
CN111881449B (zh) 2020-07-31 2022-02-18 北京微步在线科技有限公司 恶意代码辅助分析方法及装置
US11675899B2 (en) * 2020-12-15 2023-06-13 International Business Machines Corporation Hardware mitigation for Spectre and meltdown-like attacks
US11836252B2 (en) * 2021-06-23 2023-12-05 Acronis International Gmbh Machine learning through iterative memory analysis for malware detection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230098919A1 (en) * 2021-09-30 2023-03-30 Acronis International Gmbh Malware attributes database and clustering

Also Published As

Publication number Publication date
EP4109310B1 (en) 2023-11-22
US11921850B2 (en) 2024-03-05
EP4109310C0 (en) 2023-11-22
EP4109310A1 (en) 2022-12-28
US20220414209A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US10127381B2 (en) Systems and methods for switching emulation of an executable file
Bläsing et al. An android application sandbox system for suspicious software detection
KR101213821B1 (ko) 동적 변환을 통한 프로액티브 컴퓨터 말웨어 보호
US8479174B2 (en) Method, computer program and computer for analyzing an executable computer file
EP2237186B1 (en) Method for accelerating hardware emulator used for malware detection and analysis
US9811663B2 (en) Generic unpacking of applications for malware detection
WO2016203759A1 (ja) 分析システム、分析方法、分析装置及び、コンピュータ・プログラムが記憶された記録媒体
KR20040080843A (ko) 악성 암호화 스크립트에 대한 분석 및 해독 방법
JP2023003363A (ja) マルウェア検出の反復メモリ分析
US20140181970A1 (en) System and method for improving the efficiency of application emulation acceleration
US11836252B2 (en) Machine learning through iterative memory analysis for malware detection
Alrawi et al. Forecasting malware capabilities from cyber attack memory images
US9202053B1 (en) MBR infection detection using emulation
Bhojani Malware analysis
Babar et al. Generic unpacking techniques
JP2023002435A (ja) マルウェア検出の反復メモリ分析による機械学習
Jia et al. Findevasion: an effective environment-sensitive malware detection system for the cloud
US20220261481A1 (en) Software packer-agnostic unpacking of packed executables
KR20210089849A (ko) Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법
Zhao et al. Detecting encryption functions via process emulation and IL-based program analysis
EP4332805A1 (en) Emulation-based malware detection
CH720149A2 (fr) Analyse itérative de fichiers pour la détection des logiciels malveillants
Saurabh Advance malware analysis using static and dynamic methodology
JP6687844B2 (ja) マルウエア解析装置、マルウエア解析方法及びマルウエア解析プログラム