JP2016507115A - 予測的なセキュリティ製品を提供し、既存のセキュリティ製品を評価する方法と製品 - Google Patents

予測的なセキュリティ製品を提供し、既存のセキュリティ製品を評価する方法と製品 Download PDF

Info

Publication number
JP2016507115A
JP2016507115A JP2015556621A JP2015556621A JP2016507115A JP 2016507115 A JP2016507115 A JP 2016507115A JP 2015556621 A JP2015556621 A JP 2015556621A JP 2015556621 A JP2015556621 A JP 2015556621A JP 2016507115 A JP2016507115 A JP 2016507115A
Authority
JP
Japan
Prior art keywords
malware
variant
detector
mutation
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015556621A
Other languages
English (en)
Other versions
JP2016507115A5 (ja
JP6176868B2 (ja
Inventor
ボウトナル,シュロミ
タンクマン,リラン
マークゾン,マイケル
Original Assignee
サイバー アクティブ セキュリティー エルティーディー.
サイバー アクティブ セキュリティー エルティーディー.
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 サイバー アクティブ セキュリティー エルティーディー., サイバー アクティブ セキュリティー エルティーディー. filed Critical サイバー アクティブ セキュリティー エルティーディー.
Publication of JP2016507115A publication Critical patent/JP2016507115A/ja
Publication of JP2016507115A5 publication Critical patent/JP2016507115A5/ja
Application granted granted Critical
Publication of JP6176868B2 publication Critical patent/JP6176868B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly 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/033Test or assess software
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

下記の工程を含む方法についてのマルウェア上の進化のプロセスを達成するための方法、製品、およびコンピュータプログラム製品であって、該方法は、:(a) マルウェア検体を受け取る工程;(b) マルウェア検体の変種を生成する工程;(c) 変種を評価し、各変種に適合性スコアを与える工程;(d) 少なくともあらかじめ定義した適合性スコアをもつ変種を選択する工程;及び(e) 変種の新しい世代を生成する工程(a)において、マルウェア検体として選択される変種を使用する工程を含む方法。【選択図】図3

Description

本発明は、サイバーセキュリティに関する。より詳細には予測的なセキュリティ製品を提供するための製品及び方法、及び既存のセキュリティーシステムを評価する方法および製品に関する。
追いつ追われつのレースはインターネットセキュリティ業者とハッカーとの間で行われている。これは広く一般の現象である。セキュリティ業者がマルウェアを認識するために静的で動的なシグネチャおよび検知パターンを発行しているが、ハッカーはみな、既に識別され、文書化したマルウェアに若干の変更を行なうだけで、体系的にこれらの検知方法を回避する。これは広く一般の現象である。新しいマルウェアの99%以上は、少なくとも部分的に僅かな変更で、実際には再度用いられているマルウェアである。
様々なタイプのマルウェアおよび好まれない侵入から個人ユーザおよび企業ネットワークを保護するマルウェア検知器一式およびセキュリティパッケージを提供する様々な試みをしてきた。既知のマルウェア検出器の全部は、既知のコンピューターウィルス、既知の攻撃方法、既知のマルウェア挙動、既知のマルウェアパターン、既知の脆弱性、既知のエクスプロイト、などから保護する関連技術及び事後的なアプローチを使用する。どのベンダー、製品又はパッケージは、予測的および先攻的な方法において、将来のマルウェアに対して予測し保護するための技術を提供しない。更に目的および経験的な方法で、どのセキュリティ製品がよりよいか決定する際に大きな困難が存在する。
将来のマルウェアを予測しそのような潜在的な悪意のあるプログラムに対して保護するために方法、コンピュータプログラム製品およびシステムを持っていることは非常に有利だろう。このレースで競合するセキュリティ製品の能力を基準にしたがって評価する手段を持っていることは更に、非常に有利だろう。
[定義]
用語「マルウェア」とは、潜在的な入出力のストリーム(攻撃を引き起こすネットワーク・パケットのストリーム)だけでなくコード、実行ファイル、スクリプト、アクティブ・コンテンツの形式、及びその他のソフトウェア形式によって引き起こす悪意のあるソフトウェアを指す。マルウェアはウィルス、エクスプロイト、トロイの木馬、ワーム、ルートキット、スパイウェアおよびその他同種のものを含んでいるがこれに限定されない。
用語「マルウェア検体」とは、以下に詳細に示すように、提案システム又はサードパーティーシステム、方法又はプロセスのいずれかによって、典型的に、未開(thewild)で引っかかる、又は文書化された進化のプロセスのために使われるマルウェアの部分を指す。いくつかの検体は感染または汚染されたコンピューター上で見つかるか、又は特別のリポジトリに格納されている。進化のプロセスにおいて、マルウェア検体は提案されたプロセスのその後の段階において使用されている(明瞭な説明に関しては下記参照)。
用語「変種」とは、進化に関連する生物学的語彙から使用もしており、マルウェア検体のバージョン又はランダム、準ランダム、擬似ランダムに変更した、又は意図的な方法で突然変異した"突然変異"を指す。変種は、マルウェアコードの"突然変異"を実行すること、又は、2以上のコードのセットのパーツを組み合わせることは当業者に知られている遺伝的プログラミングの突然変異の任意の他の形態のパーツを組み合わせることによって生成することができる。
用語「突然変異」も本明細書で使用されるように、生物学的語彙から使用され、マルウェア検体のコードに行なわれた変更を指す。例えば、突然変異はコード行を付加又は削除すること、コード行を並べ替えすること、コード行を複製すること、パラメーターを変更すること、サードパーティコードへの呼び出しを置換すること、ポートを変更すること、使われるライブラリを変更することを含んでもよい。
用語「悪意のある変種」はまだ依然として悪意のあるマルウェア検体の変更されたバージョンを指すために本明細書で使用される。それらの悪意のある特性を失った変種は本明細書で「悪意のない変種」と呼ばれる。
用語「回避的な変種」は本明細書では検体の回避性のレベルに適合する回避性レベル(つまり、元のマルウェア検体として同じ数のマルウェア検出システムによって検知されるかより少ない)マルウェア検体の変更されたバージョンを参照するため使われる。それらの回避的な特性を失った(つまり、オリジナルの検体ほど回避的でない)変種は、「回避的でない変種」と本明細書で呼ぶ。
通常、もし他の方法で指定されなかったならば、用語「悪意のある特性」はどちらかを悪性コード(つまり実行のための命令のセット)、悪意のある挙動(つまり、動作/命令、別々に行なわれた時、必ずしも悪意がない、しかし、特定の方法でともに行なわれた時に悪意のある意図を示す)又は2つの組合せを指す。
検出器は、検出するために作成されたコンピュータプログラム製品であり、場合によっては、ターゲットシステムまたはネットワーク上のマルウェアを中和する。
検出器は、疑わしいマルウェアを検出するために、当業者に知られている1つ以上の検出方法を使用するサードパーティー製品によって使用される定義の形式をとってもよい。
用語「フットプリント」、「トレース」又は「攻撃トレース」などは、ファイル又は他の悪性コード(例えば一連のネットワークパケットのような)が、ネットワークトラフィック、バイナリコード、オペレーティングシステムおよびAPI呼び出し、CPUアクティビティ、メモリフットプリント、コンテンツおよび前述のもののうちのいずれかの組合せを含むすべてのタイプのフットプリント/証拠に関する。
異なる修飾子も用語「フットプリント/トレース」に結合することができる。
用語「遺伝的演算子」は、突然変異する演算子および交互に組み合わせたマルウェアの変種を指す。
本発明は、進化の法則に基づいて将来のマルウェアを予測し、このような悪意のある要素や他の同様の要素から保護するための製品、方法及びシステムを提供する。
本発明によれば、(a)マルウェア検体のマルウェア変種を生成するのに適合されたマルウェア進化エンジン、及び(b)悪意性レベルおよび回避性レベルから少なくとも1つに基づいて前記マルウェア変種を評価するように構成されたエバリュエーターと、を含むシステム、そしていくらかの実施形態(c)において、リポジトリ、プロダクション装置およびサードパーティ製品から成る群から選択される少なくとも1つのソースから前記進化エンジンの為にマルウェア検体を集めるのに適合されたマルウェアフェッチャー、及び/または(c)進化エンジンによって生成され、エバリュエーターによって評価されたマルウェア変種に基づいた検出器機構を生成するように構成された検出器ビルダー、
とを含むシステムが提供される。
下記に述べられた本発明の更なる特徴によると、マルウェア検体の実行可能コードに突然変異を適用すること、ネットワークトラフィックに放出されたマルウェアに突然変異を適用すること、マルウェア変種を交互に組み合せることを含む群から選択された少なくとも1つの動作を行なうことによって又はマルウェアの変種を生成するように進化エンジンが構成されている方法の特徴。なお、更なる特徴によると、又は方法において、実行可能コードに適用される突然変異は、以下のものを含むグループから選択される。:(i)ランダム突然変異、(ii)所定のコマンドシーケンスを別の機能的に同等なコマンドシーケンスに置換すること、(iii)選択されたライブラリコールを異なる機能的に同等なライブラリコールに置換すること、(iv)使用される選択されたライブラリを、異なる機能的に同等なライブラリに置換すること、(v)悪意のある機能を持っていることとして識別されたエリアで突然変異の確率を増加させること;(vi)実行可能コードの適切な実行を妨げないものとして識別されたエリアでの突然変異の確率を増加させること;(vii)セキュリティ製品によって署名されたエリアで突然変異確率を増加させること;(viii)以前の突然変異が増加した適合性スコアをもたらしたエリアで突然変異の確率を増加させること;
(ix)バイナリコードが加えられたセクションの為の実行可能コードのヘッダーを書き換えることで結果的にセクションの拡張をもたらすこと;(x)他の実行可能コードと実行可能コードを組み合わせ、及び関連するヘッダーを書き換えることによって組み合わさったコードの適切な実行を可能にする;(xi)動的関数呼び出しを関連するオペレーティングシステムコールの静的な起動に変更するために実行可能コードに関連したセクションを修正すること。
更なる別の特徴又はパラレル方式によると、攻撃マシンは進化エンジンに、マルウェア放出されたネットワークトラフィックを送るように構成され、該進化エンジンは突然変異を適用し、かつ犠牲マシンに送るように変異したマルウェア放出されたネットワークトラフィックを送るように構成された進化エンジンへ、マルウェア放出されたネットワークトラフィックに適用し、送るように構成される。
ここで、犠牲マシン上の変異したマルウェア放出されたネットワークトラフィックの結果は、悪意性レベルを判定するためにエバリュエーターによって評価される。
更なる別の特徴によると、マルウェア放出されたネットワークトラフィックに適用された突然変異はフィールドをパケットのペイロードかヘッダー中の様々な突然変異の後に有効にするために様々なプロトコルでネットワークパケットのCRC/チェックサムフィールドを修正することを含んでいる。
更なる別の特徴によると、マルウェア放出されたトラフィック又は実行可能コードは、安全なチャネルにおいて、マルウェアに放出されたトラフィックをラッピングすることによって、含んでいるネットワーク通信をパッキングすることによって使用して難読化し、暗号化すること、および符号化により難読化にされる。
別の実施形態によれば、マルウェア上で進化プロセスを行うための方法が提供され、以下の工程を含む方法:
(a)マルウェア検体を受け取る工程;
(b)マルウェア検体の変種の生成する工程;
(c)変種を評価し個々の変種に適合性スコアを与える工程;
(d)少なくとも予め定義された適合性スコアを有する変種を選択する工程;及び
(e)選択された変種を使用する工程(a)におけるマルウェア検体として使用してそこから変種の新しい世代を生成する工程、
いくつかの実施形態では、方法は、(f)変種のトレースデータを集める工程をさらに含んでいる;及び
(g)悪意のある特性と悪意のない特性とにトレースデータを分類する工程。
同様に(h)検出することができ、悪意のある特性および悪意のない特性とを区別し構築する検出器。
さらなる特徴では、該方法はさらに以下の工程を含んでいる:
(i)検出器から選択すること、少なくとも1つの前もって所定の定義したレベル以上の格付けを有する検出器、次のものに基づいた格付け
(i)正確に検出された悪意のある特性の数;
(ii)不正確に検出された悪意のない特性の数;及び
そして(iii)正確に検出された悪意のある特性の短かさ、そこにおいては、より高い格付けは、より短い、悪意のある特性の検出に対して与えられる。
更なる別の特徴によると、方法は、さらに次のものの工程を含んでいる:
仮想マシン(VM)および物理的なマシンの両方についての変種の実行;
そして、結果の相違を比較して検出するためにVM上での変種を実行することと物理的なマシン上での変種を実行することとを比較し、相違が見つかる場合、物理的なマシン上での変種を実行する結果のみで変種を評価する。
更なる別の特徴によると、方法は、さらに次のものの工程を含んでいる:
変種を実行する間に統合トリガーを中和するために所定のシステムシグナルを送ること。
更なる別の特徴によると、方法は、さらに次のものの工程を含んでいる:
実行されないコード領域を識別するために変種を実行する間のコードカバレッジの監視、変種において実行していないコード領域は統合されたトリガーを示す。
別の実施形態によれば、ネットワークストリームのためにマルウェア検出器をトレーニングする方法(以下の工程を含む方法)が提供される。:
(a)セッションのバイトストリームをキャプチャーする工程及び、整数の線形のベクトルとしてバイトストリームを表わす工程、(b)前記線形のベクトルを正方行列へ作り変え、それによって、グレイスケール画像を受け取る工程;
(c)解像度を統一するために前記グレイスケール画像を正規化する工程;
(d)少なくとも1つの画像処理技術を使用して、前記正規化した画像から特性を抽出する工程;
(e)(a)乃至(d)の工程を繰り返し、最初のデータベースに悪意のある変種を、及び2番目のデータベースに良性のトラフィックを格納する工程;
(f)前記マルウェア変種と前記良性のトラフィックとを識別するようにマルウェア検出器をトレーニングする工程、
さらなる特徴によれば、画像処理技術は、ガボールのウェーブレット係数、係数の統計、主成分分析、線形判別分析および独立成分分析から構成されるグループから選択される。
さらなる特徴によれば、トレーニングする工程はサポートベクトルマシンで実行される。
別の実施形態によれば、マルウェア検体からのマルウェアの変種を生成する方法マルウェアの変種の生成は、マルウェア検体の実行可能コードに突然変異を適用する工程、マルウェア放出されたネットワークトラフィックに突然変異を適用する工程、マルウェアの変種を交互に組み合せる工程を含むグループから選択されて、少なくとも1つのアクションを行なうことを含んでいる工程が提供される。
別の実施形態によれば、次のものの工程を含む方法が提供される:
(a)マルウェア検体を受け取る工程;
(b)マルウェア検体の変種の生成する工程;
(c)セキュリティ製品の選択されたグループで各変種をスキャンし変種を検出することができないセキュリティ製品に基づいて、回避性スコアを与える工程。
さらなる特徴によれば、方法は、次のものの工程を含んでいる:
(d)変種の検出の成功のレベルに基づいてセキュリティ製品の各々に格付けを与える工程。
また、いくつかの実施形態では、格付けは他のセキュリティ製品の成功の相対レベルに基づく。
様々な実施形態は、本明細書に添付の図面を参照しながら、例としてのみ記載されている。:
、マルウェアをスキャンするアンチウイルスエンジンからの1組の例示的な結果である; A−Cは例示的な検出器生成プロセス中の段階である; 発明の進化のプロセスのフローチャートである; 検出器を構築するプロセスのフローチャートである 選択されたセキュリティ製品を回避性を評価するか及び格付け、又はベンチマークテストするプロセスのフローチャートである。 例示的なクライアント側インプリメンテーションシナリオのダイアグラムである; 例示的なクライアント側インプリメンテーションシナリオのダイアグラムである; 例示的なクライアント側インプリメンテーションシナリオのダイアグラムである; 画像処理アルゴリズムのフローチャートである; ネットワークトラフィックの進化の1実施形態の絵画的描写である。
[システムの概要]
本発明によるシステムの原理および操作は、図面および付随する説明を参照して一層よく理解され得る。
本発明の一つの実施形態として、サーバー側コンポーネントおよびクライアント側コンポーネントを含んでいるシステムが提供される。
サーバー側コンポーネントは以下の要素を含んでいる:
オプションのマルウェアフェッチャー、予測的なエンジンおよび検出器ビルダー。
予測的なエンジンは進化エンジンおよびエバリュエーターを含んでいる。
本発明の1つの実施形態において、随意に、クライアント[マシン]側で、システムはエンドポイントエージェント及び/又はネットワーク機器を含んでいる。
サーバー側面コンポーネントは単一のサーバーまたは複数の又は共同設置されたサーバまたはクラウドベースの設定で実装することができる。
[マルウェアフェッチャー]
マルウェアフェッチャーは、設計を含む、これらに限定されないが、開いたマルウェアリポジトリ、閉じたマルウェアリポジトリ、エンドユーザなど、様々なソースからのマルウェアの検体を収集するように設計、及び構成されたオプションのモジュールである。
マルウェアフェッチャーは、いくつかの実施形態中で、トレース特性、及び/又は予備的知識又はメタデータによって検体を分類するようにさらに構成される。
いくつかの実施形態では、マルウェアフェッチャーは集めたマルウェア検体に関連する追加のデータ(例えばマルウェアのタイプ、マルウェアが設計されているプラットフォームなど)を集める。
マルウェアフェッチャーは、新しい変種を作成する進化のプロセスの基礎として使用されているマルウェアの検体を得る。
システムの背景にある原理は、他のところで言及されたように、新しいマルウェアの大部分(95%以上)が他の既存のマルウェアから再利用された80%ものマルウェアの要素又はコンポーネントを含むということである。
即ち、完全に新しい1個のマルウェアを作成する代わりに、ハッカーの大部分は新しい構成で古いマルウェアを単に組み立てる。
「完全に新しい」マルウェアでさえ、以前に知られている少なくともいくつかのコードまたは挙動(フットプリント)をリサイクルする。
良好な新しいマルウェア片は悪意の同じレベルを維持するか、そのレベルを増加させる方が、より古い構成より検出するのがより難しい。
新しいマルウェアが絶えず浮上しているとき、マルウェアフェッチャーは、予測的なエンジンが進化のプロセスを実行し続けるために新しいマルウェアを探索し続ける仕事を有している。
このように、本当に、「新しい」マルウェア又はマルウェアコンポーネントでさえ、革新的なシステムによって直ちに発見され処理される。
既存のコンポーネントのほとんどすべての有益な変異に対して予め保護することができるシステムの提供によって、
安く容易に新しいマルウェアを作成するための能力は厳しく削減され、
ハッカーの仕事をより費用及び時間がかかるようになり、それによりマルウェア生産の実行が妨げられる。
[予測的なエンジン]
予測的なエンジンは、マルウェア検体の大量のランダムか半ランダムの変種の生成により、新しいマルウェアを作成する際に、ハッカーが使用する方法を複製する。
ハッカーが新しく、よりよいマルウェアを作るために古いマルウェアを変更することに対する質を追求する選択を行なう場合、
予測的なエンジンは、進化エンジンを使用して、変異の大多数(数百から数百万)を「無思慮に」作成する大規模な量的手法を使用する。
進化エンジン
1つの実施形態では、進化エンジンはマルウェア検体を受け取り、以下の方法で基礎検体の変種を生成する:
a)エンジンは、元のマルウェア検体の変更(又は変種)の大多数の世代を作成するためにバイナリコード又はマルウェア態様(例えば放出されたネットワークパケット、ソースコード、アセンブラコード、その他)の他の様相のいずれか上で、マルウェア検体の大多数半ランダムを生成する。
その変更は様々な方法で行われる。
変更は、ランダム、半ランダム及び/又は擬似ランダム方法コードへの追加にコードの部分のコード及び/又は削除への変更するパラメーター、コードの複製ラインを含み得る。
b)随意に、進化エンジンは、さらに大多数の追加の変種を生成するために2以上のマルウェア又はその部分を組み合せてもよい。
結果は、基礎検体の多くの変異が生成されるということである。
c)「自然選択」(又は適者生存)その後、予測的なエンジンは、最良の変種を選択するために進化の選択プロセスを使用する。
変種の特性およびトレースデータは記録され、また、変種はその後、変種の新しい世代を生成するために進化エンジンへとフィードバックされる。
予め定義された目標が世代のように達成するまで、予め定義された数の生成の又は連続の世代がもはや重要な進化およびその他同種のものを示さない場合、連続の世代の中で最適の変種は、突然変異、交互に組み合わされ及び選択の進化のプロセスを何度も繰り返してうける。
変種の連続の世代の存続の割合(例えば悪意のある挙動を示す新しい変形のパーセンテージ)を増加させて、かつ進化のプロセスの可能性を向上させるために、突然変異のうちのいくつかは、この目的のために開発されてきた高度な技術を必要とし得る。
したがって、いくつかの実施形態では、進化のエンジンは、、以下の遺伝的演算子(つまりマルウェア変種を変異させる演算子)の1つ以上を含んでもよいが、しかしこれらに限定されない。
実行ファイル(PE/ELF/MachO/LE/など)の修正。
1.実行可能な異なるセクション(例えばテキスト/コードのセクション)特定しマッピングすること、及び悪意のある機能により関連するか、実行可能ファイルが正確にロードされ実行されるのを防ぎそうでないエリアで突然変異の確率を増加させること。
2.(ハッカーがそれらのエリアを最初に変更するだろうと仮定して)他のセキュリティ製品によって署名される符号エリアで突然変異の確率を増加させること。
3.、変異させられた時、変種の適合性スコアの著しい変更を結果的にもたらした近点であるコードエリアで突然変異の確率を増加させること。
4.バイナリコードを加えて書き換えられた実行可能なヘッダーが拡張したセクションの新しいサイズに適切になるように、実行可能なヘッダーを書き換えることにより、関連するセクションを拡張すること。
5.新しいファイルがロードされ、且つ実行されることを可能にするために関連するヘッダーを書き換えて、新しい実行可能ファイルを作成するために2つ以上の実行可能ファイルからのセクションを組み合わせて、
6.一方でハッカーによって広く使用される方法をシミュレートすること、例えば、
i)動的関数呼び出しを関連するオペレーティングシステムの静的な起動に変更するために実行ファイルのインポートアドレステーブル(IAT)および他の関連するセクションを修正し、及び/又は例えば実行可能ファイルへの動的な呼び出しによって実行されたコードを組み込むこと:
ii)例えば、パッキング、暗号化、符号化(ハッカーによって、これは同じツールおよび方法によって行われてもよい、この目的に使用される)の異なるファイルセクションに使用して、難読化を加えること:
進化のプロセスとエンジンの1つの起こりうる実施形態、エンジンは、ネットワークトラフィックの発生を可能にする方法(例えば突然変異すること、ネットワークパケット)で構築される。
図8は、ネットワークトラフィックの発生800の1つの実施形態を表す。
エンジンは、「犠牲者(victim)」マシン810に悪意のあるパケットに802を送る「攻撃者」マシンから構成される。
パケットは、「犠牲者」マシンに渡される(工程808)前にパケットのフィールドかペイロードを変異させるルーター806によって渡される(工程804)。
変異させられたパケットだけが、「犠牲者」へ送られる。
犠牲者に対する攻撃(成功した/失敗した)の結果は、新しい攻撃変種がまだ悪意があるかどうか判断するためにエバリュエーター814(工程812で)に送られる。
1つの実施形態では、「犠牲者」は砂箱である。
別の実施形態では、それは物理的なマシンである。
変異させられたネットワーク攻撃の生存率を増加させるために、システムは、フィールドをパケットのペイロードかヘッダー中の様々な突然変異の後に有効にするために様々なプロトコルで(例えばイーサネット(登録商標)又はIP)のネットワークパケットのCRC/チェックサムフィールドを修正し得る。
システムはさらにそれらのハッカーがマルウェア進化を高めて向上させるために使用するものに類似した難読化技術を使用し得る、。
そのような技術は例えば、安全なチャネルおいて、ネットワーク通信をラッピングすることを含み得る(例えば暗号化)。
[エバリュエーター]
発明の1つの実施形態では、自然選択プロセスは、各変異又は「突然変異」を評価する第二のコンポーネンによって行なわれる(エバリュエーター)。
エバリュエーターは進化エンジンからマルウェア検体変種を受け取り、マルウェア変種の前の母集団及び/又は世代に基づいて、既知のセキュリティ製品及び検出器ビルダーによって作成された、検出器でコード/検体をスキャンする(共進化検出器又は進化検出器のいずれか後)。
エバリュエーターは2つのタイプのデータセットを戻す:
その一つは、進化エンジンが選択プロセスの間に使用をする値かスコアであり、また、もう一つは、検出器ビルダーが改善された検出器を作成するのを支援する特性およびデータ(フットプリント)に関係する。
エバリュエーターは各種パラメータによって変種を評価し、その最も重要なものは悪意性と回避性のパラメーターである。
スコアか格付けは、悪意のある特性を保持しながらセキュリティ製品によって検出を回避することができる変種の進化を促進する方法で与えられる。
スコアリング方法自体は、様々な所望の特性(例えば変種母集団の多様性および/またはアルゴリズムなどの計算上の効率)を向上させるために進化プロセス中に動的に変化しうる
他の実施形態では、エバリュエーターは、さらに多様性/距離のレベルで変種を評価し得る、つまり、オリジナルのマルウェアかに対して現在の変種はどれくらい多様か、又は異なるか変種を格付けしている。
評価の追加の潜在パラメータは、良性のファイルとそれ以上の類似点のレベル及び、それ以上を含み得る。
エバリュエーターは、変異させられたコードが回避性のレベルを更に判定し得る。
好ましくは、コードは、セキュリティ製品(例えば様々なアンチウイルスエンジン、ホストベースのIPS、(FireEye社ミルピータス、CAによる(FireEye*)のようなゲートウエイ製品。)ネットワークIDSシステム、など)を含む、既知のマルウェア検出器によって、及び検出器ジェネレーターによって生成されたいくつかの実施形態中で検出器によってさえも実行される。
回避性スコアは、変種が1つ以上の検出機構を回避する能力を反映している。
いくつかのセキュリティ実体については、変種が検出されたとしても検出されていなくても、結果はバイナリである。
他の検出器は検出率、例えばそれにプロセスかファイルがマルウェアである可能性に関する統計スコアを戻す検出器であるを返し、
マルウェアのうちの1つがもう一つのマルウェアの進化の変種だった場合、図1は2個の例示的なマルウェアをスキャンした例示的なアンチウイルス(AV)エンジンからの2つの結果の表を表す。
左手表は、マルウェアが進化(進化のプロセス)を経験する前にJava(登録商標)エクスプロイトをスキャンした9つのセキュリティ製品を表す。
9つのAVエンジンのうちの6つはコードをマルウェアと認識した。
右手表は、同じJava(登録商標)Exploit、の変種(1世代後)上で実行された(つまりJava(登録商標)エクスプロイトマルウェア上で本発明の進化のプロセスを実行した後)同じAVエンジンに起因する結果を表す。
悪意のあるものとして、AVエンジンのうちの1つだけがコードを認識したので、変種は高度の回避性を示す。
いくつかの実施形態では、エバリュエーターは、変異させられたコードが動的解析を使用して、まだ悪意があるかどうか判断する。
いくつかの実施形態では、エバリュエーターはこの質問に「はい/いいえ」の値を単に返します。
他の実施形態では、悪意性の実際の程度又はレベルが判定される。
動的なアナライザーは、様々な予め定義されたパラメーター及び/又は仮想マシン(VM)又は物理的なマシン上で行なわれる試験に基づいて変種の悪意性のレベルを判定するために変種が悪意のある活動(例えばRAT(リモートアクセス型のトロイの木馬)タイプのマルウェアの(すなわち再利用されたエクス演算子プロイト中のペイロードをダンプすること)をまだ実行していることを確かなものにする又は、確証するためにコミュニケーション)をまだ行なうことを保証するか確認する変種についての、およびいくつかの実施形態中の動的解析を実行する。
他の実施形態中で、真/偽又はバイナリの、グレードは砂箱中で変種を実行した後に与えられる。
同時に、いくつかの実施形態では、評価プロセスは、記録され、新しい検出器を生成するのに使用される、変種の活動(イベント、システムコールなど)に関する挙動的なデータなど(トレースデータ)を提供する。
エバリュエーターは、それらの悪意のあるファイルが分析されるのを防ぐためにハッカーによって使用される方法に対処するか又は対抗する1つ以上の方法を使用し得る:
1.物理的なマシン上での同じファイルの別の実行のトレース/フットプリントに対して、仮想マシン中の悪意性のあるファイルの実行のトレース/フットプリントを比較すること。
著しい違いは、マルウェアが抗VM技術を使用し、その変種がもっぱら物理的なマシンの上で評価されるべきであることを示している。
2.ハッカーは、しばしば希望のコンテキストからマルウェアの実行を避けるためにマルウェア中でトリガーを統合する。
これらの技術に対処するために、エバリュエーターは、下記技術のうちの1つを使用し得る:
A.それはエンドポイントデバイスとネットワーク機器についてのエージェントによってキャプチャーされた、評価された変種を実行している間、エバリュエーターは関連するオペレーティングシステムシグナル、コミュニケーション、引き数およびその他同種のものを送り得る。
B.実行されていない(又は特定の条件が満たされる時だけ実行された)コード領域を識別するためにプロセスによってロードしたバイナリーのモニターコードカバレッジ(実行可能および共有ライブラリ)。
そのようなエリアの大部分は潜在的なトリガーを示す。
各々の変種、エバリュエーターからの悪意性スコアおよび回避性スコアの少なくとも1つを受け取る。
適合性スコアは変種がエバリュエーターから受け取る各種パラメータ/スコアから計算され、どれが悪意性及び回避性の回避性スコアかの中で最も重要である。
変種は選択プロセスを経て、適合性スコアを受け取る。
どの変種が処理されているか及び、システムが達成しようとしている目標は何かに依存にして様々な選択方法が利用され得る。
異なる方法は異なる時(同じ進化のプロセスでさえ)で使用されてもよく、また、方法はそれ自体プロセスの間に変更され得る。
選択プロセスから残存するが変種の可能性は、一般に適合性スコアと直接関係する。
いくつかの実施形態中で、適合性スコアが予め定義されたレベル以上である場合、変種は選択プロセスから残存する(以前に言及されたように、適合性スコアは動的なエバリュエーターによって達成され得、結果として、動的適合性パラメータをもたらす)。
他の実施形態では、最適の変種が「ノックアウトベースの」シナリオ中で選択されている場合、選択プロセスはトーナメント選択プロセスであってもよい。
さらに別の実施形態では、選択プロセスであってもよい、ガイドされたプロセス、どこで、特定の特性、残存するために選択される。
選択プロセスは、2つ以上の方法の又は技術中で既知のさらに他の方法の組合せかもしれないが、明確に言及されないであってもよい。
いくつかの実施形態では、進化のプロセスの完成か補足に必要な特定の特性を表示した変種は、単なる繁殖のために選択されてもよい。
例えば特定の検出器を回避する能力を示す変種、又は一般により回避性がある、他方ではそれほど悪意がないか、もはや悪意ではない、より回避的、たとえそれが悪意がなくても、繁殖に選択されてもよい。
次の順列/世代では、同じ変種は以前に発見された/示された特定の回避性を備えた悪意のある変種を生成するために悪意のある変種と組み合わせる。
どちらの選択プロセスが使用されても、選択された変種は、進化のプロセスの一層の順列を受けるために新しいマルウェア検体として進化エンジンに送り戻される。
いくつかの実施形態では、システムは、悪性コード、スクリプト、データなどの記録、および悪意のある変種(つまり変種のトレースデータなど)の悪意のある挙動を維持する。
システムは、いくつかの実施形態中で、悪意がない変種又は拒絶された変種のトレースデータの記録も維持し得る。
これらの記録はさらに分析および処理のために検出器ビルダーに渡される。
要約すると、予測的なエンジンは、ハッカーによって今後作成されるであろうマルウェア検体の変種の大きな母集団の作成のためのテンプレートとして生物学的な進化モデルを使用する。
進化モデルは、最適の変種(複数可)を生成するために自然選択のいくらかの形式が生じることを要求する。
この目的のために、十分に高い適合性スコアがある変種は変種の次世代を生成するために選択される。
高いスコアの変種は、進化エンジンに戻され。その、低いスコアの変種が変種プールから取り除かれる。
高スコアの変種は、ここで、新しい変形が生成される基礎検体として機能する。
所望の予め定義された目標が到達するまで、又は変種が悪意性又は十分な回避性およびその他同種のものを示さなくなるまで、そのプロセスは無期限に継続することができる。
システムは検出することができ、好ましくは、悪意のある変種を中和する検出器を生成するために使用を高いスコアを得ること又は変種の他の部分集合を促進し得る。
予測的なエンジンによって提供されるように、たとえハッカーが正確な同じを変種に生成しなくても、(しかし単に類似製品である)システムは、同様の変種の共有される特性/フットプリントに基づいて、ハッカーによって作成されたマルウェアを検出することができるかもしれない。
検出器ビルダーはこの機能を実行する。
[検出器ビルダー]
検出器ビルダーはコード及び記録された挙動/変種に関連するトレースデータをすべて受け取るシステムのコンポーネントである。
いくらかの実施形態中では、検出器ビルダー悪意があり及び悪意のない変種の両方からの受信データを受け取る。
他の実施形態中で、検出器ビルダー、最適な可能性を示す新しく生成された変種からの受信データ(例えば、それらが「発展し」、悪意性のレベルを維持するか、増加させる基礎検体よりも優れたレベルの回避性を有しているか、回避性のそれらのレベルを維持するが、よりよいレベルの悪意性を持っている)また新しい変形を検出することができる検出器を作成する。
いくつかの実施形態では、ビルダーは進化のエンジンによって生成された変種からトレース、又はフットプリント(定義のセクションに定義されたようなフットプリント)をすべて集める。
ビルダーによって生成された検出器は、記録されたトレースを装備している。
データは次のものから来るトレースへ分類される:
悪意のある変種(「悪意のあるトレース」);
変種が進化のプロセスにおいて、およびもはやない悪意のある特性をすべて失ったという意味で、退化した(「トレースを退化させた」)変種は悪意のある特性(例えば- その演算子ともはや通信しないリモートアクセスツール)を表示する;
また良性のファイル又は正常なネットワークデータ(「良性のトレース」)。
検出器ビルダーは、悪意のあるフットプリントから良性の微分に有能な分級機を訓練するために1つ以上の教師あり学習アルゴリズムを使用し得る。
検出器ビルダーは悪意のあるおよび良性のトレースを使用し、いくつかの実施形態では、教師あり学習のためのトレーニングデータとして、退化させられたトレースをさらに使用し得る。
他の実施形態では、検出器ビルダーはさらに監督されていない学習アルゴリズムを使用し得る。
検出器は、マルウェア変種を備えた共進化で(例えば、検出器ビルダーは悪意のあるトレースを受け取り、これらのトレースを検出することができる検出器を生成する)又は、進化後のプロセスが終了するとトレーニングされる(進化後)。
共進化シナリオでは、検出器は具体的に選択プロセス中に、進化のプロセスの一部であり得る。
変種は、生成された検出器のうちの少なくともいくつかを含み得るセキュリティ機構によってスキャンされる。
検出器が進化後に作成されたシナリオ中で、進化のプロセスの間に集められたトレースデータは、良性のデータと悪意のあるトレースデータを区別する検出器をトレーニングするために使用される。
1つの例示的な実施形態では、検出器ビルダーは(シンタックス学習/文法誘導)を使用する。
この実施形態では、検出器ビルダーは1セットのシンボル「アルファベット」を使用して、悪意のあるトレースを表わし得る。
好ましくは、ビルダーはそれほど関連しないパラメーターを無視しながら文法中で関連するパラメーターを単に表わすだけである。
又は/またはさらに、そうであるように、ビルダーはさらにトレースをそのまま使用し得る(また、「アルファベット」は、トレースにおいて使用されたオリジナルのシンボルを指す)。
その後、ビルダーは、規則を作成する文法誘導アルゴリズム、あるいは悪意あるとレースと良性のトレースとを区別するシンタックスを定義する文法を使用する。(例えば正規表現のような)、(例えば、悪意のあるトレースだけがトレースを構成するアルファベットに対する有効なストリングと考えられるだろう)
本発明の1つの実施形態では、検出器ビルダーは、良性の及び退化させられたトレースを受け取ることなく、できるだけ多くの悪意のあるトレースを受ける最短の正規表現を検索する。
これを達成する1つの方法は進化のアルゴリズムを使用して、文法(Grammar )を作成することである。
例示的に、正規表現の第一世代はランダムに作成され、正規表現はそれぞれ以下のパラメーターによって(選択プロセスのために)格付けされるか、類別されるか、スコア付けされる。
1)悪意のある変種の検出/認識に与えられたポイント;
2)悪意のない変種か通常ファイルの検出のために差し引かれたポイント;及び
3)長さの短かさに対して与えられたポイント。
その後、システムは、繰り返し変異され、スコア付けされ、選択される。進化のプロセスを継続するための最良の正規表現を選択する。
図2は、検出器ビルダーを使用して、検出器/分別機を構成し及び生成/トレーニング際の3つの別個の可能な段階の例示的な表現を表す。
例において、検出器は作成された変種のWindows(登録商標) API呼び出し上に向けられる「Poison Ivy」と呼ばれるマルウェアに基づいてトレーニングされる。
検出器は、システムに特有のアルファベット(シンボルのセット)に関する正規表現として書かれている。
図2のaはWindows(登録商標) API呼び出しの抜粋である。
夫々のラインは異なるAPI呼び出しである。
図2のbは「アルファベット」に翻訳された抜粋のものを表している。
図2のcは、十分な表現(また他の変種の他の表現)に由来した例示的なコード抜粋である。
上に記述された選択プロセスによって、表された抜粋は引き出されている。
理想的には、短いコードの抜粋は、出来るだけ最も悪意のあるトレースおよび最も良性でない、及び/又は退化したトレースで一致する、また見つかる最短の正規表現である。
一度、トレースデータが、随意に最も小さな形式に減らされると、任意の同様のコード又は挙動(それはショートコード抜粋又は特性を含む)は、悪意のあるものとして新しい検出器によって認識される。
したがって、たとえハッカーが予測的なエンジンによって生成された変種のうちの1つとまったく同じであるマルウェアの新しい構成を作成しないとしても、同様のマルウェアは、マルウェアの間まだ検出されるだろう、ショートコードを含んでいる又は抽出する、又は文法によって表わされる挙動を示している限り検出される。
検出器は、このように悪意のあるものとして、新しいマルウェアを検出/認識し得る。
別の実施形態では、検出器は、良性のとレースと悪意のあるトレースとで分別するべき分別機を訓練するために画像処理アルゴリズムを使用する。
図7は、画像処理アルゴリズム700のフローチャートを表す。
例えば、学習アルゴリズムは以下のプロセスを実行し得る:
プロセスの工程702で、(ネットワークセッション、バイナリーファイル又は他のコードからの)バイトストリームはキャプチャーされ、整数(各々0から255まで)のベクトルとして表わされる。
工程704で、ベクトルは、正方形(又は他の形)マトリックス(例えば: 10,000バイトは100x100マトリックスになるだろう。)へ作り変えられる。
正方行列はグレイスケール画像を提供する。
工程706で、画像/マトリックスは解像度を結合するために正規化される。
例えば工程で、708の特徴は異なる技術、例えば、ガボールのウェーブレット係数; 係数の統計(平均、標準偏差、歪度、とがり)主成分分析; 線形判別分析; 独立したコンポーネント分析を使用して、画像から抽出される:
工程710では、工程702〜708は悪意のあるおよび良性のトレースの上で繰り返され、また、このプロセスの製品は、それらの起源(良性のトレース又は退化させられたトレース対悪意のあるトレース)に基づいて、2つのラベルが付けられたデータベースへ分離される。
プロセスの工程712で、工程5からのラベルが付けられたデータベースは悪意のあるトレースと良性のトレースとを区別するべき検出器として使用される(例えばサポートベクターマシンを備えた)統計モデルをトレーニングするために使用される。
実施形態
いくつかの実施形態では、検出器はクラウド上に作成しかつ/または格納することができる。
検出器は「トレースし」、そしてコンテンツ(つまり前述のもののうちのいずれかの組合せ)などのトレースを検査するように構成され得る。(ネットワークトラフィック、バイナリコード、オペレーティングシステムおよびAPI呼び出しのような)(およびCPUアクティビティおよびメモリフットプリント)
検出器はネットワークアプライアンス(ファイアウォール)に存在することができる。
ゲートウェイ(エージェントの中の、および/またはサードパーティシステムについてのトラフィックなどを受け取ることができるマシン)。
アプライアンスが受け取り得るいくつかの実施形態では、エンドポイントはエージェント及び/又はサードパーティシステムからデータを受け取る。
まださらなる実施形態では、アプライアンスはエージェントのもとへ問い合わせ、アップデート、分析及び検波結果などをエージェントに送り得る。
本発明の1つの実施形態では、検出器はシステムクラウドにおいて作成され、予測的なエンジンによって予測された将来の攻撃に対してトレーニングされる。
その後、検出器は、クライアントシステム/ネットワーク(例えば古典的なエンタープライズネットワーク、SCADA装置、埋め込まれた装置など)上で備え付けられる。
検査されたデータに依存する検出器の配備用の3つの典型的なシナリオが、下のように詳述される:
1. ネットワークデータを使用する将来のマルウェア予防
図6aは、クライアント側配備用の最初の典型的なシナリオを表す。
ネットワークフローにおいてスイッチまたはファイアウォール装置から映され、ネットワークアプライアンスで処理される。
アプライアンスは、クラウドから直接更新される(或いは又は/及びさらに、アプライアンスはアップデートを手動でダウンロードすることによりオフラインの方法で更新することができる)。
2.
エンドポイントデータを使用する将来のマルウェア予防
図6bは、クライアント側配備用の第二の典型的なシナリオを表す。
トレースデータはエンドポイントデバイスについてのエージェントから抜粋される。
エージェントは、悪意のある挙動を検出し阻止するためにクラウド上でトレーニングされた検出器を使用する。
アプライアンスは検出器を管理し及び更新し、サイバー脅威の構成全体に渡るビジョンを与えて、クラウドに疑わしいサンプルを送る。
いくつかの実施形態では、エンドポイントエージェントは、クラウドに直接接続することができる。
3. ネットワークと端点データの両方を使用する将来のマルウェア予防
図6cは、クライアント側配備用の第三の典型的なシナリオを表す。
トレースデータはエンドポイントデバイス上のエージェントから及び典型的に反映されたネットワークフローから抜き出される。
検知と予防は、両方のネットワークストリーム(アプライアンス中の)、およびエンドポイント挙動及び(例えば、アプライアンスに使用するエージェントを使用して)上に適用される。
アプライアンスは検出器を管理し更新し、サイバー脅威の構成全体に渡るビジョンを与えて、クラウドに疑わしいサンプルを送る。
[方法]
図3は、進化のプロセス300のフローチャートを表す。
進化のプロセスの工程302で、進化エンジンはマルウェア検体を受け取る。
工程304で、進化エンジンは、マルウェア検体の変種を生成する。
マルウェアのトレースの少なくとも一部が変異させられた、変種はそれぞれオリジナルの検体の派生物である。
突然変異は、ランダム突然変異、半ランダム突然変異又は擬似ランダム突然変異であり得る。
突然変異はランダムでない突然変異であってもよい。
突然変異の例は以下のものを含んでいる:
検体にコードラインを加えること;
コードラインの部分を除去する;
コードラインの複製;
コードラインの再整理;
備えた与えられたコマンドシーケンスをその他の機能的に同等なコマンドシーケンスに置換すること;
選択されたライブラリコールを異なる機能的に同等なライブラリコールに置換すること
使用される選択されたライブラリを使用される異なる機能的に同等なライブラリに置換すること、等。
ネットワークパケットへの突然変異は図8に関連して議論される。
随意の工程で、306の変種が、別の一つのコードの少なくとも一部と1本のコードの少なくとも一部を組み合わせることにより生成される。
いくつかの実施形態では、随意の工程306は省略される。一方、他の実施形態では、工程は省略されない。
まださらなる実施形態では、いくつかの世代はいくつかの変種のために組み合わせる工程を使用する。一方、他の世代及び/又は変種はしない。
追加の派生物の大多数はこのように生成することができる。
工程308で、変種は、選択プロセスの一部として「適合性」の点から通常評価される。
工程310で、変種はそれぞれの回避性のために評価される。
回避性は、変種を検出することができないセキュリティ製品の数及び/又は質に基づいて、セキュリティ製品の選択された群で各変種をスキャンし、各変種に回避性スコアを与えることにより測定することができる。
いくつかの実施形態では、変種の進化のプロセス(上に記述された共進化の実施形態)と並行して発展された検出器は、変種の回避性の評価において例示的なセキュリティ製品として使用される。
工程312で、変種はそれぞれ悪意性のために評価される。
いくつかの実施形態では、悪意性は各々のために、判定により測定される、変種が悪意のある活動を引き起こすかおよびその判定に基づいて、悪意性スコアを与える。
スコアは、において、バイナリー、真/偽、フォーマット、変種が悪意のある活動/ディスプレイを引き起こすかどうか悪意のある挙動/悪性コードを含んでいるかどうかを示す。
他の可能な実施形態では、実際のレベルの悪意(例えば1 -10などの規模についての)は評価され、また、悪意性スコアはその評価を反映する。
いくつかの実施形態では、変種は仮想マシン(VM)上で実行される。また、他の実施形態では、変種は物理的なマシン上で実行される。
同じプロセスは、コードに同様に使用される、他のタイプのトレース(例えばネットワーク攻撃)。
随意の工程である工程314(随意の工程)では、エバリュエーターは他の変種の適合性を示す他の/潜在パラメータを試験する。
変種が、変種がどんなに(オリジナルの検体及び/又は前の順列/世代から)分岐するか離れて同じ世代の他の変種決めると分析される場合、潜在的な1つの例は発散パラメーターである。
工程316で、トレースデータは詳しい分析および使用のために記録される。
例えば、データは新しい検出器をトレーニングするか作成するために使用され得る(図4を参照)。
工程316で、適合性スコアは、悪意性スコアおよび回避性スコアに、少なくとも基づいて計算される。
工程318で、変種が十分に「適合しているかどうか」選択プロセスから残存するのに決定がなされる。
選択プロセスから残存する変種は更なる進化を経験するために新しいマルウェア検体として進化マシン(工程302に進む)に戻される。
様々な方法はどの変種を選択するべきかに関して使用される。異なる方法は異なる時に使用され得、及び方法はそれ自体プロセスで変わり得る。
変種が選択プロセスから残存する可能性は、一般に直接適合性スコアと関係する。
いくつかの実施形態中で、適合性スコアが予め定義されたレベル以上ある場合、変種は、選択プロセス(以前に言及されたように、適合性スコアは帰着する動的なエバリュエーターによって達成され得、結果として動的適合性パラメータをもたらす)から残存する。
他の実施形態では、選択プロセスはトーナメント選択プロセスであり、ここで最初のNの最適の変種は、より高いスコア(相対的なフィットネス)を備えた変種を単にとることにより、変種(ここで「勝利」は、トーナメントの各ラウンドに参加する最適の変種に与えられる)間で実行されたトーナメントによって選択される。
更に他の実施形態、選択プロセスは、残存するために選択される特定の特性の場合、プロセスをガイドし得る。
選択プロセスは2つ以上の組み合わせの方法、又は言及されない他の方法でもよい。
いくつかの実施形態中で、変種が適合してないものとわかった場合、変種は工程320で廃棄される。
図4は、検知器を構築するための例示的なプロセスのフローチャート400を示す。
フローチャートの工程402は図3の工程316に相当する。
1つの実施形態において、変種のトレースデータが記録される。
いくつかの実施形態では、データは、工程404において、悪意のあるトレースと悪意のないトレースに分類される。
追加の及び/又は異なるカテゴリーも存在し得る。
いくつかの実施形態では、回避性特性も記録され、新しい検出器をトレーニングするために使用される。
工程406で、検出器ビルダー(又はいくらかの同等のコンポーネント)は、、悪意のある特性と悪意のない特性を検出し、区別することができる検出器を構築する/生成する/作成する。
これは、機械学習(ニューラルネットワーク、遺伝的アルゴリズム、SVMおよびカーネルマシン、など)を使用して行われてもよい。
工程406の実施形態の例は図7および図2に表される。
検出器は再学習プロセスを経る。
再学習プロセスでは、検知器は各々以下の基準の1つ以上に基づいて格付けし得る:
1)ポイントは正確に検出された悪意のある特性の数によって与えられる;
2)ポイント悪意のある(偽陽性(False Positive))ものとして不正確に検出された悪意のない特性の数によっては減算される;及び
3) より短い、又はより軽い、コード、検出器、より優れた。
より高い格付けは、(長さ、メモリおよび計算上の作業負荷での)より短いかより軽い検出器に対して与えられる。
[回避性エバリュエーター/セキュリティ製品ベンチマーカー]
図5は、回避性を評価し、選択されたセキュリティ製品を格付けるか、ベンチマークテストするプロセスのフローチャート500を表す。
工程502で、マルウェア検体は取得/ 収集される。
随意に、マルウェアのコードでは、これはセキュリティ製品によって署名されたコード/ 挙動シーケンスを見つけることを伴い得る。
他のトレースについては、これは、知られているか、又は認識されて文書化されたパターンを見つけること伴い得る。
工程504で、検体はこれらのシーケンスネットワークパケットなどにランダムおよび半ランダム又は擬似のランダム変更を挿入することにより、オリジナルのマルウェア変種を作成するように、検体は、進化エンジンに実行される。
いくつかの実施形態では、これらの変更は、上述のように、マシンコード自体上にまたはマシンコードのアセンブリの表現上に、または任意の他のコンピューティング言語(Java(登録商標)やCなど)で行われます。
工程506で、変種は選択されたセキュリティースキャナー(セキュリティパッケージの)でスキャンされる。
いくつかの実施形態では、検出器ビルダーによって生成された検出器も、変種をスキャンするために使用される。
工程508で、回避性スコアは、変種を検出することができなかったスキャナの数(すなわち変種により回避されたセキュリティ製品の数)および/ または1以上のセキュリティ製品によって信号化された警報、又は異常率に基づいて各々の変種に付与される。
回避性スコアは、変種が1つ以上の検出機構を回避する能力を反映する。
いくつかのセキュリティ実体については、変種が検出されたか否かについて、結果はバイナリーである。
他の検出器は検出率を戻し得る(例えばプロセスかファイルがマルウェアである可能性に関する統計スコア又はマルウェアの結果を返す検出器である)。
工程510では、セキュリティ製品(いくつかの実施形態では、これは、検出器ビルダーによって生成された検出器を含んでいる)はそれぞれ悪意のある変種を検出する能力に基づいて格付けされる。
いくつかの実施形態では、格付けはスキャナの絶対的な成功/故障率に基づいている。
いくつかの実施形態では、セキュリティ製品は、工程512において、他の製品を基準に格付けされる(優れている製品の判定)。
[コンピュータプログラム製品]
本発明の方法、システム及びプログラム製品のインプリメンテーションは、実行するか、または手動で選択されたタスクまたは工程を完了し、自動的に、またはそれらの組み合わせることを含む。
また、本発明の方法及びシステムの1つの起こりうる実施形態の実際の計装および設備によれば、いくつかの選択された工程は、任意のファームウェアの任意のオペレーション上でハードウェア又はソフトウェア又はその組み合わせによって実施される。
例えば、ハードウェアとして、チップまたは回路として本発明の随意の工程を実行され得る。
ソフトウェアとして、本発明の選択された工程は、任意の適切なオペレーティングシステムを使用して、コンピュータのプロセッサによって一時でない記憶媒体に具現化され、実行複数のソフトウェア命令として実現し得る。
いずれの場合においても、本発明の方法およびシステムの選択された工程は、複数の命令を実行するためのコンピューティングプラットフォームなどの、データプロセッサによって実行されているものとして記載され得る。
システムの可能な一実施形態では、コンピュータプログラム製品、一時的でない記憶媒体上に具現化され、及びプロセッサによっては実行されることが、上述の方法の工程を実行するように構成されている。
本発明は、限られた数の実施形態に関して説明してきたが、多くの変形、修正、および本発明の他の応用がなされ得ることが理解されるであろう。
ここにマルウェアをランク付けするための前記基準は、単に一つの起こりうる実施形態であること、及びその基準に変更および/ または修正が、本発明の範囲に含まれることが明らかにされる。
さらに、完全に異なるランク付けシステムは、代替的または追加的にマルウェアをランク付けするために使用することができる。
したがって、以下の特許請求の範囲に記載の請求項に係る発明は、本明細書に記載の実施形態に限定されるものではない。

