JP5713478B2 - 署名を利用せずに悪意プロセスを検出するシステムおよび方法 - Google Patents

署名を利用せずに悪意プロセスを検出するシステムおよび方法 Download PDF

Info

Publication number
JP5713478B2
JP5713478B2 JP2014513736A JP2014513736A JP5713478B2 JP 5713478 B2 JP5713478 B2 JP 5713478B2 JP 2014513736 A JP2014513736 A JP 2014513736A JP 2014513736 A JP2014513736 A JP 2014513736A JP 5713478 B2 JP5713478 B2 JP 5713478B2
Authority
JP
Japan
Prior art keywords
processes
features
feature
malicious
process categories
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014513736A
Other languages
English (en)
Other versions
JP2014515538A (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 JP2014515538A publication Critical patent/JP2014515538A/ja
Application granted granted Critical
Publication of JP5713478B2 publication Critical patent/JP5713478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • 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
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Collating Specific Patterns (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、概して情報セキュリティに関し、特に署名を利用せずにマルウェアを検出することに関する。
デジタル的に格納されているデータがますます重要になると共にどこでもアクセスできるようになるにつれて、デジタルデータのセキュリティを維持することの重要性も同じく増している。企業および個人はデータの保護に努めているが、他の個人、機関および企業がセキュリティホールを悪用して、データにアクセスしたり、および/または、コンピュータシステム自体に大きな損害を与えたりしようと試みる場合がある。一般的に、セキュリティホールを悪用しようとするさまざまな種類のソフトウェアは、「マルウェア」と呼ばれ、ウイルス、ワーム、アドウェア、スパイウェア等を含むグループにグループ化され得る。
コンピュータシステムおよび対応するデータをマルウェアによる攻撃から保護するべく多くのさまざまな製品が開発されている。このような方法の一つに、McAfee AntiVirus、McAfee Internet SecutiryおよびMcAfee Total Protection等のマルウェア対策プログラムを利用することが挙げられる。一部のマルウェア対策プログラムは、検出の際にマルウェア署名を利用している。マルウェア署名は、既に特定されたマルウェアの識別情報、または、マルウェアファイルのハッシュもしくはその他の構造識別子に基づいた署名である。マルウェアを特定する別の方法として、ファイルの挙動に基づいて判断する方法がある。例えば、マルウェア対策ソフトウェアは、メモリの禁止部分にアクセスしようと試みるプロセスがないかどうか、電子デバイスを監視する。
しかし、上記の方法は、静的な署名、および/または、プロセスの挙動を追跡するための大量の処理電力を利用する。また、特定されるマルウェアは増加する一方なので、署名データベースが大きくなり過ぎる可能性がある。さらに、マルウェアファイルを少し変更するだけで、わずかに修正されたマルウェアファイルのハッシュは元のハッシュとは異なるので、署名データベースのサイズの小型化への努力が台無しになってしまう。また、マルウェア署名の最新バージョンが利用できるように保証するべく、常にネットワーク接続が必要になるので、ハードウェアに関する問題も発生し得る。最後に、署名を利用することで、ゼロデイ攻撃、つまり、これまでに特定されたことのないマルウェアによる攻撃に対してシステムが脆弱になってしまう。
本開示の教示内容によると、電子デバイスに対するサービス攻撃の拒絶を検出することに関する問題点および不利益が、改善され、低減され、または、無くなるとしてよい。
本開示の一実施形態によると、複数のプロセスを複数のプロセスカテゴリに分類する方法を説明する。当該方法は、プロセスの複数の特徴を収集する段階と、複数の重み付け脅威スコアを生成するべく複数の分類ルールを複数の特徴に適用する段階と、複数の重み付け脅威スコアを複数のしきい値と比較する段階と、複数の重み付け脅威スコアと複数の所定のしきい値との比較結果に少なくとも基づいて、1以上のプロセスカテゴリのプロセスを分類する段階とを備え、各分類ルールは複数のプロセスカテゴリの1以上に対応し、各しきい値は、複数のプロセスカテゴリのうち1つに対応するとしてよい。
本開示の別の実施形態によると、複数のプロセスを複数のプロセスカテゴリに分類するシステムを説明している。当該システムは、プロセッサを備えるとしてよく、当該プロセッサは、プロセスの複数の特徴を収集し、複数の重み付け脅威スコアを生成するべく複数の分類ルールを複数の特徴に適用し、複数の重み付け脅威スコアを複数のしきい値と比較し、複数の重み付け脅威スコアと複数の所定のしきい値との比較結果に少なくとも基づいて、1以上のプロセスカテゴリのプロセスを分類し、各分類ルールは複数のプロセスカテゴリの1以上に対応し、各しきい値は、複数のプロセスカテゴリのうち1つに対応するとしてよい。
本発明の実施形態およびその利点についてより詳しく説明するべく、添付図面と共に以下の説明を参照されたい。添付図面では、同様の参照番号は同様の特徴を示す。図面は以下の通りである。
本開示の特定の実施形態に応じた、電子デバイスで実行されている悪意プロセスを検出する電子デバイスを示す高位図である。 本開示の特定の実施形態に応じた、電子デバイスで実行されている悪意プロセスを検出する電子デバイスを示す別の高位図である。 本開示の特定の実施形態に応じた、電子デバイスで実行されている悪意プロセスを検出する方法の一例を説明するためのフローチャートである。
好ましい実施形態およびその利点は、図1から図3を参照すると最も分かり易い。図1から図3では、同様および対応する構成要素を示す場合には同様の番号を用いる。
本開示において、電子デバイスシステムは、デジタル形式で格納されているデータ、例えば、コンピュータ読出可能媒体に格納されているデータの格納、処理、送信、受信、利用または取扱いが可能な任意のデバイス、サブデバイス、または、デバイスおよび/もしくはサブデバイスの組み合わせを含むとしてよい。コンピュータ読出可能媒体は、デジタルデータを格納する任意のデバイス、サブデバイス、または、デバイスおよび/もしくはサブデバイスの組み合わせを含み、これらに限定されないが、ハードディスクドライブ、フラッシュメモリ、リードオンリーメモリ、ランダムアクセスメモリ、光メモリ、ソリッドステートメモリ、または、デジタルデータを格納するために用いられる任意のその他の種類の取り外し可能な媒体および/もしくは固定媒体としてよい。
図1は、本開示の特定の実施形態に係る電子デバイス100で実行されている悪意プロセスを検出するための電子デバイス100を示す高位図である。電子デバイス100は、複数のプロセスを実行するように構成されているとしてよい。一般的に、プロセスは、電子デバイス100で現在実行されているコンピュータプログラムのインスタンスであるとしてよい。電子デバイスは、任意の数のプロセスを同時に実行するとしてよい。説明のための一例として、プロセスは、ワードプロセッシングプログラム、ウェブブラウザ、プリントスプーラまたはタスクマネージャ等のオペレーティングシステムプロセス、ネットワークアクティビティモニタ、または、電子デバイス100で現在実行されているコンピュータプログラムの任意のその他のインスタンスのうち、現在実行されている一部分であってよい。一部の実施形態によると、これらのプロセスは1以上のプロセスカテゴリに分類可能であるとしてよい。プロセスカテゴリは、安全プロセスおよび悪意プロセスを含むとしてよい。安全プロセスは、電子デバイス100で実行されているプロセスのうち、ユーザまたはシステム操作者が分かっており、および/または、ユーザまたはシステム操作者の権限が与えられているプロセスであってよい。悪意プロセスは、電子デバイス100で実行されているプロセスのうち、ユーザまたはシステム操作者が不明で、および/または、ユーザまたはシステム操作者の権限が与えられていないプロセスであってよい。または、電子デバイス100、または、電子デバイス100のユーザもしくは操作者に有害な挙動を持つプロセスであってよい。一部の構成によると、悪意プロセスは、「マルウェア」と一般的に呼ばれるとしてよい。
電子デバイス100は、任意の種類の電子デバイスであってよく、ラップトップコンピュータ、デスクトップコンピュータ、および/または、携帯電話であってよい。一部の実施形態によると、電子デバイス100はさらに、サーバ、サーバクラスタ、仮想マシン、または、その他のコンピューティングハードウェア、ファームウェア、および/または、ハードウェアおよび/またはファームウェアで実行されるべく構成されているソフトウェアであってよい。
一部の実施形態によると、電子デバイス100は、プロセッサ202およびコンピュータ可読媒体208を備えるとしてよい。プロセッサ202は、電子デバイス用の命令を実行するよう構成されている任意の適切なマイクロプロセッサであってよい。説明のための例を挙げると、プロセッサ202は、パーソナルコンピュータプロセッサであってよく(例えば、Intel Core 2 Duo、Intel Core i3、または、AMD Turionプロセッサ)、または、携帯電話プロセッサであってよく(例えば、Samsung S5PC110)、または、任意のその他の適切なマイクロプロセッサであってよい。
プロセッサ202は、通信可能にコンピュータ可読媒体208に結合されているとしてよい。コンピュータ可読媒体208は、任意の適切なコンピュータ可読媒体を含むとしてよい。例えば、ハードディスクドライブ、RAM、ROM、光媒体、ネットワークストレージデバイス、分散型ストレージデバイス、クラスタ化ストレージデバイス、仮想ディスク、または、任意のその他の適切なコンピュータ可読媒体であってよい。
一部の実施形態によると、電子デバイス100は、ハードウェア素子として実現されるか、または、コンピュータ可読媒体208に格納されプロセッサ202で実行可能なものとして実現されている1以上のモジュールを含むとしてよい。例えば、特徴収集モジュール102、特徴分析エンジン104、および、データベース106がある。図1に図示した実施形態によると、特徴収集モジュール102、特徴分析エンジン104、および、データベース106は、コンピュータ可読媒体208に格納されているものとして図示されている。しかし、一部の実施形態によると、これらのモジュールは、同一または異なるコンピュータ可読媒体208に格納されているとしてよく、同一または異なる電子デバイス100に格納されているとしてもよく、または、ハードウェア、ファームウェア、または、一部のこれらの組み合わせで実現されるとしてよい。
一部の実施形態によると、特徴収集モジュール102は、電子デバイス100で実行されているプロセスについての特徴を収集するように構成されているとしてよい。説明のための一例を挙げると、プロセスの特徴は、Windows(登録商標)オペレーティングシステムのスタートメニューに対応付けられているか否かであってよい。特徴分析エンジン104は概して、分析中のプロセスが悪意プロセスまたは安全プロセスのいずれであるかを判断するべく、および/または、さらに当該プロセスを1以上の悪意プロセスサブカテゴリに分類するべく、特徴収集モジュール102が収集する特徴を分析するように構成されているとしてよい。
特徴収集モジュール102、特徴分析エンジン104、および、データベース106は同じ電子デバイス100内にあるものとして図示されているが、一部の実施形態では、同一または異なる電子デバイス100にあるとしてもよい。例えば、データベース106が中央サーバ上にある一方、特徴収集モジュール102および特徴分析エンジン104はローカルクライアントマシン上にあるとしてもよい。別の例を挙げると、データベース106は、電子デバイス上に存在するハイパーバイザ内にあるとしてもよい。この場合、データベース106は、ハイパーバイザに通信可能に結合されている複数のゲストオペレーティングシステムに存在する複数の特徴収集モジュール102および複数の特徴分析エンジン104に対してサービスを提供するとしてよい。さらに別の例を挙げると、特徴収集モジュール102、特徴分析エンジン104、および、データベース106は、コンピュータ可読媒体上で実行可能な統合されたソフトウェアプログラムの一部であってよく、または、コンピュータ可読媒体上で実行可能な大規模ソフトウェアプログラムに含まれるそれぞれ別のソフトウェアプログラムおよび/もしくはそれぞれ別の素子、関数もしくはルーチンであってよい。
一部の実施形態によると、特徴収集モジュール102は概して、電子デバイス100で実行されている一連のプロセスの複数の特徴を、これらのプロセスを悪意プロセスまたは安全プロセスとして分類するべく、収集することが可能であるとしてよい。この処理については、図2および図3を参照しつつより詳細に後述する。一般的に、プロセス特徴は、電子デバイス100で実行されているプロセスの挙動、ステータス、ファイルサイズ、ファイル種類、または、その他の属性を記述している属性である。例えば、特徴には、プロセスが電子デバイス100のオペレーティングシステムのスタートメニューに対応付けられているか否か、オペレーティングシステムのタスクバーに対応付けられているか否か、隠れているかまたは見えないようになっているか、署名が有るか無いか、および/または、オープンネットワークポートを要求しているか否かが含まれるとしてよい。
特徴分析エンジン104は概して、収集した特徴を分析することが可能であるとしてよい。一部の実施形態によると、これには、収集した特徴に対して複数の分類ルール214を適用することを含むとしてよい。分類ルール214は、収集した特徴に重みを割り当てること、重み付けされた合計値に対して統計学的分析を実行すること、および、各プロセスについて重み付け脅威スコアを生成することを含むとしてよい。このことについては、図2および図3を参照しつつより詳細に後述する。一部の実施形態によると、特徴分析エンジン104はさらに、重み付け脅威スコアをデータベース106に格納されている一連の所定のしきい値と比較して、プロセスを悪意プロセスまたは安全プロセスとして分類するとしてよい。同一または異なる実施形態によると、特徴分析エンジン104はさらに、重み付け脅威スコアに少なくとも基づいて、プロセスを1以上のマルウェアファミリーに分類することが可能であるとしてよい。これについては図2および図3を参照しつつより詳細に後述する。
動作について説明すると、電子デバイス100は概して、複数のプロセスを1以上のプロセスカテゴリに分類するとしてよい。プロセスは、電子デバイス100で現在実行されているコンピュータプログラムのインスタンスであってよい。電子デバイスは、任意の数のプロセスを同時に実行するとしてよい。説明のため一例を挙げると、プロセスは、ワードプロセッシングプログラム、ウェブブラウザ、プリントスプーラまたはタスクマネージャ等のオペレーティングシステムプロセス、ネットワークアクティビティモニタ、または、電子デバイス100で現在実行されているコンピュータプログラムの任意のその他のインスタンスのうち、現在実行されている一部分であってよい。一部の実施形態によると、これらのプロセスは1以上のプロセスカテゴリに分類可能であるとしてよい。これらのカテゴリには、安全プロセスおよび悪意プロセスが含まれるとしてよい。安全プロセスは、電子デバイス100で実行されているプロセスのうちユーザまたはシステム操作者が分かっているプロセス、および/または、ユーザまたはシステム操作者の権限が付与されているプロセスであってよい。悪意プロセスは、電子デバイス100で実行されているプロセスのうち、ユーザまたはシステム操作者が分かっていないプロセスおよび/またはユーザまたはシステム操作者の権限が付与されていないプロセスであってよく、または、電子デバイス100または電子デバイス100のユーザもしくは操作者に対して有害な挙動を実行するプロセスであってよい。一部の構成によると、これらの悪意プロセスは概して、「マルウェア」と呼ばれるとしてよい。
同一または他の実施形態によると、悪意プロセスはさらに、サブカテゴリに分類されるとしてよい。これについては、図2および図3を参照しつつより詳細に後述する。これらのサブカテゴリは、特定の種類のマルウェア、例えば、バックドアプロセス、フェイクアラートプロセスおよびダウンローダプロセス等を含むとしてよい。さらに、本開示の範囲から逸脱することなく、所与の構成で実現する悪意プロセスのカテゴリの数を減らすか、または、変更するとしてよい。
図2および図3を参照しつつより詳細に後述するが、電子デバイス100は概して、分類用の一連のルール214を作成し、電子デバイス100で実行されている各プロセスから特徴を収集して、収集した特徴に対して一連のルール214を適用し、適用した結果を適切に重み付けして、重み付けした結果を一連のしきい値と比較することによって、プロセスを1以上のプロセスカテゴリに分類するとしてよい。
一部の実施形態によると、電子デバイス100は概して、電子デバイス100で実行されているプロセスから、電子デバイス100に通信可能に結合されているか、電子デバイス100の一部であるさまざまなハードウェア、ファームウェア、ソフトウェア、または、ハードウェアファームウェアおよび/もしくはソフトウェアの組み合わせから当該プロセスについてのデータを集めることによって、特徴を収集するとしてよい。
図2は、本開示の特定の実施形態に応じた、図1に示した電子デバイス100をより詳細に示す図である。一部の実施形態によると、電子デバイス100は、オペレーティングシステム204に通信可能に結合されているプロセッサ202と、マルウェア対策素子206と、コンピュータ可読媒体208と、ネットワークインターフェース212とを備えるとしてよい。図1を参照してより詳細に上述し、図3を参照しつつより詳細に後述するが、電子デバイス100は、全て通信可能に互いに結合されている特徴収集モジュール102、特徴分析エンジン104、および、データベース106を格納しているコンピュータ可読媒体208を備えるとしてよい。コンピュータ可読媒体208はさらに、特徴収集モジュール102に通信可能に結合されているプロセス情報モジュール220を含むとしてよい。同一または別の実施形態によると、電子デバイス100は、特徴収集モジュール102、特徴分析エンジン104および/またはデータベース106が提供する命令を実行するプロセッサ202を備えるとしてよい。
一部の実施形態によると、プロセッサ202は、複数のプロセス210を実行するように構成されているとしてよい。一般的に、一のプロセス210は、電子デバイス100で現在実行されているコンピュータプログラムのインスタンスであってよい。電子デバイスは、任意の数のプロセス210を同時に実行するとしてよい。説明のための一例として、分かりやすいように、プロセッサ202は、5個のプロセス210、つまり、プロセス210A、210B、210C、210Dおよび210Eを実行しているものとして図示されている。5個のプロセス210を図示しているが、本開示の範囲から逸脱することなく、所与の構成ではプロセスを増減するとしてもよいし、または、異なるプロセスとしてもよい。
プロセッサ202は、オペレーティングシステム204、マルウェア対策素子206、コンピュータ可読媒体208および/またはネットワークインターフェース212からデータを取得するように構成されているとしてよい。一部の実施形態によると、オペレーティングシステム204は、電子デバイス100または他の電子デバイス100のプロセッサ202または他のプロセッサ202で実行されている任意のオペレーティングシステムであってよい。説明のための一例を挙げると、オペレーティングシステム204は、Windows(登録商標) XP、Windows(登録商標) 7、Linux(登録商標)、UNIX(登録商標)、Mac OS(登録商標)の実際のインスタンスまたは仮想インスタンスであってよく、または、電子デバイス100で実行する任意のその他のオペレーティングシステムであってよい。オペレーティングシステム204は、プロセス210を悪意プロセスまたは安全プロセスと分類するために有用な情報を提供する、オペレーティングシステム204で実行されている特定のプログラム、ルーチン、または、サブルーチンを持つように構成されているとしてよい。例えば、オペレーティングシステム204は、エンドユーザが一部のアプリケーションに容易にアクセスできるように「スタートメニュー」を含むとしてよい。電子デバイス100上で実行されている一部のプロセス210はスタートメニューに対応付けられているが、対応付けられていないプロセスもあるとしてよい。図2に図示した例では、プロセス210A、210B、210Dおよび210Eがスタートメニューに対応付けられている。例えば、プロセス210は、現在実行されているMicrosoft Word(登録商標)等のワードプロセッシングアプリケーションのインスタンスであってよい。一部の構成によると、当該アプリケーションは、スタートメニューに対応するショートカットが含まれているとしてよい。あるプロセスがスタートメニューに対応付けられているか否かの情報は、悪意プロセスに対応付けられているアプリケーションはスタートメニューに含まれる可能性が低いので、悪意プロセスまたは安全プロセスとしてプロセスを分類する上で有用であるとしてよい。
また、オペレーティングシステム204は、電子デバイス100で実行されている特定のプロセス210のステータスを提供する「タスクバー」を含むとしてよい。図2に図示した例によると、プロセス210A、210C、210Dおよび210Eがタスクバーに対応付けられている。例えば、プロセス210は、Windows(登録商標)オペレーティングシステムが利用しているようなネットワークステータスアプリケーションの現在実行されているインスタンスであってよい。プロセスがタスクバーに対応付けられていることに関する情報は、特定の種類の悪意プロセスはタスクバーを悪用してエンドユーザを悪意プロセスに関与させようとするので、プロセスを悪意プロセスまたは安全プロセスと分類する上で有用であるとしてよい。しかし、ネットワークステータスアプリケーション等の多くの種類の安全プログラムも同様に、ステータスバーを利用する。図3を参照しつつより詳細に後述するが、複数のプロセスの特徴をまとめて考慮する方が、特定の種類の挙動のみを考慮するよりも有用性が高いことが多い。
説明のための「スタートメニュー」および「タスクバー」の例はオペレーティングシステム204内で実行されているルーチンとして図示されているが、オペレーティングシステム204で実行および/または分析されているルーチンは、増減させるとしてもよいし、異なるルーチンであってもよい。これについては、図3を参照しつつより詳細に後述する。
一部の実施形態によると、電子デバイス100はさらに、プロセッサ202に通信可能に結合されているマルウェア対策素子206を備えるとしてよい。マルウェア対策素子は、任意のハードウェア、ファームウェア、コンピュータ可読媒体に格納されておりハードウェアおよび/もしくはファームウェアで実行可能なソフトウェア、または、これらの任意の組み合わせであってよい。一部の実施形態によると、マルウェア対策素子206は、オペレーティングシステム204内で実行されているアプリケーションであってよい。他の実施形態によると、マルウェア対策素子206は、例えば、プリブート環境でオペレーティングシステム204の外部で実行されるアプリケーションであってよい。さらに別の実施形態によると、マルウェア対策素子206は、複数のサブ素子を有するとしてよく、一部のサブ素子はオペレーティングシステム204の内部で実行され、一部のサブ素子はオペレーティングシステム204の外部で実行される。説明のための一例を挙げると、マルウェア対策素子206は、オペレーティングシステム204の内部で実行されるエージェントおよびオペレーティングシステム204の外部で実行される分析エンジンのうち一部またはすべてを含むとしてよい。
一部の実施形態によると、マルウェア対策素子206は、複数のルール214を格納するとしてもよい。ルール214は、プロセス210の各カテゴリについての一連のルール214を含むとしてよい。例えば、悪意プロセス、バックドアプロセス、フェイクアラートプロセス、ダウンローダプロセスおよび安全プロセスはそれぞれ、独自のルール群を持つとしてよい。一部の実施形態によると、これらのルール群は、プロセス210を1以上のカテゴリに分類する場合に検査するべき特定の特徴および特徴群を記述しているとしてよい。一部の実施形態によると、特徴分析エンジン104は、収集した特徴に対してルール214を適用して、プロセス210を悪意プロセスまたは安全プロセスとして分類するとしてもよい。他の実施形態によると、特徴分析エンジンの機能の一部またはすべては、マルウェア対策素子206によって実行されるとしてもよい。例えば、マルウェア対策素子206が全てコンピュータ可読媒体208に格納されている構成では、マルウェア対策素子206は、ルール214を格納すると共に、ルール214をプロセス210に適用するように構成されているとしてよい。
ルール214を適用した結果は、一部の実施形態によると、重み付けされて、所定のしきい値218と比較されるとしてよい。一部の実施形態によると、ルール214に適用される重み216は、マルウェア対策素子206によって格納され、特徴分析エンジン104によって適用されるとしてよい。同一または異なる実施形態によると、重み216は、コンピュータ可読媒体208のデータベース106に格納されているとしてよい。さらに別の実施形態によると、重み216は、マルウェア対策素子206によってルール214に適用されるとしてもよい。
図3を参照しつつより詳細に後述するが、各プロセスカテゴリの各ルール214には、重み216が割り当てられているとしてよい。ルールを適用した結果に重み付けした後、特徴分析エンジン104によって統計学的分析を実行して、合計重み付け脅威スコアを決定するとしてよい。これについては、図3を参照しつつより詳細に後述する。例えば、「バックドア」プロセスは、プロセス210を当該カテゴリに分類するために用いられるルール群を持つとしてよい。このルール群に対応付けられている各ルール214は、重み216が対応付けられているとしてよい。統計学的分析の一例として、特徴分析エンジン104は、ルール群をプロセス210に適用した結果に重み付けしたものを合算して、当該プロセス210をバックドアプロセスとして分類すべきか否かを判断するとしてよい。他の実施形態によると、マルウェア対策素子206がこの統計学的分析を実行するとしてもよい。
ルールを適用した結果に重み付けした後、特徴分析エンジン104によって、重み付けされた結果としきい値群218とを比較するとしてよい。しきい値218はそれぞれ、プロセス210の特定のカテゴリに対応するとしてよい。説明のための一例を挙げると、しきい値218は、悪意プロセスしきい値、「バックドア」マルウェアしきい値、「フェイクアラート」マルウェアしきい値、および/または、「ダウンローダ」マルウェアしきい値を含むとしてよい。上記の例および他の例については、図3を参照しつつより詳細に後述する。他の実施形態によると、マルウェア対策素子206は、重み付けされた結果と、しきい値218群とを比較するとしてよい。
電子デバイス100はさらに、コンピュータ可読媒体208を備えるとしてよい。コンピュータ可読媒体208は、任意の適切なコンピュータ可読媒体を含むとしてよく、例えば、ハードディスクドライブ、RAM、ROM、光媒体、ネットワークストレージデバイス、分散型ストレージデバイス、クラスタ化ストレージデバイス、仮想ディスク、または、任意のその他の適切なコンピュータ可読媒体であってよい。電子デバイス100は、コンピュータ可読媒体208の1以上のインスタンスを含むとしてよい。一部の実施形態によると、コンピュータ可読媒体208は、特徴収集モジュール102、特徴分析エンジン104およびデータベース106を含むとしてよい。これについては、図2を参照しつつより詳細に上述している。
一部の実施形態によると、コンピュータ可読媒体208はさらに、プロセス情報モジュール220を含むとしてよい。プロセス情報モジュール220は、電子デバイス100で実行されているプロセス210の特定の特徴を表現するデータを含むとしてよい。図2に図示した例によると、プロセス情報モジュール220は、プロセス210の2つの特徴を表現しているデータを含む。第1の特徴は、隠れ特徴226である。隠れ特徴226は、プロセス210がエンドユーザおよび/またはオペレーティングシステム204から隠れているか否かを示すとしてよい。第2の特徴は、署名済み特徴224である。署名済み特徴224は、プロセス210が、プロセス210の製造者および/または販売者によって署名されているか否かを示すとしてよい。例えば、プロセス210Aは、隠れており署名されているとしてよく、プロセス210Bは、可視であり署名されているとしてよく、プロセス210Cは、可視であり署名されていないとしてよい。以下同様である。コンピュータ可読媒体208に対応付けられているプロセス210が5個であると図示しているが、任意の所与のタイミングで実行されているプロセス210の数は増減するとしてもよいし、異なるプロセス210を実行するとしてもよい。一部の実施形態によると、アクティブなプロセス210で構成されるサブ群のみを分析しているとしてよい。このため、このサブ群についての情報のみ収集するとしてよい。図3を参照しつつより詳細に後述するが、分析している各プロセス210に対応付けられている属性値は、各プロセス210を悪意プロセスまたは安全プロセスとして分類するために用いられるとしてよく、および/または、プロセス210を1以上の悪意プロセスカテゴリに分類するために用いられるとしてよい。
一部の実施形態によると、電子デバイス100は、プロセッサ202に通信可能に結合されているネットワークインターフェース212を備えるとしてよい。ネットワークインターフェース212は、任意のハードウェア、ファームウェア、コンピュータ可読媒体に格納されていてハードウェアおよび/もしくはファームウェアによって実行可能なソフトウェア、または、これらの任意の組み合わせであるとしてよい。一部の実施形態によると、ネットワークインターフェース212は、ネットワークインターフェースカード(NIC)に対応付けられているアプリケーションであるとしてよく、NICに対応付けられているデータの一部またはすべてを監視するとしてよい。他の実施形態によると、ネットワークインターフェース212は、NICに対応付けられているハードウェアおよび/またはファームウェアの一部分であってよく、NICに対応付けられている一部またはすべてのデータと通信するとしてよい。さらに別の実施形態によると、ネットワークインターフェース212は、複数のサブ素子、ならびに/または、NICデバイス自体に対応付けられているファームウェアおよび/もしくはハードウェアを含むとしてよく、一部のサブ素子は、コンピュータ可読媒体に格納されハードウェアおよび/またはファームウェアで実行可能なソフトウェアとしてオペレーティングシステム204の内部で実行されており、一部のサブ素子は、コンピュータ可読媒体に格納されハードウェアおよび/またはファームウェアで実行可能なソフトウェアとしてオペレーティングシステム204の外部で実行されているとしてよい。説明のための例を挙げると、ネットワークインターフェース212は、ネットワークトラフィックを監視するオペレーティングシステム204内で実行されているエージェント、ネットワークトラフィックを監視するオペレーティングシステム204(例えば、プリブート環境内)の外部で実行されているエージェント、および、NICデバイスに現在インストールされているファームウェアのうち一部またはすべてであってよい。
一部の実施形態によると、ネットワークインターフェース212は、電子デバイス100で実行されている特定のプロセス210に対応付けられているデータを通信するように構成されているとしてよい。例えば、ネットワークインターフェース212は、ネットワーク特徴226を通信するように構成されているとしてよい。ネットワーク特徴226は、所与のプロセス210がオープンネットワークポートを持つか否かを示す特徴であるとしてよい。説明のため図2に示す例によると、ネットワークインターフェース212は、プロセス210A、210B、210Cおよび210Eはオープンネットワークポートを持つがプロセス210Dは持たないことを伝達しているとしてよい。図3を参照しつつより詳細に後述するが、このような情報は特定のプロセス210が悪意プロセスまたは安全プロセスのいずれとして分類されるのかを判断する上で、および/または、プロセス210がどの悪意プロセス210カテゴリに属するか否かを判断する上で有用であるとしてよい。ネットワークインターフェース212に対応付けられているプロセス210として5個のプロセス210を図示しているが、任意の所与のタイミングで実行されているプロセス210の数は増減させるとしてもよい。一部の実施形態によると、アクティブなプロセス210のサブセットのみを分析対象としているとしてよい。このため、このサブセットに関する情報のみを収集するとしてよい。
図3は、本開示の特定の実施形態に応じた、電子デバイス100で実行されている悪意プロセスを検出する方法300の一例を示すフローチャートである。方法300は、特定のプロセスの特徴を収集して、これらの特徴の分析に基づいてプロセスを分類し、特定した悪意プロセスに対して対策を取ることを含む。
一実施形態によると、方法300は、ステップ302で開始されることが好ましい。本開示の教示内容は、電子デバイス100のさまざまな構成で実現されるとしてよい。このため、方法300の好ましい初期化点および方法300を構成するステップ302−314の順序は、選択する実施例に応じて決まるとしてよい。
ステップ302において、電子デバイス100は、電子デバイス100で現在実行されている全てのプロセスを特定するとしてよい。一部の構成によると、現在実行されているプロセスの数は、一から数千の範囲内であってよい。現在実行されているプロセスをすべて特定した後、方法300はステップ304に進むとしてよい。
ステップ304において、電子デバイス100の特徴収集モジュール102は、選択されたプロセス210の説明となる特徴を収集するとしてよい。図2を参照しつつより詳細に上述したが、この処理は、一部の実施形態では、オペレーティングシステム204、マルウェア対策素子206、コンピュータ可読媒体208、および/または、ネットワークインターフェース212からデータを集めることを含むとしてよい。後述するが、この処理は、所与のプロセス210がオペレーティングシステム204のスタートメニューまたはタスクバーに対応付けられているか否か、プロセス210が隠れているか可視であるか、署名されているか否か、および/または、プロセス210がオープンネットワークポートを持つか否かを判断することを含むとしてよい。より詳細に後述するが、集めるデータは増減させるとしてもよく、異なるデータを集めるとしてもよい。
一部の実施形態によると、収集した特徴には、分析対象のプロセスについての挙動属性および構造属性が含まれるとしてよい。収集した特徴は、一部の実施形態によると、特定の特徴の有無を表す一連のバイナリ値を含む特徴ベクトルとして表現するとしてよい。例えば、特徴収集モジュール102は、100個のプロセスを分析するとしてもよい。各プロセスについて、特徴収集モジュール102は8個の特徴を収集するとしてよい。各プロセスはこの後、8ビットの特徴ベクトルを持つとしてよい。他の例では、分析対象のプロセスの数は増減させるとしてよく、および/または、収集する特徴を増減させるとしてもよい。説明のための例を挙げると、収集する特徴には、以下が含まれるとしてよい。
(A)ブラックリストに挙げられているセクション名、つまり、マルウェアで発見されることが分かっているセクション名のリスト(「ContainsBlackListSectionNames」)
(B)プロセスのウィンドウが可視状態であるか否か(「IsWindowInvisible」)
(C)プロセスがオープンネットワークポートを持つか否か(「NetworkUsage」)
(D)プロセスのアイコンがシステムトレイにあるか否か(「IsInSystemTrayIcon」)
(E)プロセスが対応するAPIについてインポートテーブルエントリを持つか否か(「IsDebuggerPresent」)
(F)プロセス画像に署名があるか否か(「IsSigned」)
(G)プロセスがスタートメニュー内にショートカットを持つか否か(「IsInStartMenuEntry」)
(H)プロセス画像がパック(圧縮)されているか否か(「IsPacked」)このような説明のための一例によると、特徴収集モジュール102は、プロセスに関するこれらの収集した特徴を持ち、このプロセスの特徴ベクトルは、<11110011>のようになるとしてよい。このような特徴ベクトルは、ブラックリストに載っているセクション名を含み、不可視状態で、オープンネットワークポートを持ち、システムトレイ内にアイコンがあり、デバッガが存在せず、署名されておらず、スタートメニューに含まれており、および、パック(圧縮)されているプロセスを表すとしてよい。図1および図2を参照しつつより詳細に上述したが、電子デバイス100は、これらの特徴を収集するべくさまざまなソースからデータを収集するとしてよい。選択したプロセスから関連する特徴を収集した後、方法300は、ステップ308に進むとしてよい。
ステップ308において、方法300は、プロセスを悪意プロセスまたは安全プロセスとして分類するとしてよい。一部の実施形態によると、特徴分析エンジン104は、電子デバイス100の特徴収集モジュール102が収集した特徴に統計学的分析を適用するとしてよい。重要な点として、特徴分析エンジン104は、一の所与のプロセスが悪意プロセスまたは安全プロセスのいずれであるかの判断を最適化するべく、一度に複数の特徴群に対して統計学的分析を適用するとしてよい。一部の実施形態によると、特徴分析エンジン104は、一連のルール214を作成するとしてよい。各ルール214には、重み216が対応付けられている。ルール214は、大規模な一連の適用可能特徴に対して逆次元縮小アルゴリズムを適用して、分析のための小規模な一連の特徴群を作成することで、作成するとしてよい。例えば、このようなアルゴリズムは、複数の悪意プロセスカテゴリに属するデータサンプルを含む一連のテストデータに適用されるとしてよい。
一部の実施形態によると、悪意プロセスカテゴリは1以上のルール214を含むとしてよく、各ルール214には重み216が対応付けられている。一部の構成によると、重み216は、悪意プロセスカテゴリの分類の履歴に基づいて、割り当てられているとしてよい。他の構成によると、重み216は、サンプルデータに適用される機械学習技術を利用して設定されるとしてよい。1以上のルール214に加えて、悪意プロセスカテゴリには、しきい値218が対応付けらえているとしてよい。一部の実施形態によると、しきい値218は、悪意プロセスカテゴリの分類の履歴に基づいて割り当てられるとしてよい。他の構成によると、しきい値218は、サンプルデータに適用される機械学習技術を利用して設定されるとしてよい。説明のための一例として、サポートベクターマシン技術を利用して、所与のカテゴリのしきい値218を設定するとしてよい。
特徴分析エンジン104が実行している分類アルゴリズムの一例を、以下に記載する式1および式2で再現する。式1は、所与のプロセスが特定の悪意プロセスカテゴリに属する信頼度を算出するべく特徴分析エンジン104が実行するアルゴリズムの一例である。式2は、プロセスをカテゴリに分類するべく特徴分析エンジン104が実行するアルゴリズムの一例を示す図である。式1および式2は、疑似コードとして図示されており、式1および式2が適用される構成を制限するものとして解釈されるべきではない。また、式1および式2は、説明のための例に過ぎず、本開示の範囲から逸脱することなく他のアルゴリズムを用いるとしてもよい。
Figure 0005713478
尚、表1中のR は、以下の数1を表す。
Figure 0005713478
上記の疑似コードが示すように、アルゴリズムの一例では、分析対象の各プロセスについての信頼値を算出するとしてよい。この信頼値は、プロセスの合計重み付け脅威スコアと、プロセスを含むと考えられているプロセスカテゴリのしきい値218とを比較した結果であるとしてよい。より詳細に後述するが、これらのプロセスカテゴリは、バックドア悪意プロセス、フェイクアラート悪意プロセスおよび/またはダウンローダ悪意プロセスと、安全プロセスとを含むとしてよい。合計重み付け脅威スコアは、カテゴリルール214の統計学的分析に対する複数の重み216を、プロセスの特徴ベクトルに適用することによって、算出されるとしてよい。一部の実施形態によると、所与のプロセスカテゴリの各ルール214は、独自の重みがあるとしてよい。より詳細に後述する。一部の構成によると、信頼値が決定されると、一例である式2のアルゴリズムを呼び出して、プロセスカテゴリを決定するとしてよい。
Figure 0005713478
方法300のステップ308に戻ると、一部の実施形態において、悪意プロセスカテゴリは、プロセスを当該カテゴリに分類するために用いられる1以上のルール214を含むとしてよい。各ルール214には、重み216が割り当てられているとしてよい。重み付けされた複数のルール214を組み合わせることによって、方法300は、プロセスを1以上の悪意プロセスカテゴリに分類するとしてよい。上記の式1および式2は、このような分類を実現するためのアルゴリズムの1つを説明している。さらに、簡略化した説明のための例を用いて、説明するとしてよい。
一部の構成によると、悪意プロセスカテゴリは、「バックドア」プロセスを含むとしてよい。一般的に、バックドアプロセスは、通常の認証手順に含まれないシステムリソースへのアクセスを許可するプロセスであってよい。バックドアプロセスとしてプロセスを分類するか否か判断するべく、以下の特徴を収集するとしてよい。
(A)ファイルが隠れている
(B)プロセスウィンドウが不可視である
(C)プロセスIDが隠れている
(D)プロセスは一時的メモリ位置から実行されている
(E)プロセスはブラックリストに含まれているセクション名を含む
(F)プロセスはネットワークポートを利用している
(G)プロセスはデジタル署名されているこの説明は簡略されており、実施例に応じて、特徴の数は増減するとしてもよく、他の特徴を収集するとしてもよい。
この例に基づき、以下の表3は電子デバイス100で実行されている3個のプロセスのデータを一例として示す。このデータ例では、値が「1」の場合に特徴が存在していることを示し、値が「0」の場合に特徴が存在しないことを示す。例えば、表3は一例であるプロセス1について、隠れておらず(0)、不可視で(1)、プロセスIDが隠れており(1)、一時的メモリ位置から実行されており(1)、ブラックリストに挙げられているセクション名は含んでおらず(0)、ネットワークポートを利用しており(1)、デジタル署名が無い(0)、としている。図示している特徴は7個でプロセスは3個であるが、特徴および/またはプロセスの数は増減するとしてもよいし、変更するとしてもよい。また、特定の特徴の有無を特定する体系は別の体系を利用するとしてもよい。ステップ306を参照しつつより詳細に上述しているが、このようなデータの例の特徴ベクトルは<0111010>になるとしてよい。同様に、プロセス2−3の特徴ベクトルは、プロセス2が<1011001>、プロセス3が<1111111>になるとしてよい。
Figure 0005713478
これらの特徴を利用して、以下のルール214を適用するとしてよい。
(A)ファイルが隠れており、プロセスウィンドウが不可視である
(B)プロセスIDが隠れている
(C)プロセスウィンドウが不可視であり、プロセスが一時的メモリ位置から実行されている
(D)プロセスウィンドウが不可視であり、プロセスはブラックリストに挙げられているセクション名を含む
(E)プロセスウィンドウが不可視であり、プロセスがネットワークポートを利用しており、プロセスがデジタル署名を持つ
この例から分かるように、ルール214は、1以上の特徴を一度に検査するとしてよい。これは、個々の特徴は、それだけでは、悪意ある挙動であると特定しないか、または、十分に高い信頼度で悪意ある挙動であると特定されないためであるとしてよい。一方、複数の特徴をまとめて考慮すると、十分に高い信頼度で悪意ある挙動であると特定するとしてよい。
一部の実施形態によると、このルール群214を特徴ベクトルに適用して、一連の脅威スコアを生成するとしてよい。これらの脅威スコアは、対応する重み216を持つとしてよい。例えば、ルール214(A)は、15の重み216が割り当てられているとしてよく、ルール214(B)には、15の重み216が割り当てられているとしてよく、ルール214(C)は、2の重み216が割り当てられているとしてよく、ルール214(D)は、3の重み216が割り当てられているとしてよく、ルール214(E)は、3の重み216が割り当てられているとしてよい。ルール214を適用した場合の重み216の合計値が所定のしきい値を超えると、考慮しているプロセスが悪意プロセスであり、バックドアカテゴリに属すると特定されるとしてよい。また、しきい値より高くなるほど、分類の信頼度も高くなる。合計重み付け脅威スコアは、ルール214の適用結果に基づいて、各プロセスに割り当てられるとしてよい。上記のデータの例を用いて、プロセス1の重み付け脅威スコアを計算すると、[15(ルール214Aに割り当てられた重み216)]×0(プロセス1はルール214Aを満たさない)]+[15(ルール214Bに割り当てられた重み216)×1(プロセス1はルール214Bを満たしている)]+[2(ルール214Cに割り当てられた重み216)×1(プロセス1はルール214Cを満たしている)]+[3(ルール214Dに割り当てられている重み216)×1(プロセス1はルール214Dを満たす)]+[3(ルール214Eに割り当てる重み216)×0(プロセス1はルール214Eを満たさない)]=20となるとしてよい。
一部の実施形態によると、この重み付け脅威スコアはさらに、各プロセスカテゴリに対応付けられているしきい値218と比較するとしてよい。一部の実施形態によると、本明細書で用いている説明のための例も含め、重み付け脅威スコアはしきい値218よりも高くなければならない。他の実施形態によると、重み付け脅威スコアは、しきい値218を満たせばよく、または、しきい値218より大きくなればそれでよい。例えば、本例においてバックドアプロセスとして分類するためのしきい値218が20である場合、上記の重み付けルール214を適用することによって、以下の状況でプロセスがバックドアプロセスであるか否かを判断するとしてよい。詳細は表4に示す。
Figure 0005713478
別の例を挙げると、一部の構成において、悪意プロセスカテゴリは「フェイクアラート」プロセスを含むとしてよい。一般的に、フェイクアラートプロセスは、例えば、危険物の購入等のユーザ動作を引き起こすべく、ユーザに対して認証されていない警告を発生させるプロセスであってよい。プロセスをフェイクアラートプロセスとして分類するか否か判断する場合には、以下の特徴を収集するとしてよい。
(A)プロセスがホワイトリストに挙げられているセクション名を含まない
(B)プロセスがパック(圧縮)されている
(C)プロセスメモリに悪意のあるワードが存在する
(D)既存のプロセスの親プロセスである
(E)プロセスウィンドウが不可視である
(F)プロセスがシステムトレイにある
(G)プロセスファイルが隠れている
この説明は簡略化されており、実施例に応じて、利用する特徴の数は増減するとしてよく、異なる特徴を利用するとしてもよい。尚、特定の特徴は、プロセスを他の悪意プロセスカテゴリに分類する際に利用される特徴と同じであってもよいし、異なるとしてもよい。
この例に基づき、以下の表5は電子デバイス100で実行されている3個のプロセスのデータを一例として示す。例えば、表5は一例であるプロセス1について、ホワイトリストに挙げられているセクション名を含んでおらず(0)、パック(圧縮)されており(1)、プロセスメモリに悪意のあるワードがあり(1)、既存プロセスの親プロセスであり(1)、不可視ではなく(0)、システムトレイにあり(1)、隠れていない(0)、としている。図示している特徴は7個でプロセスは3個であるが、特徴および/またはプロセスの数は増減するとしてもよいし、変更するとしてもよい。また、特定の特徴の有無を特定する体系は別の体系を利用するとしてもよい。ステップ306を参照しつつより詳細に上述しているが、このようなデータの例の特徴ベクトルは<0111010>になるとしてよい。同様に、プロセス2−3の特徴ベクトルは、プロセス2が<1011001>、プロセス3が<1111111>になるとしてよい。
Figure 0005713478
これらの特徴を利用して、以下のルール214を適用するとしてよい。
(A)プロセスはホワイトリストに挙げられているセクション名を含んでおらず、プロセスはパック(圧縮)されていない
(B)プロセスはプロセスメモリに悪意あるワードを持っており、親プロセスが存在しない
(C)プロセスウィンドウが不可視であり、プロセスがシステムトレイにあり、プロセスがプロセスメモリに悪意あるワードを持つ
(D)プロセスがシステムトレイにあり、ファイルが隠れている
この例から分かるように、ルール214は1以上の特徴を一度に検査するとしてよい。これは、個々の特徴は、それだけでは、悪意ある挙動であると特定しないか、または、十分に高い信頼度で悪意ある挙動であると特定されないためであるとしてよい。一方、複数の特徴をまとめて考慮すると、十分に高い信頼度で悪意ある挙動であると特定するとしてよい。
一部の実施形態によると、このルール群214を特徴ベクトルに適用して、一連の脅威スコアを生成するとしてよい。これらの脅威スコアは、対応する重み216を持つとしてよい。例えば、ルール214(A)は、10の重み216が割り当てられているとしてよく、ルール214(B)には、5の重み216が割り当てられているとしてよく、ルール214(C)は、15の重み216が割り当てられているとしてよく、ルール214(D)は、5の重み216が割り当てられているとしてよい。ルール214を適用した場合の重み216の合計値が所定のしきい値を超えると、考慮しているプロセスが悪意プロセスであり、バックドアカテゴリに属すると特定されるとしてよい。また、しきい値より高くなるほど、分類の信頼度も高くなる。合計重み付け脅威スコアは、ルール214の適用結果に基づいて、各プロセスに割り当てられるとしてよい。上記のデータの例を用いて、プロセス1の重み付け脅威スコアを計算すると、例えば、[10(ルール214Aに割り当てられた重み216)]×0(プロセス1はルール214Aを満たさない)]+[5(ルール214Bに割り当てられた重み216)×1(プロセス1はルール214Bを満たしている)]+[15(ルール214Cに割り当てられた重み216)×0(プロセス1はルール214Cを満たしていない)]+[5(ルール214Dに割り当てられている重み216)×0(プロセス1はルール214Dを満たさない)]=5となる。
一部の実施形態によると、この重み付け脅威スコアはさらに、各プロセスカテゴリに対応付けられているしきい値218と比較するとしてよい。例えば、本例においてフェイクアラートプロセスとして分類するためのしきい値218が20である場合、上記の重み付けルール214を適用することによって、以下の状況でプロセスがフェイクアラートプロセスであるか否かを判断するとしてよい。詳細は表6に示す。
Figure 0005713478
別の例を挙げると、一部の構成において、悪意プロセスカテゴリは「ダウンローダ」プロセスを含むとしてよい。一般的に、ダウンローダプロセスは、ユーザが知らないうちに、および/または、ユーザの許可無しに、電子デバイスにソフトウェアをダウンロードするプロセスであってよい。プロセスをダウンローダプロセスとして分類するか否か判断する場合には、以下の特徴を収集するとしてよい。
(A)プロセスがブラックリストに挙げられているセクション名を含む
(B)プロセスがネットワークポートを利用する
(C)親プロセスが存在しない
(D)プロセスがプログラムファイルから実行されていない
(E)ファイルが隠れている
(F)プロセスウィンドウが不可視であるこの説明は簡略化されており、実施例に応じて、利用する特徴の数は増減するとしてよく、異なる特徴を利用するとしてもよい。尚、特定の特徴は、プロセスを他の悪意プロセスカテゴリに分類する際に利用される特徴と同じであってもよいし、異なるとしてもよい。
この例に基づき、以下の表7は電子デバイス100で実行されている3個のプロセスのデータを一例として示す。例えば、表7は一例であるプロセス1について、ブラックリストに挙げられているセクション名を含んでおらず(0)、ネットワークポートを利用しており(1)、親プロセスが存在せず(1)、プログラムファイルから実行されておらず(1)、隠れておらず(0)、不可視である(1)、としている。図示している特徴は6個でプロセスは3個であるが、特徴および/またはプロセスの数は増減するとしてもよいし、変更するとしてもよい。また、特定の特徴の有無を特定する体系は別の体系を利用するとしてもよい。ステップ306を参照しつつより詳細に上述しているが、このようなデータの例の特徴ベクトルは<011101>になるとしてよい。同様に、プロセス2−3の特徴ベクトルは、プロセス2が<101100>、プロセス3が<111111>になるとしてよい。
Figure 0005713478
これらの特徴を利用して、以下のルール214を適用するとしてよい。
(A)プロセスはブラックリストに挙げられているセクション名を含んでおり、ネットワークポートを利用している
(B)親プロセスが存在せず、プロセスはプログラムファイルから実行されておらず、ファイルが隠れている
(C)親プロセスが存在しておらず、プロセスはネットワークポートを利用しており、プロセスウィンドウが不可視である
この例から分かるように、ルール214は1以上の特徴を一度に検査するとしてよい。これは、個々の特徴は、それだけでは、悪意ある挙動であると特定しないか、または、十分に高い信頼度で悪意ある挙動であると特定されないためであるとしてよい。一方、複数の特徴をまとめて考慮すると、十分に高い信頼度で悪意ある挙動であると特定するとしてよい。
一部の実施形態によると、このルール群214を特徴ベクトルに適用して、一連の脅威スコアを生成するとしてよい。これらの脅威スコアは、対応する重み216を持つとしてよい。例えば、ルール214(A)は、1の重み216が割り当てられているとしてよく、ルール214(B)には、15の重み216が割り当てられているとしてよく、ルール214(C)は、10の重み216が割り当てられているとしてよい。ルール214を適用した場合の重み216の合計値が所定のしきい値を超えると、考慮しているプロセスが悪意プロセスであり、ダウンローダカテゴリに属すると特定されるとしてよい。また、しきい値より高くなるほど、分類の信頼度も高くなる。合計重み付け脅威スコアは、ルール214の適用結果に基づいて、各プロセスに割り当てられるとしてよい。上記のデータの例を用いて、プロセス1の重み付け脅威スコアを計算すると、例えば、[1(ルール214Aに割り当てられた重み216)]×0(プロセス1はルール214Aを満たさない)]+[15(ルール214Bに割り当てられた重み216)×0(プロセス1はルール214Bを満たしていない)]+[10(ルール214Cに割り当てられた重み216)×1(プロセス1はルール214Cを満たしている)]=10となる。
一部の実施形態によると、この重み付け脅威スコアはさらに、各プロセスカテゴリに対応付けられているしきい値218と比較するとしてよい。例えば、本例においてダウンローダプロセスとして分類するためのしきい値218が10である場合、上記の重み付けルール214を適用することによって、以下の状況でプロセスがダウンローダプロセスであるか否かを判断するとしてよい。詳細は表8に示す。
Figure 0005713478
最後の例として、一部の構成において、方法300はプロセスを安全プロセスと分類するとしてもよい。つまり、プロセスは悪意プロセスではない場合がある。プロセスを安全プロセスとして分類するか否か判断する場合には、以下の特徴を収集するとしてよい。
(A)プロセスに署名がある
(B)プロセスが「プログラムの追加/削除」に存在する
(C)プロセスウィンドウが可視である
(D)ぶら下がりスレッドが無い本例では、「プログラムの追加/削除」は、ユーザが新しいプログラムを追加および/または削除できるようにするためのWindows(登録商標)オペレーティングシステムの特徴であるとしてよい。この説明は簡略化されており、実施例に応じて、利用する特徴の数は増減するとしてよく、異なる特徴を利用するとしてもよい。尚、特定の特徴は、プロセスを他の悪意プロセスカテゴリに分類する際に利用される特徴と同じであってもよいし、異なるとしてもよい。
この例に基づき、以下の表9は電子デバイス100で実行されている3個のプロセスのデータを一例として示す。例えば、表9は一例であるプロセス1について、署名が無く(0)、「プログラムの追加/削除」に存在し(1)、可視であり(1)、ぶら下がりスレッドがない(1)、としている。図示している特徴は4個でプロセスは3個であるが、特徴および/またはプロセスの数は増減するとしてもよいし、変更するとしてもよい。また、特定の特徴の有無を特定する体系は別の体系を利用するとしてもよい。ステップ306を参照しつつより詳細に上述しているが、このようなデータの例の特徴ベクトルは<0111>になるとしてよい。同様に、プロセス2−3の特徴ベクトルは、プロセス2が<1011>、プロセス3が<1111>になるとしてよい。
Figure 0005713478
これらの特徴を利用して、以下のルール214を適用するとしてよい。
(A)プロセスに署名がある
(B)プロセスに署名があり、プロセスが「プログラムの追加/削除」に存在する
(C)プロセスに署名があり、プロセスウィンドウが可視であり、ぶら下がりスレッドが無い この例から分かるように、ルール214は1以上の特徴を一度に検査するとしてよい。これは、個々の特徴は、それだけでは、悪意ある挙動であると特定しないか、または、十分に高い信頼度で悪意ある挙動であると特定されないためであるとしてよい。一方、複数の特徴をまとめて考慮すると、十分に高い信頼度で悪意ある挙動であると特定するとしてよい。
一部の実施形態によると、このルール群214を特徴ベクトルに適用して、一連の脅威スコアを生成するとしてよい。これらの脅威スコアは、対応する重み216を持つとしてよい。例えば、ルール214(A)は、30の重み216が割り当てられているとしてよく、ルール214(B)には、15の重み216が割り当てられているとしてよく、ルール214(C)は、15の重み216が割り当てられているとしてよい。ルール214を適用した場合の重み216の合計値が所定のしきい値を超えると、考慮しているプロセスが悪意プロセスであり、バックドアカテゴリに属すると特定されるとしてよい。また、しきい値より高くなるほど、分類の信頼度も高くなる。合計重み付け脅威スコアは、ルール214の適用結果に基づいて、各プロセスに割り当てられるとしてよい。上記のデータの例を用いて、プロセス1の重み付け脅威スコアを計算すると、例えば、[30(ルール214Aに割り当てられた重み216)]×0(プロセス1はルール214Aを満たさない)]+[15(ルール214Bに割り当てられた重み216)×0(プロセス1はルール214Bを満たしていない)]+[15(ルール214Cに割り当てられた重み216)×0(プロセス1はルール214Cを満たしていない)]=0となる。
一部の実施形態によると、この重み付け脅威スコアはさらに、各プロセスカテゴリに対応付けられているしきい値218と比較するとしてよい。例えば、本例において安全プロセスとして分類するためのしきい値218が30である場合、上記の重み付けルール214を適用することによって、以下の状況でプロセスが安全プロセスであるか否かを判断するとしてよい。詳細は表10に示す。
Figure 0005713478
図3に戻って、ステップ308においてプロセスを分類した後、方法300はステップ310に進むとしてよい。ステップ310において、方法300は、ステップ308における分類が疑わしいプロセスを特定したか否かを判断するとしてよい。一部の実施形態によると、この判断ステップは、プロセスが1以上の悪意プロセスカテゴリに分類されたか否かを判断することを含むとしてよい。他の実施形態によると、この判断ステップは、上記の判断ステップと、特定したプロセスの分類の信頼度が低いか否かを特定することを含むとしてよい。ステップ308を参照しつつ上述したが、分類ステップは、信頼値を決定することを含むとしてよい。説明のための一例を挙げると、信頼値は、ルール214を特徴ベクトルに適用した結果を重み付けした値の合計値と、ルール214についての所定のしきい値218との差分を求めることで、算出されるとしてよい。信頼値が高い程、プロセスが悪意プロセスカテゴリに属する可能性が高くなる。
一部の実施形態によると、プロセスの分類手順は、信頼値が十分に高い場合に限り、進めるとしてよい。説明のための一例を挙げると、必要な信頼値は所定のしきい値に対する割合として定義されるとしてよい。例えば、信頼値は、分類手順を進めるためには、しきい値218の25%に到達している必要があるとしてよい。他の実施形態によると、プロセスの分類手順は、信頼値が正の値である限りにおいて、進むとしてよい。つまり、ルール214を適用した結果を重み付けした値の合計が所定のしきい値よりも高い限り、プロセスは1以上の悪意プロセスカテゴリに分類されるとしてよい。さらに別の実施形態によると、信頼値が負の値でない限りにおいて、プロセスは分類されるとしてよい。このような判断ステップは、所与の構成に大きく左右されるとしてよく、例えば、誤って肯定的に分類する場合についての所与の構成の誤差に左右されるとしてよい。一部の構成によると、これらのうち1以上を実現するとしてよい。つまり、所与の構成では、悪意プロセスである可能性を持つプロセスを階層的に特定するとしてよく、例えば、特定のカテゴリに確実に所属するプロセス(つまり、信頼値>しきい値218の25%)、おそらく特定のカテゴリに所属するプロセス(つまり、信頼値>しきい値218であるが信頼値≦しきい値218の25%)、および、特定のカテゴリに所属するプロセス(つまり、信頼値=0)を特定するとしてよい。
ステップ310において、方法300が疑わしいプロセスがあると判断すると、方法300はステップ312に進むとしてよい。ステップ312において、電子デバイス100は、特定された悪意プロセスに対して何らかの対策を取るとしてよい。対策は、さらに分析を行うべくプロセスにフラグを立てることから、プロセスを隔離すること、ユーザが手動で悪意プロセスにどう対処するかを判断するまでシステム動作を停止させることに至るまで、多岐にわたるとしてよい。対策が取られると、方法300はステップ314に進むとしてよい。また、プロセスが疑わしくないと判断されると、方法300はステップ314に進むとしてよい。
ステップ314において、方法300は、分類を必要とする別のプロセスが存在するか否かを判断するとしてよい。このようなプロセスが存在する場合、方法300はステップ308に戻り、当該プロセスには分類手順が実施されるとしてよい。このようなプロセスが存在しない場合、方法300はステップ302に戻り、実行されている全てのプロセスを特定するとしてよい。
図3は、方法300を構成する特定の数のステップを開示しているが、図3で図示したステップに比べて、方法300を構成するステップ数を増減するとしてもよい。また、図3は所定の順序で方法300を構成しているステップを開示しているが、方法300は、任意の適切な順序でステップを実行して完了するとしてよい。例えば、図示した方法300の実施形態では、プロセスを悪意プロセスに分類する手順は、プロセス単位で順次実行されるものとして図示されている。しかし、一部の構成によると、全てでなければ、複数のプロセスを同時に分析することが必要または所望される場合があるとしてよい。また、ステップ310に関してより詳細に上述したように、プロセスが疑わしいか否かを判断する手順に含まれるステップおよび疑わしいプロセスを特定する手順に含まれるステップが追加されるとしてもよい。さらに、ステップ312では一の対策が取られているものと図示されているが、特定した疑わしいプロセスに対処するために電子デバイス100の複数の構成要素によって複数の対策が実行する必要になる場合があるとしてよい。
本明細書で開示した方法およびシステムを利用して、署名を利用することなく悪意プロセスを検出することに関する問題が、改善され、低減され、または、解消されるとしてよい。例えば、本明細書に開示した方法およびシステムは、署名および/または挙動に基づいた特徴の組み合わせを参照することにより、悪意プロセスを検出することを可能にする。
本開示は詳細に説明してきたが、特許請求の範囲で定義される開示内容の意図および範囲から逸脱することなく、さまざまな点で本明細書の内容を変更、置換および変形することが可能であると理解されたい。