Claims (47)

  1. (a) マルウェア検体のマルウェア変種を生成するのに適合されたマルウェア進化エンジンと、
    (b)悪意性レベルおよび回避性レベルから少なくとも1つに基づいて前記マルウェア変種を評価するように構成されたエバリュエーターと、を含むシステム。
  2. (c) リポジトリ、プロダクション装置およびサードパーティ製品から成る群から選択される少なくとも1つのソースから進化エンジンの為にマルウェア検体を集めるのに適合されたマルウェアフェッチャーを更に含むことを特徴とする請求項1に記載のシステム。
  3. (c) 前記進化エンジンによって生成され、前記エバリュエーターによって評価された前記マルウェア変種に基づいて検出器機構を生成するように構成された検出器ビルダーを更に含むことを特徴とする請求項1に記載のシステム。
  4. 前記進化エンジンが、前記マルウェア検体の実行可能コードへの突然変異の適用、マルウェア放出されたネットワークトラフィックへの突然変異の適用、ソースコードへの突然変異の適用、アセンブリ言語コードへの突然変異の適用、及び、前記マルウェア変種の交互の組み合わせ、から成る群から選択される少なくとも1つの動作を行なうことにより、前記マルウェア変種を生成するように構成されることを特徴とする請求項1に記載のシステム。
  5. 前記実行可能コードに適用された前記突然変異は、
    (i)ランダム突然変異、
    (ii)所定のコマンドシーケンスを別の機能的に同等なコマンドシーケンスに置換すること、
    (iii)選択されたライブラリコールを異なる機能的に同等なライブラリコールに置換すること、
    (iv)使用される選択されたライブラリを、異なる機能的に同等なライブラリに置換すること、
    (v)悪意のある機能を持っているものとして識別されたエリアで前記突然変異のそれぞれの確率を増加させること;
    (vi)前記実行可能コードの適切な実行を妨げないものとして識別されたエリアで前記突然変異のそれぞれの確率を増加させること;
    (vii)セキュリティ製品によって署名されたエリアで前記突然変異の確率を増加させること;
    (viii)以前の前記突然変異が増加した適合性スコアをもたらしたエリアで前記突然変異の確率を増加させること;
    (ix)バイナリコードが加えられたセクションの為の前記実行可能コードのヘッダーを書き換えることで結果的に前記セクションの拡張をもたらすこと;
    (x)前記実行可能コードを他の前記実行可能コードと組み合わせて、組み合わさったコードを生成し、関連するヘッダーを書き換えることによって、前記組み合わさったコードの適切な実行を可能にする;及び、
    (xi)動的関数呼び出しを関連するオペレーティングシステムコールの静的な起動に変更するために前記実行可能コードの特定のセクションを修正すること。
    からなる群から選択されることを特徴とする請求項4に記載のシステム。
  6. 攻撃マシンは、前記マルウェア放出されたネットワークトラフィックを前記進化エンジンに送るように構成され、前記進化エンジンは、前記マルウェア放出されたネットワークトラフィックに前記突然変異を適用し、及び変異したマルウェア放出されたネットワークトラフィックを犠牲マシンに送るようにさらに構成され、
    ここで、前記変異したマルウェア放出されたネットワークトラフィックの前記犠牲マシンについての結果は、前記悪意性レベルを判定するために前記エバリュエーターによって評価されることを特徴とする請求項4に記載のシステム。
  7. 前記マルウェア放出されたネットワークトラフィックに適用された前記突然変異は、前記パケットのペイロード又はヘッダー中の様々な突然変異の後に、前記CRC/チェック又は他のフィールドを有効にするために、CRC/チェックサムサムフィールド又は様々なプロトコルの中のネットワークパケットの他のフィールドも修正することを含むことを特徴とする請求項6に記載のシステム。
  8. 前記マルウェア放出されたネットワークトラフィックは、安全なチャネルにおいて、前記マルウェア放出されたネットワークトラフィックを含んでいるネットワーク通信を圧縮することにより、難読化にされることを特徴とする請求項6に記載のシステム。
  9. 前記マルウェア検体の前記実行可能コードが 、圧縮、暗号化および符号化からなる群から選択される技術を使用して、難読化されることを特徴とする請求項4に記載のシステム。
  10. 前記エバリュエーターは、前記変種に適合性スコアを与え、システムが、前記適合性スコアに基づいて、新しい前記マルウェア検体として前記変種の少なくとも一部を選択することを特徴とする請求項1に記載のシステム。
  11. 前記エバリュエーターは、前記変種に適合性スコアを与え、システムが、前記適合性スコアに基づいて、前記検出器ビルダーの為に、前記変種の少なくとも一部を選択することを特徴とする請求項3に記載のシステム。
  12. 前記エバリュエーターが、(a) 悪意性レベル判定および(b)回避性レベル判定、の少なくとも1つに基づいて変種をランク付することを特徴とする請求項1に記載のシステム。
  13. 前記悪意性レベル判定は、前記変種が前記マルウェア検体によって示された悪意のある特性の少なくとも一部を示すかどうかに基づいて、少なくとも部分的になされることを特徴とする請求項12に記載のシステム。
  14. 前記回避性レベル判定は、前記変種が少なくとも前記マルウェア検体によって示された回避的な特性の一部を示すかどうかに基づいて、少なくとも部分的になされることを特徴とする請求項12に記載のシステム。
  15. 前記回避性レベルは、各々の複数のマルウェア検出器システムにマルウェア検体あるいは変種を送ることにより、少なくとも部分的に判定されることを特徴とする請求項12に記載のシステム
  16. 前記検出器ビルダーは、検出器を作成するための以下の要素:
    (a)マルウェア変種の実行可能なバイナリー、
    (b)マルウェア変種によって放出されたか受け取られたネットワークトラフィック、
    (c)マルウェア変種のシステムコール、
    (d) マルウェア変種のAPI呼び出し、及び
    (e)マルウェア変種のメモリフットプリントおよびコンテンツ、の少なくとも1つを処理するように適合されることを特徴とする請求項3に記載のシステム。
  17. 前記検出器ビルダーが、
    (a)ネットワーク挙動シグネチャ、
    (b)ネットワーク挙動パターン、
    (c)実行可能なシグネチャ、
    (d)実行可能なパターン、
    (e)システムコールシグネチャ、
    (f)システムコールパターン、
    (g) CPU動作シグネチャ、
    (h) CPU動作パターン、
    (i) API呼び出しシグネチャ、
    (j) API呼び出しパターン、の少なくとも1つを検出するのに適合された少なくとも1つの検出器を生成することを特徴とする請求項16に記載に記載のシステム。
  18. 前記検出器は、エンドポイント、ゲートウエイ、ネットワークエレメント、ネットワーク機器および統合されたサードパーティプラットフォームを含む群から選択されたプラットフォーム上のスタンドアロンの検知モジュールとして配置されるように適合されることを特徴とする請求項17に記載のシステム。
  19. 前記回避性レベルが、請求項3の検出器ビルダーによって構築された検出器に対して前記マルウェア検体又は変種を実行することにより、さらに判定されることを特徴とする請求項11に記載のシステム。
  20. 前記エバリュエーターは、仮想マシン(VM)および物理的なコンピューターの少なくとも1つ上で前記変種を実行することにより、前記悪意性レベルを評価するようにさらに構成されることを特徴とする請求項13に記載のシステム。
  21. マルウェア上で進化のプロセスを達成する方法であって、該方法は、
    (a) マルウェア検体を受け取る工程;
    (b) 前記マルウェア検体の変種を生成する工程;
    (c) 前記変種を評価し個々の前記変種にそれぞれの適合性スコアを与える工程;
    (d) 少なくとも予め定義された前記それぞれの適合性スコアを有する前記変種を選択する工程;及び
    (e)前記選択された変種を工程(a)における前記マルウェア検体として使用して、そこから前記変種の新しい世代を生成する工程、
    を含む方法。
  22. 前記マルウェア変種を生成する前記工程は、前記マルウェア検体の実行可能コードに突然変異を適用すること、マルウェア放出されたネットワークトラフィックに突然変異を適用すること、及び前記マルウェア変種を交互に組み合わせることから成る群から選択される少なくとも1つの動作を行なうことを含むことを特徴とする請求項21に記載の方法。
  23. 前記実行可能コードに前記突然変異を適用することが、
    (i)ランダム突然変異、
    (ii)所定のコマンドシーケンスを別の機能的に同等なコマンドシーケンスに置換すること
    (iii)選択されたライブラリコールを異なる機能的に同等なライブラリコールに置換すること、
    (iv)使用される選択されたライブラリを、異なる機能的に同等なライブラリに置換すること、
    (v)悪意のある機能を持っていることとして識別されたエリアで前記突然変異のそれぞれの確率を増加させること;
    (vi)前記実行可能コードの適切な実行を妨げないものとして識別されたエリアで前記突然変異のそれぞれの確率を増加させること;
    (vii)セキュリティ製品によって署名されたエリアで前記突然変異の確率を増加させること;
    (viii)以前の前記突然変異が増加した適合性スコアをもたらしたエリアで前記突然変異の確率を増加させること;
    (ix)バイナリコードが加えられたセクションの為の前記実行可能コードのヘッダーを書き換えることで結果的に前記セクションの拡張をもたらすこと;
    (x)前記実行可能コードを他の前記実行可能コードと組み合わせて、組み合わさったコードを生成し、関連するヘッダーを書き換えることによって、前記組み合わさったコードの適切な実行を可能にする;及び、
    (ix)バイナリコードが加えられたセクションの為の前記実行可能コードのヘッダーを書き換えることで結果的に前記セクションの拡張をもたらすこと、の少なくとも1つを含むことを特徴とする請求項22に記載の方法。
  24. マルウェア放出されたネットワークトラフィックに突然変異を適用することが、
    (i)攻撃マシンからルーターまで前記マルウェア放出されたネットワークトラフィックを送る工程;
    (ii) 前記マルウェア放出されたネットワークトラフィックの要素を変異する工程;及び
    (iii)犠牲マシンに前記変異したマルウェア放出されたネットワークトラフィックを送る工程、を含むことを特徴とする請求項22に記載の方法。
  25. 評価する前記変異したマルウェア放出されたネットワークトラフィックを評価する工程を更に含み、該評価する工程は、(iv) 前記犠牲マシン上で前記変異したマルウェア放出されたネットワークトラフィックの結果を登録する工程;及び、(v)前記適合性スコアを判定するために前記結果を評価する工程、を含むことを特徴とする請求項24に記載の方法。
  26. 前記変種を評価する工程は、前記変異の各々の少なくとも回避性と悪意性を評価することを含むことを特徴とする請求項21に記載の方法
  27. 前記回避性は、前記変種を検出する前記セキュリティ製品の不能性に基づいて、セキュリティ製品の選択された群で各々の前記変種をスキャンし、回避性スコアを与えることにより、測定されることを特徴とする請求項26に記載の方法。
  28. 前記悪意性は、各々の前記変種に対して、前記変種が悪意のある活動を引き起こすかどうかを判定し、前記判定に基づいて、悪意性スコアを与えることによって測定されることを特徴とする請求項27の方法。
  29. 前記変種は、仮想マシンと物理的なマシンの少なくとも1つ上で実行されることを特徴とする請求項28に記載の方法。
  30. 前記適合性スコアは、少なくとも前記回避性スコアおよび前記悪意性スコアに基づいて計算されることを特徴とする請求項28に記載の方法。
  31. 前記適合性スコアは、前記マルウェア検体からの前記変種の発散の程度に基づいて、さらに計算されることを特徴とする請求項30に記載の方法。
  32. (f)前記変種、良性のファイルあるいはネットワークフローのトレースデータを集める工程;及び
    (g)悪意のあるバリアントのトレース、良性のファイルのトレース、前記進化プロセス間にそれらの悪意のあるアクティビティを失った退化したマルウェア変種のトレースのカテゴリーの少なくとも1つへ前記トレースデータを分類する工程、をさらに含むことを特徴とする請求項28に記載の方法。
  33. (h)検出することができる、および前記悪意のある特性と前記悪意のない特性とを区別することができる検出器を構築する工程を更に含むことを特徴とする請求項32に記載の方法。
  34. (i) 検出器の中から、次のものに基づいた前記格付けの、所定のレベル以上の格付けがある少なくとも1つの検出器を選択する工程であって、前記格付けが、
    (i) 正確に検出された前記悪意のある特性の数;
    (ii) 不正確に検出された悪意のない特性の数;及び
    (iii)前記検出器の短かさであって、より高い格付けは、長さ、メモリおよび計算上の作業負荷、の少なくとも1つの点から判定された、より短いかより軽い検出器に対して与えられる、前記検出器の短かさに基づく、工程を含むことを特徴とする請求項33に記載の方法。
  35. (a) マルウェア検体を受け取る工程;
    (b) 前記マルウェア検体の変種を生成する工程;
    (c) 前記変種を検出する前記セキュリティ製品の不能性に基づいて、セキュリティ製品の選択された群で各々の前記変種をスキャンし、回避性スコアを与える工程を含む、方法。
  36. (d)前記変種の検出における成功のレベルに基づいて、前記セキュリティ製品に格付けを与える工程を更に含むことを特徴とする請求項35に記載の方法
  37. 前記格付けは、他のセキュリティ製品に関する前記成功のレベルに基づくことを特徴とする請求項36に記載の方法。
  38. バイトストリームに対してマルウェア検出器をトレーニングする方法であって、該方法は:
    (a)ネットワークセッション又は他のバイナリデータのバイトストリームをキャプチャし、前記バイトストリームを整数の線形のベクトルで表わす工程であって、前記バイトストリームが、マルウェアの変種、又は良性のネットワーク活動、又はファイルのトレースを含む工程;
    (b) 前記線形のベクトルを正方行列へと作り変え、それによって、グレイスケール画像を受け取る工程;
    (c) 解像度を統一するために前記グレイスケール画像を正規化する工程;
    (d)少なくとも1つの画像処理技術を使用して、前記正規化した画像から特性を抽出する工程;
    (e)(a)乃至(d)の工程を繰り返し、最初のデータベースに悪意のある変種を、及び2番目のデータベースに良性のトラフィックを格納する工程;
    (f)前記マルウェア変種と前記良性のトラフィックとを識別するようにマルウェア検出器をトレーニングする工程、
    を含む、方法。
  39. 前記少なくとも1つの画像処理技術が、ガボールのウェーブレット係数、係数の統計、主成分分析、線形判別分析及び独立成分分析から成る群から選択されることを特徴とする請求項38に記載の方法:
  40. トレーニングする工程は、サポートベクトルマシンで実行されることを特徴とする請求項38に記載の方法。
  41. マルウェア検体からマルウェア変種を生成する方法であって、該方法は、
    突然変異を前記マルウェア検体の実行可能コードへ適用する工程、
    前記マルウェア変種をマルウェア放出されたネットワークトラフィックへ適用する工程、及び
    前記マルウェア変種を交互に組み合わせる工程、から成る群から選択される少なくとも1つの動作を行なうことによって前記マルウェア変種を生成する工程を含む、方法。
  42. 突然変異を前記実行可能コードへ適合することが、
    (i)ランダム突然変異、
    (ii)所定のコマンドシーケンスを別の機能的に同等なコマンドシーケンスに置換すること、
    (iii)選択されたライブラリコールを異なる機能的に同等なライブラリコールに置換すること、
    (iv)使用される選択されたライブラリを、異なる機能的に同等なライブラリに置換すること、
    (v)悪意のある機能を持っていることとして識別されたエリアで前記突然変異のそれぞれの確率を増加させること;
    (vi)前記実行可能コードの適切な実行を妨げないものとして識別されたエリアで前記突然変異のそれぞれの確率を増加させること;
    (vii)セキュリティ製品によって署名されたエリアで前記突然変異の確率を増加させること;
    (viii)以前の前記突然変異が増加した適合性スコアをもたらしたエリアで前記突然変異の確率を増加させること;
    (ix)バイナリコードが加えられたセクションの為の前記実行可能コードのヘッダーを書き換えることで結果的に前記セクションの拡張をもたらすこと;
    (x)前記実行可能コードを他の前記実行可能コードと組み合わせて、組み合わさったコードを生成し、関連するヘッダーを書き換えることによって、前記組み合わさったコードの適切な実行を可能にする;及び、
    (xi)動的関数呼び出しを関連するオペレーティングシステムコールの静的な起動に変更するために前記実行可能コードの特定のセクションを修正すること、の少なくとも1つによって達成されることを特徴とする請求項41に記載の方法。
  43. 突然変異をマルウェア放出されたネットワークトラフィックへ適用することが、
    (i)攻撃マシンからルーターまで前記マルウェア放出されたネットワークトラフィックを送る工程;
    (ii) 前記マルウェア放出されたネットワークトラフィックの要素を変異する工程;及び
    (iii)犠牲マシンに前記変異したマルウェア放出されたネットワークトラフィックを送る工程、を含むことを特徴とする請求項41に記載の方法:
  44. 前記変種を前記仮想マシン(VM)及び前記物理的なマシンの両方上で実行する工程;及び
    前記変種を前記VM上で実行した結果を比較し、結果間の相違を検出するために、前記変種を前記物理なマシン上で実行する工程、をさらに含むことを特徴とする請求項29に記載の方法。
  45. 前記相違が見つかる場合に、前記変種は、前記物理的なマシン上での前記変種の実行の結果のみに関して評価されることを特徴とする請求項44に記載の方法。
  46. 統合トリガーを中和するために、前記変種を実行しながら、予め定められたシステム信号、通信データ、引き数から選択された少なくとも1つのシグナルを送る工程を更に含み、
    少なくとも1つのシグナルがエンドポイントデバイスまたはネットワークアプライアンス上でエージェントによってキャプチャされることを特徴とする請求項29に記載の方法。
  47. 実行されないコード領域を識別するために、前記変種を実行しながら、コードカバレッジをモニタリングする工程を更に含み、前記実行されないコード領域が、前記変種中で統合されたトリガーを示すことを特徴とする請求項29に記載の方法。
JP2015556621A 2013-02-10 2014-02-10 予測的なセキュリティ製品を提供し、既存のセキュリティ製品を評価する方法と製品 Active JP6176868B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361762922P 2013-02-10 2013-02-10
US61/762,922 2013-02-10
PCT/IL2014/050144 WO2014122662A1 (en) 2013-02-10 2014-02-10 Method and product for providing a predictive security product and evaluating existing security products

Publications (3)

Publication Number Publication Date
JP2016507115A true JP2016507115A (ja) 2016-03-07
JP2016507115A5 JP2016507115A5 (ja) 2016-06-02
JP6176868B2 JP6176868B2 (ja) 2017-08-09

Family

ID=51299301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015556621A Active JP6176868B2 (ja) 2013-02-10 2014-02-10 予測的なセキュリティ製品を提供し、既存のセキュリティ製品を評価する方法と製品

Country Status (10)

Country Link
US (6) US9521156B2 (ja)
EP (2) EP3264313B1 (ja)
JP (1) JP6176868B2 (ja)
KR (1) KR101880796B1 (ja)
CN (1) CN105144187B (ja)
AU (1) AU2014213584B2 (ja)
CA (1) CA2900312A1 (ja)
IL (1) IL240452B (ja)
RU (1) RU2015136393A (ja)
WO (1) WO2014122662A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5982597B1 (ja) * 2016-03-10 2016-08-31 株式会社Ffri 情報処理装置、情報処理方法、プログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2018506808A (ja) * 2014-11-21 2018-03-08 ブルヴェクター, インコーポレーテッドBluvector, Inc. ネットワークデータ特性評価のシステムと方法
US11797668B2 (en) 2017-10-11 2023-10-24 Mitsubishi Electric Corporation Sample data generation apparatus, sample data generation method, and computer readable medium

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015163914A1 (en) * 2014-04-25 2015-10-29 Hewlett-Packard Development Company, L.P. Statistics-based data trace classification
US10474820B2 (en) 2014-06-17 2019-11-12 Hewlett Packard Enterprise Development Lp DNS based infection scores
KR20160001046A (ko) * 2014-06-26 2016-01-06 삼성전자주식회사 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치
US9692773B1 (en) * 2014-12-11 2017-06-27 Symantec Corporation Systems and methods for identifying detection-evasion behaviors of files undergoing malware analyses
CN104573515A (zh) 2014-12-19 2015-04-29 百度在线网络技术(北京)有限公司 一种病毒处理方法、装置和系统
FR3030823B1 (fr) * 2014-12-23 2017-01-27 Thales Sa Procede de mise en oeuvre d'un algorithme de determination de surete de fichiers informatiques, module de determination, procede de construction d'une unite de controle et produit programme d'ordinateur associes
WO2016168368A1 (en) * 2015-04-13 2016-10-20 Secful, Inc. System and method for identifying and preventing malicious api attacks
JP6930742B2 (ja) * 2015-05-04 2021-09-01 ハサン・シェド・カムラン コンピュータネットワークにおけるセキュリティを管理する方法及び装置
US9984231B2 (en) * 2015-11-11 2018-05-29 Qualcomm Incorporated Detecting program evasion of virtual machines or emulators
EP3394784B1 (en) 2015-12-24 2020-10-07 British Telecommunications public limited company Malicious software identification
TWI599905B (zh) * 2016-05-23 2017-09-21 緯創資通股份有限公司 惡意碼的防護方法、系統及監控裝置
US10505960B2 (en) * 2016-06-06 2019-12-10 Samsung Electronics Co., Ltd. Malware detection by exploiting malware re-composition variations using feature evolutions and confusions
CN106198900B (zh) * 2016-06-30 2018-06-15 深圳市检验检疫科学研究院 食品安全评价方法及装置
JP6801267B2 (ja) 2016-07-04 2020-12-16 富士通株式会社 評価プログラム、評価方法、評価装置および情報処理装置
US10218729B2 (en) 2016-07-08 2019-02-26 Cisco Technology, Inc. Specializing unsupervised anomaly detection systems using genetic programming
WO2018178028A1 (en) 2017-03-28 2018-10-04 British Telecommunications Public Limited Company Initialisation vector identification for encrypted malware traffic detection
EP3602371A1 (en) * 2017-03-28 2020-02-05 British Telecommunications Public Limited Company Intialisation vector identification for malware file detection
CN107463493B (zh) * 2017-06-30 2020-04-07 北京北信源软件股份有限公司 一种面向主机防病毒产品的测试系统和测试方法
US11017055B2 (en) 2017-06-30 2021-05-25 Paypal, Inc. Hotspots for probabilistic model testing and cyber analysis
WO2019067717A1 (en) 2017-09-27 2019-04-04 Alphamorph, LLC DESIGN TOOL AND METHOD OF USING THE SAME
US10198342B1 (en) 2017-10-30 2019-02-05 Paypal Inc. Advanced binary instrumentation for debugging and performance enhancement
CN110362994B (zh) * 2018-03-26 2023-06-20 华为技术有限公司 恶意文件的检测方法、设备和系统
CN108959925A (zh) * 2018-06-22 2018-12-07 珠海市君天电子科技有限公司 一种恶意脚本的检测方法、装置、电子设备及存储介质
EP3623980B1 (en) 2018-09-12 2021-04-28 British Telecommunications public limited company Ransomware encryption algorithm determination
EP3623982B1 (en) 2018-09-12 2021-05-19 British Telecommunications public limited company Ransomware remediation
US11368475B1 (en) * 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
JP7188208B2 (ja) * 2019-03-20 2022-12-13 日本電気株式会社 マルウェア解析装置、マルウェア解析方法、及び、プログラム
KR20210108154A (ko) 2020-02-25 2021-09-02 국방과학연구소 악성코드 진화관계를 분석하는 장치 및 방법
US11853421B2 (en) 2020-02-25 2023-12-26 Agency For Defense Development Method and apparatus for analyzing malicious code
RU2738344C1 (ru) * 2020-03-10 2020-12-11 Общество с ограниченной ответственностью «Группа АйБи ТДС» Способ и система поиска схожих вредоносных программ по результатам их динамического анализа
KR102211846B1 (ko) 2020-07-21 2021-02-03 국방과학연구소 랜섬웨어 탐지 시스템 및 그의 동작 방법
KR102499372B1 (ko) * 2021-02-04 2023-02-10 강원대학교산학협력단 악성코드 학습 데이터 증강 장치, 방법 및 프로그램
KR102447280B1 (ko) * 2022-02-09 2022-09-27 주식회사 샌즈랩 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
CN115766231A (zh) * 2022-11-17 2023-03-07 国网福建省电力有限公司 一种线性可分的安全脆弱点检测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186687A (ja) * 2001-12-17 2003-07-04 Kanazawa Inst Of Technology ウイルス検出方法および装置
US20050005153A1 (en) * 2003-06-30 2005-01-06 Kaustubh Das Processor based system and method for virus detection

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6357008B1 (en) * 1997-09-23 2002-03-12 Symantec Corporation Dynamic heuristic method for detecting computer viruses using decryption exploration and evaluation phases
US7210041B1 (en) * 2001-04-30 2007-04-24 Mcafee, Inc. System and method for identifying a macro virus family using a macro virus definitions database
US7832011B2 (en) * 2002-08-30 2010-11-09 Symantec Corporation Method and apparatus for detecting malicious code in an information handling system
US7284273B1 (en) * 2003-05-29 2007-10-16 Symantec Corporation Fuzzy scanning system and method
US7370361B2 (en) * 2004-02-06 2008-05-06 Trend Micro Incorporated System and method for securing computers against computer virus
US20070094734A1 (en) * 2005-09-29 2007-04-26 Mangione-Smith William H Malware mutation detector
KR100670815B1 (ko) * 2005-12-08 2007-01-19 한국전자통신연구원 순차적 데이터 처리 기반의 유해 멀티미디어 서비스 차단장치 및 그 방법
US7809670B2 (en) * 2005-12-09 2010-10-05 Microsoft Corporation Classification of malware using clustering that orders events in accordance with the time of occurance
US9104871B2 (en) * 2006-04-06 2015-08-11 Juniper Networks, Inc. Malware detection system and method for mobile platforms
US20070250927A1 (en) * 2006-04-21 2007-10-25 Wintutis, Inc. Application protection
EP1933248A1 (de) * 2006-12-12 2008-06-18 secunet Security Networks Aktiengesellschaft Verfahren zur sicheren Datenverarbeitung auf einem Computersystem
US8250655B1 (en) * 2007-01-12 2012-08-21 Kaspersky Lab, Zao Rapid heuristic method and system for recognition of similarity between malware variants
US8613080B2 (en) * 2007-02-16 2013-12-17 Veracode, Inc. Assessment and analysis of software security flaws in virtual machines
US8312546B2 (en) * 2007-04-23 2012-11-13 Mcafee, Inc. Systems, apparatus, and methods for detecting malware
US8621610B2 (en) * 2007-08-06 2013-12-31 The Regents Of The University Of Michigan Network service for the detection, analysis and quarantine of malicious and unwanted files
US8732825B2 (en) * 2008-05-28 2014-05-20 Symantec Corporation Intelligent hashes for centralized malware detection
US20090313700A1 (en) * 2008-06-11 2009-12-17 Jefferson Horne Method and system for generating malware definitions using a comparison of normalized assembly code
US8904536B2 (en) * 2008-08-28 2014-12-02 AVG Netherlands B.V. Heuristic method of code analysis
US8667583B2 (en) * 2008-09-22 2014-03-04 Microsoft Corporation Collecting and analyzing malware data
GB0822619D0 (en) 2008-12-11 2009-01-21 Scansafe Ltd Malware detection
US8239948B1 (en) * 2008-12-19 2012-08-07 Symantec Corporation Selecting malware signatures to reduce false-positive detections
US8266698B1 (en) * 2009-03-09 2012-09-11 Symantec Corporation Using machine infection characteristics for behavior-based detection of malware
US8321942B1 (en) 2009-03-12 2012-11-27 Symantec Corporation Selecting malware signatures based on malware diversity
US8332945B2 (en) * 2009-06-05 2012-12-11 The Regents Of The University Of Michigan System and method for detecting energy consumption anomalies and mobile malware variants
CN102461118B (zh) * 2009-06-11 2016-07-06 松下航空电子公司 用于在移动平台上提供安全性的系统和方法
US8375450B1 (en) 2009-10-05 2013-02-12 Trend Micro, Inc. Zero day malware scanner
US8356354B2 (en) * 2009-11-23 2013-01-15 Kaspersky Lab, Zao Silent-mode signature testing in anti-malware processing
US8863279B2 (en) * 2010-03-08 2014-10-14 Raytheon Company System and method for malware detection
US9501644B2 (en) * 2010-03-15 2016-11-22 F-Secure Oyj Malware protection
US20120072988A1 (en) 2010-03-26 2012-03-22 Telcordia Technologies, Inc. Detection of global metamorphic malware variants using control and data flow analysis
US8510836B1 (en) * 2010-07-06 2013-08-13 Symantec Corporation Lineage-based reputation system
US8869277B2 (en) * 2010-09-30 2014-10-21 Microsoft Corporation Realtime multiple engine selection and combining
US9032521B2 (en) * 2010-10-13 2015-05-12 International Business Machines Corporation Adaptive cyber-security analytics
US20120297457A1 (en) * 2010-11-15 2012-11-22 Brian Schulte Interactive Malware Detector
RU2454714C1 (ru) * 2010-12-30 2012-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ повышения эффективности обнаружения неизвестных вредоносных объектов
KR101337874B1 (ko) * 2010-12-31 2014-01-28 주식회사 안랩 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US9111094B2 (en) * 2011-01-21 2015-08-18 F-Secure Corporation Malware detection
US8997233B2 (en) * 2011-04-13 2015-03-31 Microsoft Technology Licensing, Llc Detecting script-based malware using emulation and heuristics
US8555388B1 (en) * 2011-05-24 2013-10-08 Palo Alto Networks, Inc. Heuristic botnet detection
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9544323B2 (en) * 2011-07-08 2017-01-10 Rapid Focus Security, Llc System and method for remotely conducting a security assessment and analysis of a network
US9672355B2 (en) * 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
US20130152200A1 (en) * 2011-12-09 2013-06-13 Christoph Alme Predictive Heap Overflow Protection
US8782796B2 (en) * 2012-06-22 2014-07-15 Stratum Security, Inc. Data exfiltration attack simulation technology
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US20140157405A1 (en) * 2012-12-04 2014-06-05 Bill Joll Cyber Behavior Analysis and Detection Method, System and Architecture
US9117080B2 (en) * 2013-07-05 2015-08-25 Bitdefender IPR Management Ltd. Process evaluation for malware detection in virtual machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186687A (ja) * 2001-12-17 2003-07-04 Kanazawa Inst Of Technology ウイルス検出方法および装置
US20050005153A1 (en) * 2003-06-30 2005-01-06 Kaustubh Das Processor based system and method for virus detection

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"バラまく方法から亜種の作り方まで,敵を知り防御策を練るのだ! ウイルスの仕組みと作り方", PC JAPAN 第8巻 第12号, vol. 第8巻, JPN6017012324, 1 December 2003 (2003-12-01), JP, pages 151 - 155 *
TTS: "ウイルス&スパイウェアの駆除性能からインターフェイスの使い勝手まで,年に一度の大検証! 総合セキュリ", PC JAPAN 第12巻 第12号, vol. 第12巻, JPN6017012323, 1 December 2007 (2007-12-01), JP, pages 64 - 70 *
勝村 幸博: "ウイルスびっくりテクノロジー", 日経パソコン NO.549 NIKKEI PERSONAL COMPUTING, vol. pp.64〜73, JPN6017012325, 10 March 2008 (2008-03-10), JP *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018506808A (ja) * 2014-11-21 2018-03-08 ブルヴェクター, インコーポレーテッドBluvector, Inc. ネットワークデータ特性評価のシステムと方法
JP5982597B1 (ja) * 2016-03-10 2016-08-31 株式会社Ffri 情報処理装置、情報処理方法、プログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US11797668B2 (en) 2017-10-11 2023-10-24 Mitsubishi Electric Corporation Sample data generation apparatus, sample data generation method, and computer readable medium