Claims (18)

  1. ステムであって、
    数のプロセスを実行するプロセッサ
    前記複数のプロセスのそれぞれの複数の特徴を収集する特徴収集モジュールと
    数の重み付け脅威スコアを生成するべく前記複数の特徴に対して、それぞれが複数のプロセスカテゴリのうち1以上のプロセスカテゴリに対応している複数の分類ルールを適用し、記複数の重み付け脅威スコアと、それぞれが前記複数のプロセスカテゴリのうちの1つに対応している複数のしきい値とを比較して、前記複数の重み付け脅威スコアと前記複数のしきい値とを比較した結果に少なくとも基づいて、前記複数のプロセスのそれぞれを前記1以上のプロセスカテゴリに分類する特徴分析エンジンと
    を備え
    前記複数の重み付け脅威スコアと複数のしきい値とを比較することは、前記複数の重み付け脅威スコアと前記複数のしきい値との差分に少なくとも基づいて、前記複数の重み付け脅威スコアのそれぞれに信頼度を割り当てることを含む、システム。
  2. 前記複数のプロセスカテゴリは、複数の悪意プロセスカテゴリを含む、請求項1に記載のシステム。
  3. 前記複数の悪意プロセスカテゴリは、バックドアマルウェアを含む、請求項に記載のシステム。
  4. 前記複数の悪意プロセスカテゴリは、フェイクアラートマルウェアを含む、請求項に記載のシステム。
  5. 前記複数の悪意プロセスカテゴリは、ダウンローダマルウェアを含む、請求項に記載のシステム。
  6. 前記複数の特徴は、前記複数のプロセスのそれぞれが不可視であるか否かを特定することを含む、請求項1からのいずれか一項に記載のシステム。
  7. 前記複数の特徴は、前記複数のプロセスのそれぞれに対応付けられているネットワーク利用挙動を示す特徴を含む、請求項1からのいずれか一項に記載のシステム。
  8. 前記複数の特徴は、前記複数のプロセスのそれぞれに対応付けられているシステムトレイ挙動を示す特徴を含む、請求項1からのいずれか一項に記載のシステム。
  9. 前記複数の特徴は、前記複数のプロセスのそれぞれに対応付けられている署名済み証明書の挙動を示す特徴を含む、請求項1からのいずれか一項に記載のシステム。
  10. 特徴収集モジュールが、複数のプロセスのそれぞれの複数の特徴を収集する段階と、
    特徴分析エンジンが、複数の重み付け脅威スコアを生成するべく、それぞれが複数のプロセスカテゴリのうち1以上のプロセスカテゴリに対応する複数の分類ルールを前記複数の特徴に適用する段階と、
    前記特徴分析エンジンが、前記複数の重み付け脅威スコアと、それぞれが前記複数のプロセスカテゴリのうちの1つに対応する複数のしきい値とを比較する段階と、
    前記特徴分析エンジンが、前記複数の重み付け脅威スコアと前記複数のしきい値とを比較した結果に少なくとも基づいて、前記複数のプロセスのそれぞれを前記1以上のプロセスカテゴリに分類する段階と
    を備え
    前記複数の重み付け脅威スコアと前記複数のしきい値とを比較する段階は、前記複数の重み付け脅威スコアと前記複数のしきい値との差分に少なくとも基づいて、前記複数の重み付け脅威スコアのそれぞれに信頼度を割り当てる段階を有する、方法。
  11. 前記複数のプロセスカテゴリは、複数の悪意プロセスカテゴリを含む、請求項10に記載の方法。
  12. 前記複数の悪意プロセスカテゴリは、バックドアマルウェアを含む、請求項11に記載の方法。
  13. 前記複数の悪意プロセスカテゴリは、フェイクアラートマルウェアを含む、請求項11に記載の方法。
  14. 前記複数の悪意プロセスカテゴリは、ダウンローダマルウェアを含む、請求項11に記載の方法。
  15. 前記複数の特徴は、前記複数のプロセスのそれぞれが不可視であるか否かを特定する特徴を含む、請求項10から14のいずれか一項に記載の方法。
  16. 前記複数の特徴は、前記複数のプロセスのそれぞれに対応付けられているネットワーク利用挙動を示す特徴を含む、請求項10から14のいずれか一項に記載の方法。
  17. 前記複数の特徴は、前記複数のプロセスのそれぞれに対応付けられているシステムトレイ挙動を示す特徴を含む、請求項10から14のいずれか一項に記載の方法。
  18. 前記複数の特徴は、前記複数のプロセスのそれぞれに対応付けられている署名済み証明書挙動を示す特徴を含む、請求項10から14のいずれか一項に記載の方法。