Also Published As

Publication number Publication date
IL240452A0 (en) 2015-09-24
US20160219064A1 (en) 2016-07-28
CN105144187B (zh) 2019-01-22
US9521156B2 (en) 2016-12-13
US20180131707A1 (en) 2018-05-10
EP2954453A1 (en) 2015-12-16
CA2900312A1 (en) 2014-08-14
RU2015136393A (ru) 2017-03-15
US20160173514A1 (en) 2016-06-16
AU2014213584A1 (en) 2015-10-01
US9680851B2 (en) 2017-06-13
KR101880796B1 (ko) 2018-08-17
US9838406B2 (en) 2017-12-05
IL240452B (en) 2019-06-30
EP2954453B1 (en) 2017-08-23
CN105144187A (zh) 2015-12-09
AU2014213584B2 (en) 2018-01-18
US9654487B2 (en) 2017-05-16
EP2954453A4 (en) 2016-01-20
US10110619B2 (en) 2018-10-23
US20150150131A1 (en) 2015-05-28
EP3264313B1 (en) 2019-06-12
JP6176868B2 (ja) 2017-08-09
WO2014122662A1 (en) 2014-08-14
US20160217285A1 (en) 2016-07-28
US20160173515A1 (en) 2016-06-16
EP3264313A1 (en) 2018-01-03
US9769188B2 (en) 2017-09-19
KR20150118186A (ko) 2015-10-21

Similar Documents

Publication Publication Date Title
JP6176868B2 (ja) 予測的なセキュリティ製品を提供し、既存のセキュリティ製品を評価する方法と製品
Baracaldo et al. Detecting poisoning attacks on machine learning in IoT environments
US20110041179A1 (en) Malware detection
JP2016507115A5 (ja)
CN107247902B (zh) 恶意软件分类系统及方法
Neugschwandtner et al. Forecast: skimming off the malware cream
Eskandari et al. To incorporate sequential dynamic features in malware detection engines
Omar Machine learning for cybersecurity: Innovative deep learning solutions
Amarasinghe et al. AI based cyber threats and vulnerability detection, prevention and prediction system
Yusoff et al. Optimizing decision tree in malware classification system by using genetic algorithm
Gonzalez et al. Measuring code reuse in Android apps
Hiremath A novel approach for analyzing and classifying malicious web pages
Singh et al. RETRACTED: A hybrid layered architecture for detection and analysis of network based Zero-day attack
Berg Behavior-based classification of botnet malware
Mahmoudyar Graph-based IoT malware family classification
Fraley et al. Enhanced detection of advanced malicious software
Masud et al. A data mining technique to detect remote exploits
Uetz et al. You Cannot Escape Me: Detecting Evasions of SIEM Rules in Enterprise Networks
Blount Adaptive rule-based malware detection employing learning classifier systems
Sinha et al. Integrated Malware Analysis Sandbox for Static and Dynamic Analysis
Anand FILE-LESS MALWARE DETECTION
Boggs Empirical Measurement of Defense in Depth
Miaoulis et al. USING VISUAL ANALYTICS FOR WEB INTRUSION DETECTION.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160404

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170710

R150 Certificate of patent or registration of utility model

Ref document number: 6176868

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250