JP2014513736A 2011-06-01 2012-06-01 署名を利用せずに悪意プロセスを検出するシステムおよび方法 Active JP5713478B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/151,173 2011-06-01
US13/151,173 US9323928B2 (en) 2011-06-01 2011-06-01 System and method for non-signature based detection of malicious processes
PCT/US2012/040428 WO2012167056A2 (en) 2011-06-01 2012-06-01 System and method for non-signature based detection of malicious processes

Publications (2)

Publication Number Publication Date
JP2014515538A JP2014515538A (ja) 2014-06-30
JP5713478B2 true JP5713478B2 (ja) 2015-05-07

Family

ID=47260372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014513736A Active JP5713478B2 (ja) 2011-06-01 2012-06-01 署名を利用せずに悪意プロセスを検出するシステムおよび方法

Country Status (6)

Country Link
US (1) US9323928B2 (ja)
EP (1) EP2715596A4 (ja)
JP (1) JP5713478B2 (ja)
KR (1) KR101654099B1 (ja)
CN (1) CN103782303B (ja)
WO (1) WO2012167056A2 (ja)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US9038176B2 (en) 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US9262246B2 (en) 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
US9323928B2 (en) 2011-06-01 2016-04-26 Mcafee, Inc. System and method for non-signature based detection of malicious processes
IL219499B (en) * 2012-04-30 2019-02-28 Verint Systems Ltd A system and method for detecting malicious software
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9298494B2 (en) 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US20130333027A1 (en) * 2012-06-08 2013-12-12 Forty1 Technologies Inc. Dynamic rights assignment
US20150161385A1 (en) * 2012-08-10 2015-06-11 Concurix Corporation Memory Management Parameters Derived from System Modeling
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9319897B2 (en) 2012-08-15 2016-04-19 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US9330257B2 (en) 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US20150215334A1 (en) * 2012-09-28 2015-07-30 Level 3 Communications, Llc Systems and methods for generating network threat intelligence
CA2886058A1 (en) 2012-09-28 2014-04-03 Level 3 Communications, Llc Identifying and mitigating malicious network threats
US9386028B2 (en) * 2012-10-23 2016-07-05 Verint Systems Ltd. System and method for malware detection using multidimensional feature clustering
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
IL224482B (en) 2013-01-29 2018-08-30 Verint Systems Ltd System and method for keyword spotting using representative dictionary
US9491187B2 (en) 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9916449B2 (en) 2013-03-08 2018-03-13 The Trustees Of Columbia University In The City Of New York Identification of backdoors and backdoor triggers
US10409987B2 (en) 2013-03-31 2019-09-10 AO Kaspersky Lab System and method for adaptive modification of antivirus databases
CN103226583B (zh) * 2013-04-08 2017-07-28 北京奇虎科技有限公司 一种广告插件识别的方法和装置
IL226057A (en) 2013-04-28 2017-07-31 Verint Systems Ltd System and method for automatic configuration of intrusion detection systems
IL226747B (en) 2013-06-04 2019-01-31 Verint Systems Ltd A system and method for studying malware detection
US8943592B1 (en) 2013-07-15 2015-01-27 Eset, Spol. S.R.O. Methods of detection of software exploitation
US9697365B2 (en) * 2013-09-06 2017-07-04 Microsoft Technology Licensing, Llc World-driven access control using trusted certificates
US9424239B2 (en) 2013-09-06 2016-08-23 Microsoft Technology Licensing, Llc Managing shared state information produced by applications
US9355268B2 (en) 2013-09-06 2016-05-31 Microsoft Technology Licensing, Llc Managing access by applications to perceptual information
US9413784B2 (en) 2013-09-06 2016-08-09 Microsoft Technology Licensing, Llc World-driven access control
US9323931B2 (en) 2013-10-04 2016-04-26 Bitdefender IPR Management Ltd. Complex scoring for malware detection
US9489514B2 (en) 2013-10-11 2016-11-08 Verisign, Inc. Classifying malware by order of network behavior artifacts
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
US9237161B2 (en) * 2013-12-16 2016-01-12 Morphick, Inc. Malware detection and identification
US9398034B2 (en) * 2013-12-19 2016-07-19 Microsoft Technology Licensing, Llc Matrix factorization for automated malware detection
US9292686B2 (en) 2014-01-16 2016-03-22 Fireeye, Inc. Micro-virtualization architecture for threat-aware microvisor deployment in a node of a network environment
US9769189B2 (en) * 2014-02-21 2017-09-19 Verisign, Inc. Systems and methods for behavior-based automated malware analysis and classification
US11405410B2 (en) 2014-02-24 2022-08-02 Cyphort Inc. System and method for detecting lateral movement and data exfiltration
US9942262B1 (en) 2014-03-19 2018-04-10 University Of Virginia Patent Foundation Cyber-physical system defense
US9413782B1 (en) * 2014-03-31 2016-08-09 Juniper Networks, Inc. Malware detection using internal malware detection operations
US9378367B2 (en) * 2014-03-31 2016-06-28 Symantec Corporation Systems and methods for identifying a source of a suspect event
US9118714B1 (en) * 2014-07-23 2015-08-25 Lookingglass Cyber Solutions, Inc. Apparatuses, methods and systems for a cyber threat visualization and editing user interface
IL233776B (en) 2014-07-24 2019-02-28 Verint Systems Ltd A system and method for adjusting domains
JP6025125B2 (ja) * 2014-08-07 2016-11-16 パナソニックIpマネジメント株式会社 決済処理装置
US9754106B2 (en) * 2014-10-14 2017-09-05 Symantec Corporation Systems and methods for classifying security events as targeted attacks
US9870468B1 (en) * 2014-11-13 2018-01-16 Marvell International Ltd. System and method for segregating data in a dynamic programming language
US9479531B1 (en) * 2014-12-12 2016-10-25 Symantec Corporation Systems and methods for accelerating malware analyses in automated execution environments
CN104573515A (zh) * 2014-12-19 2015-04-29 百度在线网络技术(北京)有限公司 一种病毒处理方法、装置和***
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US10560842B2 (en) 2015-01-28 2020-02-11 Verint Systems Ltd. System and method for combined network-side and off-air monitoring of wireless networks
WO2016137505A1 (en) 2015-02-27 2016-09-01 Hewlett-Packard Development Company, L.P. Facilitating scanning of protected resources
US9819689B2 (en) * 2015-03-13 2017-11-14 Microsoft Technology Licensing, Llc Large scale malicious process detection
IL238001B (en) 2015-03-29 2020-05-31 Verint Systems Ltd System and method for identifying communication conversation participants based on communication traffic patterns
US9912681B1 (en) 2015-03-31 2018-03-06 Fireeye, Inc. Injection of content processing delay in an endpoint
US9646159B2 (en) * 2015-03-31 2017-05-09 Juniper Networks, Inc. Multi-file malware analysis
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
EP3985576B1 (en) * 2015-05-04 2023-09-13 Hasan, Syed Kamran Method and device for managing security in a computer network
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
RU2618947C2 (ru) * 2015-06-30 2017-05-11 Закрытое акционерное общество "Лаборатория Касперского" Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10216927B1 (en) 2015-06-30 2019-02-26 Fireeye, Inc. System and method for protecting memory pages associated with a process using a virtualization layer
US10395029B1 (en) 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US10089465B2 (en) * 2015-07-24 2018-10-02 Bitdefender IPR Management Ltd. Systems and methods for tracking malicious behavior across multiple software entities
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
WO2017058142A1 (en) * 2015-09-28 2017-04-06 Hewlett Packard Enterprise Development Lp Threat score determination
IL242218B (en) 2015-10-22 2020-11-30 Verint Systems Ltd A system and method for maintaining a dynamic dictionary
IL242219B (en) 2015-10-22 2020-11-30 Verint Systems Ltd System and method for keyword searching using both static and dynamic dictionaries
EP3374871B1 (en) * 2015-11-09 2020-10-14 Cyphort, Inc. System and method for detecting lateral movement and data exfiltration
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US9800588B1 (en) * 2015-12-16 2017-10-24 Symantec Corporation Automated analysis pipeline determination in a malware analysis environment
US10192058B1 (en) * 2016-01-22 2019-01-29 Symantec Corporation System and method for determining an aggregate threat score
IL245299B (en) 2016-04-25 2021-05-31 Verint Systems Ltd A system and method for decoding communication transmitted in a wireless local communication network
RU2625053C1 (ru) 2016-07-29 2017-07-11 Акционерное общество "Лаборатория Касперского" Устранение ложных срабатываний антивирусных записей
US11349852B2 (en) * 2016-08-31 2022-05-31 Wedge Networks Inc. Apparatus and methods for network-based line-rate detection of unknown malware
US10191861B1 (en) 2016-09-06 2019-01-29 Fireeye, Inc. Technique for implementing memory views using a layered virtualization architecture
US10887324B2 (en) * 2016-09-19 2021-01-05 Ntt Research, Inc. Threat scoring system and method
IL248306B (en) 2016-10-10 2019-12-31 Verint Systems Ltd System and method for creating data sets for learning to recognize user actions
US10354173B2 (en) * 2016-11-21 2019-07-16 Cylance Inc. Icon based malware detection
US11757857B2 (en) 2017-01-23 2023-09-12 Ntt Research, Inc. Digital credential issuing system and method
IL252041B (en) 2017-04-30 2020-09-30 Verint Systems Ltd System and method for tracking computer application users
IL252037B (en) 2017-04-30 2021-12-01 Verint Systems Ltd System and method for identifying relationships between computer application users
RU2666644C1 (ru) 2017-08-10 2018-09-11 Акционерное общество "Лаборатория Касперского" Система и способ выявления потенциально опасных устройств при взаимодействии пользователя с банковскими сервисами
US10983602B2 (en) * 2017-09-05 2021-04-20 Microsoft Technology Licensing, Llc Identifying an input device
US20190156024A1 (en) * 2017-11-20 2019-05-23 Somansa Co., Ltd. Method and apparatus for automatically classifying malignant code on basis of malignant behavior information
KR102036847B1 (ko) * 2017-12-18 2019-10-25 (주)케이사인 런타임 특징 프로파일링 방법
IL256690B (en) 2018-01-01 2022-02-01 Cognyte Tech Israel Ltd System and method for identifying pairs of related application users
US11010233B1 (en) * 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11609984B2 (en) * 2018-02-14 2023-03-21 Digital Guardian Llc Systems and methods for determining a likelihood of an existence of malware on an executable
US11494491B2 (en) * 2018-03-16 2022-11-08 Acronis International Gmbh Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector
US11416612B2 (en) * 2018-03-16 2022-08-16 Acronis International Gmbh Protecting against malware code injections in trusted processes
IL260986B (en) 2018-08-05 2021-09-30 Verint Systems Ltd A system and method for using a user action log to study encrypted traffic classification
US11003766B2 (en) * 2018-08-20 2021-05-11 Microsoft Technology Licensing, Llc Enhancing cybersecurity and operational monitoring with alert confidence assignments
EP3942740A1 (en) 2019-03-20 2022-01-26 Verint Systems Ltd. System and method for de-anonymizing actions and messages on networks
CN110619214A (zh) * 2019-08-15 2019-12-27 苏州浪潮智能科技有限公司 一种监控软件正常运行的方法和装置
EP4046337A1 (en) 2019-11-03 2022-08-24 Cognyte Technologies Israel Ltd System and method for identifying exchanges of encrypted communication traffic
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US20220050898A1 (en) * 2019-11-22 2022-02-17 Pure Storage, Inc. Selective Control of a Data Synchronization Setting of a Storage System Based on a Possible Ransomware Attack Against the Storage System
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
KR102393913B1 (ko) * 2020-04-27 2022-05-03 (주)세이퍼존 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템
US20210336973A1 (en) * 2020-04-27 2021-10-28 Check Point Software Technologies Ltd. Method and system for detecting malicious or suspicious activity by baselining host behavior

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308715B2 (en) * 2001-06-13 2007-12-11 Mcafee, Inc. Protocol-parsing state machine and method of using same
US7748039B2 (en) 2002-08-30 2010-06-29 Symantec Corporation Method and apparatus for detecting malicious code in an information handling system
US7832011B2 (en) 2002-08-30 2010-11-09 Symantec Corporation Method and apparatus for detecting malicious code in an information handling system
US7748038B2 (en) 2004-06-16 2010-06-29 Ironport Systems, Inc. Method and apparatus for managing computer virus outbreaks
US20060149821A1 (en) * 2005-01-04 2006-07-06 International Business Machines Corporation Detecting spam email using multiple spam classifiers
CN100374972C (zh) * 2005-08-03 2008-03-12 珠海金山软件股份有限公司 一种检测和防御计算机恶意程序的***和方法
JP2008021274A (ja) 2006-06-15 2008-01-31 Interlex Inc プロセス監視装置及び方法
US20080016339A1 (en) 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US8201244B2 (en) * 2006-09-19 2012-06-12 Microsoft Corporation Automated malware signature generation
CN100478953C (zh) * 2006-09-28 2009-04-15 北京理工大学 基于统计特征的网页恶意脚本检测方法
JP2008129707A (ja) 2006-11-17 2008-06-05 Lac Co Ltd プログラム分析装置、プログラム分析方法、及びプログラム
US9246938B2 (en) * 2007-04-23 2016-01-26 Mcafee, Inc. System and method for detecting malicious mobile program code
US20090013405A1 (en) * 2007-07-06 2009-01-08 Messagelabs Limited Heuristic detection of malicious code
US8763071B2 (en) * 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US9258217B2 (en) * 2008-12-16 2016-02-09 At&T Intellectual Property I, L.P. Systems and methods for rule-based anomaly detection on IP network flow
US8635694B2 (en) 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
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
JP5613000B2 (ja) 2010-10-08 2014-10-22 Kddi株式会社 アプリケーション特性解析装置およびプログラム
US9088601B2 (en) * 2010-12-01 2015-07-21 Cisco Technology, Inc. Method and apparatus for detecting malicious software through contextual convictions, generic signatures and machine learning techniques
US9130988B2 (en) * 2010-12-21 2015-09-08 Microsoft Technology Licensing, Llc Scareware detection
US20120167218A1 (en) * 2010-12-23 2012-06-28 Rajesh Poornachandran Signature-independent, system behavior-based malware detection
CN102137115A (zh) * 2011-04-22 2011-07-27 南京邮电大学 通信网恶意代码攻击效果评估方法
US9323928B2 (en) 2011-06-01 2016-04-26 Mcafee, Inc. System and method for non-signature based detection of malicious processes

Also Published As

Publication number Publication date
CN103782303B (zh) 2016-11-09
WO2012167056A2 (en) 2012-12-06
US9323928B2 (en) 2016-04-26
EP2715596A4 (en) 2015-03-11
JP2014515538A (ja) 2014-06-30
KR20140033145A (ko) 2014-03-17
EP2715596A2 (en) 2014-04-09
WO2012167056A3 (en) 2013-02-28
US20120311708A1 (en) 2012-12-06
KR101654099B1 (ko) 2016-09-05
CN103782303A (zh) 2014-05-07

Similar Documents

Publication Publication Date Title
JP5713478B2 (ja) 署名を利用せずに悪意プロセスを検出するシステムおよび方法
Hussain et al. IMIAD: intelligent malware identification for android platform
US9686293B2 (en) Systems and methods for malware detection and mitigation
Zhao et al. Malicious executables classification based on behavioral factor analysis
Canzanese et al. Toward an automatic, online behavioral malware classification system
US10484419B1 (en) Classifying software modules based on fingerprinting code fragments
Alsmadi et al. A survey on malware detection techniques
Martinelli et al. I find your behavior disturbing: Static and dynamic app behavioral analysis for detection of android malware
Naz et al. Review of machine learning methods for windows malware detection
Čeponis et al. Towards a robust method of dataset generation of malicious activity for anomaly-based HIDS training and presentation of AWSCTD dataset
Aslan Performance comparison of static malware analysis tools versus antivirus scanners to detect malware
AlSabeh et al. Exploiting ransomware paranoia for execution prevention
Wichmann et al. Using infection markers as a vaccine against malware attacks
Geetha Ramani et al. Nonvolatile kernel rootkit detection using cross‐view clean boot in cloud computing
Supriya et al. Malware detection techniques: a survey
US20230208862A1 (en) Detecting malware infection path in a cloud computing environment utilizing a security graph
Ravula et al. Learning attack features from static and dynamic analysis of malware
Dhote et al. Practice on detecting malware in virtualized environment of cloud
Choudhury et al. Malware in motion
Chakraborty et al. A rule based probabilistic technique for malware code detection
CN117290823B (zh) 一种app智能检测与安全防护方法、计算机设备及介质
Sharma et al. Suspicious permissions detection of COVID-19 themed malicious android applications
RU2757408C1 (ru) Система и способ формирования правила проверки файла на вредоносность
Kwon et al. Machine learning based malware detection with the 2019 KISA data challenge dataset
Belaoued et al. Towards an automatic method for API association extraction for PE-malware categorization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150306

R150 Certificate of patent or registration of utility model

Ref document number: 5713478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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